Utiliser Spam-RBL.com pour filtrer les spams sur un serveur Qmail
Introduction
Nous allons décrire dans ce guide la procédure (simple) pour que Qmail filtre les spams référencés par
Spam-RBL.com automatiquement. Pour plus d'information sur
Spam-RBL.com, voir le site du même nom :).
Principe
Lorsque l'on envoie un email à un serveur Qmail, c'est
/var/qmail/bin/qmail-smtpd qui va normalement gérer la connexion avec l'autre serveur email et ensuite acheminer le mail à un autre programme interne à Qmail pour traitement. Pour arrêter le spam, nous allons ajouter une étape avant qmail-smtpd qui va vérifier si l'IP d'où provient le spam est référencée ou non chez
Spam-RBL.com. C'est
/usr/local/bin/rblsmtpd qui va faire ce travail. Il enverra une requête DNS à spam-rbl.com (pour l'IP
213.186.33.3 par exemple, ce sera :
3.33.186.213.map.spam-rbl.com), et si celui-ci retourne un champs DNS
A pointant sur
127.0.0.2, c'est que l'IP est blacklistée.
Mise en oeuvre
Attention : Sauvegardez bien le fichier d'origine au cas où vous ne sauriez pas revenir en arrière après une modification.
Nous allons donc remplacer
qmail-smtpd par
rblsmtpd à la réception des emails qui lui-même transmettra l'email à
qmail-smtpd si le test de la "map" est passé avec succès.
La manipulation est très simple à faire, éditez le fichier /etc/init.d/qmail et remplacez la section ainsi :
env - PATH="/var/qmail/bin:/usr/local/bin"
tcpserver -H -R -x /etc/tcp.smtp.cdb -c100 -u503 -g503 0 smtp
/var/qmail/bin/qmail-smtpd > /dev/null 2>&1 &
par :
env - PATH="/var/qmail/bin:/usr/local/bin"
tcpserver -H -R -x /etc/tcp.smtp.cdb -c100 -u503 -g503 0 smtp
/usr/local/bin/rblsmtpd -r map.spam-rbl.com /var/qmail/bin/qmail-smtpd >> /var/log/qmail/rbl.log 2>&1 &
/usr/local/bin/rblsmtpd est donc appelé à la place de
/var/qmail/bin/qmail-smtpd avec la map (-r) map.spam-rbl.com.
la fin de la ligne permet de rediriger les logs de rblsmtpd vers un fichier de log :
/var/log/qmail/rbl.log.
Ainsi, vous saurez les emails qui ont été arretés par spam-rbl en visualisant le contenu de ce fichier.
Vous pouvez ajouter d'autres maps en ajoutant d'autres " -r map.domaine.com" après " -r map.spam-rbl.com"
Quelques exemples d'autres maps permettant d'avoir un contrôle plus strict des spams :
- list.dsbl.org,
- relays.ordb.org.
Voici un lien répertoriant la liste des 'blacklists' connus :
http://openrbl.org/zones.htm.
Finalisation
Enfin, il ne nous reste plus qu'a redémarrer Qmail pour prendre en compte cette modification :
[root@nsXXXX root]# cd /
[root@nsXXXX root]# /etc/init.d/qmail restart
stopping qmail [ OK ]
Starting: qmail pop smtp