web-dev-qa-db-fra.com

conflits potentiels entre ufw et fail2ban

L'exécution de fail2ban et d'ufw posera-t-elle 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 ... je ne suis donc pas sûr que fail2ban les gâchera.

45
Adam Monsen

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

A la sortie de la boîte, fail2ban utilise iptables et insère les règles en premier dans la chaîne INPUT. Cela ne fera aucun mal ou conflit avec ufw.

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

/etc/fail2ban/jail.local

jail.local est l'endroit où vous définissez vos services, y compris le port sur lequel ils écoutent (pensez à changer de ssh en un port autre que celui par défaut) et les mesures à prendre.

** S'il vous plaît noter *: jamais modifier jail.conf, vos modifications doivent être effectuées dans 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 in (un fichier .conf pour chaque service)

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

La syntaxe est

[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

Remarque: vous configurez fail2ban pour utiliser ufw et pour insérer de nouvelles règles FIRST à l'aide de la syntaxe "insert 1". La suppression trouvera la règle sans tenir compte de l'ordre.

Il y a un article de blog Nice qui va plus en détail ici

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 un contenu.

[sshd]
enabled = true

sera activé à la protection ssh de fail2ban.

Vous devez le mettre à faux.

Créez ensuite un jail.local comme vous le feriez en général, le mien ressemblerait à 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 fichier 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 vous jail.local serait au niveau de la ligne d’action où vous devez placer l’application concernée pour la protection et ce que vous voulez obtenir comme résultat.

ufw ont tendance à détecter automatiquement un certain nombre d'applications fonctionnant sur le réseau. Pour avoir la liste, tapez simplement Sudo ufw app list. C'est sensible à la casse.

rechargez fail2ban et vous ne verrez plus la chaîne fail2ban et si une adresse IP est bloquée, vous la verrez dans Sudo ufw status

50
Panther

J'utilise fail2ban et ufw depuis des années sur plusieurs ordinateurs 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, recherchez les lignes:

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

si "enabled" est défini sur "false", remplacez-le par "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 interdira les clients qui tentent de se connecter plus de 6 fois sans succès, cela ne cassera pas votre pare-feu.

5
enedene

L'installation de la version 0.9.5 de fail2ban incluait une action ufw que je devais simplement définir pour le banaction

4
Carson Reinke