Spamassassin est un filtre anti spam. Ce dernier est actuellement utilisé pour filtrer les listes de discussions et les listes chiffrées

Installation

L'installation sur bulbe s'est faite, comme d'habitude, par le paquet dédié de Debian wheezy (spamassassin)

Configuration

La configuration s'est faite dans /etc/spamassassin/local.cf, et dans /etc/default/spamassassin.

On pensera à invoquer spamassassin --lint après avoir modifié la configuration, afin de vérifier qu'elle soit valide.

local.cf

Score

Le score par défaut pour qu'un e-mail soit considéré comme du spam est de 5.0 (le score spamassassin est une valeur calculée a partir de différents critères pour déterminer si un e-mail est un spam ou non).

Cependant, d'après l'expérience de l'administrateur s'étant occupé de l'installation, un score de 5 laisse passer des spams malgré tout.
Le score a donc été baissé a 4.0, ce qui ne devrait pas engendrer de problèmes, le filtrage de SpamAssassin étant très large.

Filtres

Les filtres sous SpamAssassin sont nombreux; cependant, à cause des limitations de puissance du serveur, deux de ceux-ci ont été désactivés, ainsi que le check de chaque IP entrante contre une RBL de spammers connus, et un autre a été activé explicitement.

/etc/spamassassin/320.pre

On active la compilation (via sa-compile et re2c) des rêgles SpamAssassin avec la directive suivante :

loadplugin Mail::SpamAssassin::Plugin::Rule2XSBody

Cf sa-compile(1p) et /usr/share/doc/spamassassin/README.Debian.gz

/etc/default/spamassassin

Options

  • La variable OPTIONS a été changée de façon à limiter à 5 le nombre de sous-processus (de manière a ne pas consommer trop de ressources processeur) et pour utiliser l'utilisateur debian-spamd.
  • Spamassassin ajoute aux e-mails reconnus comme non-spam un champ dans l'en-tête contenant un court rapport sur l'état du message en question.
  • Les e-mails considérés comme spam se voient nommés <sujet> ***** SPAM ***** (<score>)

Cron

La variable CRON a été mise a 1 pour que les règles de spammassassin soient mises a jour par un cronjob journalier.

/etc/postfix/master.cf

Le filtre spamassassin est configuré pour appeller le script /usr/local/bin/spamfiler.sh en tant qu'utilisateur debian-spamd.

Tous les e-mails passent par ce filtre.

Intégration avec ClamAV

Le plugin pour intégré ClamAV comme test par SpamAsssasin est contenu dans /etc/spamassassin/plugins/ClamAV.pm et configuré dans /etc/spamassassin/clamav.cf.

Il a besoin du paquet Debian libclamav-client-perl pour fonctionner.

/usr/local/bin/spamfilter.sh

Ce script applique simplement le programme /usr/bin/spamc sur chaque e-mail, de façon à filtrer les spams. En outre il ajoute une ligne dans /var/log/syslog.

La configuration de spammassassin est conforme au wiki spamassassin, tel que décrit tout en haut de la page.