Documentation technique : Debian
Documentation basée sur la distribution Debian

> > > SpamAssassin et Pyzor

SpamAssassin et Pyzor

Pyzor est un système distribué de détection et de blocage de spams écrit en Python qui utilise la signature des emails afin de les identifier.

Il s’interface très simplement avec SpamAssassin afin d’utiliser son serveur public pour contribuer à détecter les spams arrivant sur le serveur.

La signature du mail entrant est envoyé au serveur de Pyzor afin de vérifier sa validité.

Installation du client Pyzor

Debian dispose d’un paquet pour Pyzor, il suffit donc de l’installer par la méthode habituelle :

  1. sudo apt-get install pyzor

Récupérer la liste des serveurs

Dans un premier temps, il est nécessaire de récupérer la liste de serveurs de Pyzor que l’on pourra contacter.

On va récupérer la liste de serveur de pyzor dans le home de l’utilisateur de spamassassin.

Sur les Debian récentes, l’utilisateur système associé à spamassasin est debian-spamd.

On se fait passer pour cet utilisateur et on lance la commande de découverte de serveurs :

  1. sudo -u debian-spamd pyzor discover

La réponse de la commande sera quelque chose comme :

  1. downloading servers from http://pyzor.sourceforge.net/cgi-bin/inform-servers-0-3-x

Cette commande créera un répertoire /var/lib/spamassassin/.pyzor/ dans lequel elle ajouter un fichier servers dont le contenu doit être :

  1. public.pyzor.org:24441

Tester si pyzor est fonctionnel

Dans un premier temps, nous allons récupérer un exemple de spam dans notre home :

  1. cd ~ && wget http://www.opensource.apple.com/source/SpamAssassin/SpamAssassin-137.1/SpamAssassin/sample-spam.txt

On dispose alors d’un fichier sample-spam.txt qui est le contenu textuel d’un spam.

On teste alors spamassassin avec pyzor sur ce fichier en se faisant passer pour l’utilisateur système de spamassassin "debian-spamd" :

  1. sudo -u debian-spamd spamassassin -D pyzor < sample-spam.txt

Au début du retour de la commande, les lignes suivantes devraient apparaitre si tout est ok :

  1. ay 25 13:41:27.834 [6430] dbg: pyzor: network tests on, attempting Pyzor
  2. May 25 13:41:28.408 [6430] dbg: pyzor: pyzor is available: /usr/bin/pyzor
  3. May 25 13:41:28.408 [6430] dbg: pyzor: opening pipe: /usr/bin/pyzor check < /tmp/.spamassassin6430RFU1C2tmp
  4. May 25 13:41:28.448 [6430] dbg: pyzor: [6434] finished successfully
  5. May 25 13:41:28.448 [6430] dbg: pyzor: got response: public.pyzor.org:24441 (200, 'OK') 52 0
  6. May 25 13:41:28.448 [6430] dbg: pyzor: listed: COUNT=52/5 WHITELIST=0

Télécharger

Ceci indique que Pyzor est fonctionnel.

Puis, un peu plus loin dans le retour de commande, dans la liste de X-Spam-Report: :

  1.     *  1.4 PYZOR_CHECK Listed in Pyzor (http://pyzor.sf.net/)

Ceci indique que Pyzor a bien ajouté des points de spams à spamassassin concernant ce message.

Configuration de SpamAssassin pour utiliser Pyzor en complément

Pour que spamassassin utilise pyzor à chaque mail reçu, il faut lui indiquer de l’utiliser.

On édite alors le fichier de configuration local de spamassassin :

  1. sudo nano /etc/spamassassin/local.cf

Et on y indique (en fin de fichier ou où vous le souhaitez) :

  1. use_pyzor 1

Il est nécessaire ensuite de redémarrer le service spamassassin via la commande :

  1. /etc/init.d/spamassassin restart

Timeout trop court

Si vous observez, dans le fichier de logs de mails /var/log/mail.log des répétitions d’erreurs du type pyzor: [9306] error: TERMINATED, signal 15 (000f), c’est dû, à priori, au fait que le timeout pour se connecter au serveur de Pyzor est trop court.

Vous pouvez alors augmenter la valeur de ce timeout dans le fichier /etc/spamassassin/local.cf de la sorte :

  1. pyzor_timeout 15
  • Auteur :
  • Publié le :
  • Mis à jour : 25/10/15

1 commentaire


Qui êtes-vous ?
[Se connecter]
Ajoutez votre commentaire ici

Ce champ accepte les raccourcis SPIP {{gras}} {italique} -*liste [texte->url] <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.