آموزش‌های کلادفلر به‌زودی در این بخش قرار داده می‌شود.

برچسب: پروتکل

  • وی‌پی‌ان چیست؟ چطور امنیت وب را افزایش می‌دهد؟

    بذارید از اسمش شروع کنیم. VPN مخفف عبارت Virtual Private Network هست. اگه بخوایم این سه کلمه رو از هم جدا کنیم و معنی کنیم، فهمیدنش خیلی ساده‌تر میشه:

    • Virtual (مجازی): یعنی فیزیکی نیست. شما برای وصل شدن بهش نیاز به هیچ سیم یا کابل خاصی ندارید. همه چیز دیجیتالی و روی هوا اتفاق میفته.
    • Private (خصوصی): این مهمترین بخششه. یعنی این شبکه مال شماست و کسی نمیتونه سرک بکشه ببینه دارید چیکار میکنید. اطلاعاتتون در امان هست.
    • Network (شبکه): چون چند تا دستگاه رو به هم وصل میکنه. حداقلش دستگاه شما (لپ‌تاپ، گوشی، تبلت) و سرور وی‌پی‌ان. این دوتا با هم کار میکنن تا یک ارتباط برقرار کنن.

    پس وقتی این سه تا رو میذاریم کنار هم، وی‌پی‌ان میشه یک «شبکه خصوصی مجازی». در واقع یک سرویسه که بین دستگاه شما و اینترنت یک ارتباط رمزنگاری شده و امن ایجاد میکنه. فکر کنید اینترنت یک اتوبان شلوغ و پر سر و صداست که همه ماشین‌ها (اطلاعات شما) دارن توش حرکت میکنن و هر کسی میتونه پلاک ماشین شما رو بخونه یا ببینه از کجا به کجا میرید. حالا وی‌پی‌ان مثل اینه که شما یک تونل شخصی و سرپوشیده برای خودتون توی این اتوبان درست کنید. ماشین شما وارد این تونل میشه، از دید بقیه پنهان میمونه و امن و امان به مقصد میرسه. اطلاعات شما اول از این تونل خصوصی و رمزنگاری شده رد میشه، میره به سرور وی‌پی‌ان و بعد از اونجا وارد اینترنت جهانی میشه. این لایه امنیتی اضافه باعث میشه ردگیری کارهایی که آنلاین انجام میدید خیلی سخت‌تر بشه.

    وی‌پی‌ان چطوری کار میکنه؟ یک نگاه به پشت صحنه

    خب، حالا که فهمیدیم وی‌پی‌ان چیه، بیاید یکم فنی‌تر به ماجرا نگاه کنیم ولی بازم به زبون ساده. وقتی شما دکمه «اتصال» یا Connect رو توی برنامه وی‌پی‌ان میزنید، چند تا اتفاق جالب پشت سر هم میفته:

    1. احراز هویت (Authentication): اول از همه، برنامه وی‌پی‌ان شما با سرور وی‌پی‌ان ارتباط برقرار میکنه. مثل یک دست دادن یا معرفی کردنه. سرور چک میکنه که شما واقعا همون کسی هستید که اجازه استفاده از سرویس رو دارید. این پروسه که بهش «هندشیک» یا handshake هم میگن، خیلی سریع اتفاق میفته و کلیدهای رمزنگاری بین دستگاه شما و سرور رد و بدل میشه.
    2. ساخت تونل (Tunneling): بعد از اینکه هویت شما تایید شد، وی‌پی‌ان یک «تونل» رمزنگاری شده روی بستر اینترنت ایجاد میکنه. این تونل امن، مسیر حرکت اطلاعات شما بین دستگاهتون و سرور وی‌پی‌ان هست.
    3. رمزنگاری (Encryption): حالا هر اطلاعاتی که شما میفرستید یا دریافت میکنید، قبل از اینکه از دستگاهتون خارج بشه، توسط برنامه وی‌پی‌ان رمزنگاری میشه. یعنی چی؟ یعنی تبدیل میشه به یک سری کدها و حروف درهم و برهم که اگه کسی وسط راه بهش دسترسی پیدا کنه، هیچی ازش نمیفهمه. مثل اینکه دارید به یک زبون رمزی حرف میزنید که فقط شما و سرور وی‌پی‌ان بلدید. فقط سرور وی‌پی‌ان کلید باز کردن این قفل و خوندن اطلاعات رو داره.
    4. کپسوله‌سازی (Encapsulation): برای اینکه امنیت بسته‌های اطلاعاتی شما بیشتر هم بشه، وی‌پی‌ان هر بسته اطلاعاتی رو داخل یک بسته دیگه قرار میده و اون بسته بیرونی رو رمزنگاری میکنه. مثل اینه که نامه‌تون رو بذارید توی یک پاکت، بعد اون پاکت رو هم بذارید توی یک صندوقچه قفل‌دار. این کار هسته اصلی تونل وی‌پی‌ان رو تشکیل میده و باعث میشه اطلاعات موقع جابجایی امن بمونن.
    5. ارسال و رمزگشایی (Decryption): اطلاعات رمزنگاری شده شما از طریق اون تونل امن به سرور وی‌پی‌ان میرسه. سرور با استفاده از کلید خصوصی خودش، قفل رو باز میکنه، اطلاعات رو از حالت رمز خارج میکنه (رمزگشایی) و به شکل قابل فهم درمیاره.
    6. ارسال به مقصد نهایی: حالا سرور وی‌پی‌ان، درخواست شما رو (مثلا باز کردن یک سایت) به اینترنت میفرسته. اما با یک تفاوت بزرگ: این درخواست دیگه با آدرس IP شما فرستاده نمیشه، بلکه با آدرس IP خود سرور وی‌پی‌ان فرستاده میشه. اینجاست که هویت شما مخفی میمونه.

    وقتی اون سایت به درخواست شما جواب میده، جوابش رو برای سرور وی‌پی‌ان میفرسته. سرور دوباره اون جواب رو رمزنگاری میکنه و از طریق همون تونل امن برای شما میفرسته. وقتی به دستگاه شما رسید، برنامه وی‌پی‌ان اون رو رمزگشایی میکنه تا شما بتونید ببینیدش.

    به طور خلاصه، سه تا کار اصلی و مهم انجام میده:

    • رمزنگاری: ترافیک اینترنت شما رو به کد تبدیل میکنه تا خوندنش برای دیگران خیلی سخت بشه.
    • امنیت انتقال داده: حتی وقتی از وای‌فای‌های عمومی و ناامن استفاده میکنید، وی‌پی‌ان یک لایه امنیتی اضافه میکنه تا اطلاعاتتون راحت دزدیده نشن.
    • پنهان کردن آدرس IP (IP Address Masking): وقتی به وی‌پی‌ان وصل میشید، آدرس IP واقعی شما مخفی میشه و آدرس IP سرور وی‌پی‌ان جایگزینش میشه. اینطوری به نظر میرسه که شما از یک شهر یا کشور دیگه به اینترنت وصل شدید و این کار حریم خصوصی شما رو موقع وب‌گردی خیلی بیشتر میکنه.

    چرا اصلا باید از وی‌پی‌ان استفاده کنیم؟ (کاربردها و مزایا)

    خب حالا میرسیم به سوال اصلی: این همه پیچیدگی برای چی؟ چرا باید از وی‌پی‌ان استفاده کنیم؟ دلایل زیادی وجود داره که بسته به نیازهای هر فرد، میتونه متفاوت باشه. بیاید چند تا از مهمترین‌هاش رو با هم بررسی کنیم.

    ۱. حفظ حریم خصوصی

    این اولین و مهمترین دلیل استفاده از وی‌پی‌انه. شرکت ارائه‌دهنده اینترنت شما (ISP)، میتونه تمام فعالیت‌های آنلاین شما رو ببینه و ثبت کنه. اونها میدونن شما به چه سایت‌هایی سر میزنید، چه فایل‌هایی دانلود میکنید و چقدر آنلاین هستید. این اطلاعات میتونه به شرکت‌های تبلیغاتی فروخته بشه، به دولت داده بشه یا در صورت هک شدن سرورهای ISP، در معرض خطر قرار بگیره. وقتی از وی‌پی‌ان استفاده میکنید، ترافیک شما رمزنگاری میشه. ISP شما فقط میبینه که شما به یک سرور وی‌پی‌ان وصل شدید، اما دیگه نمیتونه ببینه داخل اون تونل چه خبره و شما دارید چیکار میکنید. وی‌پی‌ان عملا فعالیت شما رو از چشم ISP مخفی میکنه.

    ۲. امنیت در شبکه‌های وای‌فای عمومی

    وای‌فای‌های عمومی مثل وای‌فای کافه، فرودگاه یا کتابخونه خیلی وسوسه‌انگیزن، اما به همون اندازه هم میتونن خطرناک باشن. این شبکه‌ها معمولا امنیت پایینی دارن و پسورد ندارن. این یعنی هکرها و افراد سودجو میتونن راحت به این شبکه وصل بشن و اطلاعاتی که بین دستگاه شما و اینترنت رد و بدل میشه رو شنود کنن. به این کار میگن «داده‌ربایی» یا data sniffing. اگه شما توی یک شبکه عمومی به حساب بانکی‌تون سر بزنید یا یک خرید آنلاین انجام بدید، اطلاعات حساس شما مثل رمز عبور یا شماره کارت بانکی در معرض خطر جدی قرار میگیره.

    وی‌پی‌ان اینجا نقش یک محافظ رو بازی میکنه. با رمزنگاری کردن تمام اطلاعات شما، حتی اگه یک هکر بتونه به اطلاعات شما دسترسی پیدا کنه، فقط یک سری کد درهم و برهم میبینه و نمیتونه ازش استفاده کنه. اینطوری شما با خیال راحت‌تری میتونید از وای‌فای عمومی استفاده کنید.

    ۳. دور زدن محدودیت‌های جغرافیایی (Geo-restriction)

    بعضی از سایت‌ها و سرویس‌های آنلاین، محتوای خودشون رو بر اساس موقعیت جغرافیایی شما محدود میکنن. مثلا ممکنه یک سرویس استریم فیلم، یک سری فیلم‌ها رو فقط برای کاربران یک کشور خاص نمایش بده. یا شاید شما به یک کشور دیگه سفر کردید و میخواید به محتوای محلی کشور خودتون دسترسی داشته باشید.

    وی‌پی‌ان با تغییر دادن آدرس IP شما این مشکل رو حل میکنه. شما میتونید به یک سرور در کشور مورد نظرتون وصل بشید و اون سایت فکر میکنه شما واقعا در همون کشور هستید. اینطوری میتونید به محتوایی که قبلا براتون قفل بود دسترسی پیدا کنید.

    ۴. جلوگیری از سرقت هویت

    سرقت هویت یک مشکل رو به رشده که هکرها اطلاعات شخصی شما رو میدزدن تا از کارت‌های بانکی شما استفاده کنن، به حساب‌هاتون دسترسی پیدا کنن یا حتی به اسم شما کارهای غیرقانونی انجام بدن. وی‌پی‌ان با رمزنگاری اطلاعات شما در تونل امن، کار رو برای کلاهبردارها سخت میکنه که به اطلاعات شما دسترسی پیدا کنن، مخصوصا در شبکه‌های ناامن. همینطور با مخفی کردن IP، شما رو در برابر حملات سایبری مثل حملات DDoS (Distributed Denial of Service) محافظت میکنه. اگه کسی IP واقعی شما رو ندونه، نمیتونه علیه شما حمله‌ای رو شروع کنه.

    ۵. دسترسی به اطلاعات حساس

    برای بعضی افراد مثل روزنامه‌نگارها، فعالان اجتماعی یا کسانی که در کشورهای با محدودیت اینترنت زندگی میکنن، دسترسی امن به اطلاعات خیلی حیاتیه. وی‌پی‌ان اون لایه امنیتی اضافه رو براشون فراهم میکنه تا بتونن با خیال راحت‌تر به اطلاعات دسترسی پیدا کنن و هویتشون مخفی بمونه.

    ۶. جلوگیری از محدودیت سرعت اینترنت (Bandwidth Throttling)

    گاهی وقت‌ها، ارائه‌دهنده اینترنت (ISP) شما ممکنه سرعت اینترنتتون رو بسته به فعالیت‌هایی که انجام میدید، عمدا کم کنه. مثلا وقتی دارید فیلم استریم میکنید یا فایل‌های حجیم دانلود میکنید، چون این کارها پهنای باند زیادی مصرف میکنه، ISP ممکنه سرعت شما رو محدود کنه تا فشار روی شبکه کمتر بشه. به این کار میگن Throttling.

    از اونجایی که وی‌پی‌ان فعالیت شما رو از چشم ISP مخفی میکنه، اونها نمیدونن شما دارید چیکار میکنید و در نتیجه نمیتونن ترافیک خاصی رو هدف قرار بدن و سرعتش رو کم کنن. البته این به این معنی نیست که وی‌پی‌ان سرعت اینترنت شما رو بیشتر میکنه؛ معمولا به خاطر فرایند رمزنگاری و فاصله تا سرور، یک مقدار سرعت کم میشه. اما میتونه جلوی کم شدن عمدی سرعت توسط ISP رو بگیره.

    ۷. کار از راه دور (Remote Work)

    امروزه کار کردن از خونه خیلی رایج شده. کارمندها برای اینکه بتونن به فایل‌ها و منابع داخلی شرکت دسترسی پیدا کنن، نیاز به یک راه امن دارن. وی‌پی‌ان به کارمندهای دورکار اجازه میده از هر جایی که به اینترنت دسترسی دارن، به شبکه خصوصی شرکت وصل بشن. این کار هم به کارمندها انعطاف بیشتری میده و هم تضمین میکنه که اطلاعات حساس شرکت، حتی روی یک شبکه وای‌فای عمومی، امن و خصوصی باقی بمونه.

    انواع مختلف وی‌پی‌ان‌ها: هر کدوم به چه دردی میخورن؟

    وی‌پی‌ان‌ها مدل‌های مختلفی دارن که هر کدوم برای یک کار خاص طراحی شدن. اگه بخوایم اونها رو دسته‌بندی کنیم، به چند گروه اصلی میرسیم:

    اسمنوعروش اتصالکاربرد
    وی‌پی‌ان دسترسی از راه دور (Remote Access VPN)خانگی/شخصیاتصال به یک شبکه خصوصی یا سرور شخص ثالث از طریق SSL/TLSبرای کارمندهای دورکار و کاربران عادی که دنبال حریم خصوصی هستن
    وی‌پی‌ان سایت به سایت (Site-to-site VPN)خصوصییک شبکه از طریق LAN یا WAN به شبکه دیگری وصل میشهبرای اتصال دفترهای مختلف یک شرکت بزرگ به هم
    اپلیکیشن‌های وی‌پی‌ان (VPN Applications)موبایلاتصال به شبکه خصوصی از طریق اپلیکیشن روی گوشی هوشمندبرای کاربرانی که در حال حرکت هستن و امنیت روی موبایل براشون مهمه

    حالا بیاید هر کدوم از اینها رو یکم بیشتر باز کنیم:

    ۱. وی‌پی‌ان دسترسی از راه دور (Remote Access VPN)

    این مدل که بهش Client-to-Site یا Host-to-Network هم میگن، رایج‌ترین نوع وی‌پی‌انه که اکثر ماها باهاش سر و کار داریم. در این حالت، یک کاربر (یا یک دستگاه) از راه دور به یک شبکه خصوصی وصل میشه. این میتونه شبکه شرکت شما باشه یا سرورهای یک شرکت ارائه‌دهنده وی‌پی‌ان تجاری.

    شما معمولا با وارد کردن نام کاربری و رمز عبور در یک صفحه ورود یا از طریق یک برنامه (کلاینت) مخصوص روی کامپیوتر یا گوشی‌تون، به این شبکه وصل میشید. این نوع وی‌پی‌ان هم برای مصارف کاری (دسترسی به فایل‌های شرکت از خونه) و هم برای مصارف شخصی (حفظ حریم خصوصی موقع وب‌گردی) استفاده میشه و به همین دلیل خیلی محبوبه.

    ۲. وی‌پی‌ان سایت به سایت (Site-to-site VPN)

    این نوع وی‌پی‌ان برای سازمان‌ها و شرکت‌های بزرگ طراحی شده که چندین شعبه در مکان‌های جغرافیایی مختلف دارن. به جای اینکه هر کارمند جداگانه به شبکه مرکزی وصل بشه، وی‌پی‌ان سایت به سایت، کل شبکه یک شعبه (مثلا دفتر تهران) رو به کل شبکه شعبه دیگه (مثلا دفتر اصفهان) از طریق اینترنت وصل میکنه.

    این کار از طریق دستگاه‌های خاصی به اسم «دروازه» یا Gateway در هر دو طرف انجام میشه. در واقع این یک تونل دائمی و پایدار بین دو تا شبکه ایجاد میکنه. به این مدل، Network-to-Network هم میگن. وی‌پی‌ان‌های سایت به سایت خودشون دو نوع دارن:

    • اینترانت (Intranet): وقتی شعبه‌های مختلف یک سازمان به هم وصل میشن. مثلا دفترهای مختلف یک شرکت در شهرهای مختلف با هم در ارتباط هستن.
    • اکسترانت (Extranet): وقتی شبکه‌های چند سازمان مختلف به هم وصل میشن. مثلا یک شرکت برای همکاری با شرکای تجاری یا تامین‌کننده‌هاش، یک شبکه امن مشترک درست میکنه. در این حالت میشه سطح دسترسی‌ها رو هم مدیریت کرد تا هر سازمان فقط به منابع مشخصی دسترسی داشته باشه.

    ۳. وی‌پی‌ان موبایل (Mobile VPN)

    با زیاد شدن استفاده از گوشی‌های هوشمند، وی‌پی‌ان‌های مخصوص موبایل هم خیلی مهم شدن. وی‌پی‌ان موبایل نه تنها تمام مزایای یک وی‌پی‌ان معمولی رو داره، بلکه برای شرایط خاص موبایل هم بهینه شده.

    یک ویژگی کلیدی وی‌پی‌ان موبایل اینه که حتی وقتی اتصال اینترنت شما قطع و وصل میشه یا بین شبکه‌های مختلف جابجا میشید (مثلا از وای‌فای خونه به اینترنت سیم‌کارت)، ارتباط امن وی‌پی‌ان قطع نمیشه. این برای کسانی که زیاد در حال حرکت هستن یا به اینترنت پایداری دسترسی ندارن، ایده‌آل هست. تا زمانی که برنامه وی‌پی‌ان در حال اجرا باشه، دستگاه شما امن باقی میمونه.

    پروتکل‌های وی‌پی‌ان: موتورهای پشت پرده

    تا اینجا فهمیدیم وی‌پی‌ان چیه و چیکار میکنه. اما چیزی که قدرت و امنیت یک وی‌پی‌ان رو تعیین میکنه، «پروتکل» اونه. پروتکل مثل یک مجموعه از قوانین و دستورالعمل‌هاست که مشخص میکنه تونل امن چطوری ساخته بشه و اطلاعات چطوری رمزنگاری بشن. یک وی‌پی‌ان فقط وقتی میتونه امنیت شما رو تضمین کنه که از یک پروتکل قوی استفاده کنه. بیاید با چند تا از معروف‌ترین پروتکل‌ها آشنا بشیم:

    اسم پروتکلرمزنگاریمسیریابیبهترین کاربرد
    OpenVPN256-bit AES با OpenSSLTCP و UDP, SSL/TLSبهترین گزینه برای استفاده عمومی (ترکیب خوب سرعت و امنیت)
    SSTP256-bit AESTCP, SSL/TLSبهترین گزینه برای ویندوز (چون مایکروسافت ساختتش)
    IKEv2 / IPSec256-bit AESUDPبهترین گزینه برای موبایل (به خاطر پایداری در جابجایی)
    L2TP / IPSec256-bit AESUDPگزینه خوب برای راه‌اندازی‌های اولیه و ساده
    PPTP128-bitTCPهیچ؛ منسوخ شده و ناامن
    WireGuard256-bit AESUDPبهترین گزینه برای کسانی که دنبال تکنولوژی جدید و سرعت بالا هستن

    یک توضیح کوتاه در مورد هر پروتکل:

    • OpenVPN: این پروتکل به نوعی استاندارد صنعتی حساب میشه. منبع باز (Open-source) هست، یعنی کدهاش در دسترس همه قرار داره تا کارشناس‌های امنیتی اون رو بررسی کنن و ایرادهاش رو پیدا کنن. این شفافیت باعث میشه خیلی قابل اعتماد باشه. هم امنه، هم سریع و هم خیلی انعطاف‌پذیر.
    • SSTP (Secure Socket Tunneling Protocol): این پروتکل توسط مایکروسافت ساخته شده و به صورت پیش‌فرض روی سیستم‌عامل ویندوز وجود داره. امنیت خوبی داره و چون مایکروسافت ازش پشتیبانی میکنه، برای کاربرهای ویندوز گزینه خیلی خوبیه.
    • IKEv2/IPsec: اسم کاملش هست Internet Key Exchange version 2. این پروتکل معمولا با IPsec (Internet Protocol Security) ترکیب میشه تا امنیت و سرعت بهینه‌ای داشته باشه. بزرگترین مزیتش اینه که در شرایط اینترنت ناپایدار خیلی خوب کار میکنه و برای موبایل ایده‌آله. مثلا وقتی از وای‌فای به اینترنت 4G سوییچ میکنید، اتصالش قطع نمیشه.
    • L2TP/IPsec: این پروتکل هم مثل قبلی، با IPsec ترکیب میشه تا امن‌تر بشه. راه‌اندازیش نسبتا ساده است اما امروزه خیلی از ارائه‌دهنده‌ها دیگه ازش پشتیبانی نمیکنن چون گزینه‌های بهتری مثل OpenVPN و WireGuard وجود داره.
    • PPTP (Point-to-Point Tunneling Protocol): این یکی از قدیمی‌ترین پروتکل‌هاست و امروزه دیگه منسوخ شده حساب میشه. مشکلات امنیتی زیادی داره و دیگه به عنوان یک گزینه امن شناخته نمیشه. بعضی از وی‌پی‌ان‌های رایگان ممکنه هنوز ازش استفاده کنن که باید خیلی مراقب بود.
    • WireGuard: این یک پروتکل نسبتا جدیده که خیلی سر و صدا کرده. کدنویسیش خیلی سبک‌تر و مدرن‌تره، سرعتش خیلی بالاست و با موبایل هم سازگاری عالی داره. مثل OpenVPN، این هم یک پروژه منبع بازه. در سال ۲۰۲۰، پشتیبانی از وایرگارد به هسته لینوکس و اندروید اضافه شد که این موضوع راه رو برای استفاده گسترده‌تر ازش باز کرد.

    علاوه بر اینها، پروتکل‌های دیگه‌ای هم وجود دارن که کمتر رایج هستن مثل:

    • DTLS (Datagram Transport Layer Security): در وی‌پی‌ان‌هایی مثل Cisco AnyConnect و OpenConnect استفاده میشه تا مشکلاتی که TLS با تونل‌زنی روی TCP داره رو حل کنه.
    • MPPE (Microsoft Point-to-Point Encryption): با پروتکل PPTP کار میکنه.
    • SSH VPN: ابزار OpenSSH قابلیت تونل‌زنی وی‌پی‌ان رو فراهم میکنه اما بیشتر برای اتصال از راه دور به ماشین‌ها استفاده میشه تا یک اتصال سایت به سایت.

    موقع انتخاب یک وی‌پی‌ان خوب، به چه چیزهایی دقت کنیم؟

    حالا که اطلاعاتتون کامل شد، اگه تصمیم گرفتید از یک وی‌پی‌ان استفاده کنید، باید بدونید که چطور یک سرویس خوب رو انتخاب کنید. بازار پر از گزینه‌های مختلفه، اما شما باید دنبال یک شرکت معتبر با سابقه خوب و ارزش‌های قابل اعتماد باشید. این ویژگی‌ها رو در نظر بگیرید:

    1. پروتکل‌های قوی: مهمترین ویژگی یک وی‌پی‌ان، امنیته. پس دنبال سرویسی باشید که از پروتکل‌های استاندارد صنعتی با رمزنگاری 256-bit AES استفاده میکنه. این همون سطح از رمزنگاریه که بانک‌ها و ارتش ازش استفاده میکنن. امروزه این یعنی باید سراغ سرویس‌هایی برید که از OpenVPN، IKEv2/IPsec یا WireGuard پشتیبانی میکنن و از پروتکل‌های منسوخ شده مثل PPTP دوری میکنن. بهترین ارائه‌دهنده‌ها به شما اجازه میدن بین چند پروتکل مختلف انتخاب کنید.
    2. سیاست عدم ثبت گزارش (Zero-log Policy): شما از وی‌پی‌ان استفاده میکنید تا از چشم دیگران مخفی بمونید، اما خود شرکت وی‌پی‌ان از نظر تئوری میتونه تمام کارهای شما رو ببینه. برای همین خیلی مهمه شرکتی رو انتخاب کنید که در مورد سیاست ثبت گزارش‌هاش شفاف باشه. یک وی‌پی‌ان no-log یا zero-log یعنی اون شرکت هیچ‌کدوم از فعالیت‌های شما رو ثبت و ذخیره نمیکنه. این شامل گزارش‌های استفاده، گزارش‌های اتصال، داده‌های جلسات یا حتی آدرس IP واقعی شما میشه. اونها فقط اطلاعات اولیه مثل ایمیل و اطلاعات پرداخت شما رو نگه میدارن.
    3. تعداد و پراکندگی سرورها: اگه یک ارائه‌دهنده فقط تعداد کمی سرور در چند جای محدود داشته باشه، ممکنه با کاهش سرعت مواجه بشید. هر چی تعداد سرورها در سراسر جهان بیشتر باشه، هم کاربران بین سرورها پخش میشن و عملکرد بهتر میشه، و هم شما گزینه‌های بیشتری برای انتخاب موقعیت جغرافیایی دارید. اگه سرورها به شما نزدیک‌تر باشن، داده‌های شما مسافت کمتری رو طی میکنن و سرعت بهتر میشه.
    4. کیل سوییچ (Kill Switch): این یک ویژگی امنیتی خیلی مهمه. اگه به هر دلیلی اتصال وی‌پی‌ان شما قطع بشه، دستگاه شما به صورت خودکار به آدرس IP واقعی‌تون برمیگرده و هویت شما لو میره. کیل سوییچ جلوی این اتفاق رو میگیره. به محض اینکه اتصال وی‌پی‌ان قطع بشه، کیل سوییچ کل اتصال اینترنت شما رو قطع میکنه تا هیچ داده‌ای بدون محافظت ارسال نشه.
    5. محافظت از آدرس IP: یک ارائه‌دهنده خوب باید به شما گزینه‌هایی برای مسیریابی مجدد IP بده. مثلا IP اشتراکی (Shared IP) که چندین کاربر رو زیر یک IP گروه‌بندی میکنه و باعث میشه تشخیص فعالیت یک فرد خاص سخت‌تر بشه. همچنین قابلیت تعویض سریع و راحت سرورها به شما این امکان رو میده که موقعیت خودتون رو به راحتی تغییر بدید.
    6. سازگاری با موبایل: اگه امنیت روی موبایل براتون مهمه، دنبال سرویسی باشید که اپلیکیشن‌های موبایل خوبی داشته باشه و از پروتکل IKEv2/IPsec برای پایداری در جابجایی پشتیبانی کنه.
    7. قیمت (پولی در برابر رایگان): به طور کلی، بهتره از وی‌پی‌ان‌های رایگان دوری کنید. یک شرکت پولی، یک شرکت معتبر و واقعیه که از تکنولوژی و زیرساخت باکیفیت پشتیبانی میکنه. یک ارائه‌دهنده پولی احتمال خیلی کمتری داره که فعالیت‌های شما رو ثبت کنه و به شرکت‌های تبلیغاتی بفروشه. درسته که وی‌پی‌ان‌های پرمیوم هزینه ماهانه دارن، اما ارزش امنیت و آرامش خیالی که به دست میارید، خیلی بیشتر از اون هزینه است.
    8. پشتیبانی مشتری: مثل هر شرکت نرم‌افزاری دیگه‌ای، یک ارائه‌دهنده وی‌پی‌ان باید یک تیم پشتیبانی قابل اعتماد داشته باشه که در صورت بروز مشکل، بتونید باهاشون تماس بگیرید.

    محدودیت‌ها و تصورات اشتباه در مورد وی‌پی‌ان

    وی‌پی‌ان یک ابزار فوق‌العاده برای حفظ حریم خصوصی و امنیته، اما جادو نمیکنه. مهمه که بدونیم یک وی‌پی‌ان چه کارهایی رو نمیتونه انجام بده تا یک حس امنیت کاذب بهمون دست نده.

    • وی‌پی‌ان شما رو ۱۰۰ درصد ناشناس نمیکنه: رسیدن به ناشناس بودن کامل در اینترنت تقریبا غیرممکنه. وی‌پی‌ان یک ابزار عالی برای محافظت از حریم خصوصیه، اما ردپای دیجیتالی که شما موقع استفاده از اینترنت به جا میذارید رو نمیشه به طور کامل پاک کرد.
    • وی‌پی‌ان جلوی ویروس‌ها و بدافزارها رو نمیگیره: اگه شما روی یک لینک فیشینگ کلیک کنید یا یک فایل آلوده رو دانلود کنید، دستگاه شما ممکنه آلوده بشه، حتی اگه به وی‌پی‌ان وصل باشید. برای این کار شما به یک برنامه آنتی‌ویروس خوب نیاز دارید. بعضی وی‌پی‌ان‌ها قابلیت‌های اولیه بلاک کردن بدافزار رو دارن اما جایگزین آنتی‌ویروس نیستن.
    • وی‌پی‌ان جلوی کوکی‌ها (Cookies) رو نمیگیره: وی‌پی‌ان میتونه جلوی تبلیغ‌کننده‌ها رو بگیره که از کوکی‌ها برای هدف قرار دادن شما بر اساس IP استفاده کنن، اما خود کوکی‌ها همچنان روی مرورگر شما ذخیره میشن.
    • هنوز هم ممکنه هک بشید: اگه شما اصول اولیه امنیت سایبری رو رعایت نکنید، حتی با وجود وی‌پی‌ان هم در خطر هستید. وی‌پی‌ان از شما در برابر بی‌احتیاطی خودتون محافظت نمیکنه.
    • وی‌پی‌ان معمولا سرعت اینترنت رو کم میکنه: فرایند رمزنگاری و فرستادن اطلاعات به یک سرور دور، زمان‌بره و به طور طبیعی مقداری از سرعت شما رو کم میکنه. این یک نتیجه اجتناب‌ناپذیره. البته اگه از یک وی‌پی‌ان باکیفیت استفاده کنید، این کاهش سرعت به سختی قابل تشخیصه.

    آیا استفاده از وی‌پی‌ان قانونیه؟

    در اکثر کشورهای دنیا، استفاده از وی‌پی‌ان کاملا قانونیه. هیچ اشکالی نداره که شما برای محافظت از حریم خصوصی خودتون قدم بردارید. اما کشورهایی هم هستن که استفاده از وی‌پی‌ان در اونها ممنوع یا غیرقانونیه. کشورهایی مثل چین، ایران، عمان، روسیه، بلاروس، ترکمنستان و امارات متحده عربی (و چند کشور دیگه) محدودیت‌هایی برای استفاده از وی‌پی‌ان دارن.

    نکته مهم اینه که انجام فعالیت‌های غیرقانونی آنلاین، چه با وی‌پی‌ان و چه بدون اون، همچنان غیرقانونیه.

    پرسش و پاسخ‌های متداول

    خب، این هم از درس امروز ما. امیدوارم همه چیز رو خوب یاد گرفته باشید. حالا بیاید چند تا از سوال‌هایی که معمولا برای بچه‌ها پیش میاد رو با هم مرور کنیم.

    سوال: به طور خلاصه وی‌پی‌ان چیکار میکنه؟
    یک وی‌پی‌ان (شبکه خصوصی مجازی) با رمزنگاری کردن داده‌های شما و مخفی کردن آدرس IP شما، از کاربرهاش محافظت میکنه. این کار باعث میشه فعالیت وب‌گردی، هویت و موقعیت مکانی شما مخفی بمونه و حریم خصوصی و استقلال بیشتری به شما میده.

    سوال: آیا وی‌پی‌ان من رو از ردیابی ISP محافظت میکنه؟
    بله. وی‌پی‌ان با مسیریابی اتصال شما به یک سرور وی‌پی‌ان از راه دور، آدرس IP شما رو مخفی میکنه و موقعیت مکانی شما رو پنهان میکنه. با مخفی شدن این اطلاعات، هویت شما خصوصی باقی میمونه و ارائه‌دهنده اینترنت (ISP)، شرکت‌های تبلیغاتی و مجرمان سایبری نمیتونن شما رو ردیابی کنن.

    سوال: آیا باید وی‌پی‌انم رو همیشه روشن بذارم؟
    این به خودتون بستگی داره. قطعا هر وقت به یک وای‌فای عمومی وصل میشید، باید وی‌پی‌ان رو روشن کنید. فراتر از اون، اگه میخواید به طور مداوم تحت پوشش امنیتی آنلاین باشید، میتونید همیشه روشنش بذارید. فقط یادتون باشه که استفاده مداوم از وی‌پی‌ان ممکنه کمی سرعت اینترنت شما رو کم کنه.

    سوال: وی‌پی‌ان روی گوشی چیه؟
    وی‌پی‌ان روی گوشی آیفون یا اندروید یک اپلیکیشن موبایله که ترافیک اینترنت رو رمزنگاری میکنه، آدرس IP دستگاه رو مخفی میکنه و یک وب‌گردی امن‌تر و خصوصی‌تر رو از طریق یک شبکه خصوصی مجازی فراهم میکنه.

    سوال: چطوری یک وی‌پی‌ان نصب کنم؟
    برای نصب یک وی‌پی‌ان، اپلیکیشن ارائه‌دهنده مورد نظرتون رو دانلود کنید، اجراش کنید و وارد حساب کاربری‌تون بشید. بعد از اون، میتونید به سرور دلخواهتون وصل بشید تا اتصال اینترنتتون امن بشه.

    منابع

    • [2] Virtual private network – Wikipedia
    • [4] What is a VPN – Meaning and all you need to know – Surfshark
    • [6] Everything You Need to Know About VPNs and How They Work – CNET
    • [8] What is a VPN and what does it do? – Norton
    • [1] What is a VPN and why it’s important : r/VPN
    • [3] What is a VPN? Why Should I Use a VPN? | Microsoft Azure
    • [5] What is a VPN? Virtual private network meaning | NordVPN
    • [7] Is a VPN actually worth it? : r/VPN
    • [9] What Is a Virtual Private Network (VPN)? – Cisco
  • اعتماد صفر یا Zero Trust، رویکرد نوین به امنیت سایبری

    بذارین اول از یه روش قدیمی شروع کنیم که بفهمیم چرا اصلا به یه چیز جدید مثل اعتماد صفر نیاز پیدا کردیم. تا همین چند سال پیش، شرکت‌ها و سازمان‌ها به امنیت شبکه مثل یه قلعه نگاه می‌کردن. یه قلعه محکم با دیوارهای بلند و یه خندق دورش. هر چیزی که بیرون این قلعه بود، «غیرقابل اعتماد» و «بد» حساب میشد و هر کسی یا هر چیزی که داخل قلعه بود، «قابل اعتماد» و «خوب» بود.

    فکر کنین شما کارمند یه شرکتین. وقتی وارد ساختمون شرکت میشین و به شبکه داخلی وصل میشین، انگار از پل متحرک قلعه رد شدین و وارد شدین. از اون لحظه به بعد، سیستم امنیتی شرکت به شما اعتماد کامل داشت. میگفت: «خب، این دیگه خودیه! بذار هر کاری میخواد بکنه.» شما میتونستین به همه فایل‌ها، پرینترها و سرورهای داخلی راحت دسترسی داشته باشین. این روش بهش میگن امنیت مبتنی بر محیط (Perimeter-based security).

    چرا دیگه مدل قلعه و خندق جواب نمیده؟

    این مدل تا وقتی خوب بود که همه کارمندها توی یه ساختمون بودن و همه اطلاعات شرکت روی سرورهای همون ساختمون بود. اما دنیای امروز خیلی فرق کرده:

    • دورکاری و کار هیبریدی: الان خیلی‌ها از خونه کار میکنن. دیگه کسی داخل قلعه نیست.
    • سرویس‌های ابری (Cloud): اطلاعات شرکت‌ها دیگه فقط روی سرورهای خودشون نیست. کلی از اطلاعات و نرم‌افزارها روی سرویس‌های ابری مثل مایکروسافت، آمازون و گوگل پخش شدن.
    • دستگاه‌های شخصی (BYOD): خیلی‌ها با لپ‌تاپ یا گوشی شخصی خودشون به شبکه شرکت وصل میشن.
    • اینترنت اشیا (IoT): کلی دستگاه مثل پرینترهای هوشمند، دوربین‌ها و سنسورها به شبکه وصلن که امنیت‌شون همیشه عالی نیست.

    با این همه تغییر، دیگه چیزی به اسم «محیط شبکه» یا همون دیوار قلعه وجود نداره. همه چیز پخش و پلاست. حالا اگه یه هکر بتونه یه جوری خودش رو برسونه داخل این شبکه گسترده (مثلا با دزدیدن رمز عبور یه کارمند دورکار)، اون وقت چی میشه؟ سیستم امنیتی قدیمی میگه: «اینم خودیه!» و هکر مثل شما میتونه به همه جا سرک بکشه. این حرکت هکر در داخل شبکه رو بهش میگن حرکت جانبی (Lateral Movement). اینجاست که فاجعه اتفاق می‌افته.

    تولد یک ایده جدید: اعتماد صفر (Zero Trust)

    حدود سال ۲۰۱۰، یه تحلیل‌گر از شرکت تحقیقاتی فارستر (Forrester Research) به اسم جان کیندرواگ (John Kindervag) اومد و گفت این مدل قلعه و خندق دیگه فایده نداره. اون یه ایده جدید مطرح کرد که اسمش رو گذاشت «اعتماد صفر».

    فلسفه اعتماد صفر خیلی ساده‌ست. میگه: «هرگز اعتماد نکن، همیشه بررسی کن» (Never trust, always verify).

    این یعنی چی؟ یعنی دیگه فرقی نمیکنه شما داخل شبکه شرکت باشین یا بیرونش. روی مبل خونه‌تون نشستین یا پشت میزتون توی اداره. هر بار که بخواین به یه فایل، یه نرم‌افزار یا هر منبع دیگه‌ای دسترسی پیدا کنین، سیستم باید هویت شما و سلامت دستگاه شما رو از اول بررسی کنه. انگار که یه نگهبان فوق‌العاده وسواسی دم در هر اتاق شرکت ایستاده و هر بار که میخواین وارد یه اتاق جدید بشین، کارت شناسایی شما رو چک میکنه، حتی اگه ده ثانیه پیش شما رو دیده باشه!

    پس اعتماد صفر یه محصول یا یه سرویس خاص نیست که بریم بخریم و نصب کنیم. این یه استراتژی و یه مدل فکری برای طراحی سیستم‌های امنیتیه. این مدل فرض میکنه که هکرها هم داخل شبکه هستن هم بیرونش. پس به هیچ‌کس و هیچ‌چیز به طور پیش‌فرض اعتماد نمیکنه.

    سه اصل اساسی در دنیای اعتماد صفر

    کل این مدل فکری روی سه تا پایه اصلی بنا شده. بیاید این سه تا اصل رو با هم مرور کنیم:

    اصلتوضیح ساده و خودمونی
    بررسی صریح (Verify explicitly)همیشه هویت و مجوز دسترسی رو بر اساس تمام اطلاعات موجود چک کن. یعنی فقط به یه رمز عبور قانع نشو. ببین این کاربر کیه، از کجا وصل شده، دستگاهش چیه، وضعیت سلامت دستگاهش چطوره و… بعد اجازه بده.
    استفاده از دسترسی با حداقل امتیاز (Use least privilege access)به هر کاربر فقط و فقط به اندازه‌ای که برای انجام کارش نیاز داره دسترسی بده، نه بیشتر. مثل ارتش که به هر سرباز اطلاعات رو بر اساس نیاز به دانستن (need-to-know) میدن. وقتی هم کارش تموم شد، دسترسی رو ازش بگیر.
    فرض کردن رخنه امنیتی (Assume breach)همیشه فرض کن که هکرها همین الان داخل شبکه هستن. با این فرض، باید کاری کنی که اگه یه بخش از شبکه هک شد، هکر نتونه به بخش‌های دیگه بره و کل سیستم رو نابود کنه. باید محدوده خسارت یا اون «شعاع انفجار» (Blast Radius) رو به حداقل برسونی.

    این سه تا اصل، قلب تپنده مدل اعتماد صفر هستن. به جای اینکه فکر کنیم هر چیزی پشت فایروال شرکت امنه، مدل اعتماد صفر هر درخواست رو طوری بررسی میکنه که انگار از یه شبکه کنترل‌نشده و ناامن اومده.

    اعتماد صفر چطوری کار میکنه؟ ستون‌های اصلی

    خب، حالا که با فلسفه‌اش آشنا شدیم، ببینیم در عمل چطوری پیاده‌سازی میشه. سازمان‌های مختلفی مثل موسسه ملی استاندارد و فناوری آمریکا (NIST) و آژانس امنیت سایبری و زیرساخت آمریکا (CISA) اومدن و مدل‌هایی برای پیاده‌سازی اعتماد صفر ارائه دادن. یکی از معروف‌ترین مدل‌ها، مدل CISA هست که پنج تا ستون اصلی داره. بیاید این ستون‌ها رو بشناسیم:

    ۱. هویت (Identity)

    این ستون مربوط به آدم‌ها و حتی سرویس‌های نرم‌افزاری میشه. در مدل اعتماد صفر، هویت هر کسی که میخواد به چیزی دسترسی پیدا کنه باید به شدت کنترل بشه.

    • احراز هویت چندعاملی (MFA): دیگه وارد کردن یه رمز عبور کافی نیست. سیستم باید حداقل دو تا مدرک از شما بخواد تا مطمئن بشه خودتون هستین. مثلا بعد از وارد کردن رمز، یه کد هم به گوشی شما میفرسته. این روش باید در مقابل حملات فیشینگ هم مقاوم باشه.
    • کنترل مداوم: فقط اول کار هویت رو چک نمیکنیم. در تمام مدتی که به سیستم وصل هستین، رفتار شما زیر نظر گرفته میشه.
    • حداقل امتیاز: همونطور که گفتیم، هر کاربر فقط به منابعی که برای کارش ضروریه دسترسی داره.

    ۲. دستگاه (Device)

    هر دستگاهی که به شبکه وصل میشه (لپ‌تاپ، گوشی، سرور، پرینتر و…) یه نقطه ضعف بالقوه‌ست. پس باید حواس‌مون به دستگاه‌ها هم باشه.

    • لیست موجودی: سازمان باید یه لیست کامل و به‌روز از تمام دستگاه‌های مجاز داشته باشه. هر دستگاهی که تو این لیست نیست، حق ورود نداره.
    • بررسی سلامت دستگاه: قبل از اینکه به یه دستگاه اجازه اتصال داده بشه، سیستم باید سلامت اون رو چک کنه. مثلا ببینه آنتی‌ویروسش آپدیته؟ سیستم‌عاملش نسخه جدیده؟ برنامه مشکوکی روش نصب نیست؟
    • نظارت دائمی: وضعیت دستگاه‌ها به طور مداوم کنترل میشه تا اگه مشکلی پیش اومد، سریعا دسترسی اون دستگاه قطع بشه.

    ۳. شبکه/محیط (Network/Environment)

    تو مدل اعتماد صفر، کل شبکه به منطقه‌های خیلی کوچیک و ایزوله تقسیم میشه. این کار باعث میشه اگه هکری وارد یه منطقه شد، نتونه به راحتی به مناطق دیگه بره.

    • میکروسگمنتیشن (Microsegmentation): به جای تقسیم‌بندی سنتی شبکه، از این روش استفاده میشه که شبکه‌ها رو به بخش‌های خیلی ریزتر و امن‌تر تقسیم میکنه. اینطوری جلوی حرکت جانبی هکرها گرفته میشه. حتی منابعی که یه کاربر بهشون دسترسی نداره، اصلا براش قابل دیدن نیستن.
    • رمزنگاری ترافیک: تمام اطلاعاتی که در شبکه جابجا میشن، باید رمزنگاری بشن تا اگه کسی تونست اونها رو شنود کنه، چیزی ازشون نفهمه.
    • کنترل جریان داده: باید روی تمام داده‌هایی که وارد و خارج میشن نظارت دقیق وجود داشته باشه.

    ۴. اپلیکیشن و بار کاری (Application and Workload)

    نرم‌افزارها و سرویس‌هایی که روی سرورها (چه داخلی و چه ابری) اجرا میشن هم باید طبق اصول اعتماد صفر کنترل بشن.

    • مجوزدهی پویا: به جای اینکه یه بار به یه نرم‌افزار دسترسی بدیم و خلاص، دسترسی‌ها به صورت پویا و مداوم چک میشن.
    • نظارت بر ارتباطات: ارتباط بین نرم‌افزارهای مختلف هم زیر نظر گرفته میشه تا اگه رفتار غیرعادی دیده شد، سریعا جلوی اون گرفته بشه.
    • امنیت در فرآیند توسعه: اصول امنیتی باید از همون اول در فرآیند ساخت و توسعه نرم‌افزارها لحاظ بشه.

    ۵. داده (Data)

    و در نهایت، مهم‌ترین دارایی هر سازمانی، یعنی داده‌ها. هدف نهایی همه این کارها، محافظت از داده‌هاست.

    • دسته‌بندی و برچسب‌گذاری: داده‌ها باید بر اساس میزان حساسیت‌شون دسته‌بندی و برچسب‌گذاری بشن تا بشه سیاست‌های امنیتی مناسب رو براشون اعمال کرد.
    • رمزنگاری داده‌ها: همه داده‌ها، چه اونایی که روی هارد ذخیره شدن (at rest)، چه اونایی که در حال انتقال در شبکه هستن (in transit) و چه اونایی که دارن پردازش میشن (in use)، باید رمزنگاری بشن.
    • جلوگیری از نشت داده (Data Exfiltration): باید مکانیزم‌هایی وجود داشته باشه که جلوی خروج غیرمجاز داده‌های حساس از سازمان رو بگیره.

    دو ستون اضافه برای حرفه‌ای‌ها

    بعضی مدل‌های پیشرفته‌تر مثل مدل وزارت دفاع آمریکا (DoD)، دو تا ستون دیگه هم به این پنج تا اضافه میکنن:

    • مشاهده و تحلیل (Visibility and Analytics): باید ابزارهایی داشته باشیم که به طور مداوم همه اتفاقات شبکه رو ثبت و تحلیل کنن. اینطوری میشه رفتارهای مشکوک رو شناسایی کرد و به صورت هوشمندانه تصمیم‌های امنیتی گرفت.
    • اتوماسیون و هماهنگی (Automation and Orchestration): خیلی از این فرآیندها باید به صورت خودکار انجام بشن. سیستم باید بتونه به صورت اتوماتیک به تهدیدها واکنش نشون بده و سیاست‌های امنیتی رو بین سیستم‌های مختلف هماهنگ کنه.

    پیاده‌سازی اعتماد صفر: از کجا شروع کنیم؟

    پیاده‌سازی این مدل یه پروژه بزرگ و طولانیه و نمیشه یه شبه انجامش داد. اما سازمان‌ها میتونن قدم به قدم این مسیر رو طی کنن. این چند تا مرحله میتونه یه نقشه راه خوب باشه:

    • شناسایی و ارزیابی دارایی‌ها: اول از همه باید بدونیم چه چیزهای باارزشی داریم که باید ازشون محافظت کنیم. داده‌های حساس، نرم‌افزارهای مهم و…
    • تایید هویت کاربر و دستگاه: باید مطمئن بشیم هر کسی و هر دستگاهی همونیه که ادعا میکنه. استفاده از احراز هویت چندعاملی برای کاربرها و روش‌های تایید هویت برای دستگاه‌ها در این مرحله ضروریه.
    • تعریف سیاست‌های دسترسی: باید مشخص کنیم چه کسی، کی، چرا و چطور باید به منابع مختلف دسترسی داشته باشه. این سیاست‌ها باید خیلی دقیق و جزئی باشن.
    • نظارت و تست مداوم: بعد از پیاده‌سازی، باید به طور مداوم همه چیز رو زیر نظر داشته باشیم تا رفتارهای غیرعادی رو پیدا کنیم و سیاست‌هامون رو بر اساس تهدیدهای جدید به‌روز کنیم.

    یه فناوری کلیدی که برای پیاده‌سازی این مدل استفاده میشه ZTNA (Zero Trust Network Access) هست. ZTNA یه جور جایگزین مدرن برای VPN های قدیمیه. VPN شما رو به کل شبکه وصل میکرد، اما ZTNA فقط و فقط شما رو به همون نرم‌افزار یا منبعی که بهش نیاز دارین وصل میکنه و بقیه شبکه رو از شما مخفی نگه میداره.

    چرا دولت‌ها و شرکت‌های بزرگ به سمت اعتماد صفر میرن؟

    این موضوع انقدر جدی شده که حتی دولت‌ها هم وارد عمل شدن.

    • در سال ۲۰۲۱، رئیس جمهور آمریکا، جو بایدن، با فرمان اجرایی ۱۴۰۲۸، همه آژانس‌های فدرال دولت آمریکا رو موظف کرد که معماری اعتماد صفر رو پیاده‌سازی کنن. بعد از اون در ژانویه ۲۰۲۲، دفتر مدیریت و بودجه (OMB) هم استراتژی فدرال اعتماد صفر رو در یادداشت ۲۲-۰۹ منتشر کرد.
    • شرکت مایکروسافت هم در نوامبر ۲۰۲۳ ابتکاری به اسم Secure Future Initiative (SFI) رو شروع کرد که تعهدی چند ساله برای امن‌تر کردن محصولاتش هست. بخش بزرگی از این ابتکار، پیاده‌سازی سفت و سخت مدل اعتماد صفر در زیرساخت‌های خود مایکروسافته.

    این نشون میده که اعتماد صفر دیگه یه ایده تئوری نیست و به یه استاندارد مهم در دنیای امنیت تبدیل شده.

    مزایای اعتماد صفر چیه؟

    خب این همه دردسر برای چی؟ پیاده‌سازی این مدل چه فایده‌هایی داره؟

    • کاهش سطح حمله (Attack Surface): چون دسترسی‌ها خیلی محدود میشن و خیلی از منابع از دید کاربرهای غیرمجاز مخفی هستن، هکرها نقاط کمتری برای نفوذ پیدا میکنن.
    • جلوگیری از حرکت جانبی: حتی اگه یه هکر بتونه یه حساب کاربری یا یه دستگاه رو هک کنه، به خاطر میکروسگمنتیشن نمیتونه به راحتی در شبکه حرکت کنه و خسارت زیادی بزنه.
    • محافظت بهتر از داده‌ها: با رمزنگاری و کنترل دسترسی دقیق، داده‌ها در هر حالتی امن‌تر هستن.
    • پشتیبانی امن از دورکاری: این مدل برای دنیای امروز که پر از کارمندهای دورکار و سرویس‌های ابریه، کاملا طراحی شده و امنیت رو در این محیط‌های پراکنده فراهم میکنه.
    • افزایش دید و کنترل: چون همه چیز به طور مداوم ثبت و تحلیل میشه، مدیران شبکه دید خیلی بهتری روی اتفاقات دارن و میتونن سریع‌تر به تهدیدها واکنش نشون بدن.
    • ساده‌سازی زیرساخت: در بلندمدت، این مدل میتونه با حذف ابزارهای امنیتی قدیمی و پیچیده مثل VPN های سنتی، به ساده‌تر شدن زیرساخت IT کمک کنه.

    چالش‌های مسیر اعتماد صفر

    البته این مسیر گل و بلبل هم نیست و چالش‌هایی داره:

    • پیچیدگی و زمان‌بر بودن: تعریف و پیاده‌سازی سیاست‌های دقیق برای هر کاربر، دستگاه و منبع، کار فنی و مدیریتی خیلی زیادی میطلبه و ممکنه سال‌ها طول بکشه.
    • نیاز به تعهد سازمانی: این یه پروژه بزرگه که نیاز به هماهنگی بین بخش‌های مختلف IT و تعهد مدیران ارشد داره.
    • تجربه کاربری: اگه احراز هویت‌های مداوم خیلی اذیت‌کننده باشن، ممکنه کارمندها رو کلافه کنه. برای همین باید یه تعادل بین امنیت و راحتی کاربر برقرار کرد.
    • وابستگی به فروشنده‌ها: چون اعتماد صفر یه استاندارد صنعتی دقیق نیست، ممکنه سازمان‌ها به راه‌حل‌های اختصاصی یه شرکت خاص وابسته بشن و این در آینده مشکل‌ساز بشه.

    پرسش و پاسخ‌های متداول (یه جورایی امتحان آخر ترم!)

    خب، حالا که کل درس رو با هم مرور کردیم، بذارین چند تا سوال کلیدی که ممکنه تو ذهن‌تون باشه رو جواب بدیم.

    سوال ۱: پس اعتماد صفر یه نرم‌افزاره که باید بخریم؟

    نه دقیقا. اعتماد صفر یه استراتژی و یه چارچوب فکریه. البته برای پیاده‌سازی این استراتژی، شما به ابزارها و فناوری‌های مختلفی مثل ZTNA، سیستم‌های مدیریت هویت (IAM)، احراز هویت چندعاملی (MFA) و ابزارهای نظارتی نیاز دارین. اما نمیتونین برین تو مغازه و بگین «یه اعتماد صفر بدین»!

    سوال ۲: فرق اصلی اعتماد صفر با VPN چیه؟

    یه VPN سنتی شما رو به کل شبکه شرکت وصل میکنه و بهتون یه آدرس IP داخلی میده. از اون به بعد، انگار شما داخل «قلعه» هستین و به خیلی چیزها دسترسی دارین. اما ZTNA که بر اساس مدل اعتماد صفر کار میکنه، شما رو به شبکه وصل نمیکنه. بلکه یه تونل امن و مستقیم فقط بین شما و همون نرم‌افزاری که لازمش دارین ایجاد میکنه. اینطوری هم امنیت بالاتره و هم تجربه کاربری معمولا بهتر و سریع‌تره.

    سوال ۳: این مدل فقط برای شرکت‌های خیلی بزرگه؟

    نه. اصول اعتماد صفر برای هر سازمانی، حتی کسب‌وکارهای کوچیک، مفیده. هر جایی که داده‌های دیجیتال و شبکه وجود داشته باشه، این مدل میتونه امنیت رو به شکل قابل توجهی افزایش بده. البته روش پیاده‌سازی برای یه شرکت کوچیک ممکنه ساده‌تر از یه سازمان دولتی بزرگ باشه.

    سوال ۴: آیا اعتماد صفر امنیت رو صد در صد تضمین میکنه؟

    در دنیای امنیت هیچ چیز صد در صد نیست. همیشه تهدیدهای جدیدی به وجود میان. اما اعتماد صفر یه رویکرد خیلی موثر برای بالا بردن سطح امنیت و کاهش شدید ریسک حملات سایبری در دنیای دیجیتال امروزه. این مدل با فرض کردن اینکه حمله اتفاق افتاده، سازمان رو برای بدترین سناریوها آماده میکنه.

    سوال ۵: SASE که این روزها زیاد میشنویم، چه ربطی به اعتماد صفر داره؟

    سوال خوبیه! SASE (Secure Access Service Edge) یه مدل معماری دیگه‌ست که خدمات شبکه (مثل SD-WAN) و خدمات امنیتی (مثل ZTNA، فایروال ابری و…) رو در قالب یه سرویس یکپارچه ابری ارائه میده. اعتماد صفر، فلسفه و چارچوب اصلی دسترسی در مدل SASE هست. به عبارت دیگه، SASE زیرساخت و سرویس‌ها رو فراهم میکنه و اعتماد صفر قوانین و مدل فکری حاکم بر اون زیرساخت رو تعیین میکنه. این دوتا مفهوم مکمل همدیگه هستن.

    منابع

    • [2] What Is Zero Trust? Zero Trust Security Model | Akamai
    • [4] Zero Trust security model – ITSAP.10.008 – Canadian Centre for Cyber Security
    • [6] What is Zero Trust Architecture? – Palo Alto Networks
    • [8] What is Zero-Trust outside of the marketing bs? : r/AskNetsec
    • [10] What Is Zero Trust? | Benefits & Core Principles – Zscaler
    • [1] What is Zero Trust? | Microsoft Learn
    • [3] Zero Trust security | What is a Zero Trust network? | Cloudflare
    • [5] What is Zero Trust? – Guide to Zero Trust Security | CrowdStrike
    • [7] What Is Zero Trust? | IBM
    • [9] What Is Zero-Trust Networking? – Cisco
  • حملات DDoS چی هستن و هدفشون چیه

    حمله‌های DDoS. شاید اسمش رو شنیده باشید، به خصوص وقتی که سرورهای بازی مورد علاقه‌تون از کار میفته یا یه سایت مهم یهو از دسترس خارج میشه. خیلی‌ها فکر میکنن این یه جور هک پیچیده‌اس که یه نابغه کامپیوتر انجامش میده، اما داستان یه کم فرق میکنه. بیایید با هم قدم به قدم بریم جلو و ببینیم این حمله‌ها دقیقن چی هستن، چطوری کار میکنن و چرا مقابله باهاشون اینقدر سخته.

    فکر کنین یه بزرگراه شلوغ رو در نظر بگیرید که ماشین‌ها دارن به آرامی به سمت مقصدشون میرن. حالا یهو هزاران ماشین الکی و خالی وارد این بزرگراه میشن و کل مسیر رو میبندن. نتیجه چی میشه؟ یه ترافیک وحشتناک که اجازه نمیده ماشین‌های واقعی و مسافرهای اصلی به مقصدشون برسن. حمله DDoS دقیقن همینه، اما توی دنیای اینترنت.

    یه عده با نیت خرابکارانه، یه حجم عظیمی از ترافیک اینترنتی الکی رو به سمت یه سرور، سرویس یا شبکه سرازیر میکنن. این حجم از ترافیک اونقدر زیاده که هدف مورد نظر یا زیرساخت‌های اطرافش نمیتونن از پسش بربیان و در نهایت از کار میفتن. اینجوری، کاربرهای واقعی و معمولی دیگه نمیتونن به اون سرویس دسترسی داشته باشن.

    حمله DDoS چطوری اجرا میشه؟ ارتش زامبی‌ها وارد میشود

    برای اینکه بفهمیم این حجم از ترافیک از کجا میاد، باید با چند تا مفهوم کلیدی آشنا بشیم. حمله‌های DDoS با استفاده از شبکه‌ای از کامپیوترها و دستگاه‌های متصل به اینترنت اجرا میشن.

    • بات (Bot) یا زامبی (Zombie): اینها دستگاه‌های معمولی مثل کامپیوتر من و شما، یا حتی دستگاه‌های هوشمند مثل دوربین‌های مداربسته و یخچال‌های هوشمند (همون دستگاه‌های IoT) هستن که به بدافزار آلوده شدن. صاحب این دستگاه‌ها معمولن روحش هم خبر نداره که دستگاهش آلوده شده و داره ازش سوءاستفاده میشه.
    • بات‌نت (Botnet): وقتی یه تعداد زیادی از این بات‌ها یا زامبی‌ها تحت کنترل یک نفر (مهاجم) قرار میگیرن، یه شبکه به اسم «بات‌نت» تشکیل میدن. این بات‌نت مثل یه ارتش از دستگاه‌های آلوده‌اس که منتظر دستور فرمانده‌شون هستن.

    حالا مهاجم چیکار میکنه؟ خیلی ساده. وقتی یه بات‌نت آماده شد، مهاجم میتونه از راه دور به همه این بات‌ها دستور بده. فرض کنید هدف، سرور یه بازی آنلاینه. مهاجم به کل ارتش بات‌نتش دستور میده که همزمان شروع کنن به فرستادن درخواست به آدرس IP اون سرور.

    هر بات یه درخواست میفرسته. حالا تصور کنین صدها هزار یا حتی میلیون‌ها بات همزمان این کار رو بکنن. سرور هدف با سیلی از درخواست‌ها روبرو میشه که نمیتونه به همشون جواب بده. منابعش تموم میشه، پردازنده‌اش درگیر میشه و در نهایت یا خیلی کند میشه یا کاملن از کار میفته. اینجوری، بازیکن‌های واقعی که میخوان وارد بازی بشن، با قطعی سرویس مواجه میشن.

    یکی از بزرگترین چالش‌ها اینه که هر کدوم از این بات‌ها یه دستگاه اینترنتی واقعی و قانونیه. برای همین، تشخیص دادن ترافیک حمله از ترافیک کاربرهای واقعی خیلی سخته. انگار که توی اون مثال ترافیک، همه ماشین‌های الکی، ظاهری شبیه ماشین‌های واقعی داشته باشن.

    از کجا بفهمیم داریم مورد حمله قرار میگیریم؟

    واضح‌ترین نشونه یه حمله DDoS اینه که یه سایت یا سرویس یهویی خیلی کند میشه یا کاملن از دسترس خارج میشه. اما خب، این مشکل میتونه دلایل دیگه‌ای هم داشته باشه، مثلن اینکه یه محصول جدید عرضه شده و یه عالمه کاربر واقعی همزمان هجوم آوردن به سایت. برای همین، برای تشخیص قطعی، باید بیشتر تحقیق کرد.

    ابزارهای تحلیل ترافیک میتونن به ما کمک کنن تا بعضی از علائم کلیدی یه حمله DDoS رو تشخیص بدیم:

    • حجم ترافیک غیرعادی که به سمت یک نقطه یا آدرس IP خاص هدایت شده.
    • یه الگوی ترافیکی عجیب، مثلن ترافیک زیاد از طرف کاربرهایی که پروفایل مشابهی دارن (مثلن همه از یک منطقه جغرافیایی خاص، یا از یک نوع دستگاه خاص هستن).
    • افزایش ناگهانی و شدید ترافیک در ساعت‌های غیرمعمول روز.
    • افزایش عجیب در درخواست‌ها برای یک صفحه یا یک نقطه پایانی خاص.
    • کند شدن غیرعادی عملکرد شبکه برای مدت طولانی.

    البته علائم دیگه‌ای هم وجود داره که بسته به نوع حمله میتونن متفاوت باشن. برای اینکه انواع حمله رو بهتر بفهمیم، اول باید ببینیم یه اتصال اینترنتی چطوری کار میکنه.

    لایه‌های اتصال اینترنتی: ساختمون ۷ طبقه ما

    یه اتصال اینترنتی از چندین لایه مختلف تشکیل شده. مثل ساختن یه خونه که از پی شروع میشه و طبقه به طبقه بالا میره، هر لایه توی شبکه هم یه وظیفه خاص داره. یه مدل مفهومی برای توصیف این لایه‌ها وجود داره به اسم مدل OSI که ۷ تا لایه داره. حمله‌های DDoS میتونن لایه‌های مختلفی از این ساختمون رو هدف قرار بدن.

    حالا که با این مفهوم آشنا شدیم، بریم سراغ سه دسته اصلی حمله‌های DDoS.

    انواع حمله‌های DDoS: سه تفنگدار خرابکار

    تقریبن همه حمله‌های DDoS هدفشون یکیه‌: غرق کردن هدف با ترافیک. اما روش‌هاشون متفاوته. مهاجم‌ها میتونن از یه روش یا ترکیبی از چند روش استفاده کنن.

    ۱. حمله‌های لایه اپلیکیشن (Application Layer Attacks)

    این حمله‌ها که بهشون حمله‌های لایه ۷ هم میگن (چون لایه هفتم مدل OSI رو هدف میگیرن)، مستقیمن سراغ خود اپلیکیشن یا وبسایت میرن. هدفشون اینه که منابع سرور رو تموم کنن.

    چطوری؟ این حمله‌ها لایه‌ای رو هدف میگیرن که توش صفحات وب ساخته میشن و به درخواست‌های HTTP جواب داده میشه. برای یه کاربر، فرستادن یه درخواست HTTP (مثلن باز کردن یه صفحه وب) کار ساده و کم‌هزینه‌ایه. اما برای سرور، جواب دادن به اون درخواست میتونه پرهزینه باشه. سرور باید کلی فایل رو بارگذاری کنه، از دیتابیس اطلاعات بگیره و در نهایت یه صفحه وب کامل رو بسازه.

    حمله HTTP Flood: این یکی از رایج‌ترین حمله‌های لایه ۷ هست. مثل این میمونه که شما و هزاران نفر از دوستاتون روی کامپیوترهای مختلف، دکمه رفرش یه مرورگر رو پشت سر هم فشار بدید. سرور با سیلی از درخواست‌های HTTP مواجه میشه و در نهایت از کار میفته.

    • نسخه‌های ساده: ممکنه مهاجم با یه سری آدرس IP محدود، یه آدرس URL خاص رو هدف قرار بده.
    • نسخه‌های پیچیده: مهاجم از تعداد زیادی آدرس IP استفاده میکنه و آدرس‌های URL تصادفی رو با اطلاعات ارجاع‌دهنده (Referrer) و عامل کاربر (User Agent) تصادفی هدف قرار میده تا شناسایی‌اش سخت‌تر بشه.

    مقابله با حمله‌های لایه ۷ سخته، چون ترافیک حمله خیلی شبیه ترافیک کاربرهای واقعیه. این حمله‌ها میتونن شامل نقض پروتکل HTTP، حملات SQL Injection و Cross-Site Scripting هم باشن.

    ۲. حمله‌های پروتکلی (Protocol Attacks)

    این حمله‌ها که بهشون حمله‌های State-Exhaustion هم میگن، با مصرف بیش از حد منابع سرور یا تجهیزات شبکه مثل فایروال‌ها و لود بالانسرها، باعث قطعی سرویس میشن. این حمله‌ها از ضعف‌های لایه ۳ و ۴ پشته پروتکل استفاده میکنن تا هدف رو غیرقابل دسترس کنن.

    حمله SYN Flood: این یه مثال کلاسیک از حمله پروتکلیه. برای درکش، یه کارگر توی انبار رو تصور کنین که از جلوی فروشگاه سفارش میگیره.

    کارگر سفارش رو میگیره، میره بسته رو پیدا میکنه و منتظر تایید نهایی میمونه تا بسته رو بیاره جلو. حالا تصور کنین این کارگر کلی سفارش دیگه بدون تایید نهایی دریافت میکنه. دست‌هاش پر میشه، گیج میشه و دیگه نمیتونه بسته‌های بیشتری رو حمل کنه و سفارش‌های جدید بی‌پاسخ میمونن.

    این حمله از فرآیندی به اسم دست‌دهی سه‌مرحله‌ای (Three-way Handshake) در پروتکل TCP سوءاستفاده میکنه. وقتی دو تا کامپیوتر میخوان با هم ارتباط برقرار کنن، این فرآیند انجام میشه. مهاجم تعداد زیادی بسته TCP SYN (درخواست اولیه اتصال) با آدرس IP جعلی (Spoofed IP) به سمت هدف میفرسته.

    دستگاه هدف به هر کدوم از این درخواست‌ها جواب میده و منتظر مرحله نهایی دست‌دهی میمونه؛ مرحله‌ای که هیچوقت اتفاق نمیفته. این کار باعث میشه تمام پورت‌های سرور در حالت نیمه‌باز و اشغال‌شده باقی بمونن و منابع سرور تموم بشه. در نتیجه، کاربرهای واقعی نمیتونن به سرور وصل بشن.

    ۳. حمله‌های حجمی (Volumetric Attacks)

    هدف این دسته از حمله‌ها اینه که با مصرف کردن تمام پهنای باند موجود بین هدف و اینترنت، یه ترافیک سنگین ایجاد کنن. مقادیر عظیمی از داده با استفاده از روش‌هایی مثل تقویت (Amplification) یا با کمک یه بات‌نت به سمت هدف ارسال میشه.

    حمله DNS Amplification: این حمله مثل اینه که یه نفر به یه رستوران زنگ بزنه و بگه: «من از همه چی یکی میخوام، لطفن با من تماس بگیرید و کل سفارشم رو تکرار کنید». اما شماره‌ای که برای تماس مجدد میده، شماره تلفن قربانیه! اینجوری با یه تلاش خیلی کم، یه پاسخ خیلی طولانی و حجیم تولید میشه و برای قربانی فرستاده میشه.

    توی این حمله، مهاجم یه درخواست به یه سرور DNS باز (Open DNS Server) با یه آدرس IP جعلی (آدرس IP قربانی) میفرسته. سرور DNS هم یه پاسخ حجیم به اون آدرس IP جعلی (یعنی قربانی) میفرسته. اینجوری، مهاجم با فرستادن یه درخواست کوچیک، باعث میشه یه جواب خیلی بزرگتر به سمت قربانی ارسال بشه و پهنای باندش رو اشغال کنه.

    نگاهی عمیق‌تر به برخی از حملات خاص

    دنیای حملات DDoS خیلی متنوعه و روز به روز هم روش‌های جدیدی به وجود میاد. بیایید چند تا از این روش‌های خاص رو که اسم‌های جالبی هم دارن، با هم مرور کنیم.

    • Smurf Attack (حمله اسمورف): توی این روش، مهاجم بسته‌هایی رو به تعداد زیادی کامپیوتر توی یه شبکه میفرسته، اما آدرس فرستنده رو آدرس IP قربانی جا میزنه. همه اون کامپیوترها به اون بسته جواب میدن، اما جوابشون رو برای قربانی میفرستن. اینجوری قربانی با سیلی از جواب‌ها غرق میشه.
    • حملات Low and Slow (کم و آهسته): این حملات خیلی موذیانه هستن. به جای اینکه یهو حجم زیادی ترافیک بفرستن، ترافیک رو با سرعت خیلی کم ارسال میکنن تا توسط سیستم‌های امنیتی شناسایی نشن. حملاتی مثل Slowloris یا RUDY از این دسته‌ان. Slowloris با باز نگه داشتن تعداد زیادی اتصال HTTP و فرستادن ناقص درخواست‌ها، منابع سرور رو اشغال میکنه.
    • حمله Yo-Yo: این حمله مخصوصن سرویس‌های ابری رو هدف میگیره که از قابلیت مقیاس‌پذیری خودکار (Autoscaling) استفاده میکنن. مهاجم به طور متناوب حجم زیادی ترافیک میفرسته (که باعث میشه سرویس منابعش رو افزایش بده) و بعد ترافیک رو قطع میکنه (که باعث میشه منابع کاهش پیدا کنن). این بالا و پایین رفتن مداوم، میتونه سیستم رو مختل کنه و هزینه‌های زیادی به صاحب سرویس تحمیل کنه.
    • حمله دائمی از کار انداختن سرویس (PDoS – Permanent Denial-of-Service): این یکی از خطرناک‌ترین انواع حمله‌اس و بهش Phlashing هم میگن. هدفش اینه که به سیستم اونقدر آسیب بزنه که نیاز به تعویض یا نصب مجدد سخت‌افزار داشته باشه. مهاجم از آسیب‌پذیری‌های امنیتی دستگاه‌هایی مثل روترها یا پرینترها استفاده میکنه تا فریمور (Firmware) دستگاه رو با یه نسخه خراب یا معیوب جایگزین کنه. این کار دستگاه رو «آجر» یا Brick میکنه و کاملن غیرقابل استفاده میشه.
    • حملات چندوجهی (Multi-vector Attacks): مهاجم‌ها معمولن خیلی باهوش‌تر از این حرف‌ها هستن که فقط از یه روش استفاده کنن. توی یه حمله چندوجهی، از چندین مسیر و روش مختلف به طور همزمان برای حمله استفاده میشه. مثلن ممکنه یه حمله DNS Amplification (لایه ۳/۴) رو با یه حمله HTTP Flood (لایه ۷) ترکیب کنن. این کار تلاش‌های تیم امنیتی برای مقابله با حمله رو خیلی سخت‌تر میکنه، چون باید همزمان با چند جبهه بجنگن.
    • حمله پایدار و پیشرفته (APDoS – Advanced Persistent DoS): این نوع حمله با تهدیدهای پایدار و پیشرفته (APT) مرتبطه و خیلی پیچیده‌اس. این حملات میتونن هفته‌ها طول بکشن (طولانی‌ترین مورد ثبت شده ۳۸ روز بوده!). مهاجم‌ها در این سناریو به منابع محاسباتی و پهنای باند عظیمی دسترسی دارن و به طور تاکتیکی بین اهداف مختلف جابجا میشن تا تیم دفاعی رو گیج کنن، اما در نهایت تمرکزشون روی یه قربانی اصلیه.

    چرا کسی باید حمله DDoS انجام بده؟ انگیزه‌ها

    انگیزه‌های پشت این حملات خیلی متفاوته و میتونه از سرگرمی‌های بچه‌گانه تا جنگ‌های سایبری دولتی رو شامل بشه.

    • هکتیویسم (Hacktivism): بعضی افراد یا گروه‌ها برای بیان اعتراضشون به یه شرکت، سازمان یا دولت، به سرورهاشون حمله میکنن. هدفشون اینه که پیامی رو منتقل کنن یا توجه‌ها رو به یه موضوع خاص جلب کنن.
    • اخاذی و باج‌گیری (Extortion): این یکی از رایج‌ترین انگیزه‌هاست. مهاجم‌ها یه حمله کوچیک انجام میدن و بعد به شرکت قربانی پیام میدن که اگه مبلغی (معمولن به صورت ارز دیجیتال) پرداخت نکنن، با یه حمله خیلی بزرگتر برمیگردن. به این نوع حمله Ransom DDoS (RDoS) هم میگن.
    • رقابت تجاری: بعضی وقت‌ها یه شرکت برای اینکه رقیبش رو از میدون به در کنه، به سرویس‌های آنلاینش حمله میکنه تا در زمان‌های حساس مثل جمعه سیاه، مشتری‌ها نتونن ازش خرید کنن و به سراغ شرکت مهاجم برن.
    • انتقام شخصی: یه کارمند ناراضی یا یه مشتری عصبانی ممکنه برای انتقام گرفتن از یه شرکت، یه حمله DDoS ترتیب بده.
    • جنگ سایبری (Cyber Warfare): دولت‌ها ممکنه از حملات DDoS برای مختل کردن زیرساخت‌های حیاتی یه کشور دیگه (مثل بانک‌ها، سازمان‌های دولتی و…) استفاده کنن. این اتفاق به خصوص در زمان تنش‌های سیاسی، مثل جنگ روسیه و اوکراین، به شدت افزایش پیدا کرد.
    • سرگرمی و خرابکاری: بعضی مهاجم‌ها، به خصوص افراد کم‌سن‌وسال‌تر، صرفن برای تفریح، خودنمایی یا دیدن اینکه میتونن یه سیستم رو از کار بندازن، این کار رو میکنن.
    • پوششی برای حملات دیگه: گاهی اوقات یه حمله DDoS فقط یه ابزار برای پرت کردن حواس تیم امنیتیه. در حالی که همه دارن سعی میکنن جلوی حمله DDoS رو بگیرن، مهاجم اصلی از یه در پشتی وارد میشه و اطلاعات حساس رو میدزده یا بدافزار نصب میکنه.

    تاریخچه و رکوردهای دنیای DDoS: حمله‌هایی که فراموش نمیشن

    حمله‌های DDoS چیز جدیدی نیستن. اولین حمله شناخته‌شده در سال ۱۹۹۶ به Panix، یکی از قدیمی‌ترین ارائه‌دهندگان خدمات اینترنتی، انجام شد و اونها رو برای چند روز از کار انداخت. از اون موقع تا حالا، این حمله‌ها بزرگتر، پیچیده‌تر و پرتعدادتر شدن.

    بیایید چند تا از معروف‌ترین و بزرگترین حمله‌های تاریخ رو با هم مرور کنیم:

    سالهدفحجم/نرخ حملهنکات مهم
    ۲۰۱۳Spamhaus۳۰۰ گیگابیت بر ثانیهیکی از بزرگترین حملات زمان خودش که علیه یک سازمان ضد اسپم انجام شد.
    ۲۰۱۶وبلاگ Krebs و شرکت OVH۶۲۰ گیگابیت و ۱.۱ ترابیت بر ثانیهاولین نمایش قدرت بات‌نت Mirai که از دستگاه‌های IoT آلوده تشکیل شده بود.
    ۲۰۱۶شرکت Dyn (ارائه‌دهنده DNS)۱.۲ ترابیت بر ثانیهبزرگترین حمله بات‌نت Mirai که باعث شد سایت‌های بزرگی مثل توییتر، نتفلیکس و پی‌پال برای ساعاتی از دسترس خارج بشن.
    ۲۰۱۷گوگل۲.۵۴ ترابیت بر ثانیهاین حمله برای مدتی بزرگترین حمله ثبت‌شده در تاریخ بود که گوگل در سال ۲۰۲۰ اون رو فاش کرد.
    ۲۰۱۸GitHub۱.۳۵ ترابیت بر ثانیهیک حمله بزرگ که با استفاده از تکنیک تقویت Memcached انجام شد و نشون داد که دیگه برای حملات بزرگ لزومن به بات‌نت نیازی نیست.
    ۲۰۲۰Amazon Web Services (AWS)۲.۳ ترابیت بر ثانیهیکی از بزرگترین حملات حجمی که با استفاده از تکنیک تقویت CLDAP انجام شد.
    ۲۰۲۱یک مشتری Cloudflare۱۷.۲ میلیون درخواست بر ثانیهاین حمله از نوع لایه اپلیکیشن بود و توسط بات‌نت Mirai انجام شد.
    ۲۰۲۳چندین شرکت بزرگ۷۱ میلیون و ۳۹۸ میلیون درخواست بر ثانیهاین حملات با استفاده از یک آسیب‌پذیری جدید در پروتکل HTTP/2 به نام Rapid Reset انجام شد و رکوردهای حملات لایه اپلیکیشن رو شکست.
    ۲۰۲۴سرورهای غیررسمی Minecraft۳.۱۵ میلیارد بسته بر ثانیهیک حمله حجمی رکوردشکن از نظر تعداد بسته‌ها در ثانیه.

    این آمارها نشون میدن که مقیاس حملات DDoS به طور مداوم در حال افزایشه و مهاجم‌ها همیشه دنبال راه‌های جدیدی برای دور زدن سیستم‌های دفاعی هستن.

    چطوری با DDoS مقابله کنیم؟ استراتژی‌های دفاعی

    مهم‌ترین چالش در مقابله با یه حمله DDoS، جدا کردن ترافیک حمله از ترافیک کاربرهای واقعی هست. اگه یه فروشگاه آنلاین به خاطر عرضه یه محصول جدید کلی مشتری واقعی داشته باشه، قطع کردن کل ترافیک یه اشتباه بزرگه. اما اگه همون فروشگاه با ترافیک زیادی از طرف مهاجم‌های شناخته‌شده روبرو بشه، باید سریع اقدام کنه.

    روش‌های مختلفی برای مقابله با این حملات وجود داره:

    1. Blackhole Routing (مسیریابی به سمت سیاه‌چاله): این ساده‌ترین راهه. وقتی حمله‌ای شناسایی میشه، ارائه‌دهنده سرویس اینترنت (ISP) میتونه کل ترافیک اون آدرس IP رو به یه مسیر پوچ یا «سیاه‌چاله» هدایت کنه. این کار باعث میشه هم ترافیک مخرب و هم ترافیک قانونی دور ریخته بشن. در واقع این روش به مهاجم چیزی رو میده که میخواسته: غیرقابل دسترس کردن سرویس. پس یه راه‌حل ایده‌آل نیست.
    2. Rate Limiting (محدود کردن نرخ درخواست‌ها): این روش تعداد درخواست‌هایی که یه سرور در یه بازه زمانی مشخص قبول میکنه رو محدود میکنه. این کار برای کند کردن ربات‌های وب‌اسکرپر یا حملات brute-force خوبه، اما به تنهایی برای مقابله با یه حمله DDoS پیچیده کافی نیست. با این حال، یه جزء مفید در یه استراتژی دفاعی کامله.
    3. Web Application Firewall (WAF – فایروال اپلیکیشن وب): یه WAF بین اینترنت و سرور اصلی قرار میگیره و مثل یه پروکسی معکوس عمل میکنه. WAF میتونه با فیلتر کردن درخواست‌ها بر اساس یه سری قوانین، جلوی حملات لایه ۷ رو بگیره. یکی از مزیت‌های کلیدی WAF اینه که میشه به سرعت قوانین جدیدی رو در پاسخ به یه حمله در حال وقوع، روی اون پیاده کرد.
    4. Anycast Network Diffusion (پخش کردن ترافیک در شبکه Anycast): این یکی از موثرترین روش‌ها برای مقابله با حملات حجمی بزرگه. توی این روش، ترافیک حمله به جای اینکه به یه نقطه برسه، در سراسر یه شبکه بزرگ از سرورهای توزیع‌شده پخش میشه.

    مثل این میمونه که یه رودخونه خروشان رو به چندین کانال کوچیک‌تر تقسیم کنیم. این کار باعث میشه فشار آب پخش بشه و دیگه قدرت تخریب نداشته باشه.

    این روش، تاثیر ترافیک حمله رو اونقدر پخش و کم میکنه که قابل مدیریت بشه. شرکت‌های بزرگی مثل Cloudflare از این روش استفاده میکنن. برای مثال، شبکه Cloudflare ظرفیتی معادل ۴۰۵ ترابیت بر ثانیه داره که چندین برابر بزرگترین حمله DDoS ثبت‌شده تا به امروزه.

    1. مراکز پاک‌سازی یا Scrubbing Centers: توی این روش، کل ترافیک به سمت یه مرکز تخصصی هدایت میشه. این مرکز ترافیک بد (DDoS) رو از ترافیک خوب (کاربران واقعی) جدا میکنه و فقط ترافیک تمیز رو به سمت سرور قربانی میفرسته.

    هیچ‌کدوم از این روش‌ها به تنهایی کافی نیستن. بهترین رویکرد، یه دفاع لایه‌لایه (Defense in Depth) هست که ترکیبی از راه‌حل‌های ابری و محلی (On-premise) رو برای شناسایی و مسدود کردن انواع مختلف حملات به کار میگیره.

    چطور از اینکه بخشی از مشکل باشیم، جلوگیری کنیم؟

    یادتونه گفتیم حملات DDoS از دستگاه‌های آلوده مردم عادی استفاده میکنن؟ خب، خیلی مهمه که ما خودمون بخشی از این ارتش زامبی نباشیم. برای این کار باید امنیت دستگاه‌های متصل به اینترنتمون رو جدی بگیریم:

    • نصب و به‌روزرسانی آنتی‌ویروس: این اولین و مهم‌ترین قدمه.
    • استفاده از فایروال: فایروال رو فعال و درست تنظیم کنید تا ترافیک ورودی و خروجی رو کنترل کنه.
    • تغییر رمزهای عبور پیش‌فرض: این نکته به خصوص برای دستگاه‌های IoT مثل روتر، دوربین و… خیلی حیاتیه. اکثر این دستگاه‌ها با رمزهای عبور ساده و پیش‌فرض عرضه میشن که هکرها عاشقشونن.
    • رعایت عادات امنیتی خوب: روی لینک‌های مشکوک کلیک نکنید و نرم‌افزارها رو فقط از منابع معتبر دانلود کنید.

    پرسش و پاسخ: سوالات شما در مورد DDoS

    سوال: فرق بین حمله DoS و DDoS چیه؟
    جواب: خیلی ساده‌اس. توی حمله DoS (Denial of Service)، ترافیک مخرب فقط از یک منبع یا یه کامپیوتر میاد. این نوع حمله ساده‌تره و راحت‌تر هم میشه جلوش رو گرفت (کافیه اون یه منبع رو مسدود کنی). اما توی حمله DDoS (Distributed Denial of Service)، ترافیک از صدها، هزاران یا حتی میلیون‌ها منبع مختلف (بات‌نت) میاد. این توزیع‌شده بودن، شناسایی و مسدود کردن حمله رو خیلی خیلی سخت‌تر میکنه.

    سوال: آیا یه فایروال معمولی میتونه جلوی حمله DDoS رو بگیره؟
    جواب: به تنهایی، نه. یه فایروال مثل یه نگهبان دم در عمل میکنه و میتونه جلوی بعضی ویروس‌ها و ترافیک‌های مخرب مشخص رو بگیره. اما فایروال‌ها برای مقابله با حجم عظیم ترافیک حملات DDoS طراحی نشدن و خودشون هم میتونن تحت فشار از کار بیفتن. برای مقابله با DDoS به راه‌حل‌های تخصصی‌تری مثل WAF، مراکز پاک‌سازی و شبکه‌های Anycast نیاز داریم.

    سوال: یه حمله DDoS چقدر طول میکشه؟
    جواب: هیچ قانون مشخصی وجود نداره. یه حمله میتونه از چند ساعت تا چند روز یا حتی چند هفته طول بکشه. بعضی حملات به صورت انفجارهای کوتاه و متناوب هستن و بعضی دیگه به صورت پایدار و طولانی‌مدت ادامه پیدا میکنن.

    سوال: چرا شرکت‌های بزرگی مثل بلیزارد یا گوگل نمیتونن «فقط درستش کنن»؟
    جواب: این یه تصور اشتباه رایجه. حمله DDoS مثل یه باگ یا یه حفره امنیتی نیست که بشه با یه پچ نرم‌افزاری «درستش کرد». این یه مشکل زیرساختیه. فکر کنین یه نفر تصمیم بگیره کل خیابون‌های منتهی به دفتر شرکت شما رو با کامیون مسدود کنه. شما نمیتونید با یه «دکمه» اون کامیون‌ها رو غیب کنید. باید با پلیس و شهرداری هماهنگ کنید تا مسیرها رو باز کنن. مقابله با DDoS هم همینطوره. نیاز به زیرساخت‌های عظیم، قراردادهای گران‌قیمت با شرکت‌های امنیتی و نظارت ۲۴ ساعته داره. این یه جنگ دائمیه، نه یه مشکل که یه بار برای همیشه حل بشه.

    سوال: آیا انجام حمله DDoS غیرقانونیه؟
    جواب: بله، قطعن. در اکثر کشورهای دنیا، از جمله آمریکا و کشورهای اروپایی، انجام حملات DDoS یه جرم فدرال محسوب میشه و مجازات‌های سنگینی مثل زندان و جریمه‌های نقدی بالا داره. حتی استفاده از سرویس‌های «استرس‌تستر» یا «بوتر» برای حمله به دیگران هم غیرقانونیه.

    سوال: آیا DDoS میتونه به عنوان یه شکل از اعتراض قانونی شناخته بشه؟
    جواب: این یه بحث پیچیده‌اس. بعضی‌ها معتقدن که DDoS میتونه یه شکل از نافرمانی مدنی دیجیتال باشه، شبیه تحصن یا تظاهرات. در سال ۲۰۱۳، گروه انانیموس حتی یه دادخواست به کاخ سفید ارائه داد تا DDoS به عنوان یه شکل قانونی از اعتراض شناخته بشه. اما از نظر قانونی، چون این کار به اموال و سرویس‌های دیگران آسیب میزنه و دسترسی کاربرهای قانونی رو مختل میکنه، تقریبن در همه جای دنیا به عنوان یه فعالیت مجرمانه در نظر گرفته میشه.

    منابع

    • [2] What Is a DDoS Attack? | Microsoft Security
    • [4] What Is a DDoS Attack? How It Works, Trends, Types & Mitigation | Radware
    • [6] What Is a DDoS Attack? | Akamai
    • [8] What is a DDoS attack and why can’t Blizzard just “fix it”? : r/wowhardcore
    • [10] Five Most Famous DDoS Attacks and Then Some | A10 Networks
    • [1] What is a distributed denial-of-service (DDoS) attack? | Cloudflare
    • [3] Denial-of-service attack – Wikipedia
    • [5] What is a DDoS Attack? DDoS Meaning, Definition & Types | Fortinet
    • [7] Understanding Denial-of-Service Attacks | CISA
    • [9] What is DDoS Attack? – Types of DDoS Attacks – Check Point Software
  • DNS چیست؟ راهنمای کامل سیستم نام دامنه در اینترنت

    میخوایم در مورد DNS حرف بزنیم. فکر کن اینترنت یه شهر خیلی بزرگه و تو میخوای بری خونه دوستت. آدرس خونه دوستت رو بلدی، مثلا «خیابون آزادی، کوچه شماره ۵، پلاک ۱۰». این میشه اسم دامنه، مثل www.example.com. ولی پستچی برای رسوندن نامه به این آدرس نوشتاری یه چیزی کم داره، اون به یه کد پستی دقیق احتیاج داره، یه سری عدد مثل 192.168.1.1. این عددها همون آدرس‌های IP هستن.

    حالا DNS دقیقا کار همون اداره پستی رو میکنه که آدرس‌های نوشتاری رو به کد پستی‌های عددی تبدیل میکنه. DNS مخفف Domain Name System یا سیستم نام دامنه است. به زبان ساده، دفترچه تلفن کل اینترنته. ما آدم‌ها با اسم‌ها راحت‌تریم، مثل nytimes.com یا espn.com، ولی کامپیوترها و مرورگرها با عددها، یعنی آدرس‌های IP، کار میکنن. DNS میاد این وسط و اسم‌ها رو به عددها ترجمه میکنه تا مرورگر بتونه بفهمه باید به کجا وصل بشه و صفحه مورد نظر ما رو بیاره بالا.

    هر دستگاهی که به اینترنت وصل میشه، از گوشی هوشمندت گرفته تا لپ‌تاپ و سرورهای غول‌پیکر سایت‌های فروشگاهی، یه آدرس IP منحصر به فرد داره. این آدرس برای پیدا کردن اون دستگاه تو شبکه جهانی لازمه. بدون DNS، ما مجبور بودیم یه عالمه عدد مثل 192.168.1.1 (که مربوط به پروتکل IPv4 هست) یا حتی رشته‌های پیچیده‌تر جدید مثل 2400:cb00:2048:1::c629:d7a2 (مربوط به IPv6) رو حفظ کنیم. واقعا کار سختی میشد، نه؟ پس DNS این زحمت رو از دوش ما برداشته.

    وقتی تو آدرس یه سایت رو توی مرورگرت تایپ میکنی، یه فرایندی به اسم «تفکیک DNS» یا DNS resolution اتفاق میفته. این فرایند، اسم میزبان (hostname) مثل www.example.com رو به یه آدرس IP قابل فهم برای کامپیوتر، مثل 192.168.1.1، تبدیل میکنه. کل این ماجرا پشت صحنه اتفاق میفته و تو به عنوان کاربر، به جز وارد کردن آدرس سایت، کار دیگه‌ای انجام نمیدی.

    سفر یک درخواست DNS: از کامپیوتر تو تا قلب اینترنت

    برای اینکه بفهمیم این ترجمه چطوری انجام میشه، باید با بازیگرای اصلی این صحنه آشنا بشیم. چند نوع سرور مختلف دست به دست هم میدن تا این کار انجام بشه. بیا با هم سفر یه درخواست DNS رو مرحله به مرحله دنبال کنیم. فرض میکنیم که هیچ اطلاعاتی از قبل روی کامپیوتر یا توی شبکه ذخیره نشده (کش نشده) تا تمام مراحل رو ببینیم. معمولا این فرایند ۸ مرحله داره:

    1. شروع ماجرا از مرورگر تو: تو آدرس example.com رو توی مرورگرت میزنی و اینتر رو فشار میدی. این درخواست اول از همه به سمت یه سرور خاص به اسم DNS Recursive Resolver میره. این ریزالور معمولا توسط شرکت خدمات اینترنتی تو (ISP) فراهم میشه.
    2. صحبت ریزالور با سرور ریشه (Root Server): ریزالور مثل یه کارآگاه عمل میکنه. اول از همه میره سراغ سرور ریشه یا Root Nameserver. این سرورهای ریشه، پدر بزرگ‌های کل سیستم DNS هستن و بالای هرم قرار دارن. سرور ریشه آدرس کامل example.com رو نمیدونه، ولی میتونه کارآگاه ما رو راهنمایی کنه. بهش میگه: «من نمیدونم example.com کجاست، ولی میدونم سرورهایی که دامنه‌های .com رو مدیریت میکنن کجان. برو از اونا بپرس». و آدرس سرور TLD مربوط به .com رو بهش میده.
    3. مراجعه به سرور دامنه سطح بالا (TLD Server): حالا ریزالور میره سراغ سرور دامنه سطح بالا یا Top-Level Domain (TLD) Nameserver. این سرورها مسئول دامنه‌هایی مثل .com، .org، .net و غیره هستن. ریزالور از سرور .com میپرسه: «آدرس example.com رو داری؟» سرور TLD هم جواب میده: «نه دقیقا، ولی میدونم کدوم سرور مسئول اصلی دامنه‌های example.com هست. این آدرسش، برو از خودش بپرس». این سرور مسئول، همون سرور نام معتبر یا Authoritative Nameserver هست.
    4. رسیدن به منبع اصلی؛ سرور نام معتبر (Authoritative Nameserver): بالاخره ریزالور به آخرین ایستگاه میرسه. سرور نام معتبر، سروریه که تمام اطلاعات و رکوردهای مربوط به دامنه example.com رو توی خودش ذخیره کرده. این سرور دیگه کسی رو پاس نمیده و جواب نهایی رو داره. ریزالور ازش آدرس IP دامنه example.com رو میپرسه و این سرور، آدرس IP دقیق، مثلا 93.184.216.34، رو به ریزالور میده.
    5. بازگشت پاسخ به ریزالور: حالا که ریزالور جواب رو پیدا کرده، یعنی آدرس IP رو به دست آورده، اون رو به کامپیوتر تو برمیگردونه.
    6. تحویل آدرس IP به مرورگر: کامپیوتر تو (به طور دقیق‌تر، سیستم عاملت) این آدرس IP رو از ریزالور میگیره و به مرورگری که درخواست رو شروع کرده بود، تحویل میده.
    7. ارسال درخواست HTTP به سرور سایت: حالا مرورگر دیگه اسم دامنه رو بیخیال شده و آدرس IP رو داره. یه درخواست HTTP مستقیم به اون آدرس IP میفرسته و میگه: «سلام، لطفا محتوای صفحه example.com رو برای من بفرست».
    8. دریافت محتوای سایت: سروری که سایت example.com روی اون قرار داره (و حالا ما با آدرس IP بهش وصلیم)، محتوای صفحه وب رو برای مرورگر تو میفرسته و تو میتونی سایت رو ببینی.

    این هشت مرحله در کسری از ثانیه اتفاق میفته. البته اگه اطلاعات کش شده باشن، خیلی از این مراحل حذف میشن و سرعت کار بالاتر میره که در ادامه در موردش حرف میزنیم.

    بازیگران اصلی صحنه DNS چه کسانی هستن؟

    توی سفر بالا با چند تا اسم آشنا شدیم. بیا یه بار دیگه دقیق‌تر ببینیم هر کدوم چیکار میکنن. چهار نوع سرور اصلی توی این فرایند دخیل هستن:

    • DNS Recursive Resolver (تفکیک کننده بازگشتی): این اولین ایستگاه درخواست توئه. کارش اینه که درخواست رو از کلاینت (کامپیوتر تو) بگیره و مثل یه کارآگاه سمج، اینقدر بگرده تا جواب نهایی (آدرس IP) رو پیدا کنه. این سرور خودش جواب رو نمیدونه، ولی بلده از کی بپرسه. معمولا ISP تو این سرور رو در اختیارت میذاره.
    • Root Nameserver (سرور نام ریشه): این سرورها در راس هرم DNS قرار دارن. کارشون اینه که درخواست‌ها رو به سمت سرور TLD درست هدایت کنن. در کل دنیا ۱۳ گروه سرور ریشه وجود داره که برای پایداری اینترنت حیاتی هستن.
    • TLD Nameserver (سرور نام دامنه سطح بالا): این سرورها مسئول یه بخش خاص از دامنه‌ها هستن. مثلا یه سرور TLD برای همه دامنه‌های .com وجود داره، یکی برای همه دامنه‌های .org و همینطور الی آخر. کار این سرورها اینه که درخواست رو به سمت سرور نام معتبر (Authoritative) دامنه مورد نظر هدایت کنن.
    • Authoritative Nameserver (سرور نام معتبر): این آخرین حلقه زنجیره است. این سرور اطلاعات کامل و نهایی رکوردهای DNS یه دامنه خاص رو داره. وقتی درخواست به اینجا میرسه، جواب قطعی پیدا میشه. این سرور دیگه نیاز نداره از کس دیگه‌ای سوال بپرسه و خودش «منبع حقیقت» برای اون دامنه است.

    یه نکته مهم: گاهی اوقات ما دنبال آدرس یه زیر دامنه هستیم، مثلا blog.cloudflare.com. در این حالت، یه سرور نام دیگه هم به این زنجیره اضافه میشه که بعد از سرور نام معتبر اصلی قرار میگیره و مسئول ذخیره رکوردهای اون زیر دامنه خاص (مثلا رکورد CNAME) هست.

    تفاوت بین سرویس‌های DNS

    شاید اسم‌هایی مثل Google DNS یا OpenDNS به گوشت خورده باشه. این‌ها سرویس‌های DNS Recursive Resolver عمومی هستن. یعنی شرکت‌هایی مثل گوگل یا سیسکو (صاحب OpenDNS) یه سری سرور ریزالور قدرتمند و سریع در سراسر دنیا راه انداختن که هر کسی میتونه ازشون استفاده کنه. مثلا آدرس DNS گوگل 8.8.8.8 هست. تو میتونی تنظیمات شبکه کامپیوترت رو طوری تغییر بدی که به جای استفاده از ریزالور ISP، از این سرویس‌ها استفاده کنی.

    اما این سرویس‌ها با کاری که شرکتی مثل Cloudflare انجام میده، یه فرق اساسی دارن. کلادفلر علاوه بر ارائه ریزالور عمومی، خودش میزبان بخشی از زیرساخت‌های اصلی اینترنت هم هست. مثلا کلادفلر در میزبانی شبکه F-root که یکی از همون سرورهای ریشه اصلی اینترنه، نقش داره. این سرورهای ریشه روزانه میلیاردها درخواست اینترنتی رو مدیریت میکنن.

    انواع درخواست‌ها (Query) در دنیای DNS

    توی فرایند پیدا کردن آدرس IP، سه نوع درخواست مختلف ممکنه رد و بدل بشه:

    1. Recursive Query (درخواست بازگشتی): این همون درخواستیه که کامپیوتر تو به ریزالور میفرسته. معنیش اینه: «لطفا این آدرس رو برام پیدا کن و جواب کامل رو بهم بده. یا بگو همچین آدرسی وجود نداره. خودت همه کارها رو بکن و من منتظر جواب نهایی میمونم».
    2. Iterative Query (درخواست تکراری): این نوع درخواست بین سرورهای DNS رد و بدل میشه. مثلا وقتی ریزالور از سرور ریشه سوال میپرسه، یه درخواست تکراری میفرسته. سرور ریشه با بهترین جوابی که داره (آدرس سرور TLD) پاسخ میده و میگه: «من جواب کامل رو ندارم، ولی برو از این یکی بپرس». ریزالور این فرایند رو اینقدر تکرار میکنه تا به جواب برسه.
    3. Non-Recursive Query (درخواست غیر بازگشتی): این درخواست زمانی اتفاق میفته که سرور DNS جواب رو از قبل توی حافظه خودش (کش) داشته باشه. در این حالت دیگه نیازی به پرس و جو از بقیه سرورها نیست و مستقیم جواب رو میده.

    کش کردن (Caching): راز سرعت بالای DNS

    همونطور که گفتیم، اگه قرار بود برای هر بار باز کردن یه سایت، تمام اون ۸ مرحله طی بشه، سرعت اینترنت خیلی پایین میومد. اینجا مفهومی به اسم کش کردن وارد بازی میشه. کش کردن یعنی ذخیره موقت داده‌ها در یه جای نزدیک‌تر به کاربر تا دفعه بعدی که به اون داده‌ها نیاز بود، سریع‌تر بهشون دسترسی پیدا کنیم. اطلاعات DNS در چند جا میتونن کش بشن:

    • کش مرورگر (Browser Caching): مرورگرهای مدرن، خودشون یه حافظه پنهان برای رکوردهای DNS دارن. وقتی یه آدرس رو وارد میکنی، مرورگر اول کش خودش رو نگاه میکنه. اگه آدرس IP اونجا بود، دیگه هیچ درخواستی به بیرون نمیفرسته و مستقیم به همون IP وصل میشه. این سریع‌ترین حالت ممکنه. مثلا در مرورگر کروم میتونی با رفتن به آدرس chrome://net-internals/#dns وضعیت کش DNS مرورگرت رو ببینی.
    • کش سیستم عامل (Operating System Caching): اگه جواب توی کش مرورگر نبود، درخواست به سیستم عامل (مثلا ویندوز یا مک) میرسه. سیستم عامل هم برای خودش یه کش DNS داره که بهش میگن Stub Resolver یا DNS Client. اونجا رو هم چک میکنه. اگه جواب بود، به مرورگر برمیگردونه.
    • کش ریزالور (Recursive Resolver Caching): اگه توی کامپیوتر تو هم جوابی پیدا نشد، درخواست به سرور Recursive Resolver (همونی که معمولا مال ISP هست) فرستاده میشه. این سرور هم یه کش خیلی بزرگ و قدرتمند داره. وقتی یه بار آدرس example.com رو پیدا میکنه، اون رو توی کش خودش ذخیره میکنه. دفعه بعدی که تو یا هر کس دیگه‌ای که از همون ISP سرویس میگیره، این آدرس رو درخواست کنه، ریزالور جواب رو از کش خودش میده و دیگه نیازی به پرس و جو از سرورهای ریشه و TLD نیست.

    مدت زمان اعتبار کش چقدره؟

    هر رکورد DNS یه مقداری به اسم TTL یا Time-to-Live داره. این مقدار که به ثانیه است، مشخص میکنه که اطلاعات اون رکورد تا چه مدت میتونه توی کش بمونه. مثلا اگه TTL یه رکورد ۳۶۰۰ ثانیه باشه، یعنی بعد از یک ساعت، کش منقضی میشه و دفعه بعدی که اون آدرس درخواست بشه، سرورها باید دوباره کل فرایند پرس و جو رو از اول انجام بدن تا اطلاعات به‌روز رو بگیرن. این TTL توسط مدیر اون دامنه تنظیم میشه.

    نگاهی عمیق‌تر به تاریخچه و ساختار DNS

    ایده استفاده از یه اسم ساده به جای آدرس عددی، به دوران آرپانت (ARPANET)، یعنی جد بزرگ اینترنت امروزی، برمیگرده. اون موقع موسسه تحقیقاتی استنفورد (SRI) یه فایل متنی به اسم HOSTS.TXT داشت که اسم‌ها رو به آدرس‌های عددی کامپیوترهای شبکه نگاشت میکرد. این کار به صورت دستی انجام میشد. یعنی هر وقت یه کامپیوتر جدید به شبکه اضافه میشد، باید با مرکز اطلاعات شبکه (NIC) که توسط الیزابت فینلر مدیریت میشد، تماس میگرفتن تا اسم و آدرسش رو به صورت دستی به این فایل اضافه کنن.

    با بزرگ شدن شبکه در اوایل دهه ۱۹۸۰، مدیریت این فایل متمرکز خیلی کند و سخت شد. اینجا بود که نیاز به یه سیستم خودکار احساس شد. پل موکاپتریس (Paul Mockapetris) در سال ۱۹۸۳ در دانشگاه کالیفرниای جنوبی، سیستم نام دامنه یا DNS رو ابداع کرد. مشخصات اولیه این سیستم در نوامبر ۱۹۸۳ در مستندهایی به اسم RFC 882 و RFC 883 منتشر شد و بعدا در نوامبر ۱۹۸۷ با RFC 1034 و RFC 1035 جایگزین و تکمیل شد. این سیستم از همون ابتدا یعنی سال ۱۹۸۵، یکی از اجزای حیاتی اینترنت بوده.

    اولین پیاده‌سازی سرور نام روی سیستم عامل یونیکس هم توسط چهار تا دانشجو از دانشگاه برکلی در سال ۱۹۸۴ نوشته شد که به BIND (Berkeley Internet Name Domain) معروف شد. BIND هنوز هم یکی از پراستفاده‌ترین نرم‌افزارهای سرور DNS در دنیاست.

    ساختار درختی و سلسله مراتبی DNS

    فضای نام دامنه یه ساختار درختی داره. هر گره یا برگ توی این درخت یه «برچسب» (Label) و صفر یا چند «رکورد منبع» (Resource Record) داره. اسم کامل دامنه از به هم چسبیدن این برچسب‌ها با نقطه به دست میاد.

    • ریشه (Root): بالای این درخت یه ریشه نامرئی وجود داره که با یه نقطه خالی «.» نشون داده میشه.
    • دامنه‌های سطح بالا (TLDs): اولین سطح زیر ریشه، TLD ها هستن مثل com، org، ir و… .
    • دامنه‌های سطح دوم: این‌ها دامنه‌هایی هستن که ما ثبت میکنیم، مثل example در example.com.
    • زیردامنه‌ها (Subdomains): هر چیزی که سمت چپ دامنه سطح دوم بیاد، زیردامنه حساب میشه. مثلا www در www.example.com یه زیردامنه از example.com هست. این ساختار درختی میتونه تا ۱۲۷ سطح عمق داشته باشه.

    قوانین نامگذاری دامنه‌ها:

    • هر برچسب (قسمت بین دو نقطه) میتونه بین ۰ تا ۶۳ کاراکتر داشته باشه.
    • اسم کامل دامنه نباید از ۲۵۳ کاراکتر بیشتر بشه.
    • کاراکترهای مجاز در اسم دامنه‌ها زیرمجموعه‌ای از کاراکترهای ASCII هستن: حروف a تا z (کوچک و بزرگ)، اعداد ۰ تا ۹ و خط تیره (-). به این قانون LDH (Letters, Digits, Hyphen) هم میگن.
    • اسم دامنه‌ها به حروف کوچک و بزرگ حساس نیستن (case-insensitive).
    • برچسب‌ها نمیتونن با خط تیره شروع یا تموم بشن.
    • برای پشتیبانی از زبان‌های دیگه مثل فارسی، سیستمی به اسم IDNA (Internationalizing Domain Names in Applications) به وجود اومد که رشته‌های یونیکد رو با استفاده از الگوریتمی به اسم Punycode به کاراکترهای مجاز DNS تبدیل میکنه.

    انواع رکوردهای DNS

    پایگاه داده DNS انواع مختلفی از رکوردها رو ذخیره میکنه که هر کدوم کاربرد خاص خودشون رو دارن. مهم‌ترین‌هاشون این‌ها هستن:

    نوع رکوردنام کاملکاربرد
    AAddress Recordیه اسم دامنه رو به یه آدرس IPv4 وصل میکنه.
    AAAAIPv6 Address Recordیه اسم دامنه رو به یه آدرس IPv6 وصل میکنه.
    CNAMECanonical Name Recordیه اسم دامنه رو به یه اسم دامنه دیگه ارجاع میده (مثل یه اسم مستعار).
    MXMail Exchange Recordمشخص میکنه کدوم سرور ایمیل مسئول دریافت ایمیل‌های یه دامنه است.
    NSName Server Recordسرورهای نام معتبر (Authoritative) یه دامنه رو مشخص میکنه.
    TXTText Recordاجازه میده یه متن دلخواه رو به دامنه مرتبط کنی. برای کارهای تاییدی و امنیتی زیاد استفاده میشه.
    SOAStart of Authority Recordاطلاعات مهم مدیریتی در مورد یه ناحیه (Zone) DNS رو نگهداری میکنه.
    SRVService Recordاطلاعات مربوط به یه سرویس خاص (مثل پروتکل‌های چت) رو در یه دامنه مشخص میکنه.
    PTRPointer Recordبرعکس رکورد A کار میکنه. یه آدرس IP رو به یه اسم دامنه وصل میکنه. برای Reverse DNS Lookup استفاده میشه.
    CAACertification Authority Authorizationمشخص میکنه کدوم مرکز صدور گواهی (CA) مجازه برای یه دامنه گواهی SSL صادر کنه.

    وقتی توی یه فایل تنظیمات DNS (که بهش Zone File میگن) علامتی مثل @ میبینی، معمولا به معنی خود دامنه اصلی (Origin) هست. مثلا اگه فایل برای mydomain.com باشه، @ همون mydomain.com رو نمایندگی میکنه.

    DNS Propagation یا انتشار DNS چیست؟

    این اصطلاحیه که وقتی تغییراتی توی رکوردهای DNS دامنه خودت میدی، زیاد میشنوی. DNS Propagation به زمانی گفته میشه که طول میکشه تا تغییرات جدیدی که اعمال کردی، در تمام سرورهای DNS در سراسر جهان منتشر و به‌روز بشه.

    در واقع از نظر فنی، DNS «منتشر» نمیشه. چیزی که اتفاق میفته اینه که سرورهای DNS در سراسر دنیا، اطلاعات قدیمی رو تا زمانی که TTL اون‌ها تموم نشده، توی کش خودشون نگه میدارن. پس وقتی تو یه تغییری میدی، باید صبر کنی تا کش سرورهای مختلف در سراسر دنیا منقضی بشه و اطلاعات جدید رو از سرور معتبر تو دریافت کنن. این فرایند میتونه از چند دقیقه تا ۴۸ یا حتی ۷۲ ساعت طول بکشه.

    چرا انتشار DNS اینقدر طول میکشه؟

    • تنظیمات TTL: اگه TTL رکوردهات رو بالا تنظیم کرده باشی (مثلا ۲۴ ساعت)، سرورها تا ۲۴ ساعت اطلاعات قدیمی رو نگه میدارن و تغییراتت دیرتر دیده میشه. یه راه برای سریع‌تر کردن این فرایند اینه که چند روز قبل از اعمال تغییرات مهم، TTL رو به یه مقدار خیلی کم (مثلا ۵ دقیقه) کاهش بدی.
    • کش کردن ISP ها: شرکت‌های اینترنتی (ISP) هم برای افزایش سرعت، نتایج DNS رو به شدت کش میکنن. گاهی اوقات بعضی از ISP ها حتی به TTL تعیین شده توسط تو هم احترام نمیذارن و اطلاعات رو بیشتر از زمان مشخص شده نگه میدارن.
    • ثبت‌کننده دامنه (Registrar): اگه بخوای سرورهای نام (NS) دامنه خودت رو عوض کنی (مثلا وقتی هاستت رو عوض میکنی)، این تغییر باید در سطح سرور TLD (مثلا سرور .com) هم اعمال بشه که این خودش میتونه باعث تاخیر بشه.

    برای چک کردن وضعیت انتشار DNS دامنه خودت، میتونی از ابزارهای آنلاینی مثل whatsmydns.net استفاده کنی. این سایت‌ها از سرورهای مختلفی در سراسر دنیا به دامنه تو درخواست میفرستن و نشون میدن که هر منطقه جغرافیایی، کدوم آدرس IP رو برای دامنه تو میبینه.

    امنیت و حریم خصوصی در DNS

    سیستم DNS در ابتدا بدون در نظر گرفتن مسائل امنیتی طراحی شده بود. چون اینترنت اولیه یه شبکه کوچیک و قابل اعتماد بود. اما با عمومی شدن اینترنت، مشکلات امنیتی هم خودشون رو نشون دادن.

    حملات رایج در DNS

    • DNS Cache Poisoning (مسموم کردن کش DNS): در این حمله، هکر داده‌های جعلی رو به کش یه سرور Recursive Resolver تزریق میکنه. مثلا آدرس IP سایت بانک رو با آدرس IP سرور خودش عوض میکنه. در نتیجه، کاربرانی که از اون ریزالور استفاده میکنن، وقتی آدرس سایت بانک رو وارد میکنن، به یه سایت جعلی هدایت میشن.
    • DNS Hijacking (ربودن DNS): در این حمله، هکر تنظیمات DNS کاربر رو تغییر میده تا درخواست‌های DNS به جای سرورهای معتبر، به سرورهای مخرب تحت کنترل هکر ارسال بشن.
    • DNS Tunneling (تونل‌زنی DNS): این یه تکنیک پیشرفته است که در اون، هکرها از پروتکل DNS برای انتقال داده‌های دیگه (که ربطی به DNS ندارن) استفاده میکنن. چون ترافیک DNS معمولا توسط فایروال‌ها و سیستم‌های امنیتی به عنوان ترافیک مجاز شناخته میشه، هکرها میتونن از این کانال برای فرمان دادن به بدافزارها در یه شبکه داخلی یا خارج کردن اطلاعات حساس (Data Exfiltration) استفاده کنن.


    راهکارهای افزایش امنیت و حریم خصوصی

    برای مقابله با این تهدیدات، راهکارهای مختلفی توسعه داده شده:

    • DNSSEC (Domain Name System Security Extensions): این یه افزونه برای DNS هست که با استفاده از امضای دیجیتال، از صحت و تمامیت داده‌های DNS محافظت میکنه. DNSSEC مطمئن میشه که جوابی که از سرور DNS میگیری، در مسیر دستکاری نشده و واقعا از طرف منبع معتبر ارسال شده.
    • DNS over TLS (DoT): در این روش، ارتباط بین کامپیوتر تو و سرور DNS با استفاده از پروتکل TLS (همون پروتکلی که برای HTTPS استفاده میشه) رمزنگاری میشه. این کار جلوی شنود و دستکاری درخواست‌ها و پاسخ‌های DNS رو میگیره. سرورهای DoT معمولا روی پورت ۸۵۳ کار میکنن.
    • DNS over HTTPS (DoH): این روش هم مثل DoT، ترافیک DNS رو رمزنگاری میکنه، با این تفاوت که درخواست‌های DNS رو در قالب ترافیک HTTPS قرار میده و از پورت ۴۴۳ استفاده میکنه. چون ترافیک HTTPS خیلی رایجه، تشخیص و مسدود کردن ترافیک DoH برای مدیران شبکه سخت‌تره.
    • DNSCrypt: این هم یه پروتکل دیگه برای رمزنگاری ترافیک DNS هست که قبل از DoT و DoH وجود داشت.

    استفاده از این پروتکل‌های رمزنگاری شده، حریم خصوصی تو رو بالا میبره. چون ISP یا هر کسی که در مسیر شبکه تو قرار داره، دیگه نمیتونه ببینه که تو در حال بازدید از چه سایت‌هایی هستی (البته فقط درخواست DNS رو نمیبینن، نه خود ترافیک سایت رو).

    یه نکته جالب: وقتی DNS معنی دیگه‌ای میده!

    حواست باشه که مخفف DNS فقط برای سیستم نام دامنه استفاده نمیشه. در دنیای پزشکی و توانبخشی، DNS مخفف Dynamic Neuromuscular Stabilization یا تثبیت دینامیک عصبی-عضلانی هم هست. این یه رویکرد درمانی و توانبخشیه که بر اساس حرکت‌شناسی تکاملی، یعنی جنبه‌های عصبی و فیزیولوژیکی رشد کودک، بنا شده. هدفش اینه که الگوهای حرکتی بهینه و تکاملی رو در بدن بازسازی کنه تا فشار روی بافت‌ها کم و عملکرد به حداکثر برسه. پس اگه جایی این مخفف رو دیدی، حواست باشه که ممکنه منظورشون اینترنت و دامنه نباشه!

    پرسش و پاسخ‌های متداول

    اینجا به چند تا سوال رایج که ممکنه برات پیش اومده باشه جواب میدیم.

    سوال: DNS دقیقا چیه و چیکار میکنه؟ اگه DNS من روی ISP تنظیم شده باشه، یعنی ISP میتونه ببینه من به چه سایت‌هایی میرم؟

    جواب: همونطور که گفتیم، DNS مثل دفترچه تلفن اینترنته و اسم سایت‌ها رو به آدرس عددی (IP) تبدیل میکنه. بله، وقتی از سرور DNS پیش‌فرض ISP خودت استفاده میکنی، اون‌ها میتونن تمام درخواست‌های DNS تو رو ببینن. این یعنی میدونن که تو تلاش کردی به چه دامنه‌هایی دسترسی پیدا کنی.

    سوال: اگه DNS رو به چیزی غیر از ISP تغییر بدم، آیا ISP دیگه نمیتونه فعالیت‌های من رو ببینه؟

    جواب: اگه DNS خودت رو مثلا به Google DNS (8.8.8.8) یا Cloudflare DNS (1.1.1.1) تغییر بدی، ISP تو دیگه نمیتونه لیست درخواست‌های DNS تو رو ببینه. به جای ISP، حالا اون شرکت ارائه‌دهنده DNS (مثلا گوگل یا کلادفلر) میتونه این درخواست‌ها رو ببینه. البته این کار باعث نمیشه کل فعالیت اینترنتی تو از دید ISP مخفی بشه. اون‌ها هنوز هم میتونن ببینن که تو به کدوم آدرس‌های IP متصل میشی، حتی اگه ندونن اون IP ها مال چه دامنه‌ای هستن (البته فهمیدنش کار سختی نیست). برای رمزنگاری کامل ترافیک، باید از سرویس‌هایی مثل VPN استفاده کنی.

    سوال: بهترین DNS برای حفظ حریم خصوصی و ناشناس بودن کدومه؟

    جواب: این سوال جواب قطعی نداره و به تعریف تو از «بهترین» بستگی داره. سرویس‌هایی وجود دارن که تمرکزشون روی حریم خصوصیه و ادعا میکنن که هیچ لاگی از درخواست‌های تو ذخیره نمیکنن. خیلی از این سرویس‌ها از پروتکل‌های رمزنگاری شده مثل DoH و DoT هم پشتیبانی میکنن. موقع انتخاب، باید به سیاست‌های حفظ حریم خصوصی (Privacy Policy) اون سرویس دقت کنی. سرویس‌هایی مثل کلادفلر (1.1.1.1) و Quad9 (9.9.9.9) به عنوان گزینه‌های متمرکز بر حریم خصوصی شناخته میشن.

    سوال: آیا تغییر دادن DNS خطرناکه؟

    جواب: نه، تغییر دادن DNS به خودی خود هیچ خطر ذاتی نداره. فقط باید مطمئن بشی که از یه ارائه‌دهنده DNS معتبر و قابل اعتماد استفاده میکنی. استفاده از یه سرور DNS نامعتبر میتونه تو رو در معرض حملاتی مثل هدایت شدن به سایت‌های مخرب قرار بده.

    سوال: DNS خصوصی (Private DNS) امنیت بیشتری داره؟

    جواب: بله، DNS خصوصی میتونه امنیت بیشتری نسبت به گزینه‌های دیگه ارائه بده. گزینه‌هایی مثل DNS over TLS یا DNS over HTTPS که در تنظیمات گوشی‌های اندرویدی جدید به اسم «Private DNS» وجود دارن، با رمزنگاری کردن درخواست‌های تو، امنیت و حریم خصوصی رو افزایش میدن.

    سوال: سرویس DNS روی گوشی من (مثلا آیفون) حجم زیادی از اینترنت مصرف کرده، چرا؟

    جواب: مصرف بالای داده توسط DNS Services میتونه دلایل مختلفی داشته باشه. ممکنه یکی از اپلیکیشن‌های روی گوشیت در پس‌زمینه به طور مداوم در حال ارسال تعداد زیادی درخواست DNS باشه. این میتونه نشانه فعالیت یه برنامه مخرب، یه برنامه با تنظیمات اشتباه یا حتی یه باگ باشه. بررسی برنامه‌هایی که اخیرا نصب کردی و کنترل دسترسی اون‌ها به اینترنت در پس‌زمینه میتونه کمک‌کننده باشه.

    سوال: چطوری میتونم DNS کامپیوتر خودم رو پیدا کنم؟

    جواب: روی ویندوز، میتونی Command Prompt رو باز کنی، دستور ipconfig /all رو تایپ کنی و اینتر بزنی. در خروجی، جلوی عبارت DNS Servers میتونی آدرس سرور یا سرورهایی که کامپیوترت ازشون استفاده میکنه رو ببینی.

    منابع

    • [2] DNS Propagation Checker – Global DNS Testing Tool
    • [4] domain name system – What’s the meaning of ‘@’ in a DNS zone file? – Server Fault
    • [6] What is DNS Services and why does it use … – Apple Community
    • [8] What Is DNS Tunneling? [+ Examples & Protection Tips] – Palo Alto Networks
    • [10] What is DNS? – Columbus Chiropractor & Rehabilitation Center
    • [1] What is DNS? | How DNS works | Cloudflare
    • [3] Understanding what is DNS : r/dns
    • [5] What is DNS? – Introduction to DNS – AWS
    • [7] Domain Name System – Wikipedia
    • [9] What Is Domain Name System (DNS)? | Fortinet
  • رابطه CSS و سئو

    قبل از اینکه بخوایم شیرجه بزنیم توی بحث اصلی، باید با سه تا از اصلی‌ترین ابزارهای ساخت وبسایت‌های امروزی آشنا بشیم: HTML، CSS و جاوا اسکریپت. این سه تا مثل اسکلت، پوست و سیستم عصبی یک وبسایت هستن.

    HTML: اسکلت و ساختار سایت

    HTML که مخفف Hypertext Markup Language هست، مثل فونداسیون و اسکلت یه ساختمون عمل میکنه. این زبان، محتوای سایت شما رو ساختاربندی میکنه، فرقی هم نداره این محتوا متن باشه، عکس باشه یا لینک. برای کسی که میخواد کار سئو تکنیکال انجام بده، آشنایی با HTML خیلی مهمه، چون خیلی وقت‌ها باید مستقیم بره سراغ کدها تا مشکلاتی که روی عملکرد سئو تاثیر میذارن رو پیدا و حل کنه.

    HTML از یه سری «تگ» برای ساختاربندی استفاده میکنه. مثلا:

    • <title>: عنوان صفحه وب رو مشخص میکنه.
    • <h1>: تیتر یا عنوان اصلی صفحه رو نشون میده.
    • <p>: یک پاراگراف از متن رو مشخص میکنه.

    یاد گرفتن HTML کمک میکنه تا مطمئن بشیم موتورهای جستجو مثل گوگل، ساختار اصلی سایت ما رو به درستی درک میکنن.

    CSS: لباس و ظاهر سایت

    CSS که مخفف Cascading Style Sheets هست، مسئولیت ظاهر و حس و حال سایت شما رو به عهده داره. اگه HTML ساختار محتوا رو میچینه، CSS میاد و به اون استایل میده. یعنی مشخص میکنه که مثلا تیترها، متن‌ها و عکس‌ها چطور نمایش داده بشن.

    جالبه بدونید که موتورهای جستجو مثل گوگل، کدهای CSS رو هم پردازش میکنن تا تجربه کاربری سایت رو بهتر بفهمن. برای همین خیلی مهمه که از ترفندهایی مثل مخفی کردن محتوا با CSS استفاده نکنیم، چون موتورهای جستجو میتونن این کار رو تشخیص بدن.

    جاوا اسکریپت: هوش و رفتار سایت

    جاوا اسکریپت به سایت شما قابلیت تعامل و پویایی میده. از چک کردن فرم‌ها گرفته تا اجرای انیمیشن‌ها، همه این کارها با جاوا اسکریپت انجام میشه و میتونه سایت‌ها رو خیلی دینامیک کنه. اما از نظر سئو، یه چالش اینجا وجود داره: جاوا اسکریپت برای پردازش شدن به منابع زیادی احتیاج داره و ممکنه همیشه توسط موتورهای جستجو به طور کامل پردازش نشه، مخصوصا اگه از نوع «client-side» باشه (یعنی توسط مرورگر کاربر اجرا بشه).

    چند تا از کاربردهای رایج جاوا اسکریپت اینها هستن:

    • گوگل آنالیتیکس: برای ردیابی بازدیدکننده‌های سایت.
    • فریمورک‌های جاوا اسکریپت مثل React یا Vue: برای قدرت بخشیدن به سایت‌های تعاملی.

    یادتون باشه که هرچند جاوا اسکریپت تجربه کاربری رو بهتر میکنه، اما باید با احتیاط ازش استفاده کرد، چون ممکنه موتورهای جستجو همیشه اون رو به طور کامل پردازش نکنن.

    بخش دوم: CSS چی هست و چرا اینقدر مهمه؟

    حالا که با سه تفنگدار دنیای وب آشنا شدیم، بیاید تمرکزمون رو بذاریم روی CSS.

    CSS یعنی چی؟

    CSS که به فارسی بهش میگن «کاسکدینگ استایل شیتس» یا «شیوه‌نامه آبشاری»، یه زبان برای توصیف استایل یک سند HTML هست. به زبون ساده‌تر، CSS مشخص میکنه که اجزای مختلف HTML روی صفحه وب چطوری نمایش داده بشن. این زبان میتونه کلی در وقت ما صرفه‌جویی کنه، چون میتونه طرح‌بندی چندین صفحه رو به صورت همزمان کنترل کنه. معمولا تعریف‌های استایل در فایل‌های خارجی با پسوند .css ذخیره میشن. اینطوری، با استفاده از یه شیوه‌نامه، میشه ظاهر کل وبسایت رو فقط با تغییر دادن یک فایل، عوض کرد.

    ساختار کدهای CSS چطوریه؟

    کدهای CSS یه ساختار مشخص دارن:

    • انتخابگر (Selector): به اون بخش از HTML اشاره میکنه که میخوایم بهش استایل بدیم.
    • بلوک تعریف (Declaration Block): شامل یک یا چند تعریف هست که همیشه با نقطه ویرگول (semicolon) از هم جدا میشن.
    • تعریف (Declaration): هر تعریف شامل یک نام ویژگی (property) و یک مقدار (value) هست که با دو نقطه (colon) از هم جدا میشن.
    • تعریف‌ها همیشه با نقطه ویرگول تموم میشن و بلوک‌های تعریف هم داخل آکولاد {} قرار میگیرن.

    بذارید یه مثال بزنیم تا بهتر متوجه بشید. فرض کنید میخوایم رنگ متن همه پاراگراف‌ها رو سبز کنیم:

    p {
      color: green;
    }

    توی این مثال:

    • p انتخابگر ماست که به تگ پاراگراف <p> اشاره میکنه.
    • color نام ویژگی هست.
    • green مقدار اون ویژگی هست.

    این قانون ساده باعث میشه تمام پاراگراف‌های سایت شما متن سبز رنگ داشته باشن.

    Tailwind CSS: یه روش جدید برای استایل دادن

    حالا که با خود CSS آشنا شدیم، بیاید در مورد یکی از فریمورک‌های مدرن و محبوبش یعنی Tailwind CSS صحبت کنیم. تیل‌ویند یک فریمورک «utility-first» هست. یعنی به جای اینکه برای هر بخش از سایت یه کلاس CSS جدا بنویسیم، از یه سری کلاس‌های آماده و معنایی استفاده میکنیم که هر کدوم یه کار مشخص انجام میدن، مثلا رنگ پس‌زمینه رو تنظیم میکنن یا ضخامت فونت رو تغییر میدن.

    یکی از مشکلات همیشگی برنامه‌نویس‌ها، نام‌گذاری چیزهاست. تیل‌ویند این مشکل رو حل کرده. اسم‌گذاری کلاس‌هاش خیلی قابل فهمه و به خاطر سپردنشون هم خیلی راحته. این که دیگه نگران اسم‌گذاری نباشیم و بتونیم بدون نوشتن CSS جدید برای هر بخش، استایل‌ها رو اضافه کنیم، سرعت کار رو به شدت بالا میبره.

    مزیت‌های تیل‌ویند:

    • شخصی‌سازی و تنظیمات: تیل‌ویند از اول با این ذهنیت طراحی شده که قابل شخصی‌سازی باشه. به طور پیش‌فرض، یه سری ابزار آماده مثل پالت رنگی، ویژگی‌های فونت و غیره داره. همه این تنظیمات در فایلی به اسم tailwind.config.js قرار دارن که میتونید هر طور که دوست دارید تغییرش بدید.
    • انعطاف‌پذیری بالا: تیل‌ویند شما رو مجبور به کار خاصی نمیکنه. راه‌های زیادی برای پیاده‌سازی ویژگی‌هاش وجود داره. اگه هنوز دوست دارید خودتون CSS بنویسید، میتونید این کار رو انجام بدید. حتی برای بخش‌های پیچیده‌تر، گاهی بهتره که CSS خالص بنویسیم چون مدیریت بعضی چیزها با کنار هم چیدن کلاس‌ها در HTML خیلی سخت میشه.
    • دستور @apply: وقتی در کنار تیل‌ویند، CSS جدید مینویسید، بهتره از دستور @apply استفاده کنید. این دستور به شما اجازه میده کلاس‌های تکراری رو از HTML بردارید و مستقیم توی فایل CSS قرار بدید. این خیلی خوبه چون میتونید از کلاس‌های تیل‌ویند استفاده کنید و بعدا اگه خواستید تغییری بدید، فقط کافیه فایل tailwind.config.js رو آپدیت کنید، به جای اینکه CSS خالص رو دستکاری کنید.

    آیا شلوغ شدن HTML با کلاس‌ها بده؟

    بزرگترین چیزی که باعث میشه توسعه‌دهنده‌ها از تیل‌ویند دوری کنن، اینه که باید کلی کلاس توی فایل HTML بنویسن و این فایل‌ها رو شلوغ میکنه. شاید به نظر بیاد که این کار با اصل DRY (خودت رو تکرار نکن) در تضاده. اما یادتون باشه که این یه فریمورک utility-first هست. ما ممکنه اسم کلاس رو تکرار کنیم، اما اون کلاس فقط یک استایل رو تعریف میکنه. راه‌هایی هم برای تمیز نگه داشتن HTML وجود داره، مثل همون دستور @apply که گفتیم، یا استفاده از کامپوننت‌ها.

    با اینکه شاید ظاهر HTML شلوغ به نظر برسه، ولی مزیت‌هاش به معایبش میچربه. اینکه کلاس‌ها رو مستقیم در HTML کنار هم میچینید، باعث میشه موقع کدنویسی دیگه نیازی نباشه دائم بین فایل‌های مختلف جابجا بشید.

    بخش سوم: پیوند عمیق بین CSS و سئو

    خب، رسیدیم به بخش هیجان‌انگیز ماجرا. CSS چطوری روی سئو تاثیر میذاره؟

    چرا CSS برای سئو مهمه؟

    CSS به ما اجازه میده که ظاهر و استایل سایت رو از محتوای اصلی جدا کنیم. این جداسازی چند تا فایده بزرگ برای سئو داره:

    • کد تمیزتر برای خزنده‌ها: این جداسازی باعث میشه کد HTML سبک‌تر و تمیزتر باقی بمونه. این چیزیه که خزنده‌های موتورهای جستجو (مثل گوگل‌بات) ترجیح میدن. وقتی کد شما تمیز باشه، اونها راحت‌تر میتونن محتوای اصلی و کلمات کلیدی شما رو پیدا و درک کنن.
    • تاکید روی محتوای مهم: با CSS میشه چیدمان کدها رو بدون تغییر در ظاهر بصری سایت، عوض کرد. اینطوری میشه به خزنده‌های موتور جستجو نشون داد که کدوم بخش از محتوای شما مهم‌تره.

    گوگل رسما اعلام کرده که به CSS شما اهمیت میده. در سال ۲۰۱۴، گوگل راهنمای وبمستر خودش رو آپدیت کرد و توصیه کرد که به گوگل‌بات اجازه دسترسی به فایل‌های CSS و جاوا اسکریپت داده بشه تا بتونه صفحات رو مثل یک مرورگر واقعی ببینه و رندر کنه. این موضوع مخصوصا برای صفحات موبایل مهمه تا گوگل بتونه بررسی کنه که آیا صفحه شما برای موبایل مناسب (mobile-friendly) هست یا نه.

    پس یادتون باشه، مسدود کردن دسترسی گوگل به فایل‌های CSS و JS که برای درک سایت شما لازمه، میتونه به سئوی شما آسیب بزنه. البته این موضوع فقط در صورتی مشکل‌سازه که جلوی پیدا کردن محتوای قابل مشاهده یا رندر شدن درست صفحه رو بگیره. اگه یه سری فایل JS دارید که تاثیری روی محتوا یا طرح‌بندی ندارن، مسدود کردنشون مشکلی ایجاد نمیکنه و جریمه‌ای هم در کار نیست.

    مزایای کلیدی CSS برای سئو

    استفاده استراتژیک از CSS میتونه مزایای زیادی برای سئو داشته باشه:

    • سئوی بهتر: همونطور که گفتیم، با CSS میشه روی اهمیت محتوا برای خزنده‌ها تاکید کرد.
    • دسترسی‌پذیری بیشتر (Accessibility): CSS کدهای HTML رو ساده‌تر میکنه و این باعث میشه سایت برای همه کاربران، مخصوصا اونهایی که با دستگاه‌های دستی مثل موبایل وبگردی میکنن، در دسترس‌تر باشه.
    • دانلود سریع‌تر: کدهای CSS رو میشه در یک فایل خارجی قرار داد. این فایل یک بار توسط کاربر دانلود میشه و بعد در حافظه پنهان (cache) دستگاهش ذخیره میشه. این کار سرعت دانلود رو در مقایسه با روش‌های قدیمی مثل استفاده از جدول‌ها برای چیدمان، خیلی بیشتر میکنه.
    • نگهداری آسان: چون استایل از محتوا جداست، آپدیت کردن و نگهداری سایت خیلی راحت‌تر میشه.
    • سازگاری با مرورگرهای مختلف: CSS کمک میکنه تا سایت شما در مرورگرهای مختلف، ظاهر حرفه‌ای و یکسانی داشته باشه.

    همه این مزیت‌ها در نهایت به بهینه شدن زمان بارگذاری صفحه، سازماندهی بهتر محتوا، تاکید روی کلمات کلیدی مناسب، کاهش نسبت کد به محتوا و استفاده بهینه از کش مرورگر کمک میکنن.

    بخش چهارم: سرعت، پادشاه است! بهینه‌سازی CSS برای بارگذاری سریع‌تر

    یکی از مهم‌ترین فاکتورها در سئو، سرعت بارگذاری سایته. هیچکس دوست نداره برای باز شدن یه صفحه کلی منتظر بمونه. CSS میتونه هم دوست شما باشه و هم دشمن شما در این زمینه. بیاید ببینیم چطور میتونیم ازش به نفع خودمون استفاده کنیم.

    کوچک‌سازی یا Minification

    یکی از اصلی‌ترین تکنیک‌ها برای افزایش سرعت، کوچک‌سازی (Minification) فایل CSS هست. ابزارهای CSS Minifier میان و کاراکترهای غیرضروری مثل فاصله‌ها، خطوط خالی و کامنت‌ها رو از کد شما حذف میکنن، بدون اینکه به عملکردش آسیبی بزنن. این کار حجم فایل رو کم میکنه و در نتیجه، سرعت بارگذاری سایت شما رو به شکل قابل توجهی افزایش میده.

    بذارید یه مثال ببینیم:

    کد قبل از کوچک‌سازی:

    body {
      margin: 0;
      padding: 0;
      background-color: #fff;
    }

    کد بعد از کوچک‌سازی:

    body{margin:0;padding:0;background-color:#fff;}

    می‌بینید؟ کارایی کد یکسانه، اما حجمش خیلی کمتر شده. این کار چهار تا مزیت اصلی داره:

    • زمان بارگذاری سریع‌تر: که تجربه کاربری رو بهتر میکنه.
    • عملکرد بهتر: فایل‌های کوچیک سریع‌تر لود میشن که برای کاربران موبایل و اونهایی که اینترنت کند دارن خیلی مهمه.
    • صرفه‌جویی در زمان: این ابزارها کار رو به صورت خودکار انجام میدن و نیازی به حذف دستی کاراکترها نیست.
    • سئوی بهتر: سایت‌های سریع‌تر، رتبه بهتری از طرف موتورهای جستجو میگیرن.

    مقابله با منابع مسدودکننده رندر (Render-Blocking)

    بعضی از اسکریپت‌ها و فایل‌ها، جلوی رندر شدن و نمایش داده شدن صفحه رو میگیرن تا وقتی که خودشون کامل بارگذاری بشن. این موضوع سرعت رو به شدت پایین میاره. برای حل این مشکل میشه چند تا کار انجام داد:

    • استفاده از defer یا async برای جاوا اسکریپت: توی تنظیمات پروژه در بخش Custom Code، میتونید به اسکریپت‌های غیرضروری خودتون، ویژگی defer یا async رو اضافه کنید. این کار به مرورگر اجازه میده که صفحه رو سریع‌تر لود کنه و منتظر تموم شدن بارگذاری جاوا اسکریپت نمونه.
    • ترکیب کردن فایل‌های CSS: اگه سایت شما از چندین فایل CSS استفاده میکنه، بهتره اونها رو در یک فایل ادغام کنید. این کار تعداد درخواست‌های HTTP رو کم میکنه و باعث میشه صفحه سریع‌تر لود بشه.

    تکنیک‌های دیگر برای افزایش سرعت

    • اعلام Charset: مطمئن بشید که صفحه شما کدگذاری کاراکتر (character encoding) درستی داره تا روان‌تر رندر بشه. میتونید این خط کد رو در بخش Custom Code و زیر تگ meta اضافه کنید: charset="UTF-8".
    • استفاده از preload و preconnect: برای فایل‌های CSS خارجی، از این ویژگی‌ها استفاده کنید. اینها به مرورگر اجازه میدن که قبل از درخواست HTTP، یه اتصال اولیه برقرار کنه که سرعت لود رو به شکل قابل توجهی بهبود میبخشه.
    • کش مرورگر (Browser Caching): با تنظیم کردن یه تاریخ انقضا یا حداکثر عمر در هدرهای HTTP برای منابع ثابت (مثل فایل CSS)، به مرورگر دستور میدید که منابعی که قبلا دانلود کرده رو از حافظه داخلی دستگاه بخونه، به جای اینکه دوباره از شبکه دانلودشون کنه.
    • بارگذاری تنبل (Lazy Loading): این تکنیک اجازه میده عکس‌ها و منابع دیگه فقط زمانی لود بشن که وارد دید کاربر میشن. این کار سرعت و عملکرد رو بهینه میکنه.

    برای اینکه عملکرد سایتتون رو بسنجید و مشکلات باقی‌مونده رو پیدا کنید، میتونید از ابزارهایی مثل Google PageSpeed Insights، Lighthouse یا GTmetrix استفاده کنید. این ابزارها به شما اطلاعات ارزشمندی در مورد عملکرد سایتتون میدن و پیشنهادهایی برای بهبود سرعت ارائه میکنن.

    بخش پنجم: روی لبه تیغ راه نروید! ترفندهای CSS و خط قرمزهای سئو

    بعضی از تکنیک‌های CSS هستن که در گذشته برای اهداف سئویی استفاده میشدن، اما امروز میتونن برای سایت شما خطرناک باشن. گوگل خیلی باهوش‌تر از این حرف‌هاست و خیلی راحت میتونه این ترفندها رو تشخیص بده. بیاید با هم چند تا از این موارد رو بررسی کنیم.

    داستان مخفی کردن متن با CSS

    خیلی از توسعه‌دهنده‌های آگاه به استانداردها، از CSS برای مخفی کردن متن به دلایل موجهی مثل دسترسی‌پذیری یا usability استفاده میکنن. مثلا:

    • لینک‌های پرش (skip links) که به کاربران صفحه‌خوان کمک میکنن سریع به محتوای اصلی برسن.
    • لیبل‌های فرم که به صورت بصری مخفی هستن.
    • تکنیک جایگزینی تصویر (image replacement).
    • نمایش متن راهنما فقط زمانی که کاربر درخواست بده.

    همه اینها دلایل مشروعی برای مخفی کردن متن هستن. اما نگرانی اینجاست که گوگل و بقیه موتورهای جستجو، هر سایتی که از CSS برای مخفی کردن متن استفاده میکنه رو به عنوان اسپمر شناسایی کنن.

    تکنیک معروف text-indent: -9999px

    یکی از تکنیک‌های رایج برای جایگزینی تصویر، استفاده از text-indent: -9999px هست. فرض کنید یه تگ <h1> دارید که میخواید به جای متنش، یه عکس لوگو نمایش بدید. کدش چیزی شبیه این میشه:

    h1 {
      text-indent: -9999px;
      background: url('logo.png');
    }

    این کد متن داخل تگ <h1> رو ۹۹۹۹ پیکسل به سمت چپ هل میده و عملا از صفحه خارجش میکنه، و به جاش یه عکس پس‌زمینه نشون میده. ایده اینه که موتور جستجو متن رو بخونه و کاربر عکس رو ببینه. اما آیا این کار از نظر سئو امنه؟

    بحث‌های زیادی در این مورد وجود داره. بعضی‌ها معتقدن که موتورهای جستجو به استایل شما نگاه نمیکنن و فقط HTML خام رو میبینن. پس براشون فرقی نداره شما متن رو کجا میبرید، چون در هر صورت اون رو در کد HTML شما میبینن. اگه شما دارید سعی میکنید با این روش اسپم رو مخفی کنید، موفق نمیشید چون گوگل HTML رو میبینه، نه صفحه رندر شده رو.

    اما در مقابل، گزارش‌هایی وجود داره که میگه گوگل میتونه و گاهی اوقات کدهای CSS و جاوا اسکریپت شما رو میخونه. پس این احتمال وجود داره که الگوریتم‌ها، هر متنی که با text-indent منفی و بیش از حد از صفحه خارج شده رو به عنوان اسپم در نظر بگیرن و سایت شما رو جریمه کنن.

    نظر گوگل در این باره چیست؟

    مت کاتس (Matt Cutts) که در گوگل کار میکنه، در این مورد گفته: «من توصیه نمیکنم که مردم از CSS برای مخفی کردن متن استفاده کنن». این جمله نگرانی‌های زیادی رو ایجاد کرد.

    اما بعدا در جای دیگری توضیح بیشتری داد و گفت: «اگه دارید مستقیما از CSS برای مخفی کردن متن استفاده میکنید، تعجب نکنید اگه بهش بگن اسپم. … تصور کنید این کار از دید یه بازدیدکننده، یه رقیب، یا کسی که داره یه گزارش اسپم رو بررسی میکنه چطور به نظر میرسه. اگه شما اسم شرکتتون که مثلا Expo Markers هست رو به جای لوگو نشون بدید، مشکلی نیست. اما اگه متنی که تصمیم میگیرید نشون بدید این باشه: «Expo Markers ارزان آنلاین تخفیف خرید آنلاین فروش Expo Markers…» اون موقع من بیشتر احتیاط میکنم، چون این میتونه بد به نظر برسه.»

    پس نیت شما مهمه. اگه به شکل مشروع از این تکنیک استفاده میکنید، احتمالا مشکلی پیش نمیاد. اما اگه دارید سعی میکنید گوگل رو با کلمات کلیدی مخفی فریب بدید، دیر یا زود به مشکل میخورید. گوگل به اندازه کافی باهوش هست که بفهمه چه زمانی یه کار مشکوک در حال انجامه.

    به طور خلاصه، بهتره همیشه جانب احتیاط رو رعایت کنید. محتوا رو برای کاربر بنویسید، نه برای موتورهای جستجو. سعی نکنید گوگل رو فریب بدید، چون در نهایت به ضرر خودتون تموم میشه.

    محتوای تولید شده با ::before و ::after

    اینها یه سری شبه-عنصر (pseudo-elements) در CSS هستن که به توسعه‌دهنده‌ها اجازه میدن محتوای تزئینی (مثل آیکون یا یه سری نماد کوچیک) رو قبل یا بعد از یک عنصر اضافه کنن، بدون اینکه لازم باشه اون رو مستقیم در HTML بنویسن.

    نکته سئویی فوق‌العاده مهم: محتوایی که از طریق ::before یا ::after اضافه میشه، در Document Object Model (DOM) قرار نمیگیره و در نتیجه، توسط سیستم‌های رندرینگ و ایندکس گوگل دیده نمیشه.

    توصیه: از این شبه-عنصرها فقط و فقط برای اهداف تزئینی استفاده کنید. هرگز برای محتوایی که لازمه ایندکس بشه یا مفهوم مهمی رو منتقل میکنه (مثلا اضافه کردن علامت هشتگ به کلمات) از اونها استفاده نکنید. محتوایی که برای درک مطلب حیاتیه، باید همیشه مستقیم در HTML نوشته بشه.

    <img> یا background-image؟ مسئله این است!

    یه سوال رایج اینه که برای نمایش عکس‌ها از تگ <img> در HTML استفاده کنیم یا از ویژگی background-image در CSS؟

    قانون کلی اینه:

    • اگه عکس بخشی از محتوای اصلی شماست، باید از تگ <img> استفاده کنید.
    • اگه عکس صرفا برای تزئین و خوشگلی (eye candy) هست، باید از background-image استفاده کنید.

    چرا این موضوع برای سئو مهمه؟ چون عکس‌هایی که با background-image در CSS قرار داده میشن، توسط موتورهای جستجو به عنوان عکس ایندکس نمیشن. اونها فقط عناصر تزئینی به حساب میان. اما تگ‌های <img> یا <picture> در HTML برای عکس‌های محتوایی هستن که بخشی جدایی‌ناپذیر از مفهوم صفحه شما هستن (مثل عکس محصولات، عکس‌های یک مقاله خبری، یا نمودارها). این عکس‌ها بخشی از DOM هستن، میتونن در جستجوی تصاویر گوگل ایندکس بشن و محتواشون توسط خزنده‌ها درک بشه.

    یکی از دلایلی که متخصص‌های سئو ممکنه از شما بخوان همه عکس‌ها رو به تگ <img> تغییر بدید، اینه که میخوان از ویژگی alt استفاده کنن. alt یا متن جایگزین، برای توصیف عکس برای کسانی هست که نمیتونن عکس رو ببینن (مثلا به خاطر اینترنت کند، یا چون از صفحه‌خوان استفاده میکنن).

    متاسفانه بعضی‌ها از این ویژگی برای انباشت کلمات کلیدی (keyword stuffing) استفاده میکنن که کار اشتباهیه. متن alt باید توصیف دقیق و مفیدی از عکس باشه، نه لیستی از کلمات کلیدی.

    • مثال بد: <img src="آسمان.jpg" alt="ارزان، با کیفیت، ویجت">
    • مثال خوب: <img src="آسمان.jpg" alt="تصویری از آسمان آبی بدون ابر">

    بخش ششم: ابزارهای پیشرفته برای کنترل خزنده‌ها و تحلیل سایت

    حالا که با بایدها و نبایدهای اصلی آشنا شدیم، بیاید کمی عمیق‌تر بشیم و در مورد ابزارها و تکنیک‌های پیشرفته‌تر صحبت کنیم.

    کنترل خزنده‌ها با robots.txt

    فایل robots.txt یه فایل متنی ساده در ریشه سایت شماست که به موتورهای جستجو میگه کدوم بخش‌های سایت رو میتونن بخزن (crawl) و کدوم بخش‌ها رو نه. دستور اصلی برای این کار Disallow هست.

    Disallow یعنی چی؟

    وقتی شما یه صفحه رو Disallow میکنید، دارید به موتورهای جستجو میگید که اون صفحه رو نخزنن. این کار برای صفحاتی که برای کاربر یا ترافیک جستجو ارزشی ندارن (مثلا صفحات داخلی مدیریت یا فایل‌های موقت) مفیده، چون باعث میشه موتورهای جستجو وقتشون رو برای خزیدن اون صفحات هدر ندن.

    چه زمانی نباید از Disallow استفاده کرد؟

    • برای صفحاتی که میخواهید PageRank منتقل کنند: اگه یه URL در robots.txt مسدود بشه، خزیده نمیشه و در نتیجه نمیتونه PageRank (اعتبار) رو به صفحات دیگه منتقل کنه. پس صفحاتی که احتمال داره لینک خارجی بگیرن یا برای لینک‌دهی به صفحات داخلی دیگه ضروری هستن رو Disallow نکنید.
    • برای پارامترها: جان مولر (John Mueller) از گوگل گفته که مسدود کردن پارامترها با Disallow باعث میشه که سیگنال‌های اعتبار برای URL اصلی جمع‌آوری نشن. چون گوگل نمیتونه URLهای دارای پارامتر رو ببینه، متوجه نمیشه که این صفحات در واقع کپی همدیگه هستن. بهترین راه برای مدیریت URLهای پارامتردار، استفاده از ساختار URL تمیز، ریدایرکت‌های ۳۰۱، تگ‌های کنونیکال یا ابزار URL Parameters گوگل هست.
    • برای فایل‌های JS و CSS که به گوگل در درک سایت کمک میکنند: همونطور که قبلا گفتیم، این کار میتونه به سئوی شما ضربه بزنه.

    آیا Disallow جلوی ایندکس شدن رو میگیره؟

    نه! یادتون باشه Disallow فقط جلوی خزیدن (crawling) رو میگیره، نه ایندکس شدن (indexing). اگه یه URL مسدود شده، از جای دیگه‌ای (داخلی یا خارجی) لینک گرفته باشه، ممکنه هنوز در نتایج جستجو ظاهر بشه. در این حالت، گوگل هیچ اطلاعاتی به جز خود URL رو نمیتونه نشون بده و به جای توضیحات، این پیام رو نمایش میده: «به دلیل robots.txt این سایت، توضیحی برای این نتیجه در دسترس نیست.»

    فرمت‌بندی پیشرفته در robots.txt

    گوگل و بینگ از دو عبارت ویژه برای مشخص کردن الگوها در URLها پشتیبانی میکنن:

    • * (wildcard): به معنی «هر دنباله‌ای از کاراکترها».
    • $ (end of URL): برای مشخص کردن URLهایی که با یک الگوی خاص تموم میشن (مثلا پسوند فایل).

    با ترکیب این دو میشه کنترل دقیقی روی خزنده‌ها داشت. چند تا مثال:

    • مسدود کردن یک نوع فایل خاص (مثلا همه PDFها):
    • مسدود کردن هر پوشه‌ای که شامل یک کلمه خاص باشه (مثلا example):
    • مسدود کردن URLهای دارای پارامتر (Query):

    قوانین متناقض Allow و Disallow

    گاهی ممکنه یه URL هم با قانون Allow و هم با قانون Disallow مطابقت داشته باشه. در این حالت، طولانی‌ترین قانون برنده میشه. منظور از طول، تعداد کاراکترها در مسیر بعد از Allow: یا Disallow: هست.

    مثال:

    <pre><code>Allow: /exam* (6 کاراکتر)
    Disallow: /examp* (7 کاراکتر)</code></pre>

    در این مثال، URLای مثل /example.htm مسدود میشه، چون قانون Disallow با ۷ کاراکتر، طولانی‌تر از قانون Allow با ۶ کاراکتره.

    یه نکته جالب اینه که استفاده از * در انتهای یک الگو، اون رو «قوی‌تر» میکنه، چون یه کاراکتر به طولش اضافه میکنه.

    مثال:

    <pre><code>Allow: /example
    Disallow: /example*</code></pre>

    اینجا، URL /example.htm مسدود میشه چون Disallow یه کاراکتر * اضافه داره و طولانی‌تره.

    استفاده از CSS Selectors برای ممیزی سئو

    یه کاربرد خیلی جالب CSS که شاید کمتر شنیده باشید، استفاده از انتخابگرهای CSS (CSS Selectors) برای پیدا کردن بخش‌های خاصی از کد در تمام صفحات سایته. ابزارهایی مثل WebSite Auditor یه قابلیتی به اسم «Custom Search» دارن که به شما اجازه میده با استفاده از انتخابگرهای CSS، دنبال محتوای خاصی بگردید.

    مثلا، میتونید با این روش به راحتی پیدا کنید:

    کدام صفحات…دستور CSS Selector
    اسکریپت گوگل تگ منیجر رو دارن؟noscript:has(iframe[src$=XXX-XXXXXX])
    تگ h1 دارن؟h1
    عکس‌هایی با یک متن alt خاص دارن؟img[alt=green-grass]
    به یک صفحه خاص لینک دادن؟a[href*=page.html]
    لینک ایمیل دارن؟a[href^=mailto:]
    تگ‌های Open Graph رو دارن؟meta[name^=og:]

    این تکنیک به شما قدرت فوق‌العاده‌ای برای تحلیل تکنیکال سایتتون میده.

    بخش هفتم: پرسش و پاسخ کلاسی

    خب، درس امروزمون به پایان رسید. حالا وقتشه چند تا از سوال‌هایی که ممکنه براتون پیش اومده باشه رو با هم مرور کنیم.

    سوال ۱: استاد، پس اسم کلاس‌های CSS که انتخاب میکنم، روی رتبه من در گوگل تاثیری داره؟

    جواب: سوال خیلی خوبیه. نه، اسم کلاس‌های CSS هیچ تاثیر مستقیمی روی سئو ندارن. اونها فقط برای استایل دادن هستن و به عنوان محتوای متنی قابل مشاهده که موتورهای جستجو برای کلمات کلیدی تحلیل میکنن، در نظر گرفته نمیشن.

    سوال ۲: یعنی میتونم یه عالمه کلمه کلیدی رو توی صفحه‌ام بنویسم و بعد رنگشون رو همرنگ پس‌زمینه کنم تا رتبه‌ام بهتر بشه؟

    جواب: ابدا! این یکی از قدیمی‌ترین ترفندهای کلاه سیاهه. گوگل و بقیه موتورهای جستجو خیلی راحت میتونن این کار رو تشخیص بدن، چون اونها کد HTML رو میخونن، نه فقط ظاهر صفحه رو. این کار به عنوان اسپم شناخته میشه و میتونه باعث جریمه شدن شدید سایت شما بشه. پس هرگز این کار رو نکنید.

    سوال ۳: اگه یه صفحه‌ای رو با robots.txt مسدود کنم، یعنی دیگه هیچوقت توی گوگل نشون داده نمیشه؟

    جواب: لزوما نه. همونطور که گفتیم، Disallow فقط جلوی خزیدن گوگل رو میگیره. اگه اون صفحه از سایت‌های دیگه لینک گرفته باشه، گوگل از وجودش با خبر میشه و ممکنه اون رو ایندکس کنه. البته چون نتونسته محتواش رو بخونه، در نتایج جستجو یه عنوان ساده (معمولا خود URL) و یک توضیح عمومی نشون میده.

    سوال ۴: برای لوگوی شرکتم بهتره از تگ <img> استفاده کنم یا از background-image در CSS؟

    جواب: چون لوگو یک بخش مهم از محتوا و هویت برند شماست، قطعا بهتره که از تگ <img> استفاده کنید. اینطوری میتونید یک متن alt مناسب هم براش بنویسید (مثلا «لوگوی شرکت X») که هم برای دسترسی‌پذیری خوبه و هم به موتورهای جستجو کمک میکنه بفهمن اون عکس چیه.

    سوال ۵: میخوام قبل از تیترهام یه سری آیکون جالب بذارم. توی یه آموزش دیدم که با ::before این کار رو میکنن. این برای سئو مشکلی نداره؟

    جواب: تا زمانی که اون آیکون‌ها صرفا تزئینی باشن و هیچ مفهوم مهمی رو منتقل نکنن، استفاده از ::before کاملا درسته و مشکلی برای سئو ایجاد نمیکنه. نکته مهم اینه که خود متن تیتر باید حتما در تگ HTML (مثلا <h2>) نوشته شده باشه. یادتون باشه، هر محتوایی که با ::before یا ::after اضافه بشه، ایندکس نمیشه.

    سوال ۶: گزارش سرعت سایتم میگه باید CSS رو «کوچک‌سازی» یا «minify» کنم. این یعنی چی دقیقا؟

    جواب: کوچک‌سازی یا مینیفای کردن یعنی حذف کردن تمام چیزهای اضافی از فایل CSS شما که برای اجرای کد لازم نیستن. چیزهایی مثل فاصله‌های اضافی، خطوط خالی و کامنت‌هایی که برای راهنمایی خودتون نوشتید. این کار باعث میشه حجم فایل CSS شما کمتر بشه و در نتیجه سریع‌تر دانلود و بارگذاری بشه، که این هم به نوبه خودش سرعت کلی سایت و سئوی شما رو بهتر میکنه.

    منابع

    • [2] Converting a html/css website to WordPress and effects on SEO : r/Wordpress
    • [4] CSS: co to jest? Definicja – Słownik SEO/SEM Delante
    • [6] Google On SEO & CSS
    • [8] Barry Schwartz on X: “Google’s @g33konaut and @JohnMu on CSS and SEO for Google Search https://t.co/HG5KYeITj1 https://t.co/LINvuZJGow” / X
    • [10] Using Custom Search: CSS Selectors – SEO PowerSuite Help Center
    • [12] Removing CSS & JS Files from Index | SEO Forum | Moz
    • [14] critical JS/CSS slows pages – bad for SEO and google ranking – SEO – Squarespace Forum
    • [16] Is there any SEO benefits for using <img> vs background CSS – Marketing – SitePoint Forums | Web Development & Design Community
    • [1] Is Tailwind CSS bad for SEO? – Quora
    • [3] Disallow and Google: An Intermediate SEO Guide: PageRank, JS/CSS, formatting and more
    • [5] text-indent: -9999px = bad seo? – CSS-Tricks
    • [7] Effective CSS Rules for SEO Optimization
    • [9] Google, SEO and using CSS to hide text | 456 Berea Street
    • [11] SEO Issues with Render Blocking, Charset Declaration and Inline CSS – Publishing help / SEO – Forum | Webflow
    • [13] CSS minifier {Free & Online SEO Tool}✴️
    • [15] HTML, CSS, and JavaScript: A Simple SEO Primer
  • پرداخت در ازای خزش، ایده کلادفلر که برای سایت‌ها درآمد ایجاد می‌کند

    تا حالا شده یک چیزی بسازی، کلی براش زحمت بکشی، بعد یک نفر بیاد خیلی راحت ازش استفاده کنه، باهاش کلی چیز جدید درست کنه و معروف بشه، اما حتی یک تشکر خشک و خالی هم از تو نکنه؟ خب، یه همچین داستانی چند وقتیه که توی دنیای اینترنت برای تولیدکننده‌های محتوا، از نویسنده‌های بزرگ گرفته تا اونایی که یک وبلاگ کوچیک دارن، پیش اومده. بازیگر جدید این داستان، ربات‌های هوش مصنوعیه و به نظر میرسه معامله قدیمی اینترنت دیگه جواب نمیده. حالا یک شرکت بزرگ به اسم کلاودفلر (Cloudflare) با یک ایده جدید وارد میدون شده که میخواد قوانین بازی رو عوض کنه. بیا با هم ببینیم این ماجرا از کجا شروع شد و قراره به کجا برسه.

    معامله قدیمی اینترنت: ترافیک در برابر محتوا

    برای اینکه داستان جدید رو خوب بفهمیم، اول باید برگردیم عقب و ببینیم اینترنت تا قبل از این چطوری کار میکرد. حدود سی سال پیش، دو تا دانشجوی استنفورد یک پروژه تحقیقاتی به اسم «بک‌راب» (Backrub) رو شروع کردن. اون پروژه بعدها تبدیل شد به گوگل و گوگل هم سنگ بنای یک مدل اقتصادی بزرگ رو در اینترنت گذاشت.

    یک جور معامله نانوشته بین گوگل و کسایی که محتوا تولید میکردن (مثل سایت‌های خبری، وبلاگ‌ها، فروشگاه‌ها) شکل گرفت. معامله ساده بود:

    • تولیدکننده‌های محتوا به گوگل میگفتن: «بیا، اجازه داری کل سایت من رو کپی کنی و توی نتایج جستجوت نشون بدی».
    • گوگل هم در جواب میگفت: «باشه، در عوض من هم کاربرا رو از صفحه جستجو میفرستم به سایت تو».

    اینجا بود که بازی برد-برد به نظر میرسید. صاحب سایت از اون بازدیدکننده‌ها یا همون «ترافیک» پول درمیاورد؛ یا با تبلیغات، یا با فروش اشتراک یا هر روش دیگه‌ای. گوگل هم برای اینکه این چرخه کامل بشه، یک اکوسیستم کامل درست کرد:

    • گوگل سرچ (Google Search): ترافیک رو تولید میکرد.
    • گوگل ادسنس (AdSense): ابزاری بود که به صاحب سایت کمک میکرد از اون ترافیک پول دربیاره.
    • گوگل انلیتیکس (Google Analytics): ابزاری بود که میشد باهاش همه چیز رو اندازه گرفت و تحلیل کرد.

    این سیستم دهه‌ها کار کرد و چیزی بود که اینترنت باز و آزاد رو زنده نگه داشته بود. اما حالا، این معامله داره از هم میپاشه. برای اولین بار، سهم گوگل از بازار جستجو داره کم میشه و جاش رو یک پدیده جدید گرفته: هوش مصنوعی.

    بازیگر جدید از راه میرسه: ربات‌های هوشمند و پدیده «صفر کلیک»

    با ظهور چت‌بات‌های هوش مصنوعی مثل چت‌جی‌پی‌تی (ChatGPT) و مدل‌های زبان بزرگ (LLM)، یک سری ربات جدید به اسم «خزنده» یا «کراولر» (Crawler) به اینترنت اضافه شدن. کار این ربات‌ها با ربات‌های جستجوگر قدیمی مثل گوگل فرق داره. اونا فقط سایت‌ها رو کپی نمیکنن که توی نتایج نشون بدن؛ اونا محتوای سایت‌ها رو میبلعن تا «یاد بگیرن» و مغز هوشمند خودشون رو آموزش بدن.

    نتیجه چی میشه؟ شما از هوش مصنوعی یک سوال میپرسی، اون هم با استفاده از اطلاعاتی که از هزاران سایت جمع کرده، یک جواب کامل و حاضر و آماده بهت میده. دیگه نیازی نیست روی لینکی کلیک کنی و به سایت اصلی سر بزنی. به این میگن پدیده «صفر کلیک» (zero-click).

    اینجا بود که اون معامله قدیمی به هم خورد. ربات‌های هوش مصنوعی دارن از محتوای باکیفیت روزنامه‌نگارها، نویسنده‌ها و متخصص‌ها استفاده میکنن، اما تقریبا هیچ بازدیدکننده‌ای به سایت‌های اونا برنمیگردونن. ترافیک سایت‌ها به شدت افت کرده و در نتیجه درآمدشون هم کم شده. در واقع، کار و زحمت اونا داره نسل بعدی هوش مصنوعی رو آموزش میده، بدون اینکه چیزی نصیبشون بشه.

    آمار دروغ نمیگه: یک مبادله ناعادلانه

    برای اینکه ببینی این مبادله چقدر یک‌طرفه شده، به این آمارها که شرکت کلاودفلر منتشر کرده نگاه کن. این آمارها نشون میدن که ربات‌های هوش مصنوعی چند بار یک سایت رو میخونن (خزش یا اسکرِیپ میکنن) و در ازاش چند تا بازدیدکننده به اون سایت میفرستن:

    • ده سال پیش: گوگل به ازای هر بازدیدکننده‌ای که به یک سایت میفرستاد، ۲ صفحه از اون سایت رو میخوند.
    • شش ماه پیش:
      • گوگل: به ازای هر ۱ بازدیدکننده، ۶ بار سایت رو میخوند.
      • اوپن‌ای‌آی (OpenAI): به ازای هر ۱ بازدیدکننده، ۲۵۰ بار سایت رو میخوند.
      • انتروپیک (Anthropic): به ازای هر ۱ بازدیدکننده، ۶ هزار بار سایت رو میخوند.
    • امروز:
      • گوگل: به ازای هر ۱ بازدیدکننده، ۱۸ بار سایت رو میخوند.
      • اوپن‌ای‌آی: به ازای هر ۱ بازدیدکننده، ۱,۵۰۰ بار سایت رو میخوند.
      • انتروپیک: به ازای هر ۱ بازدیدکننده، ۶۰ هزار بار سایت رو میخوند.

    یک گزارش دیگه از تک‌کرانچ (TechCrunch) هم که به داده‌های ماه ژوئن اشاره داره، این اعداد رو تایید میکنه: ربات اوپن‌ای‌آی به ازای هر یک ارجاع، ۱۷۰۰ بار سایت رو خراشیده و ربات انتروپیک ۷۳ هزار بار. روند کاملا مشخصه: هوش مصنوعی میخونه، یاد میگیره و جواب میده، اما خیلی کم پیش میاد که کاربر رو به منبع اصلی بفرسته.

    راه‌حل جدید کلاودفلر: «پرداخت به ازای خزش» (Pay per Crawl)

    کلاودفلر یک شرکت خیلی بزرگه که خدمات شبکه تحویل محتوا یا CDN ارائه میده. اگه بخوایم ساده بگیم، مثل یک دروازه‌بان و سرویس‌دهنده خیلی سریع برای حدود ۲۰ درصد کل وب‌سایت‌های دنیا عمل میکنه. سایت‌های معروفی مثل ردیت، مدیوم، شاپیفای و گاردین از خدمات این شرکت استفاده میکنن. این یعنی وقتی کلاودفلر تصمیمی بگیره، میتونه اون رو در مقیاس خیلی خیلی بزرگی اجرا کنه.

    این شرکت حالا برای حل مشکل بالا، یک راهکار جدید به اسم «پرداخت به ازای خزش» (Pay per Crawl) رو معرفی کرده. ایده اصلی اینه که به جای دو گزینه قدیمی (یا به ربات‌ها اجازه دسترسی رایگان بده یا کلا مسدودشون کن)، یک گزینه سوم روی میز میذاره: ازشون پول بگیر.

    این سیستم که فعلا در نسخه بتای خصوصی قرار داره، به صاحب سایت‌ها این قدرت رو میده که برای محتواشون قیمت تعیین کنن. به این ترتیب، یک رابطه جدید و مبتنی بر اجازه بین ناشرها و شرکت‌های هوش مصنوعی شکل میگیره.

    این سیستم چطوری کار میکنه؟

    ساز و کار فنی این ایده خیلی جالبه و روی زیرساخت‌های فعلی وب ساخته شده:

    • مسدودسازی پیش‌فرض: کلاودفلر اعلام کرده که به زودی، به طور پیش‌فرض جلوی تمام ربات‌های خزنده هوش مصنوعی رو برای سایت‌هایی که از خدماتش استفاده میکنن، میگیره. این یعنی اگه شما یک سایت جدید روی کلاودفلر راه‌اندازی کنی، ربات‌هایی مثل جی‌پی‌تی‌بات (GPTBot) دیگه نمیتونن به محتوای شما دسترسی داشته باشن، مگر اینکه خودت بهشون اجازه بدی.
    • بازار پرداخت به ازای خزش: اینجا جاییه که صاحب سایت میتونه تصمیم بگیره با ربات‌ها چیکار کنه. برای هر ربات هوش مصنوعی، سه تا انتخاب وجود داره:
      • اجازه دادن (Allow): میتونی به ربات اجازه بدی مثل قبل به صورت رایگان به محتوات دسترسی داشته باشه. در این حالت، سرور کد 200 OK رو برمیگردونه.
      • مسدود کردن (Block): میتونی کلا جلوی دسترسی ربات رو بگیری. سرور کد 403 Accessed Denied رو برمیگردونه که یعنی دسترسی ممنوعه.
      • دریافت هزینه (Charge): میتونی برای هر بار خزش یا بازدید ربات، یک قیمت مشخص کنی.
    • استفاده از کد ۴۰۲: وقتی یک ربات هوش مصنوعی میخواد به سایتی دسترسی پیدا کنه که گزینه «دریافت هزینه» رو فعال کرده، سرور سایت یک کد خیلی کم‌استفاده به اسم 402 Payment Required رو به ربات برمیگردونه. این کد به ربات میگه: «برای دیدن این محتوا باید پول پرداخت کنی». همراه این کد، اطلاعات قیمت هم فرستاده میشه.
    • پرداخت و دسترسی: حالا توپ تو زمین شرکت هوش مصنوعیه.
      • اگه ربات با پرداخت موافق باشه، یک درخواست دیگه با اطلاعات پرداخت میفرسته و بعدش محتوا رو با کد 200 OK دریافت میکنه.
      • اگه نخواد پول بده، دیگه دسترسی بهش داده نمیشه.
    • احراز هویت ربات‌ها: برای اینکه ربات‌ها نتونن هویت خودشون رو جعل کنن، کلاودفلر از امضاهای رمزنگاری شده Ed25519 استفاده میکنه. این کار مثل چک کردن کارت شناسایی رباته تا مطمئن بشن خودشه.
    • پرداخت آسان: خود کلاودفلر نقش واسطه مالی رو بازی میکنه. یعنی پول رو از شرکت‌های هوش مصنوعی میگیره و به حساب ناشرها واریز میکنه. اینطوری دیگه نیازی به قراردادهای پیچیده یا ارزهای دیجیتال نیست.

    متیو پرینس، مدیرعامل کلاودفلر، این روز رو «روز استقلال محتوا» (Content Independence Day) نامیده که در تاریخ ۱ ژوییه ۲۰۲۵ معرفی شده.

    کدام ربات‌ها مسدود میشن؟

    کلاودفلر هنوز لیست دقیقی از ربات‌هایی که مسدود میشن ارائه نکرده، اما اونها رو به سه دسته تقسیم کرده:

    • دستیار هوش مصنوعی (AI Assistant): مثل Perplexity-User و DuckAssistBot.
    • خزنده هوش مصنوعی (AI Crawler): مثل ربات گوگل بارد و ChatGPT.
    • جستجوی هوش مصنوعی (AI Search): مثل OAI-SearchBot.

    مدیرعامل کلاودفلر همچنین در شبکه اجتماعی ایکس اعلام کرده که «جمینی (Gemini) به صورت پیش‌فرض مسدود است». احتمالا صاحب سایت‌ها میتونن مشخص کنن که دقیقا کدوم ربات‌ها یا کدوم دسته‌ها رو مسدود یا مجاز کنن.

    طبق آمار خود کلاودفلر، فعال‌ترین ربات‌ها در شبکه این شرکت اینا هستن:

    • بایت‌اسپایدر (Bytespider): ربات شرکت بایت‌دنس (شرکت مادر تیک‌تاک) که از ۴۰.۴ درصد دامنه‌های تحت حفاظت کلاودفلر بازدید میکنه.
    • جی‌پی‌تی‌بات (GPTBot): ربات شرکت اوپن‌ای‌آی با ۳۵.۵ درصد بازدید.
    • کلادبات (ClaudeBot): ربات شرکت انتروپیک با ۱۱.۲ درصد بازدید.

    جالبه که جی‌پی‌تی‌بات، با اینکه از همه معروف‌تره، یکی از ربات‌هایی هست که بیشتر از بقیه در این شبکه مسدود میشه.

    واکنش‌ها به این طرح جدید چه بوده؟

    این ایده جدید کلاودفلر، مثل هر تغییر بزرگی، موافق‌ها و مخالف‌های خودش رو داره. بیا ببینیم هر گروه چی میگه.

    ناشران بزرگ: یک تغییردهنده بازی

    ناشران بزرگ و شرکت‌های رسانه‌ای معتبر به شدت از این طرح استقبال کردن. برای اونها، این یک اهرم فشار قدرتمنده تا بالاخره بتونن در مقابل استفاده بدون اجازه از محتواشون، پول دریافت کنن.

    • راجر لینچ، مدیرعامل کاند نست (Condé Nast): این حرکت رو یک «تغییردهنده بازی برای ناشران» توصیف کرده که «یک استاندارد جدید برای احترام به محتوا در فضای آنلاین تعیین میکنه. وقتی شرکت‌های هوش مصنوعی دیگه نتونن هر چیزی رو که میخوان به صورت رایگان بردارن، دری به سوی نوآوری پایدار بر اساس اجازه و همکاری باز میشه.»
    • نیل ووگل از دات‌دش مردیت (Dotdash Meredith): میگه: «ما مدت‌هاست که میگیم پلتفرم‌های هوش مصنوعی باید برای استفاده از محتوای ما به ناشران و تولیدکنندگان محتوا غرامت منصفانه‌ای بپردازن. حالا میتونیم دسترسی به محتوامون رو به اون دسته از شرکای هوش مصنوعی محدود کنیم که مایل به مشارکت در ترتیبات منصفانه هستن.»
    • رن توریانو از گنت (Gannett): بر اهمیت این موضوع تاکید میکنه: «مسدود کردن برداشت غیرمجاز و استفاده از محتوای اصلی ما بدون جبران منصفانه، بسیار مهمه… ما خوش‌بینیم که فناوری کلاودفلر به مبارزه با سرقت مالکیت فکری ارزشمند کمک خواهد کرد.»
    • بیل ردی، مدیرعامل پینترست (Pinterest): توضیح میده که چطور این مدل با ماموریت اونها هماهنگه: «ما متعهد به ساختن یک زیرساخت اینترنتی سالم هستیم که در اون محتوا برای هدف مورد نظرش استفاده بشه تا تولیدکنندگان و ناشران بتونن رشد کنن.»

    ناشران بزرگی مثل تایم (TIME)، آتلانتیک (The Atlantic)، ادویک (ADWEEK)، بازفید (BuzzFeed)، فورچن (Fortune)، کورا (Quora) و استک اورفلو (Stack Overflow) هم به این طرح پیوستن.

    کسب‌وکارهای کوچک و وبلاگ‌نویس‌ها: یک شمشیر دو لبه؟

    اما برای کسب‌وکارهای کوچیک و متوسط (SMB) یا وبلاگ‌نویس‌های مستقل، قضیه کمی پیچیده‌تره. اینجا یک سوال مهم پیش میاد:

    آیا محتوای شما اونقدر ارزش داره که یک شرکت هوش مصنوعی حاضر بشه براش پول بده؟

    • برای یک خبرگزاری بزرگ، جواب احتمالا مثبته. مدل‌های هوش مصنوعی برای تولید جواب‌های دقیق به محتوای خبری نیاز دارن.
    • اما برای یک سایت کوچیک چطور؟ آیا هوش مصنوعی واقعا اونقدر به محتوای شما نیاز داره که براش هزینه کنه؟ یا میتونه اطلاعات مشابه یا حتی بهتر رو از منابع دیگه‌ای که رایگان هستن به دست بیاره؟

    این نگرانی وجود داره که این طرح، به جای کمک به کسب‌وکارهای کوچیک، بیشتر به ضررشون تموم بشه. اگه شرکت‌های هوش مصنوعی تصمیم بگیرن که برای محتوای اونها پولی پرداخت نکنن، این سایت‌ها نه تنها پولی دریافت نمیکنن، بلکه اون ذره‌ای از آگاهی از برند (brand awareness) که از طریق حضور در جواب‌های هوش مصنوعی به دست میاوردن رو هم از دست میدن و عملا نامریی میشن.

    منتقدان میگن اینکه به صاحب سایت حق انتخاب داده بشه کار درستیه، اما اینکه مسدودسازی به صورت پیش‌فرض باشه، شاید جواب درستی برای این مشکل نباشه. برای خیلی از سایت‌های کوچیک، حضور نداشتن در دنیای هوش مصنوعی میتونه به اندازه پول نگرفتن برای محتواشون خطرناک باشه.

    شرکت‌های هوش مصنوعی: راهی به سوی نوآوری مسئولانه

    از دید شرکت‌های هوش مصنوعی و تیم‌های تحقیقاتی، این بازار میتونه یک جایگزین شفاف و کم‌دردسر برای بحث‌های حقوقی پیچیده کپی‌رایت باشه. به جای اینکه به صورت بی‌رویه محتوا جمع‌آوری کنن و امیدوار باشن که کارشون تحت عنوان «استفاده منصفانه» (fair use) قانونی تلقی بشه، میتونن با یک هزینه قابل پیش‌بینی، به محتوای باکیفیت دسترسی قانونی پیدا کنن. این کار ریسک حقوقی رو کم میکنه و رابطه بهتری با جامعه تولیدکنندگان محتوا ایجاد میکنه.

    جامعه علمی: یک نگرانی مهم

    بعضی از افراد در جامعه دانشگاهی و تحقیقاتی نگرانن که مسدود کردن خزنده‌ها میتونه به تحقیقات هوش مصنوعی مشروع و غیرتجاری آسیب بزنه.

    این تغییرات چه تاثیری روی آینده جستجو و سئو داره؟

    خب، حالا که با کلیات ماجرا آشنا شدیم، بیا ببینیم این طرح جدید چه تاثیری روی دو مفهوم مهم یعنی سئو و جی‌ای‌او میذاره.

    تاثیر بر سئوی سنتی (SEO)

    اول از همه باید خیال همه رو راحت کنیم: کلاودفلر به صورت پیش‌فرض ربات‌های جستجوگر سنتی مثل گوگل‌بات (Googlebot) یا بینگ‌بات (BingBot) رو مسدود نمیکنه. تمرکز اصلی این طرح روی ربات‌های هوش مصنوعیه.

    با این حال، برای اولین بار، کلاودفلر به ناشران این امکان رو میده که اگه بخوان، حتی جلوی ربات‌های جستجوگر سنتی رو هم بگیرن یا ازشون پول بخوان. آیا ناشران این کار رو میکنن؟ احتمالا نه. مسدود کردن گوگل هنوز به معنی از دست دادن بخش بزرگی از ترافیک ارزشمنده و کمتر کسی حاضر به پرداخت چنین هزینه‌ایه.

    اما یک نکته جالب وجود داره: کلاودفلر داره تلاش میکنه (چه با مذاکره و چه از راه قانونی) گوگل رو متقاعد کنه که ربات خودش یعنی گوگل‌بات رو به دو بخش جدا تقسیم کنه:

    • یک ربات برای جستجوی سنتی.
    • یک ربات برای خزش محتوا جهت استفاده در بخش‌های هوش مصنوعی مثل AI Overviews.

    اگه این اتفاق بیفته، ناشران میتونن به ربات جستجوی سنتی اجازه دسترسی بدن، اما جلوی ربات هوش مصنوعی گوگل رو بگیرن. متخصصان سئو از چنین اتفاقی استقبال میکنن.

    تاثیر عمیق بر جی‌ای‌او (GEO)

    جی‌ای‌او (Generative Engine Optimization) یعنی بهینه‌سازی محتوا برای موتورهای تولیدکننده جواب مثل چت‌جی‌پی‌تی. تاثیر طرح «پرداخت به ازای خزش» روی جی‌ای‌او خیلی عمیق‌تر از سئوی سنتیه.

    برای اینکه این موضوع رو بفهمی، باید بدونی که مدل‌های هوش مصنوعی چطور کار میکنن. دو فرآیند اصلی وجود داره:

    • آموزش مدل (Training data): قبل از اینکه یک مدل بتونه به سوالی جواب بده، باید آموزش ببینه. در این مرحله، ربات‌ها حجم عظیمی از اطلاعات (متن، کد، عکس) رو از سراسر وب جمع‌آوری میکنن تا مدل بتونه زبان رو بفهمه و دانش پایه‌ای خودش رو در مورد دنیا شکل بده. این دانش، مثل فونداسیون یک ساختمونه.
    • بازیابی اطلاعات لحظه‌ای (Real-time information retrieval): بعد از اینکه مدل آموزش دید، میتونه برای جواب دادن به سوالات جدید، اطلاعات تازه رو از طریق ابزارهای خارجی (مثلا جستجو در بینگ) به دست بیاره. این مثل اینه که شما برای جواب دادن به یک سوال، سریع یک چیزی رو در اینترنت جستجو کنی.

    حالا ممکنه فکر کنی: «خب، اگه سایت من بینگ رو مسدود نکنه، پس چت‌جی‌پی‌تی هنوز میتونه محتوای من رو ببینه. پس مشکل چیه؟»

    اینجاست که نکته کلیدی مشخص میشه:
    آموزش، درک بنیادی مدل رو میسازه؛ جستجوی لحظه‌ای فقط اون درک رو تکمیل میکنه، نه اینکه جایگزینش بشه.

    وقتی سایت‌های بیشتری به طرح «پرداخت به ازای خزش» ملحق بشن و دسترسی ربات‌های هوش مصنوعی رو محدود کنن، سه اتفاق مهم میفته:

    • کاهش کیفیت جواب‌ها: حتی اگه هوش مصنوعی بتونه سایت تو رو از طریق بینگ ببینه، اگه در مرحله آموزش با محتوای مشابهی برخورد نکرده باشه، نمیدونه چطور اون رو تفسیر کنه یا بهش اولویت بده.
    • سوگیری به سمت منابع شناخته‌شده: مدل‌ها به منابعی که در زمان آموزش دیدن «اعتماد» بیشتری دارن. اگه محتوای تو بخشی از اون فرآیند آموزشی نبوده باشه، ممکنه در جواب‌های تولید شده نادیده گرفته بشی، فقط به این دلیل که مدل با سبک، فرمت یا اعتبار سایت تو آشنا نیست.
    • تاثیر بلندمدت بر جی‌ای‌او: هرچقدر سایت‌های بیشتری دسترسی ربات‌ها رو محدود کنن، داده‌های آموزشی کلی مدل‌ها کوچیک‌تر و محدودتر میشه. سایتی که در مرحله آموزش دیده نشده، وارد «نقشه ذهنی» مدل نمیشه، حتی اگه از نظر فنی در جستجوی لحظه‌ای قابل دسترسی باشه.

    خلاصه اینکه جی‌ای‌او فقط مربوط به دیده شدن نیست؛ مربوط به اینه که مدل هوش مصنوعی تو رو بشناسه، بهت اعتماد داشته باشه و درکت کنه. و همه اینها از مرحله آموزش شروع میشه.

    پرسش و پاسخ

    سوال: پس این طرح کلاودفلر یعنی دیگه نمیتونم از گوگل استفاده کنم؟

    جواب: نه اصلا. این طرح ربطی به استفاده شما از موتورهای جستجوی سنتی مثل گوگل یا بینگ نداره. ربات‌های این موتورهای جستجو به صورت پیش‌فرض مسدود نمیشن و شما مثل قبل میتونی ازشون استفاده کنی. این طرح بیشتر روی ربات‌هایی تمرکز داره که برای آموزش مدل‌های هوش مصنوعی مثل چت‌جی‌پی‌تی محتوا جمع میکنن.

    سوال: آیا این سیستم «پرداخت به ازای خزش» همین الان برای همه فعاله؟

    جواب: در حال حاضر، این برنامه در نسخه بتای خصوصی قرار داره. این یعنی هنوز برای همه در دسترس نیست و سایت‌ها باید برای شرکت در اون درخواست بدن (opt-in). اما برنامه کلاودفلر اینه که در آینده‌ای نامشخص، مسدودسازی ربات‌های هوش مصنوعی رو به صورت پیش‌فرض برای همه اجرا کنه.

    سوال: من یک وبلاگ کوچیک دارم. باید نگران باشم؟

    جواب: این موضوع بستگی به اهداف شما داره. از یک طرف، این طرح به شما قدرت کنترل روی محتواتون رو میده. از طرف دیگه، این ریسک وجود داره که شرکت‌های بزرگ هوش مصنوعی حاضر نشن برای محتوای شما پولی پرداخت کنن و در نتیجه، شما از دنیای جواب‌های هوش مصنوعی حذف بشی. این یک تصمیم استراتژیکه که هر صاحب سایتی باید برای خودش بگیره.

    سوال: این پرداخت‌ها چطوری انجام میشه؟ آیا پیچیده است؟

    جواب: طبق گفته کلاودفلر، خود این شرکت به عنوان واسطه عمل میکنه. یعنی پرداخت‌ها رو از شرکت‌های هوش مصنوعی جمع‌آوری و به حساب صاحبان سایت‌ها واریز میکنه. این کار باعث میشه نیازی به قراردادهای پیچیده یا استفاده از ارزهای دیجیتال نباشه و فرآیند ساده باشه.

    سوال: از کجا معلوم که یک ربات هویت خودش رو جعل نکنه و الکی بگه من ربات گوگل هستم؟

    جواب: کلاودفلر برای جلوگیری از این مشکل از سیستم‌های پیشرفته مدیریت ربات و امضاهای رمزنگاری شده به اسم Ed25519 استفاده میکنه. این فناوری‌ها کمک میکنن هویت ربات‌ها به طور دقیق تایید بشه تا جلوی جعل و تقلب گرفته بشه.

    “`

    منابع

    • [2] Cloudflare’s innovative “pay per crawl” lets publishers charge AI crawlers for content
    • [4] Just a moment…
    • [6] How Cloudflare’s Pay-Per-Crawl Marketplace Protects Publishers
    • [8] Cloudflare’s Pay Per Crawl: A turning point for SEO and GEO
    • [1] Publishers Push Back Against AI Data Scraping as Cloudflare Introduces ‘Pay per Crawl’ | Music AI
    • [3] Introducing pay per crawl: Enabling content owners to charge AI crawlers for access – Piccalilli
    • [5] The Future of Content and AI: Pay per Crawl and What’s Next – Cloudflare TV
    • [7] Legal News, Updates & Analysis | Advocate Daily
    • [9] Cloudflare’s Decision to Block AI Crawlers Could Affect Your Performance in LLMs | JumpFly Digital Marketing Blog