Быстрая защита веб-сервера apache/nginx от ddos атаки
Защита с помощью fail2ban, через лимиты на количество запросов к веб серверу
1. Устанавливаем fail2ban
yum install fail2ban для CentOS
apt-get install fail2ban для Debian
2. в файл /etc/fail2ban/jail.local добавляем:
enabled=true
port=http,https
filter=http-get-dos
logpath=/var/log/apache2/путь к файлу акцес лога
# maxretry - как много GET запросов разрешено до отправки в бан
maxretry=300
# findtime время за которое подсчитывается количество запросов
findtime=300
# bantime время бана
bantime=300 action=iptables[name=HTTP,port=http,protocol=tcp]
2. Создаём фильтр который используем в jail.local
/etc/fail2ban/filters.d/http-get-dos.conf
# Option: failregex
failregex = ^<HOST> -.*"(GET|POST).*
# Option: ignoreregex
ignoreregex =
3. Включаем сервис
systemctl restart fail2ban
systemctl enable fail2ban
Наблюдаем за результатом бана через iptables
iptables -vnL