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.