Ceci est une ancienne révision du document !
Table des matières
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 spamassassinspamc
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.