Ответ
Для базовой защиты от DDoS-атак на уровне сервера можно использовать комбинацию встроенных инструментов и настроек. Эти меры эффективны против атак низкого и среднего уровня.
-
Ограничение скорости запросов (Rate Limiting) Самый эффективный метод на уровне веб-сервера. Nginx позволяет ограничить количество запросов с одного IP-адреса.
# В http блоке limit_req_zone $binary_remote_addr zone=mylimit:10m rate=5r/s; # В server или location блоке server { limit_req zone=mylimit burst=10 nodelay; }rate=5r/s: не более 5 запросов в секунду с одного IP.burst=10: позволяет краткосрочное превышение лимита на 10 запросов.
-
Ограничение количества соединений С помощью
iptablesможно ограничить число одновременных подключений к порту (например, 80) с одного IP.# Разрешить не более 20 одновременных подключений к порту 80 с одного IP iptables -A INPUT -p tcp --syn --dport 80 -m connlimit --connlimit-above 20 -j REJECT -
Включение SYN Cookies Это механизм ядра Linux для защиты от SYN-флуд атак. Он активируется при высокой нагрузке.
# Включить SYN Cookies sysctl -w net.ipv4.tcp_syncookies=1 -
Использование Fail2Ban
Fail2Banсканирует логи (например, Nginx) и автоматически блокирует IP-адреса, проявляющие вредоносную активность (слишком много запросов, попытки сканирования и т.д.).
Важно: Эти методы не спасут от масштабных, распределенных атак. Для серьезной защиты необходимо использовать специализированные сервисы (например, Cloudflare, Qrator Labs) или аппаратные решения.