Recherche


imprimer pdf
Utiliser Spam-RBL.fr 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.fr automatiquement. Pour plus d'information sur Spam-RBL.fr, 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.fr. C'est /usr/local/bin/rblsmtpd qui va faire ce travail. Il enverra une requête DNS à spam-rbl.fr (pour l'IP 213.186.33.3 par exemple, ce sera : 3.33.186.213.spam-rbl.fr), 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" CHKUSER_START="DOMAIN" \
tcpserver -v -H -R -x /etc/tcp.smtp.cdb -c100 -u508 -g503 0 smtp \
/var/qmail/bin/qmail-smtpd 2>&1 \
| /usr/local/bin/tai64n \
| /usr/local/bin/setuidgid qmaill /usr/local/bin/multilog s500000 n60 /var/log/qmailsmtp/ &
eend $


par :

env - PATH="/var/qmail/bin:/usr/local/bin" CHKUSER_START="DOMAIN" \
tcpserver -v -H -R -x /etc/tcp.smtp.cdb -c100 -u508 -g503 0 smtp \
/usr/local/bin/rblsmtpd -r all.spam-rbl.fr /var/qmail/bin/qmail-smtpd >> /var/log/qmail/rbl.log 2>&1 \
| /usr/local/bin/tai64n \
| /usr/local/bin/setuidgid qmaill /usr/local/bin/multilog s500000 n60 /var/log/qmailsmtp/ &
eend $?


/usr/local/bin/rblsmtpd est donc appelé à la place de /var/qmail/bin/qmail-smtpd avec la map (-r) all.spam-rbl.fr.
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 all.spam-rbl.fr"

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