{{tag>netadmin sécurité réseau force-brute fail2ban firewalld}} ====== Debian : Installer fail2ban avec le pare-feu firewalld ====== :TODO_DOCUPDATE: ===== Environnement ===== ^ Système | Debian 13 (trixie) | ^ firewalld | 2.3.1 | apt install -y fail2ban # Vérifier l'état du service systemctl status fail2ban.service # Si besoin démarrer le service systemctl enable --now fail2ban.service Créer un fichier de configuration ''/etc/fail2ban/fail2ban.local'' (il sera prioritaire sur la configuration du paquet *.conf). [DEFAULT] allowipv6 = auto bantime = 10m # Fenêtre d’observation des échecs findtime = 10m # Nombre d’échecs avant bannissement maxretry = 5 # Adresse(s) à ne jamais bannir ignoreip = 127.0.0.1/8 ::1 192.168.0.123 # Lecture de logs via systemd (souvent plus fiable sur Ubuntu/Debian) backend = systemd # Choisissez l’action selon votre pare‑feu banaction = firewallcmd-rich-rules banaction_allports = firewallcmd-rich-rules [sshd] enabled = true port = 22 # Le filtre sshd est fourni par défaut filter = sshd Le point important ici est de bien utiliser les actions Tester la syntaxe du nouveau fichier de configuration : fail2ban-client -t Recharger la configuration : systemctl reload fail2ban.service # équivalent fail2ban-client reload ===== Tester la nouvelle configuration ===== fail2ban-client status Etat initial : # Vérifier l'état du pare-feu firewall-cmd --state # Identifier les zones utilisées firewall-cmd --get-active-zones # afficher le détail des zones utilisées firewall-cmd --get-active-zones Après quelques échecs d'authentification SSH, le client n'obtient plus de réponse. Un nouvel essai retourne le message : ssh: connect to host 192.168.0.10 port 22: Connection refused Côté serveur, on doit avoir l'IP du client dans la prison ssd : fail2ban-client status sshd Le ===== Références ===== * https://linuxcapable.com/how-to-install-fail2ban-with-firewalld-on-fedora-linux/ * https://blog.jaaj.dev/2025/09/21/Installer-et-configurer-Fail2ban-sur-Ubuntu-Debian.html * https://pieterbakker.com/secure-debian-12-with-fail2ban-and-nftables/