=============================================
Installation et configuration de SpamAssassin
=============================================
SpamAssassin est un utilitaire de filtrage spams. Il permet de détecter
automatiquement des messages considérés comme spams en ajoutant un
en-tête ``X-Spam-Flag: YES``, ce qui permet de faire des règles de tri
facilement dans les clients mail comme Thunderbird. SpamAssassin peut
apprendre à détecter les spams d'après vos dossiers d'indésirables.
**Pré-requis**
* Un serveur mail Postfix fonctionnel.
.. contents::
Installation
============
On commence par installer ``spamassassin``. ::
# apt install spamassassin
Cela va installer toutes les dépendances nécessaires, notamment ``spamc``,
un client qui permet de communiquer avec le démon ``spamd`` pour lequel il
faut créer un utilisateur système. ::
# adduser --disabled-login --home /var/spamd spamd
Dans le fichier ``/etc/default/spamassassin``, passer ``CRON`` à 1, cela
indiquera à SpamAssassin de mettre à jour les règles chaque semaine. ::
CRON=1
La configuration de SpamAssassin se fait dans le fichier ``/etc/spamassassin/local.cf``.
La configuration par défaut convient parfaitement. Il faut cependant que ``spamassassin``
se lance automatiquement à chaque démarrage du serveur. ::
# systemctl enable spamassassin
Il faut indiquer à Postfix qu'on utilise SpamAssassin en modifiant
``/etc/postfix/master.cf``. On cherche la ligne : ::
smtp inet n - - - - smtpd
et on ajoute juste en dessous `` -o content_filter=spamassassin`` de manière
à obtenir : ::
smtp inet n - - - - smtpd
-o content_filter=spamassassin
À la fin de ce même fichier, il faut ajouter les lignes : ::
spamassassin unix - n n - - pipe
user=spamd argv=/usr/bin/spamc -f -e /usr/sbin/sendmail -oi -f ${sender} ${recipient}
On (re)démarre les services : ::
# systemctl start spamassassin
# postfix reload
Vérifier que Postfix fonctionne bien en vous envoyant des mails ou en vérifiant
les logs. Si c'est bon, on peut s'envoyer un mail de test pour voir si SpamAssassin
fonctionne bien. Envoyez-vous un mail avec en corps de mail : ::
XJS*C4JDBQADN1.NSBN3*2IDNEN*GTUBE-STANDARD-ANTI-UBE-TEST-EMAIL*C.34X
Cette châine de charactères appelée `GTUBE `_,
*Generic Test for Unsolicited Bulk Email* (Test générique pour les mails en
masse non sollicités). Elle est conçue pour tester SpamAssassin qui doit la
reconnaître comme spam.
Dans la boîte de réception, le mail devrait apparaître comme suit : ::
------------------ Début de Rapport SpamAssassin ---------------------
Ce message est probablement du SPAM (message non sollicité envoyé en
masse, publicité, escroquerie...).
Cette notice a été ajoutée par le système d'analyse "SpamAssassin" sur
votre serveur de courrier "votredomaine.fr", pour vous
aider à identifier ce type de messages.
Le système SpamAssassin ajoute un en-tête "X-Spam-Flag: YES" aux
messages qu'il considère comme étant probablement du Spam.
Vous pouvez si vous le souhaitez utiliser cette caractéristique
pour régler un filtre dans votre logiciel de lecture de courrier,
afin de détruire ou de classer à part ce type de message.
Si ce robot a classifié incorrectement un message qui vous était
destiné, ou pour toute question, veuillez contacter l'administrateur
du système par e-mail à the administrator of that system.
...suivi des détails de l'analyse. Si c'est le cas, l'installation est réussie !
Apprentissage
=============
On peut apprendre à SpamAssassin à reconnaître les spams. Pour cela, toutes les semaines par exemple, on lui donne des mails en lui indiquant que ce sont des spams, et on fait de même pour les mails non-spam (*ham*).
On va dans le dossier d'un de nos comptes mails (en général dans ``/var/vmail``
et on exécute les commandes : ::
sa-learn --showdots --spam .Junk/cur/*
sa-learn --showdots --ham cur/*
Cela suppose que vous avez déjà mis quelques mails indésirables dans le dossier
``Junk`` de votre boîte mail (Thunderbird appelle automatiquement le dossier
d'indésirables ``Junk``), et que le courrier entrant ne contient pas de mails
indésirables.
Voilà, SpamAssassin a appris comment reconnaître vos mails et vos spams. Au
bout de quelques mails (une centaine de spams analysés), SpamAssassin devrait
reconnaître tout seul petit à petit tous vos spams ! Il peut être utile de
créer une tâche dans ``cron`` qui exécuterait ces deux commandes à un
intervalle de temps régulier.
Source
======
* `Installing a mailserver on Debian 8/9 – Part 6: Spamfiltering: SpamAssassin `_