La messagerie
Les filtres anti-spams
Il existe de nombreux filtres anti-spam, utilisant des méthodes différentes ; parmis celles ci on remarquera :
Des règles pré-établies,
Des filtre bayésiens, faisant des statistiques sur le contenu et les en-têtes du mail,
Des listes blanches (whitelists) permettant de toujours accepter les mails en provenance de certaines adresses,
Des listes noires (blacklists) permetttant de toujours refuser les mails en provenance de certaines adresses (spammeurs).
Beaucoup de filtres anti-spams n'utilisent qu'une de ces méthodes, mais de façon très poussée.
Quelques filtres anti-spams utilisent plusieurs de ces méthodes ensemble, et sont donc plus performants. C'est le cas notamment de DSpam.
Le choix du système anti-spam est très important, d'un point de vue de la qualité du filtrage, et du point de vue des ressources :
Il faut mieux avoir un système laissant passer quelques spams qu'un système suprimant tous les spams et quelques couriers utils.
Certains filtres anti-spams sont très gourmand en ressources (comme par exemple Spamassassin), il faut donc installer un système anti-spam correspondant aux ressources disponibles et au volume de mails à traiter.
5.1 Spam Assassin
5.1.1 Présentation
Spam Assassin est un filtre Anti-spam simple et assez efficace.
Il s'appui sur une liste de règles pré-établies pour donner une notes aux mails entrant, et en fonction de cette note effectue différentes actions.
SpamAssassin est écrit en Perl, ce qui lui permet d'être portable, par contre en cas de très forte demande il peut utiliser beaucoup de ressources.
5.1.2 Installation
Spamassassin est écrit en Perl, et nécessite donc l'utilisation d'une version récente de Perl.
root@localhost# perl -MCPAN -e shell
cpan> install Mail::SpamAssassin
SpamAssassin est maintenant installé; il se trouve normalement dans /usr/bin/spamassassin.
5.1.3 Configuration
5.1.3.1 Avec procmail
Nous allons maintenant configurer Procmail pour qu'il filtre les mails avec SpamAssassin.
Pour cela, il va falloir ajouter quelques lignes dans le fichier .procmailrc de l'utilisateur :
:0fw: spamassassin.lock
| /usr/bin/spamassassin
:0:
* ^X-Spam-Status: Yes
Junk-Mail
Ici on fait passer les mails à travers le filtre SpamAssassin, qui ajoute une en-tête X-Spam-Status indiquant si le mail est considéré comme un Spam.
Si X-Spam-Status est à Yes, alors le mail est placé dans le dossier Junk-Mail.
La directive X-Spam-Level: ***** permet de filtrer les mails auxquels SpamAssassin a attribué une note supérieure ou égale à 5.
5.1.3.2 Avec Sendmail
L'utilisation de SpamAssassin avec Sendmail permet de filtrer tous les couriers entrants, pour tous les utlisateurs du serveur.
Pour ça, vous avez besoin du module Milter, dont l'installation est déja détaillée dans le chapitre sur l'utilisation de l'anti-virus ClamAv avec Sendmail.
Vous devez ensuite installer Spamass-Milter. récupérez le sur le site http://savannah.nongnu.org/projects/spamass-milt/.
Son installation est des plus classiques :
user@localhost$ ./configure
user@localhost$ make
root@localhost# make install
Ajoutez ensuite la ligne suivante au fichier de configuration de Sendmail /etc/mail/sendmail.mc :
INPUT_MAIL_FILTER(`spamassassin', `S=local:/var/run/spammilter/spamass.sock, F=, T=C:15m;S:4m;R:4m;E:10m')
Recompilez ensuite le fichier de configuration de Sendmail avec la commande :
root@localhost# m4 sendmail.mc > sendmail.cf
Créez ensuite le répertoire qui contiendra le socket entre Spamass-Milter et Milter :
root@localhost# mkdir /var/run/spammilter
Copiez ensuite le fichier d'initialisation de Spamass-Milter qui se trouve dans le répertoire contrib/ de l'archive de Spamass-Milter dans vos scripts de démarrage pour lancer Spamass-Milter, et exécutes le pour le lancer.
Relancez maintenant Sendmail pour que le tout soit opérationnel.
5.1.4 Ressources
Utilisation de SpamAssassin avec Sendmail
Index des documentations d'installation de SpamAssassin pour les différents MTA.
5.2 Active Spam Killer (ASK)
5.3 Bogofilter
5.4 DSpam
DSpam est l'un des filtres anti-spam les plus puissants.
5.4.1 Installation
L'installation est plutôt simple :
user@localhost$ ./configure
root@localhost# make
root@localhost# make install
5.4.2 Configuration
5.4.2.1 Avec Procmail
Pour utiliser DSpam avec Procmail, ajoutez les options --enable-delivery-to-stdout --enable-spam-delivery au script configure lors de l'installation.
Editez ensuite le fichier .procmailrc de l'utilisateur et ajoutez les lignes suivantes :
:0fw
| /usr/local/bin/dspam --stdout --deliver-spam
:0:
* ^X-DSPAM-Result: spam
$Maildir/Junk/
Les spams seront maintenant placés dans le dossier Junk.