Installation et Configuration de Spamassassin
Simple et efficace.
SpamAssassin est un programme (en Perl) qui fait passer un certain nombre de tests au message. En fonction du résultat de ces tests, il attribue un score au message.
Si le score dépasse un certain seuil, le courriel est alors considéré comme du Spam. SpamAssassin modifie alors le titre du message (il l'encadre par ***** SPAM *****). De plus, SpamAssassin positionne deux nouveaux en-têtes au message : X-Spam-Status et X-Spam-Level.
Ces deux en-têtes permettent alors de créer des filtres dans votre client de messagerie pour orienter le message (par exemple la corbeille).
Tous les messages doivent donc passer par SpamAssassin pour être traités, avant d’arriver dans leur dossier définitif.
merci Wikipedia.
Pré-requis :
Un serveur mail avec Postfix qui fonctionne
Installation :
yum install spamassassin
Vous aurez surement une ribambelle de dépendances à satisfaire (modules Perl) :
perl-Archive-Tar.noarch 1:1.39.1-1.el5_5.2 perl-Crypt-OpenSSL-RSA.x86_64 0:0.25-1.el5.rf perl-Email-Date-Format.noarch 0:1.002-1.el5.rf perl-Geography-Countries.noarch 0:2009041301-1.el5.rf perl-IO-Compress.noarch 0:2.030-2.el5.rf perl-IP-Country.noarch 0:2.27-1.el5.rf perl-Mail-SPF.noarch 0:2.006-1.el5.rf perl-Net-Ident.noarch 0:1.23-1.el5.rf perl-Pod-Escapes.noarch 0:1.04-1.2.el5.rf [...]
Configuration :
Les fichiers de configuration se trouvent dans :
- /etc/mail/spamassassin le plus important est local.cf.
internal_networks 82.11.127.108 internal_networks 84.97.26.22 required_hits 5 report_safe 0 rewrite_header Subject [!!!SPAM!!!]
Pour internal mettez bien tous vos serveurs mx.
- /etc/sysconfig/spamassassin
# Options to spamd SPAMDOPTIONS="-d -c -m5 -H -s /var/log/spamd.log"
Les règles sont stockées dans :
/var/lib/spamassassin/3.003001
Pour récupérer les dernières règles, faites de temps en temps :
sa-update -v Update available for channel updates.spamassassin.org Update was available, and was downloaded and installed successfully
Ou mieux, une petite tache Cron :
/usr/share/spamassassin /etc/cron.d/sa-update
Si vous rencontrez des messages d’erreurs en lien avec la gestion des clés, voila la méthode pour régler ce souci :
wget http://spamassassin.apache.org/updates/GPG.KEY gpg --import GPG.KEY
Vérifier la syntax du fichier local.cf :
spamassassin --lint
Apprendre de nouveau spam à votre filtre bayésien :
Créer un dossier imap dans votre boite (par exemple : spamtolearn), mettez y les spams non détectés et créez une tache cron du genre :
/usr/bin/sa-learn --spam --mbox /var/spool/vmail/titi@toto.org/.spamtolearn
Vous avez la possibilité de faire la même chose si Spamassassin détecte des spam alors que ce sont de vrai mails :
Créer un dossier imap dans votre boite (ex: hamtolearn), mettez y les hams détectés comme spams et créez une tache cron comme celle ci :
/usr/bin/sa-learn --ham --mbox /var/spool/vmail/titi@toto.org/.hamtolearn
Pour la création de Liste blanche :
whitelist_from mimimati@olala.com
mimimati@olala.com est l'adresse dont vous avez totalement confiance.
A mettre dans les fichiers :
- ~/.spamassassin/user_prefs
ou
- /etc/mail/spamassassin/local.cf
A savoir, la syntaxe suivante fonctionne :
whitelist_from *@sparkingwire.com
Même chose pour les listes noir avec la directive : blacklist_from
Tests et validation :
Envoyer un mail avec cette chaine dans le corps du message :
XJS*C4JDBQADN1.NSBN3*2IDNEN*GTUBE-STANDARD-ANTI-UBE-TEST-EMAIL*C.34X
Il doit être identifié comme spam, et son objet doit être modifié (ajout de : !!!SPAM!!!), si ce n'est pas le cas c'est que votre Spamassassin ne fonctionne pas correctement, il vous faudra peut être jeter un œil dans les logs : /var/log/spam.log et /var/log/maillog, faites un grep sur spam.
Du basique mais c'est ce qu'il me fallait :), à suivre : Sieve.