{{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/