Bloquer les spammers / hackers avec Apache et mod_spamhaus

Lorsque j'avais des spams sur mon forum, je prenais l'adresse IP de l'utilisateur et j'empêchais l'accès au serveur avec iptables, mais j'ai vite vu la limitation de ce système correctif manuel. Il me fallait un système préventif et automatisé :

mod_spamhaus est un module Apache qui utilise DNSBL pour empêcher les spammeurs et les personnes passant par des proxys un peu douteux, d'accéder à votre site. Il permet de limiter les attaques des bots et de le protéger des utilisateurs ayant une adresse IP connue pour être une IP 'douteuse'

Disponible dans pas mal de distribution Linux, un simple apt ou yum suffit :

sudo apt-get install libapache2-mod-spamhaus

Il faut ensuite configurer les directives en fonctions des besoins :

  • MS_Methods : Le module vérifie l'adresse IP de l'utilisateur si la méthode HTTP utilisée par l'utilisateur est listée par cette directive
  • MS_WhiteList : Chemin vers un fichier contenant des adresses IP ou des sous réseaux ne devant pas être bloquée.
  • MS_DNS : Nom du serveur utilisé pour vérifier si une IP est blacklistée ou pas. sbl-xbl.spamhaus.org est utilisée par défaut. Il est possible d'utiliser une instance local pour augmenter les performances. XBL signifie 'Exploits Block List' et correspond au IP de serveurs infectés. SBL signifie 'Spamhaus Block List' et correspond à des adresses IP de serveurs considérés comme spammeurs.
  • MS_CacheSize : Nombre d'entrées (adresses IP) dans le cache
  • MS_CustomError : Message d'erreur personnalisé lorsqu'une IP est bloquée

Exemple :

<IfModule mod_spamhaus.c>

MS_METHODS GET,POST,PUT,OPTIONS,CONNECT 
MS_WhiteList /etc/spamhaus.wl
#MS_Dns local.rbldnsd.instance.of.sbl-xbl
MS_CacheSize 256
MS_CustomError "Etes vous un hackers ?"

</IfModule>

J'avoue ne pas trop savoir comment tester ce module, car je n'ai pas un adresse IP blacklistée ;)

Liens utiles : Vérifier si une adresse IP est blacklistée par DNSBL | Télécharger mod_spamhaus

La discussion continue ailleurs

URL de rétrolien : https://davidmasclet.gisgraphy.com/index.php?trackback/43

Fil des commentaires de ce billet