Configuration · 8 min read · Nov 14, 2025

Filtre anti-spam Postfix utilisant Ubuntu Dapper, MailScanner, SpamAssassin, Razor, Pyzor, DCC et ClamAV - Page 4

3 Configuration de Pyzor, Razor, DCC, SpamAssassin et MailScanner

3.1 Configuration de Pyzor

Nous devons d’abord changer certaines permissions sur pyzor :

chmod -R a+rX /usr/share/doc/pyzor /usr/bin/pyzor /usr/bin/pyzord

Cette commande suivante devra être modifiée si vous avez une version différente de python. Essayez de localiser pyzor.

chmod -R a+rX /usr/lib/site-python/pyzor

Ici, nous fournissons l’adresse IP du serveur Pyzor à Pyzor. Cela créera un répertoire .pyzor dans les répertoires personnels des utilisateurs et placera l’adresse IP du serveur dans un fichier servers à l’intérieur. Ensuite, il testera la connexion. Si vous êtes derrière un pare-feu, ouvrez le port 24441/udp entrant et sortant vers votre serveur. Pendant que vous y êtes, ouvrez également 6277/udp pour DCC, 2703/tcp pour Razor et 783/tcp pour SpamAssassin :

pyzor ping

En général, vous obtiendrez un délai d’attente du ping pyzor, donc ne vous inquiétez pas. Nous testerons à nouveau plus tard.

Si à l’avenir l’adresse IP du serveur change, vous devrez passer à nouveau par cette section. Vous pouvez trouver l’adresse du serveur Pyzor actuel ici http://pyzor.sourceforge.net/cgi-bin/inform-servers-0-3-x.

Si Pyzor fonctionne, vous verrez “Pyzor : réponse reçue :” Pyzor interroge un serveur Pyzor de la même manière que votre ordinateur interroge un serveur DNS. La seule différence pratique est le numéro de port utilisé. Si Pyzor ne fonctionne pas, vous devrez peut-être ouvrir le port sur votre pare-feu ou le serveur Pyzor est occupé.

3.2 Configuration de Razor

Créez une configuration default.razor sous le répertoire personnel root :

cd  
rm /etc/razor/razor-agent.conf  
razor-admin -create  
razor-admin -create

Razor v2 nécessite que les reporters soient enregistrés afin que leurs réputations puissent être calculées au fil du temps et qu’ils puissent participer au mécanisme de révocation. L’enregistrement se fait avec razor-admin -register. Lorsque razor-admin -register est invoqué en tant que root, il négocie un enregistrement avec le serveur de nomination et écrit les informations d’identité dans /root/.razor/identity-username. Invoquez-le manuellement de l’une des manières suivantes :

  1. Pour enregistrer l’utilisateur : foo et le mot de passe : s1kret (foo et s1kret sont des exemples) :
razor-admin -register -user=foo -pass=s1kr3t
  1. Pour s’enregistrer avec une adresse e-mail et avoir le mot de passe attribué :
razor-admin -register [email protected]
  1. Pour avoir à la fois un nom d’utilisateur et un mot de passe (aléatoires) attribués :
razor-admin -register

Je fais généralement le numéro 3. Apportez les modifications suivantes à /root/.razor/razor-agent.conf :

vi /root/.razor/razor-agent.conf

Changez debuglevel = 3 en debuglevel = 0 (oui zéro pas “o”). Cela empêchera Razor de remplir votre disque avec des informations de débogage. Nous déplacerons également ces configurations à un endroit où l’utilisateur Postfix pourra les lire, alors ajoutez la ligne razorhome à la fin du fichier. Ces deux lignes devraient ressembler à ceci une fois terminé :

debuglevel             = 0
razorhome             = /var/lib/MailScanner/.razor/

Nous testerons Razor plus tard. man razor-agent.conf ou allez à http://razor.sourceforge.net/docs/razor-agent.conf.php pour plus d’informations sur Razor.

3.3 Configuration et installation de DCC

Installez DCC :

apt-get install dcc-client

Nous ne faisons pas fonctionner un serveur DCC, donc nous n’avons pas besoin de perdre du temps à nous vérifier : Si vous êtes une grande organisation (100 000 messages par jour), vous devriez envisager de faire fonctionner votre propre serveur.

Une fois l’installation terminée, exécutez :

cdcc "delete 127.0.0.1"  
cdcc "delete 127.0.0.1 Greylist"

Testez notre installation avec :

cdcc info

Vous devriez obtenir ‘requests ok’ des serveurs.

4 Configuration de MailScanner, ClamAV et SpamAssassin

4.1 MailScanner et ClamAV

Arrêtez Postfix :

postfix stop

Installez les paquets :

apt-get install mailscanner clamav

Mettez à jour les définitions de virus de ClamAV :

freshclam

Commençons par MailScanner. Le MailScanner qui vient d’être installé depuis les dépôts est une très ancienne version, donc nous allons maintenant le supprimer et installer le paquet MailScanner à partir de la source.

Téléchargez le tarball depuis http://www.mailscanner.info/downloads.html … Au moment de la rédaction, il est à la version 4.56.8-1 et le lien du tarball est http://www.mailscanner.info/files/4/tar/MailScanner-install-4.56.8-1.tar.gz. Ensuite, installez MailScanner en utilisant le script install.sh.

cd  
apt-get remove mailscanner  
wget http://www.mailscanner.info/files/4/tar/MailScanner-install-4.56.8-1.tar.gz  
tar zxvf MailScanner-install-4.56.8-1.tar.gz  
cd MailScanner-install-4.56.8  
./install.sh

Ignorez le message concernant les lignes cron que nous devons ajouter à cron pour l’instant.

Une fois cela fait, nous devons créer un répertoire pour SpamAssassin dans le spool et donner des permissions à postfix, si vous exécutez sa-learn –force en tant que root, la base de données bayes qui est stockée dans ces répertoires changera à root:root et spamassassin renverra une erreur en regardant la db. Gardez simplement un œil sur le mail.log et vous vous souviendrez de changer les permissions. Désactivez également les configurations par défaut de MailScanner :

mkdir /var/spool/MailScanner/spamassassin  
mv /etc/MailScanner /etc/MailScanner.dist

Sauvegardez votre fichier MailScanner.conf :

cp /opt/MailScanner/etc/MailScanner.conf /opt/MailScanner/etc/MailScanner.conf.back

Éditez MailScanner.conf :

vi /opt/MailScanner/etc/MailScanner.conf

Changez les paramètres suivants dans MailScanner.conf :

%org-name% = YOURDOMAIN-COM
%org-long-name% = Votre Nom de Société INC
%web-site% = www.votredomaine.com
Run As User = postfix
Run As Group = postfix
Incoming Queue Dir = /var/spool/postfix/hold
Outgoing Queue Dir = /var/spool/postfix/incoming
MTA = postfix
Virus Scanners = clamav
Spam Subject Text = [SPAM]
Send Notices = no
Spam List = ORDB-RBL SBL+XBL
Required SpamAssassin Score = 6
High SpamAssassin Score = 10
Spam Actions = deliver striphtml
High Scoring Spam Actions = delete
Rebuild Bayes Every = 86400
Wait During Bayes Rebuild = yes
SpamAssassin User State Dir = /var/spool/MailScanner/spamassassin

Les 9 premières lignes sont essentiellement requises pour que tout fonctionne, le reste est recommandé. Le MailScanner.conf est bien documenté, donc veuillez lire les notes là-bas si vous avez des questions sur le reste des options que nous avons modifiées. Parcourez ce fichier de haut en bas.

Jetez également un œil à la section “Suppression/Journalisation de contenu dangereux ou potentiellement offensant” dans le fichier MailScanner.conf. J’ai dû désactiver la plupart de ces options car les clients se plaignaient des messages ‘{Désarmé}’.

4.2 SpamAssassin

Tout d’abord, nous devons désactiver le fichier de configuration par défaut de SpamAssassin :

mv /etc/spamassassin/local.cf /etc/spamassassin/local.cf.disabled

Maintenant, sauvegardons le fichier de configuration de SpamAssassin dans MailScanner puis éditons :

cp /opt/MailScanner/etc/spam.assassin.prefs.conf /opt/MailScanner/etc/spam.assassin.prefs.conf.back
vi /opt/MailScanner/etc/spam.assassin.prefs.conf

Ajoutez ces deux lignes en haut de spam.assassin.prefs.conf :

pyzor_options --homedir /var/lib/MailScanner/
razor_config /var/lib/MailScanner/.razor/razor-agent.conf

Changez l’endroit où SpamAssassin cherche la base de données Bayes, commentez le bayes_path par défaut ou changez-le en conséquence :

#bayes_path /var/lib/MailScanner/bayes
bayes_path /var/spool/MailScanner/spamassassin/bayes

Recherchez ces lignes et changez-les en conséquence :

bayes_ignore_header X-YOURDOMAIN-COM-MailScanner
bayes_ignore_header X-YOURDOMAIN-COM-MailScanner-SpamCheck
bayes_ignore_header X-YOURDOMAIN-COM-MailScanner-SpamScore
bayes_ignore_header X-YOURDOMAIN-COM-MailScanner-Information

“YOURDOMAIN-COM” doit être remplacé par ce que vous avez utilisé pour “%org-name%” dans le fichier MailScanner.conf. Laissez le “X-“ en place.

Assurez-vous que “bayes_auto_expire 0” n’est pas commenté :

bayes_auto_expire 0

Éditez le SpamAssassin v310.pre pour activer Razor et DCC

vi /etc/spamassassin/v310.pre

Décommentez les lignes suivantes :

loadplugin Mail::SpamAssassin::Plugin::DCC
loadplugin Mail::SpamAssassin::Plugin::Razor2

5 Rassembler le tout

Copiez les configurations Pyzor et Razor à un endroit où l’utilisateur Postfix pourra les lire :

cp -R /root/.pyzor /var/lib/MailScanner  
cp -R /root/.razor /var/lib/MailScanner

Maintenant que nous avons tout cela, définissons les permissions correctes :

chown -R postfix.postfix /var/spool/MailScanner/  
chown -R postfix.postfix /var/lib/MailScanner/

Voyons si SpamAssassin est content :

su postfix -p -c 'spamassassin -x -D -C /opt/MailScanner/etc/spam.assassin.prefs.conf --lint'

Vous devriez voir des lignes apparaître avec DCC, Pyzor et Razor qui disent charger le plugin et espérons-le, pas d’erreurs.

NOTE : Si vous exécutez un jour le sa-learn, n’oubliez pas de l’exécuter comme ceci, su postfix -p -c ‘sa-learn –sync –force-expire -C /opt/MailScanner/etc/spam.assassin.prefs.conf’ sinon lorsque SpamAssassin reconstruit la base de données bayes, il ne pourra pas la lire.

Si tout semble en ordre, continuez, sinon, dépannez puis continuez.

Pour terminer cette partie, nous devons ajouter des tâches cron qui nettoieront/mettront à jour/exécuteront Mailscanner, vous avez probablement vu le message à ce sujet après que le script d’installation de MailScanner se soit terminé. La raison pour laquelle nous le faisons maintenant est que nous ne voulons pas que MailScanner démarre pendant que nous terminons la configuration de SpamAssassin.

crontab -e

Ajoutez ces lignes :

37      5 * * * /opt/MailScanner/bin/update_phishing_sites
58     23 * * * /opt/MailScanner/bin/clean.quarantine
42      * * * * /opt/MailScanner/bin/update_virus_scanners
3,23,43 * * * * /opt/MailScanner/bin/check_mailscanner

Nous devons ajouter une ligne à rc.local afin que MailScanner démarre au redémarrage :

vi /etc/rc.local

Avant la ligne “Exit 0”, ajoutez :

/opt/MailScanner/bin/check_mailscanner

Autant lier le fichier “check_mailscanner” dans le répertoire bin. De cette façon, vous pouvez l’exécuter chaque fois que vous devez redémarrer MailScanner :

cd /usr/bin  
ln -s /opt/MailScanner/bin/check_mailscanner check_mailscanner

Juste pour vous donner un journal propre à regarder et redémarrer :

rm /var/log/mail.log  
reboot

Si vous voyez des erreurs au redémarrage lors du démarrage de MailScanner concernant le Perl Sys/Hostname/Long.pm, vous devez l’installer comme ceci :

perl -MCPAN -e shell

S’il vous demande de le configurer maintenant, dites non, à moins que vous ne sachiez ce que vous faites. Maintenant, exécutez ce qui suit pour installer le module :

install Sys::Hostname::Long

Lorsque cela est terminé, tapez “quit” pour revenir à la console. Redémarrez ou démarrez MailScanner avec le script “check_mailscanner”.

À ce stade, vous devriez avoir un filtre anti-spam entièrement fonctionnel. Jetez un œil à tail -f /var/log/mail.log, il devrait être pratiquement exempt d’erreurs.

Ce README devrait être utile pour une utilisation future. Copiez-le dans votre filtre anti-spam pour une référence rapide.

POSTFIX, UBUNTU, MAILSCANNER README
************************************************
ADD DOMAIN
**********************************************
- Éditez '/etc/postfix/relay_recipients', 'relay_domains' et 'transport'.
- Exécutez 'postmap /etc/postfix/relay_recipients'. Même chose pour 'relay_domains' et 'transport' après avoir édité pour ajouter des domaines dans le fichier db.
- 'postfix reload' pour que postfix lise les nouveaux fichiers db.
- Pour ajouter des utilisateurs aux domaines, éditez 'relay_recipients' et 'postmap' cela.
**********************************************
CONTROLLING BLIST WLIST
**********************************************
- Éditez /etc/postfix/sender_access
- Exécutez 'postmap /etc/postfix/sender_access'
- Exécutez 'postfix reload'
**********************************************
OTHER CONFIG FILES
**********************************************
- Pour éditer les paramètres de MailScanner "/opt/MailScanner/etc/MailScanner.conf"
- Pour éditer les paramètres de spamassassin "/opt/MailScanner/etc/spam.assassin.prefs.conf"
- Pour éditer les paramètres de clamav "/etc/clamav/clamd.conf"
**********************************************
MISC
************************************************
- Exécutez 'LINUX2' si des erreurs postfix apparaissent concernant des fichiers ne correspondant pas dans le jailroot.
- Exécutez 'postfix check' pour voir si postfix est synchronisé avec jailroot.
- Exécutez newaliases pour rafraîchir la base de données /etc/postfix/aliases si des modifications sont apportées à ce fichier..
- 'mailq' et 'qshape' pour vérifier la file d'attente.
- 'check_mailscanner' pour redémarrer MailScanner.
Share: X/Twitter LinkedIn

Recevez de nouveaux articles dans votre boîte de réception.

Aucun spam. Désabonnez-vous à tout moment.