Bloquer les scans de dossier par dictionnaire sur votre serveur WEB
Administration des Réseaux, Adminstration Server Linux Add commentsJe vous expliquais hier comment se protéger des scans Dfind. Aujourd’hui nous allons aller un peu plus loin dans la sécurisation de son server web en bannisant tous requêtes se faisant directement sur l’ip et non via un nom de domaine.
Concrètement dans les logs d’apache vous devriez avoir quelque chose de semblable :
[Fri May 01 14:52:11 2009] [error] [client 24.123.67.41] client denied by server configuration: /var/www/phpMyAdmin [Fri May 01 14:52:11 2009] [error] [client 24.123.67.41] client denied by server configuration: /var/www/PHPMYADMIN [Fri May 01 14:52:11 2009] [error] [client 24.123.67.41] client denied by server configuration: /var/www/phpmyadmin/main.php [Fri May 01 14:52:12 2009] [error] [client 24.123.67.41] client denied by server configuration: /var/www/pHpMyAdMiN [Fri May 01 14:52:12 2009] [error] [client 24.123.67.41] client denied by server configuration: /var/www/PhPmYaDmIn [Fri May 01 14:52:13 2009] [error] [client 24.123.67.41] client denied by server configuration: /var/www/phpMYadmin [Fri May 01 14:52:13 2009] [error] [client 24.123.67.41] client denied by server configuration: /var/www/PHPmyadmin [Fri May 01 14:52:13 2009] [error] [client 24.123.67.41] client denied by server configuration: /var/www/PHPMYadmin [Fri May 01 14:52:14 2009] [error] [client 24.123.67.41] client denied by server configuration: /var/www/phpmyADMIN
On commence par préparer apache, en effet on va déclarer un vhost qui s’occupera de traiter les requêtes sur l’IP
On crée le dossier /var/empty et on lui donne les droits adéquats pour que apache puisse lire le dossier
mkdir /var/empty chown www-data:www-data -R /var/empty chmod 664 -R /var/empty
Ensuite vous créez le vhost
vi /etc/apache2/sites-available/nodnsuse
Et vous copier les lignes suivantes dedans :
<VirtualHost *:80> DocumentRoot /var/empty/ <Directory /var/empty> Order Deny,Allow Deny from All </Directory> </VirtualHost>
Vous activez le vhost et relancez apache2
a2ensite nodnsuse /etc/init.d/apache2 restart
On installe Fail2Ban si vous ne l’avez pas encore fait
apt-get update && apt-get install fail2ban
On edit le fichier jail.conf pour y ajouter la nouvelle règle
vi /etc/fail2ban/jail.conf
On ajoute à la fin du fichier les lignes suivantes :
[apache-nodnsuse] enabled = true port = http,https filter = apache-nodnsuse logpath = /var/log/apache*/*error.log maxretry = 1 banTime = 86400
On ajoute le fichier de détection
vi /etc/fail2ban/filter.d/apache-nodnsuse.conf
Et on y ajoute :
[Definition] failregex = [[]client <HOST>[]] client denied by server configuration: /var/empty/.* ignoreregex=
Vous redémarrez enfin Fail2Ban et consulter les logs pour voir qui sera le premier gagnant
/etc/init.d/fail2ban restart && tail -f -n 30 /var/log/fail2ban.log


juin 14th, 2009 at 20 h 09 min
Trop cool ton truc
décembre 26th, 2009 at 13 h 45 min
Merci bcp pour cette astuce
juillet 28th, 2011 at 10 h 05 min
milles merci(s) ^^