Fail2ban
Nous allons voir l'installation de Fail2ban :
Fail2ban est un script surveillant les accès réseau grâce aux logs des serveurs. Lorsqu'il détecte des erreurs d'authentification répétées, il prend des contre-mesures en bannissant l'adresse IP grâce à iptables. Cela permet d'éviter nombre d'attaques bruteforce et/ou par dictionnaire.
#apt-get install fail2ban
répondre Yes.
#nano /etc/fail2ban/fail2ban.conf
loglevel
Niveau de détail des logs (défaut 3)
logtarget = /var/log/fail2ban.log
Chemin vers le fichier de log (description des actions entreprises par fail2ban)
Les services à monitorer sont stockés dans jail.conf. Il est recommandé d'en effectuer une copie nommée jail.local qui sera automatiquement utilisée à la place du fichier exemple.
#cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
Puis l'éditer :
#nano /etc/fail2ban/jail.local
Quelques paramètres globaux :
ignoreip = 127.0.0.1
Liste des adresses IP de confiance à ignorer par fail2ban
bantime = 600
Temps de ban en secondes
maxretry = 3
Nombre d'essais autorisés pour une connexion avant d'être banni
destmail Cette adresse e-mail est protégée contre les robots spammeurs. Vous devez activer le JavaScript pour la visualiser.
Adresse e-mail destinataire des notifications
action
Action à entreprendre en cas de détection positive (voir dans /etc/fail2ban/action.d/)
Dans la partie jail vous trouverez des blocs du type :
[ssh]
enabled = true
port = ssh,sftp
filter = sshd
logpath = /var/log/auth.log
maxretry = 6
[ssh]= nom du service
enabled = activation
port = les ports à bloquer avec les règles iptables
filter = le nom du filtre (expression régulière) associé
logpath = le fichier de log à lire
maxretry = le nombre maximal de tentatives avant bloquage.
Vous pouvez rajouté des sections suivants les services ou activer les services prédéfinit : apache, ftp, etc
Chaque section possède ses propres paramètres qui prennent le pas sur les globaux s'ils sont mentionnés :
enabled
Monitoring activé (true) ou non (false)
maxretry, bantime, ignoreip, destmail
Voir ci-dessus
port
Port IP concerné
logpath
Fichier de log à analyser pour détecter des anomalies
filter
Filtre utilisé pour l'analyser du log
Les filtres par défaut sont stockés dans /etc/fail2ban/filter.d. Ils contiennent en général une instruction failregex suivie d'une expression régulière matchant la détection d'une authentification erronée. Par exemple pour le service Courier :
failregex = LOGIN FAILED, ip=[<HOST>]$
Note : Celle-ci peut être précisée directement dans jail.local à la section appropriée pour prendre le pas sur la directive filter.
Modifiez les ports le cas échéant dans la section ssh si vous avez suivi la recommandation ci-dessus...
enabled = true
port = 2222
Après modification de la configuration, n'oubliez pas de redémarrer fail2ban :
#/etc/init.d/fail2ban restart