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