Author: depmod
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.
Restez informés des mises à jour pour votre serveur Ubuntu avec apticron
On ne pense pas toujours à vérifier les mises à jour disponibles pour son serveur et cela peut être préjudiciable pour votre dernier. Il existe pourtant un paquet qui permet de vous envoyer un mail dès qu’une mise à jour est disponible avec un résumé des changements. Ce paquet s’appelle apticron et s’installe à l’aide la commande suivante apt-get install apticron. Répondez « O » lorsqu’on vous le demande.
Ce script va tout simplement créer une règle cron qui vérifiera si des mises à jour sont disponibles.
Il suffit ensuite de configurer l’adresse mail sur laquelle vous souhaitez recevoir les notifications en éditant le fichier suivant /etc/apticron/apticron.conf à l’aide de votre éditeur préféré. Il faut éditer le paramètre EMAIL="post+apticron@domain.tld" en y indiquant l’adresse mail sur laquelle vous souhaitez recevoir les notifications. Vous pouvez aussi changer l’émetteur et le sujet avec les paramètres CUSTOM_SUBJECT="" et CUSTOM_FROM="" .
Vous recevrez ainsi un mail semblable au suivant :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 |
apticron report [Mon, 05 May 2014 20:31:56 +0200] ======================================================================== apticron has detected that some packages need upgrading on: asslurp [ 37.187.102.135 10.8.0.1 2001:41d0:a:2687::1 37.187.102.135 ] [ 2001:41d0:a:2687::1 ] The following packages are currently pending an upgrade: libssl1.0.0 1.0.1f-1ubuntu2.1 openssl 1.0.1f-1ubuntu2.1 ======================================================================== Package Details: Lecture des fichiers de modifications (« changelog »)... --- Modifications pour openssl (libssl1.0.0 openssl) --- openssl (1.0.1f-1ubuntu2.1) trusty-security; urgency=medium * SECURITY UPDATE: denial of service via use after free - debian/patches/CVE-2010-5298.patch: check s->s3->rbuf.left before releasing buffers in ssl/s3_pkt.c. - CVE-2010-5298 * SECURITY UPDATE: denial of service via null pointer dereference - debian/patches/CVE-2014-0198.patch: if buffer was released, get a new one in ssl/s3_pkt.c. - CVE-2014-0198 -- Marc Deslauriers <marc.deslauriers@ubuntu.com> Fri, 02 May 2014 15:23:01 -0400 ======================================================================== You can perform the upgrade by issuing the command: apt-get dist-upgrade as root on asslurp -- apticron |
Il ne reste plus qu’à mettre à jour votre serveur comme d’habitude!
WordPress URL rewriting with Nginx
1 2 3 |
location /wp/ { try_files $uri $uri/ /wp/index.php?$args; } |