Filtrage des robots web avec Fail2Ban
Ce filtrage se base sur le fait que les robots à la recherche de votre phpmyadmin ou votre webmail pour tenter d’exploiter des failles font leur recherche en utilisant l’adresse IP plutôt qu’un nom de domaine. Les utilisateurs normaux utilisent toujours le nom de domaine: facile de différencier les deux.
Le fichier host qui va récupérer tous les accès sans nom d’Host et les diriger vers /var/www/empty
on crée un virtual host sans nom de domaine /etc/apache2/sites-avaible/default (tous les autres devront en avoir un obligatoirement)
<VirtualHost *:80> DocumentRoot /var/www/empty/ ServerAdmin xxxxxxxxx@yyyyyyyyyyy.com ErrorLog /var/log/apache2/default-error.log CustomLog /var/log/apache2/default-access.log combined <Files /var/empty/robots.txt> Order Allow,Deny Allow from All </Files> </VirtualHost>
Quelques robots d’indexation (dont ceux de google) tente aussi des accès via l’IP, ce genre de robots commence toujours par robot.txt, on leur dit simplement qu’il n’ont rien a faire ici.
dans /var/www/empty/robot.txt
User-agent: * Disallow: /
Vous pouvez aussi créer in index.html si vous le désirez pour rediriger un utilisateur qui s’est perdu
/var/log/apache2/default-error.log va vite se remplir avec des evenements du genre:
[Sun May 30 13:59:55 2010] [error] [client 91.1.221.208] File does not exist: /var/empty/phpmyadmin [Sun May 30 13:59:55 2010] [error] [client 91.1.221.208] File does not exist: /var/empty/phpMyAdmin [Sun May 30 13:59:55 2010] [error] [client 91.1.221.208] File does not exist: /var/empty/php [Mon May 31 15:42:13 2010] [error] [client 77.111.88.11] File does not exist: /var/empty/roundcubemail [Mon May 31 15:42:13 2010] [error] [client 77.111.88.11] File does not exist: /var/empty/rc [Mon May 31 15:42:14 2010] [error] [client 77.111.88.11] File does not exist: /var/empty/webmail [Mon May 31 15:42:14 2010] [error] [client 77.111.88.11] File does not exist: /var/empty/roundcube [Mon May 31 15:42:14 2010] [error] [client 77.111.88.11] File does not exist: /var/empty/mail [Mon May 31 15:42:14 2010] [error] [client 77.111.88.11] File does not exist: /var/empty/README
Ensuite le filtre pour fail2ban /etc/fail2ban/filter.d/apache-nodnsuse.conf:
failregex = [[]client []] File does not exist: /var/www/empty/.* ignoreregex=
Et on ajoute ce filtre dans la configuration de fail2ban /etc/fail2ban/jail.conf:
[apache_nodnsuse] enabled = true port = http,https filter = apache-nodnsuse logpath = /var/log/apache2/default-error.log maxretry = 1
Laisser un commentaire