Outils pour utilisateurs

Outils du site


Ceci est une ancienne révision du document !


Spamassassin

L'anti-spam ultime peut se greffer sur Postfix sous la forme d'un milter.

 apt install spamass-milter

Une impressionnante liste de dépendances s'impose, dans laquelle nous retrouvons spamassassin, spamc et spamd.

  • spamassassin «est un filtre anti-pourriel très puissant et entièrement configurable.»
  • spamd est le démon de spamassassin
  • spamc est le client qui se connecte à spamd pour l'analyse du message

L'installation fait ce qu'il faut pour que spamd soit démarré automatiquement par systemd:

systemctl status spamd

spamd.service - Perl-based spam filter using text analysis
     Loaded: loaded (/usr/lib/systemd/system/spamd.service; enabled; preset: enabled)
     Active: active (running) since Thu 2025-05-29 17:05:46 CEST; 39s ago
...
     CGroup: /system.slice/spamd.service
             ├─3414 /usr/bin/perl "-T -w" /usr/sbin/spamd --pidfile=/run/spamd.pid --create-prefs --max-children 5 --helper-home-dir
             ├─3418 "spamd child"
             └─3419 "spamd child"
...
mai 29 17:05:47 mail spamd[3414]: spamd: server started on IO::Socket::IP [::1]:783, IO::Socket::IP [127.0.0.1]:783 (running version 4.0.1)
De même, systemd démarre automatiquement spamass-milter:
systemctl status spamass-milter

spamass-milter.service - LSB: milter for spamassassin
     Loaded: loaded (/etc/init.d/spamass-milter; generated)
     Active: active (running) since Thu 2025-05-29 17:33:10 CEST; 6s ago
       Docs: man:systemd-sysv-generator(8)
    Process: 42590 ExecStart=/etc/init.d/spamass-milter start (code=exited, status=0/SUCCESS)
      Tasks: 5 (limit: 2248)
     Memory: 492.0K
        CPU: 19ms
     CGroup: /system.slice/spamass-milter.service
             └─42604 /usr/sbin/spamass-milter -P /var/run/spamass/spamass.pid -f -p /var/spool/postfix/spamass/spamass.sock -u spamass-milter -i 127.0.0.1 -I
...

Configuration de base

Il n'est pas question ici d'entrer dans le détail de la configuration de cette usine. Voyons juste une façon simple de mettre en œuvre ce filtre complexe.

Un fichier /etc/default/spamd est créé et peut être laissé tel quel. Un autre fichier; /etc/default/spamass-milter est également créé. Il peut également laissé tel quel. Il permet de définir les paramètres de démarrage de spamass-milter, mais il n'est pas inutile de consulter le manuel du milter pour éventuellement modifier ces valeurs ou en ajouter.

Ajouter à la liste des milters dans le main.cf de Postfix qui est désormais de la forme:

smtpd_milters = unix:opendkim/opendkim.sock unix:opendmarc/opendmarc.sock unix:/spamass/spamass.sock

Et rafraîchir avec un:

postfix reload

ou si l'on préfère:

systemctl reload postfix

Contrôle

À réception d'un message, nous trouvons dans l'en-tête:

X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED,
	DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM,
	RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL,
	RCVD_IN_ZEN_BLOCKED_OPENDNS,TVD_SPACE_RATIO autolearn=ham
	autolearn_force=no version=4.0.1
X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-25) on mail.nain-t.net
Le «score» requis pour décréter que le message est un spam est par défaut réglé à 5. C'est peut-être excessif. Par ailleurs, spamc par défaut ne passe pas à spamd les messages dont la taille est supérieure à 500 KB, ce qui laissera certainement passer des messages pourris.

Ces paramètres peuvent être revus dans /etc/default/spamass-milter de la façon suivante:

OPTIONS="-u spamass-milter -i 127.0.0.1 -I -r 10 -- -s 100000000"
Le surlignage jaune indique ce qui est ajouté à la configuration par défaut:

  • -I pour ne pas traiter les messages si l'émetteur s'est authentifié (SMTP AUTH),
  • -r 10 modifie le score à partir duquel le message est considéré comme spam (la valeur par défaut étant 5),
  • indique que ce qui suit est la liste des paramètres à passer à spamc.

Ce qui est surligné en orange indique à spamc qu'il ne doit court-circuiter les messages que si leur taille est >= à 100 MB (la valeur par défaut étant de seulement 500 KB).

En cas de modification, relancer tous les services concernés: spamass-milter, mais aussi spamd et postfix.

Spamassassin: Dernière modification le: 18/07/2025 à 15:10 par prof