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.
Réponses
Trop de publicités?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
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.