Защита от DDoS-атак: Nginx, Cloudflare и системные меры

Безопасность · 19.04.2026
Защита от DDoS-атак: Nginx, Cloudflare и системные меры

DDoS-атаки (Distributed Denial of Service) перегружают сервер огромным количеством запросов, делая его недоступным. Эффективная защита строится на нескольких уровнях: сетевой (Cloudflare/CDN), системный (sysctl) и уровень приложения (Nginx).

Уровень 1: Cloudflare DDoS Protection (рекомендуется)

Cloudflare поглощает DDoS-трафик до достижения вашего сервера:

  • Включить Proxy (оранжевое облако) для DNS-записей A и CNAME
  • Security → DDoS → включить HTTP DDoS Attack Protection
  • Security → WAF → включить Managed Rules
  • Security Level: High при атаке, Medium в обычном режиме

Уровень 2: Nginx — ограничения соединений

http {
    limit_conn_zone $binary_remote_addr zone=conn_limit:10m;
    limit_req_zone $binary_remote_addr zone=req_limit:10m rate=50r/s;

    server {
        limit_conn conn_limit 20;      # Макс 20 соединений с одного IP
        limit_req zone=req_limit burst=100 nodelay;
        limit_req_status 429;

        # Таймауты для защиты от Slowloris
        client_body_timeout 10;
        client_header_timeout 10;
        keepalive_timeout 5;
        send_timeout 10;
    }
}

Уровень 3: Системная оптимизация (sysctl)

# /etc/sysctl.d/99-ddos-protect.conf
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_max_syn_backlog = 2048
net.ipv4.tcp_synack_retries = 2
net.ipv4.tcp_syn_retries = 5
net.ipv4.tcp_fin_timeout = 15
net.ipv4.tcp_keepalive_time = 300
net.ipv4.conf.all.rp_filter = 1

sysctl --system

Реагирование на атаку

netstat -tn | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -rn | head -20
ss -s

# Быстро заблокировать атакующий IP
iptables -I INPUT -s ATTACK_IP -j DROP

# Включить режим "Under Attack" в Cloudflare
# Security → Settings → Security Level: I'm Under Attack
IP-скрытие за Cloudflare: Убедитесь, что реальный IP сервера не раскрывается через DNS-историю, email-заголовки или другие каналы. Cloudflare эффективен только пока атакующий не знает реальный IP.
← Назад в базу знаний Задать вопрос поддержке