آنچه در این مقاله میخوانید
راهنمای مقابله با حملات DDoS به وبسایت با استفاده از Cloudflare
۱۸ دی ۱۴۰۴
در این مقاله، به شما نشان میدهیم که چگونه با استفاده از سرویس رایگان کلادفلر (Cloudflare) میتوانید وبسایت خود را در برابر حملات DDoS مبتنی بر HTTP محافظت کنید. کلادفلر یک شرکت ارائهدهنده خدمات شبکه تحویل محتوا (CDN) و DNS توزیعشده است که با عمل بهعنوان یک پراکسی معکوس، امنیت، سرعت و دسترسیپذیری وبسایت شما را بهبود میبخشد. ما در این آموزش بهطور خاص روی فعالسازی حالت I’m Under Attack Mode تمرکز میکنیم. این حالت با نمایش یک صفحه واسطه (interstitial page) برای تأیید هویت کاربران، از وبسرور شما در برابر حملات DDoS محافظت میکند.
این آموزش بهگونهای نوشته شده که هم برای افراد حرفهای و هم برای کاربران مبتدی قابلفهم باشد. بنابراین، اگر تازهکار هستید یا تجربه کمی در مدیریت وبسایت دارید، نگران نباشید؛ با زبانی ساده و مثالهای کاربردی شما را راهنمایی میکنیم.

آنچه در ادامه خواهید خواند:
- پیشنیازها
- مرحله اول: پیکربندی دامنه برای استفاده از کلادفلر
- مرحله دوم: فعالسازی حالت محافظت در برابر حمله
- جمع بندی
پیشنیازها
برای شروع این آموزش، به موارد زیر نیاز دارید:
- یک وبسرور: سروری که وبسایت شما روی آن میزبانی میشود.
- دامنه ثبتشده: دامنهای که به وبسرور شما اشاره میکند.
- دسترسی به پنل مدیریت دامنه: باید بتوانید تنظیمات DNS دامنه خود را در پنل ثبتکننده دامنه تغییر دهید.
- حساب کاربری کلادفلر: اگر هنوز حساب کاربری ندارید، باید در کلادفلر ثبتنام کنید.
نکته مهم: در این آموزش، باید از نیمسرورهای (Nameservers) کلادفلر استفاده کنید.
مرحله اول: پیکربندی دامنه برای استفاده از کلادفلر
قبل از استفاده از امکانات کلادفلر، باید دامنه خود را برای استفاده از DNS کلادفلر تنظیم کنید. در ادامه، مراحل را بهصورت گامبهگام توضیح میدهیم:
1. ورود به حساب کلادفلر
ابتدا به وبسایت کلادفلر بروید و وارد حساب کاربری خود شوید. اگر حساب ندارید، ثبتنام کنید. پس از ورود، به صفحه “Get Started with Cloudflare” هدایت میشوید.

2. افزودن وبسایت و اسکن رکوردهای DNS
- در صفحه اصلی، روی دکمه Add Site (افزودن سایت) کلیک کنید.

- نام دامنه خود (مثلاً example.com) را وارد کنید و روی Add Site کلیک کنید.
- کلادفلر شروع به اسکن رکوردهای DNS فعلی دامنه شما میکند.
3. انتخاب طرح کلادفلر
در این آموزش، ما از طرح رایگان (Free Plan) استفاده میکنیم. اگر به امکانات پیشرفتهتر نیاز دارید، میتوانید طرحهای پولی را انتخاب کنید. پس از انتخاب طرح رایگان، روی Continue کلیک کنید.

4. بررسی رکوردهای DNS
پس از اسکن، کلادفلر لیستی از رکوردهای DNS فعلی دامنه شما را نمایش میدهد. مطمئن شوید که تمام رکوردهای موردنیاز (مانند A و CNAME) موجود هستند. این رکوردها به کلادفلر کمک میکنند تا درخواستهای ارسالی به دامنه شما را به درستی هدایت کند.
نکته: در ستون Status، رکوردهای A و CNAME که به وبسرور شما اشاره دارند، باید یک ابر نارنجی با فلش داشته باشند. این نشان میدهد که ترافیک وبسایت شما از طریق پراکسی معکوس کلادفلر هدایت میشود.

5. تغییر نیمسرورها
کلادفلر دو نیمسرور جدید (مانند olga.ns.cloudflare.com و rob.ns.cloudflare.com) به شما ارائه میدهد که باید جایگزین نیمسرورهای فعلی دامنه شوند.
برای این کار:
- به پنل مدیریت دامنه خود در وبسایت ثبتکننده دامنه (مانند NameCheap، GoDaddy یا Google Domains) وارد شوید.
- بخش تنظیمات DNS یا Nameservers را پیدا کنید.
- نیمسرورهای قدیمی را حذف کرده و نیمسرورهای کلادفلر را وارد کنید.
مثال: فرض کنید دامنه شما در NameCheap ثبت شده است. وارد پنل NameCheap شوید، دامنه خود را انتخاب کنید، به بخش Nameservers بروید و گزینه Custom DNS را انتخاب کنید. سپس نیمسرورهای کلادفلر را وارد کنید.

توجه: تغییر نیمسرورها ممکن است تا 24 ساعت طول بکشد، اما معمولاً در عرض چند دقیقه تا چند ساعت انجام میشود.
6. انتظار برای بهروزرسانی نیمسرورها
پس از تغییر نیمسرورها، کلادفلر صفحهای با وضعیت Pending (در انتظار) نمایش میدهد. این یعنی کلادفلر منتظر است تا نیمسرورهای جدید فعال شوند. میتوانید با کلیک روی دکمه Recheck Nameservers وضعیت را بررسی کنید.

وضعیت Pending به این معناست که Cloudflare در حال انتظار است تا نیمسرورهای دامنه شما به نیمسرورهایی که خود ارائه داده است (برای مثال olga.ns.cloudflare.com و rob.ns.cloudflare.com) بهروزرسانی شوند. اگر نیمسرورهای دامنه خود را تغییر دادهاید، تنها کاری که باید انجام دهید این است که کمی صبر کنید و بعداً وضعیت دامنه را بررسی کنید تا به حالت Active تغییر کند. همچنین اگر روی دکمه Recheck Nameservers کلیک کنید یا وارد داشبورد Cloudflare شوید، سیستم بررسی میکند که آیا نیمسرورها بهروزرسانی شدهاند یا خیر.
7. فعالسازی موفق Cloudflare
پس از بهروزرسانی نیمسرورها، دامنه شما از DNS کلادفلر استفاده خواهد کرد و وضعیت آن به Active تغییر میکند.
این وضعیت به این معناست که Cloudflare بهعنوان یک پراکسی معکوس (Reverse Proxy) در مقابل وبسایت شما قرار گرفته است و شما به قابلیتهایی که متناسب با پلن انتخابیتان در دسترس هستند، دسترسی خواهید داشت. اگر از پلن رایگان استفاده میکنید (همانطور که در این آموزش فرض شده است)، به مجموعهای از قابلیتها دسترسی دارید که میتوانند امنیت، سرعت و دسترسپذیری وبسایت شما را بهبود دهند.
در این آموزش به بررسی تمام قابلیتهای Cloudflare نمیپردازیم، زیرا تمرکز ما روی کاهش و مقابله با حملات DDoS در حال وقوع است. با این حال، برخی از این قابلیتها عبارتاند از:
- شبکه تحویل محتوا (CDN)
- گواهی SSL
- کش کردن محتوای استاتیک
- فایروال (قبل از رسیدن ترافیک به وبسرور)
- ابزارهای تحلیل و آنالیز ترافیک
همچنین به بخش Settings Summary توجه کنید. این بخش که درست در زیر نام دامنه نمایش داده میشود، سطح امنیت فعلی وبسایت شما (که بهصورت پیشفرض روی Medium قرار دارد) و برخی اطلاعات دیگر را نشان میدهد.
این کار اهمیت زیادی دارد، زیرا باعث میشود:
- Cloudflare ارتباطهای معتبر از سرویسهایی که قصد دارید به آنها اجازه دسترسی بدهید را مسدود نکند
- لاگهای وبسرور شما آدرس IP واقعی بازدیدکنندگان را نمایش دهند (و نه IPهای مربوط به پراکسی معکوس Cloudflare)
- پس از انجام این تنظیمات اولیه، حالا میتوانیم به سراغ بررسی تنظیم I’m Under Attack Mode در فایروال Cloudflare برویم.
مرحله دوم: فعالسازی حالت محافظت در برابر حمله
بهصورت پیشفرض، سطح امنیت فایروال Cloudflare روی حالت Medium تنظیم شده است. این سطح امنیتی تا حدی از وبسایت در برابر بازدیدکنندگانی که بهعنوان تهدید متوسط (Moderate Threat) شناسایی میشوند محافظت میکند؛ به این صورت که پیش از اجازه دسترسی به وبسایت، یک صفحه چالش (Challenge Page) به آنها نمایش داده میشود. با این حال، اگر وبسایت شما هدف یک حمله DDoS قرار گرفته باشد، این سطح از محافظت ممکن است برای فعال نگه داشتن وبسایت کافی نباشد. در چنین شرایطی، استفاده از حالت دفاع در برابر حمله میتواند گزینه مناسبی باشد.
در صورتی که این حالت را فعال کنید، تمام بازدیدکنندگان وبسایت با یک صفحه واسط (Interstitial Page) مواجه میشوند که در آن، مجموعهای از بررسیهای مربوط به مرورگر انجام میشود. در این فرایند، کاربر حدود ۵ ثانیه در انتظار میماند و پس از تأیید، درخواست او به وبسرور شما ارسال میشود. این صفحه معمولاً ظاهری مشابه نمونه زیر خواهد داشت:

در صورتی که این بررسیها با موفقیت انجام شوند، به بازدیدکننده اجازه داده میشود به وبسایت دسترسی پیدا کند. ترکیب جلوگیری از اتصال بازدیدکنندگان مخرب و ایجاد تأخیر در دسترسی آنها به وبسایت، در بسیاری از موارد برای فعال و در دسترس نگه داشتن سایت کافی است؛ حتی زمانی که وبسایت در معرض یک حمله DDoS قرار دارد.
توجه داشته باشید که حالت محافظت در برابر حمله باید تنها زمانی فعال باشد که وبسایت شما قربانی یک حمله DDoS شده است. در غیر این صورت، بهتر است این حالت غیرفعال شود تا بدون دلیل، دسترسی کاربران عادی به وبسایت با تأخیر مواجه نشود.
1. نحوه فعالسازی حالت محافظت در برابر حمله
اگر قصد دارید حالت محافظت در برابر حمله را فعال کنید، سادهترین روش این است که به صفحه Overview در Cloudflare (که صفحه پیشفرض داشبورد است) مراجعه کرده و این گزینه را از طریق سایدبار سمت راست صفحه فعال کنید:

تنظیمات امنیتی بلافاصله به وضعیت حالت محافظت در برابر حمله تغییر میکنند. از این پس، تمام بازدیدکنندگان وبسایت شما با صفحه واسط Cloudflare مواجه خواهند شد که پیشتر توضیح داده شد.
2. نحوه غیرفعالسازی حالت محافظت در برابر حمله
از آنجایی که حالت محافظت در برابر حمله تنها در شرایط اضطراری حمله DDoS استفاده میشود، باید در صورت عدم وجود حمله، آن را غیرفعال کنید. برای این کار، به صفحه Overview در Cloudflare بروید و گزینه مربوطه را خاموش کنید. با این کار، یک پنجره مودال مشابه تصویر زیر باز خواهد شد:

سپس سطح امنیتی مورد نظر خود را برای تغییر انتخاب کنید. حالت پیشفرض و معمولاً توصیهشده، Medium است. وبسایت شما باید دوباره به وضعیت Active بازگردد و صفحه محافظت در برابر DDoS غیرفعال شود.
جمع بندی
حال که وبسایت شما پشت Cloudflare قرار گرفته است، یک ابزار دیگر برای محافظت آسان در برابر حملات DDoS مبتنی بر HTTP در اختیار دارید. علاوه بر این، Cloudflare مجموعهای از ابزارهای دیگر نیز ارائه میدهد که ممکن است بخواهید آنها را راهاندازی کنید، مانند گواهیهای SSL رایگان. بنابراین توصیه میشود گزینهها را بررسی کرده و ببینید کدامیک برای شما مفید است.