48 votes

conflits potentiels entre ufw et fail2ban

Le fait de faire fonctionner à la fois fail2ban et ufw va-t-il poser des problèmes ? J'ai remarqué que fail2ban modifie les règles iptables, mais ufw a déjà une tonne de règles iptables définies... donc je ne suis pas sûr que fail2ban les perturbe.

53voto

Panther Points 96601

Vous pouvez utiliser ufw et fail2b ensemble, mais comme indiqué précédemment, c'est l'ordre des règles (ufw) qui est important.

D'origine, fail2ban utilise iptables et insère des règles en premier dans la chaîne INPUT. Cela n'aura aucun effet néfaste et n'entrera pas en conflit avec ufw.

Si vous souhaitez intégrer pleinement fail2ban, utilisez ufw (plutôt qu'iptables). Vous devrez éditer un certain nombre de fichiers, notamment

/etc/fail2ban/jail.local

jail.local est l'endroit où vous définissez vos services, y compris le port sur lequel ils écoutent (par exemple, changer ssh pour un port qui n'est pas celui par défaut) et les actions à entreprendre.

**Notez s'il vous plaît* : Ne jamais modifier jail.conf Les modifications doivent être effectuées dans le fichier jail.local ! Ce fichier commence par ceci :

# Changes:  in most of the cases you should not modify this
#           file, but provide customizations in jail.local file,
#           or separate .conf files under jail.d/ directory

En utilisant ssh comme exemple, notez la définition d'un port autre que celui par défaut =)

[ssh]
enabled = true
banaction = ufw-ssh
port = 2992
filter = sshd
logpath = /var/log/auth.log
maxretry = 3

Vous configurez ensuite fail2ban pour utiliser ufw dans (un fichier .conf pour chaque service)

/etc/fail2ban/action.d/ufw-ssh.conf

La syntaxe est la suivante

[Definition]
actionstart =
actionstop =
actioncheck =
actionban = ufw insert 1 deny from <ip> to any app OpenSSH
actionunban = ufw delete deny from <ip> to any app OpenSSH

Note : Vous configurez fail2ban pour qu'il utilise ufw et insère de nouvelles règles. PREMIER en utilisant la syntaxe "insert 1". La suppression trouvera la règle quel que soit l'ordre.

Un article de blog intéressant donne plus de détails à ce sujet.

http://blog.vigilcode.com/2011/05/ufw-with-fail2ban-quick-secure-setup-part-ii/

[EDIT] Pour ubuntu 16.04+

par défaut un " defaults-debian.conf " dans /etc/fail2ban/jail.d avec contenu

[sshd]
enabled = true

activera la protection ssh de fail2ban.

Vous devez le mettre à faux.

Ensuite, créez un jail.local comme vous le feriez en général, le mien serait comme ceci :

[ssh-with-ufw] 
enabled = true 
port = 22 
filter = sshd 
action = ufw[application="OpenSSH", blocktype=reject] 
logpath = /var/log/auth.log 
maxretry = 3

Il y a déjà un ufw.conf dans l'installation par défaut de fail2ban, il n'est donc pas nécessaire d'en créer un.

Le seul changement spécifique pour jail.local se situe au niveau de la ligne d'action où vous devez indiquer l'application concernée par la protection et ce que vous souhaitez obtenir comme résultat.

ufw tend à détecter automatiquement un certain nombre d'applications fonctionnant sur le réseau. Pour obtenir la liste, il suffit de taper sudo ufw app list . Il est sensible à la casse.

rechargez fail2ban et vous ne verrez plus la chaîne fail2ban et si une IP reçoit un blocage, vous le verrez dans sudo ufw status

6voto

Carson Reinke Points 159

L'installation de la version 0.9.5 de fail2ban incluait un fichier ufw action que je devais simplement mettre en place pour la banaction

4voto

enedene Points 1589

J'utilise fail2ban et ufw depuis des années sur plusieurs ordinateurs différents et je n'ai jamais eu de problèmes. Pour configurer fail2ban :

sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
sudo nano jail.local

Maintenant, éditez le fichier comme vous le souhaitez, par exemple si vous voulez bloquer les ssh non autorisés, trouvez les lignes suivantes :

[ssh]
enabled  = true
port     = ssh
filter   = sshd
logpath  = /var/log/auth.log
maxretry = 6

si "enabled" est réglé sur "false", changez-le en "true" comme indiqué ici. Après avoir défini les règles, vous devez redémarrer le processus fail2ban :

sudo /etc/init.d/fail2ban restart

Si vous avez ouvert le port 22 sur votre pare-feu ufw, fail2ban bannira les clients qui essaient de se connecter plus de 6 fois sans succès, il ne brisera pas votre pare-feu.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X