Fail2ban et ipv6

Salut,
Comme j’ai activé l’ipv6 sur un de mes serveurs, je me suis naturellement penché sur la sécurité; J’ai été surpris de voir que fail2ban ne fonctionnait pas encore sur ipv6…
Heureusement, il existe un patch. Il est EXPERIMENTAL…
Je n’ai pas encore travaillé sur les autres services, seul la protection de ssh est abordée ici.

Vos commentaires et précisions sont les bienvenues!
Petit article sur le Wiki au sujet de fail2ban et du support de l’ipv6: 0.isalo.org/5z

Avertissement… Je n’ai pas encore testé sur un serveur en production (Je n’ai pas d’IpV6 sur deux machines dans le même réseau…)

Voici le tuto:

Vous le savez, l’ipv6 se généralise, lancement officiel le 6 juin 2012 Quid de fail2ban ? Malheureusement, fail2ban ne supporte pas encore l’ipv6. Heureusement, il existe un patch qui permet d’avoir fail2ban activé sur votre ipv6…

Mode d’emploi:
Téléchargez le patch:

[code]wget http://thanatos.trollprod.org/sousites/fail2banv6/fail2ban-ipv6.tar.bz2
–2012-04-14 09:30:31-- http://thanatos.trollprod.org/sousites/fail2banv6/fail2ban-ipv6.tar.bz2
Résolution de thanatos.trollprod.org (thanatos.trollprod.org)… 94.23.14.97, 2001:41d0:2:f61::fed1:fe54
Connexion vers thanatos.trollprod.org (thanatos.trollprod.org)|94.23.14.97|:80…connecté.
requête HTTP transmise, en attente de la réponse…200 OK
Longueur: 2293 (2,2K) [application/x-bzip]
Sauvegarde en : «fail2ban-ipv6.tar.bz2»

100%[=============================================================================================>] 2 293 --.-K/s ds 0,001s

2012-04-14 09:30:31 (2,98 MB/s) - «fail2ban-ipv6.tar.bz2» sauvegardé [2293/2293][/code]

mkdir fail2ban-ipv6 tar xvjf fail2ban-ipv6.tar.bz2 -C fail2ban-ipv6 cp /usr/share/fail2ban/server/filter.py /usr/share/fail2ban/server/filter.py.sos cp /usr/share/fail2ban/server/failregex.py /usr/share/fail2ban/server/failregex.py.sos

Testez les patch:

[code]cd /usr/share/fail2ban/server/
root@nas:/usr/share/fail2ban/server# patch -p0 --dry-run < /root/fail2ban-ipv6/patchfilter.patch
patching file filter.py
Hunk #1 succeeded at 525 (offset 14 lines).
Hunk #2 succeeded at 549 (offset 14 lines).
Hunk #3 succeeded at 580 (offset 14 lines).

root@nas:/usr/share/fail2ban/server# patch -p0 --dry-run < /root/fail2ban-ipv6/regex.patch
patching file failregex.py
Hunk #1 succeeded at 47 (offset 3 lines).[/code]
Si le résultat est positif (pas d’erreur) lancez les patchs

root@nas:/usr/share/fail2ban/server# patch -p0 < /root/fail2ban-ipv6/patchfilter.patch patching file filter.py Hunk #1 succeeded at 525 (offset 14 lines). Hunk #2 succeeded at 549 (offset 14 lines). Hunk #3 succeeded at 580 (offset 14 lines). root@nas:/usr/share/fail2ban/server# patch -p0 < /root/fail2ban-ipv6/regex.patch patching file failregex.py Hunk #1 succeeded at 47 (offset 3 lines).
Copiez les fichiers nécessaires:

root@nas:/usr/share/fail2ban/server# cp /root/fail2ban-ipv6/ip64tables.sh /usr/bin/ root@nas:/usr/share/fail2ban/server# chmod 755 /usr/bin/ip64tables.sh root@nas:/usr/share/fail2ban/server# cp /root/fail2ban-ipv6/iptables46-multiport.conf /etc/fail2ban/action.d/ root@nas:/usr/share/fail2ban/server# chmod 644 /etc/fail2ban/action.d/iptables46-multiport.conf
Créez le bloc de configuration:

nano /etc/fail2ban/jail.conf ... [ssh-ip6tables] enabled = true filter = sshd logpath = /var/log/auth.log maxretry = 6 action = iptables46-multiport[name=SSH, port=22, protocol=tcp] sendmail-whois[name=SSH, dest=root, sender=fail2ban@mail.com] ...
Redémarrez fail2ban et vérifiez qu’il est actif:

service fail2ban restart Restarting authentication failure monitor: fail2ban. ip6tables -S ... -N fail2ban-SSH -A INPUT -p tcp -m multiport --dports 22 -j fail2ban-SSH -A fail2ban-SSH -j RETURN

Source

Bonjour,

J’avais constaté que mon serveur ne subissait jamais d’attaque ssh / ipv6. Comme ca me semblait très étonnant, j’ai fait une recherche et j’ai atterri ici.

Apparemment en 2013, ssh en ipv6 est activé par défaut, mais fail2ban ne le protège toujours pas par défaut. Comme quoi, on met plein de verrous sur une porte blindée et on laisse la fenêtre ouverte

[quote=“mazarini”]Bonjour,
J’avais constaté que mon serveur ne subissait jamais d’attaque ssh / ipv6. Comme ca me semblait très étonnant, j’ai fait une recherche et j’ai atterri ici.
Apparemment en 2013, ssh en ipv6 est activé par défaut, mais fail2ban ne le protège toujours pas par défaut. Comme quoi, on met plein de verrous sur une porte blindée et on laisse la fenêtre ouverte[/quote]

Bien d’accord avec toi…
Je n’ai activé ipv6 que sur le serveur Web, le reste est bloqué en attendant que fail2ban propose par défaut une protection sur ipv6

ip6tables -S -P INPUT DROP -P FORWARD DROP -P OUTPUT ACCEPT -A INPUT -i lo -j ACCEPT -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT -A INPUT -p ipv6-icmp -j ACCEPT -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT -A INPUT -p tcp -m tcp --dport 443 -j ACCEPT -A INPUT -j LOG -A OUTPUT -p ipv6-icmp -j ACCEPT

Apparemment il y a mieux que le patch, mais je n’ai pas encore essayé: github.com/fail2ban/fail2ban/tr … dapter_cmd

Pourquoi ce te semble-t-il étonnant ? IPv6 est encore très peu utilisé en général, et compte tenu de l’espace d’adressage gigantesque, scanner des blocs d’adresses IPv6 relève de la gageüre.

Il ne faut rien exagérer. Le but principal de fail2ban n’est pas de protéger sshd (l’authentification forte est là pour ça) mais d’éviter de remplir les logs avec de nombreuses tentatives qui n’ont de toute façon aucune chance d’aboutir si tu utilises des mots de passes solides ou des clés.