Sécurité du serveur : fail2ban (Serveur Web sur Debian Lenny)
par Nyro, Mardi 24 Mars 2009 à 14:00:42 :: Serveur
UPDATE : voir la version à jour pour Debian Squeeze.
fail2ban est utilisé pour lire les log de tous les autres démons et bannir des adresses IP s'ils ont échoués à plusieurs reprises de se connecter.
On installe simplement par apt :
apt-get install fail2ban
Puis on configure fail2ban dans /etc/fail2ban/jail.conf
bantime = 600
destemail = server@domain.tld
action = %(action_mwl)s
[postfix]
action = %(action_)s
bantime = 3600
De cette façon, on recevra un email lorsque fail2ban fera une action quelconque. Il a été désactivé pour postfix car les emails étaient très très nombreux !!!
Ensuite, activez les démons que vous désirez. Dans notre installation, il s'agit de pam-generic, vsftpd, postfix, apache, apache-noscripts, apache-overflows et sasl : il suffit de mettre enabled à true dans les sections concernés.
Il existe aussi une attaque sur le serveur Apache qui envoie des requêtes étranges sur la racine du serveur en cherchant un fichier commencant par w00tw00t. Nous pouvons bannir aussi les IP qui effectuent ces requêtes en ajoutant le fichier /etc/fail2ban/filter.d/apache-w00tw00t.conf :
# - - [29/Apr/2008:22:54:08 +0200] "GET /w00tw00t.at.ISC.SANS.DFind:) HTTP/1.1" 400 326
[Definition]
# Option: failregex
# Notes.: regex to match the w00tw00t scan messages in the logfile. The
# host must be matched by a group named "host". The tag "" can
# be used for standard IP/hostname matching.
# Values: TEXT
failregex = ˆ -.*"GET \/w00tw00t\.at\.ISC\.SANS\.DFind\:\).*".*
# Option: ignoreregex
# Notes.: regex to ignore. If this regex matches, the line is ignored.
# Values: TEXT
ignoreregex =
Puis il faut activer ce filtre dans /etc/fail2ban/jail.conf en ajoutant :
[apache-w00tw00t]
enabled = true
filter = apache-w00tw00t
port = all
banaction = iptables-allports
port = anyport
logpath = /var/log/apache*/access.log
maxretry = 1
bantime = 86400
En plus, je me suis aperçu que de nombreux spammeurs essayaient d'envoyer des emails à des adresses inexistantes. Par défaut, le filtre de fail2ban ne banni que les emails rejeté par le serveur (erreur 554) et pas les emails rejeté pour une adresse inexistante. c'est pour cela qu'on édite le fichier /etc/fail2ban/filter.d/postfix.conf pour simplement supprimé le 4 de failregex = reject: RCPT from (.*)\[\]: 55 pour bannir n'importe quelle erreur.
Et pour finir, on recharge le démons pour prendre en compte nos changements :
/etc/init.d/fail2ban force-reload
Maintenant que notre serveur fonctionne avec les démons que l'on veut, si on monitorait pour avoir quelques stats et outils ?
Retour au sommaire.
Commentaires.
1. le Jeudi 26 Mars 2009 à 12:38:57, par Jim
Ajouter un commentaire.