SpamAssassin est un outil anti-pourriel fortement populaire, particulièrement sur les serveurs de courriel Linux. D’ailleurs SpamAssassin est livré (inactif) avec tous les serveurs web cPanel.
Afin de détecter les pourriels, SpamAssassin utilise différents mécanismes tels que les RBL (Remote Black Lists) ainsi que des algorythmes d’analyse des courriels. SpamAssassin peut aussi bloquer un serveur SMTP distant si ce dernier tente d’émettre trop de courriel en un cours laps de temps.
Lorsque SpamAssassin reçoit un courriel, différents critères sont analysés. Lorsque certains de ces critères correspondent à ce que SpamAssassin considère comme du spam, un score est associé au courriel reçu. Si le score dépasse le niveau acceptable établi par l’administrateur, le courriel sera alors identifié comme pourriel.
Mais malgré tous les restrictions misent en place avec SpamAssassin, il arrive toutefois que certains pourriels réussissent à atteindre notre boîte de réception…
Entraîner SpamAssassin à mieux différencier le « spam » du « ham »
SpamAssassin possède un utilitaire permettant d’entraîner ce dernier à mieux différencier les courriels légitimes (ham) des pourriels (spam). Cet utilitaire se nomme « sa-learn ». Voici comment exploiter sa-learn sur un serveur cPanel.
1. Accéder à votre boîte de réception en mode IMAP (et non POP3) à l’aide d’un client Webmail fourni par cPanel. Les clients Webmail sont habituellement disponibles à l’adresse https://www.votresiteweb.com/webmail ou https://www.votresiteweb.com:2096 . Si le serveur n’accepte pas les connexions sécurisées, utiliser « http » plutôt « https ».
2. À l’aide du client Webmail sélectionné, créer deux (2) dossiers à la racine de la boîte de réception: learn-spam et learn-ham. Nous n’entrerons pas dans les détails de cette procédure toutefois.
3. Créer un script (fichier texte) avec le contenu suivant et le nommer sa-learn.sh :
#!/bin/sh /usr/bin/sa-learn --no-sync --spam ~/mail/[domaine]/[compte]/.learn-spam/cur /usr/bin/sa-learn --no-sync --ham ~/mail/[domaine]/[compte]/.learn-ham/cur /usr/bin/sa-learn --sync rm -f ~/mail/[domaine]/[compte]/.learn-spam/cur rm -f ~/mail/[domaine]/[compte]/.learn-ham/cur
N’oubliez pas de remplacer [domaine] et [compte]
par les valeurs respectives de votre compte cPanel!
4. Télécharger le script à la racine de votre espace web à l’aide d’un client FTP.
5. Modifier les permissions du script afin qu’il soit exécutable (0755).
6. À l’aide de cPanel, ajouter une tâche planifiée (cron job) afin de lancer le script une fois par jour:

Maintenant lorsque vous recevrez du spam dans votre boîte de réception, il suffit de déplacer le courriel indésirable dans le dossier learn-spam à l’aide d’un client Webmail de votre choix. Il en va de même avec les courriels légitimes identifiés comme étant du spam: déplacez ces derniers dans le dossier learn-ham.
Une fois par jour, le contenu de ces courriels seront analysés et SpamAssassin apprendra alors à mieux différencier le spam du ham.
Mais attention: le contenu de ces deux dossiers sera supprimé une fois son contenu analysé. Si vous souhaitez conserver certains de ces courriels, assurez-vous alors d’en faire une copie plutôt que de les déplacer.
Si vous deviez effacer les données analysées par sa-learn, il vous suffit de vous connecter à votre serveur par SSH et de lancer la commande suivante:
sa-learn --clean

