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