Fail2Ban en détail
Introduction
Ce document explique comment utiliser Fail2Ban pour gérer les bannissements d'adresses IP sur vos installations Kokiris. Le système permet à l'utilisateur admin de bannir des IPs dans HAProxy et d'autres services directement via la commande sudo fail2ban-client
.
Jails disponibles
Les jails suivants sont configurés sur le système :
Nom de jail | Service | Durée de ban | Description |
---|---|---|---|
ssh-ipset | SSH | 24h | Protection SSH |
pure-ftpd-ipset | FTP | 24h | Protection FTP |
haproxy_10m | HAProxy | 10min | Bannissement temporaire court dans HAProxy |
haproxy_6h | HAProxy | 6h | Bannissement moyen terme dans HAProxy |
haproxy_24h | HAProxy | 24h | Bannissement long terme dans HAProxy |
http-https_10m | Web | 10min | Bannissement temporaire court sur ports 80/443 |
http-https_6h | Web | 6h | Bannissement moyen terme sur ports 80/443 |
http-https_24h | Web | 24h | Bannissement long terme sur ports 80/443 |
Commandes principales
Lister les jails disponibles
sudo fail2ban-client status
Vérifier le statut d'un jail spécifique
sudo fail2ban-client status NOM_DU_JAIL
Exemple :
sudo fail2ban-client status haproxy_24h
Bannir une adresse IP manuellement
sudo fail2ban-client set NOM_DU_JAIL banip ADRESSE_IP
Exemple :
sudo fail2ban-client set haproxy_24h banip 192.168.1.10
Débannir une adresse IP
sudo fail2ban-client set NOM_DU_JAIL unbanip ADRESSE_IP
Exemple :
sudo fail2ban-client set haproxy_24h unbanip 192.168.1.10
Ajouter une IP à la liste des adresses ignorées
sudo fail2ban-client set NOM_DU_JAIL addignoreip ADRESSE_IP
Exemple :
sudo fail2ban-client set haproxy_24h addignoreip 192.168.1.5
Retirer une IP de la liste des adresses ignorées
sudo fail2ban-client set NOM_DU_JAIL delignoreip ADRESSE_IP
Exemple :
sudo fail2ban-client set haproxy_24h delignoreip 192.168.1.5
Filtres configurés
HAProxy Bruteforce
Ce filtre détecte les tentatives d'attaque par force brute via HAProxy, notamment :
- Attaques sur les endpoints WordPress (xmlrpc.php, wp-login.php)
- Attaques sur les interfaces d'administration Joomla
- Tentatives de connexion aux endpoints génériques de login
Apache Bruteforce
Similaire au filtre HAProxy, mais pour les logs d'Apache, détectant les mêmes types d'attaques.
Pure-FTPd
Détecte les échecs d'authentification sur le serveur FTP Pure-FTPd.
Actions spéciales
HAProxy Socket
L'action haproxy-socket
permet d'ajouter et de retirer des adresses IP directement dans la liste noire de HAProxy via le socket d'administration :
- Pour bannir : ajoute l'IP dans la liste d'ACL
/etc/haproxy/ipblacklist
- Pour débannir : retire l'IP de cette même liste d'ACL
Notes importantes
- Les bans par défaut durent 24 heures (86400 secondes)
- La période d'observation est de 10 minutes (600 secondes)
- Le nombre d'échecs autorisés avant bannissement est de 5
- Plusieurs listes d'IPs ignorées sont configurées dans le système (kokiris_ignoreip, cloudflare_ignoreip, customer_ignoreip)
- Les jails avec mention "_10m", "_6h" et "_24h" permettent de bannir pour différentes durées
Conseils d'utilisation
- Pour des bannissements temporaires, utilisez les jails en "_10m"
- Pour des bannissements plus durables, utilisez les jails en "_24h"
- Vérifiez toujours si une IP est légitime avant de la bannir manuellement
- Utilisez la commande
status
pour vérifier si votre action a bien été prise en compte