Sur un serveur Internet on est confronté à des tentatives répétées d’intrusion par « force brute » : des machines (elles-mêmes piratées) essaient de se connecter en enchaînant toutes les quelques secondes des tentatives ssh (login, password). Le fichier de log /var/log/auth.log
se remplit alors de lignes du genre :
D’une part c’est un peu saoûlant, d’autre part on ne peut pas forcément écarter l’hypothèse qu’ils finissent par trouver un « trou », un mot de passe un peu trop évident par exemple... On va donc installer fail2ban
, un démon qui surveille ces logs et bannit les numéros IP effectuant trop de connexions fausses.
Sous Debian c’est du gâteau :
# apt-get update
# apt-get install fail2ban
Si on veut suivre un peu ce qui se passe on va créer /etc/fail2ban/jail.local
en s’inspirant de la config par défaut donnée dans /etc/fail2ban/jail.conf
:
On redémarre le démon :
# /etc/init.d/fail2ban restart
On reçoit alors, à chaque fois qu’une IP est bannie, un rapport complet par email. Le bannissement dure 10 minutes (configurable via bantime = 600
). fail2ban
est par défaut activée sur le service sshd
, mais il peut aussi surveiller les logs de connexion à d’autres services (FTP, etc).
A tout moment on peut regarder la liste des IP bloquées en appelant :
# iptables -L
Limiter le spam
fail2ban
sait aussi surveiller les logs de postfix et bannir les spammeurs :
[postfix]
enabled = true
port = smtp
filter = postfix
logpath = /var/log/mail.log
3 Messages de forum