Fail2ban

Documentation Ubuntu

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

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 ).

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

Filtered HTML

  • Les adresses de pages web et de messagerie électronique sont transformées en liens automatiquement.
  • Tags HTML autorisés : <a> <em> <strong> <cite> <blockquote> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Les lignes et les paragraphes vont à la ligne automatiquement.

Plain text

  • Aucune balise HTML autorisée.
  • Les adresses de pages web et de messagerie électronique sont transformées en liens automatiquement.
  • Les lignes et les paragraphes vont à la ligne automatiquement.
CAPTCHA
Cette question permet de s'assurer que vous êtes un utilisateur humain et non un logiciel automatisé de pollupostage.
CAPTCHA visuel
Entrez les caractères (sans espace) affichés dans l'image.