Aller au contenu principal

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 jailServiceDurée de banDescription
ssh-ipsetSSH24hProtection SSH
pure-ftpd-ipsetFTP24hProtection FTP
haproxy_10mHAProxy10minBannissement temporaire court dans HAProxy
haproxy_6hHAProxy6hBannissement moyen terme dans HAProxy
haproxy_24hHAProxy24hBannissement long terme dans HAProxy
http-https_10mWeb10minBannissement temporaire court sur ports 80/443
http-https_6hWeb6hBannissement moyen terme sur ports 80/443
http-https_24hWeb24hBannissement 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