Activer Fail2ban sur une adresse IPv6
Publié le 03 mai 2012 - GNU/Linux
Dernière mise à jour le 03 mai 2012
- Article
- |
- Commentaires (0)
- |
- Annexes (0)
Alors que les blocs libres d'adresses IPv4 se font rares, le lancement de la version 6 du protocole IP sera officiellement réalisé en juin 2012. Et certains logiciels indispensables ne sont pas encore adaptés à cette nouvelle version du protocole. C'est le cas de Fail2ban...
Mais heureusement, un patch existe ! Voyons comment le mettre en place.

Ce patch est encore au stade expérimental, en particulier, il est important de ne pas activer la résolution de noms dans les logs. Consulter le billet "Protéger un serveur avec Fail2ban pour en savoir plus sur l'utilisation et la configuration de Fail2ban.
Il faut commencer par télécharger le patch à l'adresse http://thanatos.trollprod.org/sousites/fail2banv6/fail2ban-ipv6.tar.bz2, ou sur ftp.pastoutafait.org.
On décompresse ensuite l'archive du patch et on fait un backup des fichiers filter.py et failregex.py de l'installation de Fail2ban :
mkdir fail2ban-ipv6patch tar xjvf fail2ban-ipv6.tar.bz2 -C fail2ban-ipv6patch 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
On se rend maintenant dans le répertoire contenant les fichiers à patcher, puis on lance un test avec la commande patch sur chaque fichier :
cd /usr/share/fail2ban/server/ root@machine:/usr/share/fail2ban/server# patch -p0 --dry-run < /root/fail2ban-ipv6patch/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@machine:/usr/share/fail2ban/server# patch -p0 --dry-run < /root/fail2ban-ipv6patch/regex.patch patching file failregex.py Hunk #1 succeeded at 47 (offset 3 lines).
Si tout va bien et qu'aucune erreur n'apparaît, on lance le patch effectif :
root@machine:/usr/share/fail2ban/server# patch -p0 < /root/fail2ban-ipv6patch/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@machine:/usr/share/fail2ban/server# patch -p0 < /root/fail2ban-ipv6patch/regex.patch patching file failregex.py Hunk #1 succeeded at 47 (offset 3 lines).
On copie ensuite les fichiers ip64tables.sh et iptables46-multiport.conf vers les répertoires adéquats, en donnant les bonnes permissions :
cp /root/fail2ban-ipv6patch/ip64tables.sh /usr/bin/ chmod 755 /usr/bin/ip64tables.sh cp /root/fail2ban-ipv6patch/iptables46-multiport.conf /etc/fail2ban/action.d/ chmod 644 /etc/fail2ban/action.d/iptables46-multiport.conf
Une petite modification dans votre jail.conf (ou jail.local) :
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]
...
Et enfin on relance fail2ban et on vérifie que tout est ok :
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
Et voilà votre Fail2ban IPv6-ready !
Source : http://www.fail2ban.org et http://www.debian-fr.org.