Fail2ban est un outil de prévention des intrusions qui analyse les logs des services et bannit automatiquement les adresses IP qui échouent trop de fois. Il est particulièrement efficace contre les attaques par force brute sur SSH, HTTP, FTP, etc.
apt install fail2bansystemctl status fail2bansystemctl enable fail2ban/etc/fail2ban/jail.conf : configuration principale./etc/fail2ban/jail.local : personnalisation (ne pas modifier jail.conf)./etc/fail2ban/filter.d/ : filtres personnalisés.Activer la jail SSH dans jail.local :
[sshd] enabled = true port = 22 filter = sshd logpath = /var/log/auth.log maxretry = 3 bantime = 3600 findtime = 600
enabled = true : active la jail.port = 22 : port SSH (à adapter si modifié).filter = sshd : utilise le filtre sshd (défini dans filter.d/sshd.conf).logpath : fichier de logs à surveiller.maxretry = 3 : nombre d'échecs avant bannissement.bantime = 3600 : durée du bannissement en secondes (1 heure).findtime = 600 : fenêtre de temps en secondes (10 min).| Commande | Description |
|---|---|
| fail2ban-client status | Affiche l'état global. |
| fail2ban-client status sshd | Affiche l'état de la jail SSH. |
| fail2ban-client set sshd banip 192.168.1.100 | Bannir manuellement une IP. |
| fail2ban-client set sshd unbanip 192.168.1.100 | Débannir une IP. |
| fail2ban-client reload | Recharger la configuration. |
Protéger un site web contre les attaques HTTP (ex: Wordpress) :
[wordpress] enabled = true port = http,https filter = wordpress logpath = /var/log/nginx/access.log maxretry = 5 bantime = 1800 findtime = 300
port = http,https : surveille les ports 80 et 443.filter = wordpress : filtre personnalisé (à créer).logpath : logs du serveur web.Fichier /etc/fail2ban/filter.d/wordpress.conf :
[Definition] failregex = ^<HOST> .* "POST /wp-login.php.* HTTP.* 200.*$ ignoreregex =
failregex : expression régulière pour détecter les échecs.<HOST> : remplacé par l'adresse IP.Quel fichier utilise-t-on pour personnaliser les jails Fail2ban ?
/etc/fail2ban/jail.local
Quelle commande permet de voir l'état de la jail SSH ?
fail2ban-client status sshd
1. Fail2ban analyse les fichiers de logs pour :
2. La directive maxretry définit :
3. Pour débannir manuellement une IP, on utilise :
4. Le fichier de configuration principal de Fail2ban est :
5. La directive bantime est exprimée en :