ساعت ۲ بامداد. سایت فروشگاه آنلاین شما ناگهان down می‌شود. سرور جواب نمی‌دهد. هاست زنگ می‌زند: «داریم از یک حمله DDoS روی سرور شما جلوگیری می‌کنیم.» این سناریوی کابوس‌وار برای هزاران کسب‌وکار آنلاین اتفاق می‌افتد. DDoS یکی از ساده‌ترین و در عین حال مخرب‌ترین حملات سایبری است.

DDoS چیست؟

DDoS مخفف Distributed Denial of Service است. در این حمله، هزاران کامپیوتر آلوده (botnet) همزمان به سرور شما درخواست می‌فرستند تا منابع آن را تمام کنند و از دسترس کاربران واقعی خارج شود.

تفاوت DoS با DDoS:

  • DoS (Denial of Service): حمله از یک منبع. ساده است که بلاک شود
  • DDoS (Distributed): از صدها یا هزاران منبع توزیع‌شده. بلاک کردن یک IP کمکی نمی‌کند

Botnet: ارتش کامپیوترهای آلوده

Botnet شبکه‌ای از دستگاه‌های آلوده است که توسط هکر (Botmaster) کنترل می‌شود. این دستگاه‌ها بدون اطلاع صاحبانشان آلوده شده‌اند. ممکن است کامپیوتر خانگی یا دوربین IP خانه‌ای الان بخشی از یک botnet باشد و به سایتی در نقطه دیگری از دنیا حمله کند.

انواع حملات DDoS

۱. حملات Volumetric (حجمی)

هدف: پر کردن پهنای باند با ترافیک انبوه.

  • UDP Flood: ارسال حجم زیادی پکت UDP به پورت‌های تصادفی
  • DNS Amplification: استفاده از DNS servers برای تقویت ترافیک. با یک درخواست ۵۰ بایتی می‌توان پاسخ ۴۰۰۰ بایتی دریافت کرد — ۸۰ برابر تقویت
  • NTP Amplification: مشابه DNS Amplification با سرورهای NTP

۲. حملات Protocol (پروتکل)

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

  • SYN Flood: ارسال انبوه درخواست‌های TCP SYN بدون complete کردن handshake. سرور منتظر می‌ماند و پیام‌های half-open connection انباشته می‌شوند
  • Ping of Death: ارسال پکت‌های ping بیش از حد بزرگ

۳. حملات Application Layer (لایه اپلیکیشن)

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

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

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

علائم:

  • سایت خیلی کند شده یا اصلاً باز نمی‌شود
  • ترافیک غیرعادی و ناگهانی — مثلاً ۱۰ برابر شدن در چند دقیقه
  • درخواست‌های زیاد از یک کشور، IP range، یا subnet خاص
  • مصرف بالای CPU، RAM، و پهنای باند
  • خطاهای ۵۰۲، ۵۰۳، ۵۰۴ در سرور
  • گزارش‌های غیرعادی در access log سرور

تشخیص DDoS از traffic spike معمولی

گاهی صعود ترافیک طبیعی است — مثلاً وقتی یک مقاله وایرال می‌شود. چند نشانه که نشان می‌دهد مشکل DDoS است نه ترافیک طبیعی:

  • ترافیک DDoS معمولاً ناگهانی شروع می‌شود، ترافیک طبیعی تدریجی رشد می‌کند
  • الگوی درخواست‌ها یکنواخت و مشکوک است
  • درخواست‌ها از کشورهایی می‌آیند که کاربران اصلی سایت شما آنجا نیستند
  • User-Agent ها یا فرمت درخواست‌ها غیرمعمول است

تاثیر حمله DDoS

  • از دست دادن درآمد: برای فروشگاه آنلاین، هر ساعت downtime خسارت مستقیم مالی است
  • آسیب به اعتبار: کاربران سایت ناپایدار را به خاطر می‌سپارند
  • هزینه ترافیک اضافه: برخی هاست‌ها بر اساس ترافیک هزینه می‌گیرند
  • پوشش برای حملات دیگر: گاهی DDoS یک پرده‌دود برای پنهان کردن حمله نفوذ است
  • آسیب SEO: downtime طولانی روی رتبه سایت تاثیر دارد

راه‌های مقابله و محافظت

۱. CDN با محافظت DDoS

Cloudflare و ArvanCloud محافظت DDoS رایگان دارند. وقتی از CDN استفاده می‌کنید، IP سرور اصلی پنهان است و ترافیک از سرورهای CDN رد می‌شود که ظرفیت جذب ترافیک بسیار بالایی دارند. این موثرترین و آسان‌ترین راه برای اکثر سایت‌هاست.

۲. Rate Limiting

محدود کردن تعداد درخواست از هر IP در یک بازه زمانی. در Nginx:

limit_req_zone $binary_remote_addr zone=mylimit:10m rate=10r/s;

server {
    location / {
        limit_req zone=mylimit burst=20 nodelay;
        limit_req_status 429;
    }

    location /login {
        limit_req zone=mylimit burst=5 nodelay;
    }
}

این تنظیم هر IP را به ۱۰ درخواست در ثانیه محدود می‌کند با burst تا ۲۰. صفحه login محدودتر است.

۳. IP Blocking و Geo-blocking

اگر حمله از یک کشور یا IP range خاصی می‌آید، می‌توانید آن را بلاک کنید. Cloudflare این کار را خیلی ساده می‌کند. در Nginx با fail2ban هم می‌توانید IP های مشکوک را خودکار بلاک کنید.

۴. تنظیمات سرور برای SYN Flood

در لینوکس می‌توانید SYN Cookies را فعال کنید تا در برابر SYN Flood مقاوم‌تر باشید:

# فعال کردن SYN Cookies
echo 1 > /proc/sys/net/ipv4/tcp_syncookies

# برای دائمی بودن در /etc/sysctl.conf:
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_max_syn_backlog = 2048
net.ipv4.tcp_synack_retries = 2

۵. Anycast Network Diffusion

CDNهای بزرگ از شبکه Anycast استفاده می‌کنند که ترافیک DDoS را بین ده‌ها نقطه در دنیا پخش می‌کند. Cloudflare ظرفیت شبکه بالای ۱۰۰ Tbps دارد — اکثر حملات DDoS نمی‌توانند این را اشباع کنند.

۶. داشتن پلن واکنش

از قبل تصمیم بگیرید که اگر حمله شد چه کار می‌کنید. با هاست تماس می‌گیرید؟ Cloudflare را فعال می‌کنید؟ چه کسی مسئول واکنش است؟ هنگام حمله برای تصمیم‌گیری وقت کافی ندارید — باید از قبل برنامه داشته باشید.

DDoS و تفاوت با سایر حملات

DDoS اغلب با سایر حملات اشتباه گرفته می‌شود:

  • DDoS در مقابل Hacking: DDoS سایت را از دسترس خارج می‌کند ولی نفوذ نمی‌کند. Hacking به سیستم دسترسی پیدا می‌کند. گاهی DDoS پوششی برای hacking است
  • DDoS در مقابل Spam: Spam تعداد زیادی ایمیل می‌فرستد. DDoS ترافیک شبکه ایجاد می‌کند تا منابع را مصرف کند
  • DDoS در مقابل Traffic Spike: ترافیک ناگهانی طبیعی (مثل وایرال شدن یک محتوا) هم می‌تواند سرور را down کند، ولی این DDoS نیست — این مشکل ظرفیت است که با CDN، Load Balancer، یا Scale Up حل می‌شود

هزینه واقعی DDoS برای کسب‌وکار

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

ولی هزینه‌های غیرمستقیم هم مهمند:

  • از دست دادن اعتماد مشتریان که تجربه بدی داشتند
  • تاثیر منفی روی رتبه SEO از طریق downtime طولانی
  • هزینه ترافیک اضافه‌ای که ارائه‌دهنده سرور ممکن است محاسبه کند
  • وقت صرف‌شده تیم فنی برای مقابله با حمله

DDoS-for-Hire: تهدید رو به رشد

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

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

پلن واکنش عملی هنگام حمله

اگر الان زیر حمله هستید:

  1. با هاست تماس بگیرید — آن‌ها می‌توانند از سمت شبکه کمک کنند
  2. Cloudflare را فعال کنید — اگر ندارید، الان ثبت‌نام کنید. این سریع‌ترین اقدام ممکن است
  3. Under Attack Mode را فعال کنید — Cloudflare یک CAPTCHA به همه کاربران نشان می‌دهد
  4. لاگ‌ها را بررسی کنید و IP یا IP range های مشکوک را بلاک کنید
  5. اگر حمله ادامه داشت، با متخصص امنیت مشورت کنید

سوالات متداول

آیا یک سایت کوچک هم هدف DDoS می‌شود؟

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

آیا Cloudflare رایگان در برابر DDoS کافی است؟

برای اکثر سایت‌های متوسط، پلن رایگان Cloudflare محافظت خوبی ارائه می‌دهد. در برابر حملات volumetric بسیار بزرگ، Cloudflare Pro یا Business انتخاب بهتری است. برای سایت‌های با ترافیک بالا یا کسب‌وکارهای بزرگ، راه‌حل‌های enterprise توصیه می‌شود.

آیا DDoS یک جرم محسوب می‌شود؟

بله. در ایران و اکثر کشورها، اجرای حمله DDoS جرم سایبری محسوب می‌شود و مجازات‌های قانونی دارد. حتی اجاره سرویس‌های DDoS-for-hire هم غیرقانونی است. متاسفانه تحقیق و تعقیب مهاجمان به دلیل ماهیت توزیع‌شده حملات سخت است.

وقتی حمله DDoS شد چیکار کنم؟

اول با هاست تماس بگیرید. دوم، اگر Cloudflare ندارید، سریع فعالش کنید. سوم، حالت Under Attack Mode را روشن کنید. چهارم، لاگ‌ها را بررسی کنید و IP های مشکوک را بلاک کنید. اگر حمله ادامه داشت، با متخصص امنیت مشورت کنید. صباهاست در زیرساخت سروری خود تمهیداتی برای کاهش تاثیر حملات DDoS دارد که در کنار CDN، یک پوشش دفاعی قوی ایجاد می‌کند.

جمع‌بندی

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

بهترین رویکرد دفاع چندلایه است: Cloudflare یا ArvanCloud رایگان را فعال کنید، Rate Limiting روی سرور را تنظیم کنید، مطمئن شوید هاست یا VPSتان محافظت DDoS دارد، و یک پلن واکنش داشته باشید. اقدام ترکیبی در چند لایه موثرترین روش مقابله با DDoS است — و بهتر از هر اقدامی، انجام دادن این تمهیدات قبل از حمله است، نه بعد از آن.