Fail2ban
fail2ban est un application qui permet de protéger le serveur contre les intrusions.
fail2ban lit les logs de divers serveurs (SSH, Apache, FTP…) à la recherche d'erreurs d'authentification répétées et ajoute une règle iptables pour bannir l'adresse IP de la source.
Pour l'installer :
$ sudo apt-get install fail2ban
Configuration :
Pour spécifier à fail2ban quels services il doit surveiller, éditez le fichier /etc/fail2ban/jail.conf
# Exemple de configuration
ignoreip = 127.0.0.1 192.168.1.20 192.168.1.21 # liste des adresses ip à ignorer
bantime = 86400 # temps en secondes
maxretry = 3 # nombre de tentative échouées
destemail = toto@serveur
Pour activer un service mettre à true la valeur enabled
Pour rajouter un service, par exemple pour webmin :
[webmin-auth]
enabled = true
port = https
filter = webmin-auth
logpath = /var/log/auth.log
maxretry = 3
Pour rajouter la règle anti-w00tw00t :
[apache-w00tw00t]
enabled = true
filter = apache-w00tw00t
action = iptables[name=Apache-w00tw00t,port=80,protocol=tcp]
logpath = /var/log/apache2/*access.log
maxretry = 1
Créer ensuite le fichier /etc/fail2ban/filter.d/apache-w00tw00t.conf et y ajouter :
[Definition]
failregex = ^<HOST> -.*"GET \/w00tw00t\.at\.ISC\.SANS\.DFind\:\).*".*
ignoreregex =
A chaque service est associé un fichier de configuration dans le dossier /etc/fail2ban/filter.d
Pour tester un filtre :
Par exemple le filtre anti-w00tw00t
$ fail2ban-regex /var/log/apache2/access.log /etc/fail2ban/filter.d/apache-w00tw00t.conf
Pour relancer la configuration :
$ sudo fail2ban-client reload
Pour vérifier si les prisons sont correctement lançées :
$ sudo fail2ban-client status
Pour voir la liste des adresses IP bloquées par fail2ban :
$ sudo iptables -L
ou pour un jail en particulier (postfix par exemple):
$ sudo iptables -L fail2ban-postfix
avec les lignes numérotées :
$ sudo iptables -L fail2ban-postfix --line-numbers
Pour supprimer une adresses IP de la liste des adresses bloquées par fail2ban
Par exemple, pour supprimer l'adresse IP 192.168.1.2 bloquée par le service fail2ban-ssh
$ sudo iptables -D fail2ban-ssh -s 192.168.1.2 -j DROP
ou avec son numéro obtenu grâce à la commande iptables -L --line-numbers
$ sudo iptables -D fail2ban-ssh 5
Pour ajouter une adresse IP à la liste des adresses bloquées (pour le jail postfix par exemple)
$ iptables -I fail2ban-postfix 1 -s 1.163.149.165 -j DROP
ou une plage d'adresses
$ iptables -I fail2ban-postfix 1 -s 118.160.0.0/16 -j DROP
Commentaires
Zer00CooL (non vérifié)
mer, 25/03/2020 - 14:54
Permalien
Contribution - Tutoriel Fail2ban en français
Wiki non officiel avec des informations complémentaires sur Fail2ban : https://wiki.visionduweb.fr/index.php?title=Installer_et_utiliser_Fail2ban
Zer00CooL (non vérifié)
mer, 25/03/2020 - 15:02
Permalien
Question sur la règle w00tw00t
Concernant la règle w00tw00t, je vois que vous précisez l'action :
action = iptables[name=Apache-w00tw00t,port=80,protocol=tcp]
De mon côté, j'ai suivi un tutoriel pour créer une règle équivalente, mais, je n'ai pas précisé l'action.
Un avis à ce propos ?
L'action de bannissement sera t'elle toute de même menée ?
La règle w00tw00t que j'ai mise en place :
https://wiki.visionduweb.fr/index.php?title=Installer_et_utiliser_Fail2b...
Je cherche également un tutoriel de hacker éthique pour tester une attaque de type w00tw00t sur mon serveur, pour observer le bon fonctionnement de ma règle Fail2ban.
Je suppose que Kali Linux permet un tel test mais je n'ai pas encore trouvé de documentation pour lancer une attaque w00tw00t.
Si vous savez mener ce test, vous pouvez utiliser l'onglet discussion de la page précédente, ou, me contacter par mail ( mail AT visionduweb.com ).
ronan
sam, 28/03/2020 - 18:57
Permalien
Bonjour,
Pour ce qui est de l'action w00tw00t, j'ai préféré utiliser l'action iptables, paramétrée dans le fichier action.d/iptables.conf, au lieu de l'action par défaut iptables-multiport.
Ca permet de bloquer l'IP uniquement sur le port 80 en tcp.
Mais il vaut mieux maintenant utiliser l'action par défaut, surtout pour tous les ports du serveur.
Concernant la simulation d'attaque w00tw00t, je pense que le plus simple est d'écrire ce genre de ligne dans le fichier de log du serveur web:
$ echo "12.34.56.789 - - [28/Mar/2020:18:50:15 +0100] \"GET /w00tw00t.at.ISC.SANS.DFind:) HTTP/1.1\" 400 392 \"-\" \"-\"" >> /var/log/
Tu pourras voir si la règle fail2ban fonctionne bien......
Ajouter un commentaire