Ajoutez un filtre fail2ban anti DDOS pour Nginx
Les attaques DDOS sur votre serveur peuvent être très gênantes et utilisent des ressources inutilement. Il est pourtant très simple de les bloquer grâce à fail2ban.
Si vous n’avez pas encore fail2ban, empressez vous d’installer ce logiciel fantastique ( apt-get install fail2ban sous Debian / Ubuntu).
La première étape consiste à créer un filtre pour les logs nginx, commencez donc par créer un fichier /etc/fail2ban/filter.d/nginx-dos.conf avec le contenu suivant :
1 2 3 4 5 6 |
# fail2ban filter configuration for nginx [Definition] failregex = ^<HOST> -.*"(GET|POST).*HTTP.*"$ ignoreregex = |
Editez ensuite votre fichier /etc/fail2ban/jail.conf et ajoutez
1 2 3 4 5 6 7 8 9 |
[nginx-dos] enabled = true port = http filter = nginx-dos logpath = /var/log/nginx/access.log findtime = 30 bantime = 172800 maxretry = 120 |
Avec ces paramètres, fail2ban va bloquer tous les robots qui lancent plus de 120 requêtes par tranche de 30 secondes pendant 2 jours. Par définition, un humain ne peut pas avoir autant de requêtes sur un laps de temps aussi court.
N’hésitez pas à tester votre configuration à l’aide de la commande fail2ban-regex : fail2ban-regex /var/log/nginx/access.log /etc/fail2ban/filter.d/nginx-dos.conf .
Vous pouvez consulter le résultat des bans dans le fichier /var/log/fail2ban.log.