Apache2 : système de blacklist
Après avoir installé mon serveur web (Apache) et un serveur d’applications J2EE (GlassFish) je me suis vite rendu compte, après une semaine d’exécution, que les logs du serveur prennaient de plus en plus de place.
En regardant rapidement les fichiers de logs on se rend très vite compte que le serveur se fait « spammer » des URL du type : phpmyadmin, admin, mysql, …
J’ai décidé de mettre en place un système de blacklistage instégré à Apache.
Configuration de Apache
Pour cela il faut installer le module mod_rewrite (inclus par défaut avec Apache2).
On ajoute donc les règles dans le fichier de configuration d’apache (/etc/apache2/sites-avaible/)
RewriteEngine On
RewriteMap hosts-deny txt:/etc/apache2/hosts.deny
RewriteCond ${hosts-deny:%{REMOTE_HOST}|NOT-FOUND} !=NOT-FOUND [OR]
RewriteCond ${hosts-deny:%{REMOTE_ADDR}|NOT-FOUND} !=NOT-FOUND
RewriteRule ^/.* - [F]
Ainsi les adresses IP ou nom de domaine listés dans le fichier /etc/apache2/hosts.deny recevront le code réponse : 403 Forbidden.
On crée le fichier /etc/apache2/hosts.deny :
adresse_ip - nom_de_domaine -
Penser à ajouter le tiret « - » à la fin de chaque entrée dans ce fichier.
Page d’erreur personnalisée
Si vous voulez rediriger les adresses blacklilstées vers une page personnalisée il faut modifier les règles dans le fichier de configuration de Apache :
Remplacez : RewriteRule ^/.* - [F] Par : RewriteRule ^/.* /blacklisted.html [L]
Créez alors le fichier blacklisted.html.
Source : http://httpd.apache.org/docs/2.0/misc/rewriteguide.html
12 décembre 2008 - 12:04
Cette méthode ne marche pas chez moi sur un serveur apache2 :s
Est ce qu’il serait possible d’avoir un petit coup de main ?? j’ai bcp de requetes venant d’un nom de domaine qui est redirigé vers mon serveur :s
Cordialement,
12 décembre 2008 - 15:28
Salut,
Sur quelle distribution tu a installé ton apache2? (le tutoriel a été fait sur une Debian)
Il faut bien vérifier la structure du fichier « hosts.deny » :
nom.de.domaine -
adresse.ip -
Tu peux mettre soit un nom de domaine, soit une adresse IP. Après chaque ligne il faut absolument un espace et un tiret : » - ».
Ensuite il faut rajouter des lignes à chaque fois que tu vois que tu te fais spammer. Une fois par mois je suis obligé de rajouter une dizaine de ligne…
a+