Style Normal | Light
Logo OFF | ON
Police -- | == | ++
Fermer

Comment lutter contre le fléau du web : le Spam !

Introduction

Le Spam est un fléau du Web. Il est pénible de recevoir chaque jours des dizaines et des dizaines de mails non sollicités. Heureusement, il existe des logiciels pour contrer ce fléau. Je vais donc vous présenter Spamassassin, un programme écrit en Perl qui permet de filtrer vos mails.

Spamassassin, bien que ce soit un outil très puissant, est simple à installer et à configurer. Je ne parlerais pas ici de l'installation puisque cela change en fonction de votre distribution. En tout cas, ce logiciel est sûrement disponible dans le système de paquetages de votre distribution (urpmi, apt-get, portage etc.) N'oubliez pas de lancer le daemon de Spamassassin (spamd) pour accélérer le filtrage des mails.

Comment fonctionne Spamassassin

Pour chaque mail reçu, Spamassassin analyse le contenu du message et donne ensuite un "score" au mail en fonction de ses caractéristiques. Par exemple, lorsque un mail est écris en rouge, bien gras, bien gros, il va remporter un gros "score" :) Ensuite chaque mail dépassant une limite de "score" (par défaut 5), il est marqué de l'attribut X-Spam-Flag : YES : cela signifie que ce message a été détecté comme Spam par Spamasssassin. Votre client mail doit alors le déplacer dans la Corbeille ou dans un dossier Spam par exemple.

Configurer Spamassassin

Le fichier de configuration principal de Spamassassin se trouve dans /etc/mail/spamassassin . Il s'agit du fichier local.cf

Voici les options principales de ce fichier de configuration.

  • required_hits 5 : permet de modifier le "score" à atteindre (5) par le message pour qu'il soit considéré comme du Spam
  • ok_languages fr : indique les langues acceptées (fr) à la réception. Les messages écrits dans une autre langue posséderont un score plus élevé
  • lang fr : permet de changer la langue utilisée (fr) pour les rapports de Spamassassin. C'est plus agréable en français qu'en anglais ;)
  • whitelist_from adresse@email.com : permet de spécifier à Spamassassin que les mails venant de cette adresse ne sont pas du Spam
  • blacklist_from adresse@email.com : Spamassassin marquera automatiquement les mails venant de cette adresse comme Spam

Ceci n'est qu'un petit aperçu de la configuration de Spamassassin, mais juste en utilisant ces options, le logiciel est totalement fonctionnel.

Le filtrage dans Kmail (valable pour tout autre client mail)

Pour filtrer correctement les mails, il faut utiliser deux filtres. Le premier qui envoie les messages vers Spamassassin pour les identifier et appliquer aux messages non désirés l'attribut X-Spam-Flag à YES. Ensuite, le deuxième filtre qui envoie tous les messages marqué par X-Spam-Flag dans le dossier "Spam".

Lancez KMail, créez un nouveau dossier Spam puis cliquez sur Configuration/Configurer les filtres. Créez deux nouveaux filtres (spam1 et spam2 par exemple)

Il faut configurer le filtre comme ceci : "Taille en octets" : est inférieur à 250000 (évite de surcharger Spamassassin avec des gros mails) puis "utiliser le programme de filtre" : spamc (envoie le message vers Spamassassin pour l'analyse). Et enfin décochez la case : "Si ce filtre est applicable, ne pas poursuivre". Le premier filtre est prêt, vous devez obtenir quelques chose de similaire à cette image ci-dessous. (cliquez pour agrandir)

Configuration de Kmail

Pour le deuxième filtre, configurez comme ceci : "X-Spam-Flag" : est égal à "YES", puis "Mettre dans le dossier" : "Spam" (le nouveau dossier que vous avec créé. Vous obtenez ceci normalement.

Configuration de Kmail

Voilà Kmail est configuré. Vous pouvez bien sur créer adapter ceci pour d'autres clients Emails (Balsa, Sylpheed etc.)

Apprentissage de Spamassassin

Par défaut, Spamassassin sait reconnaître les Spams et les messages désirés. Cependant il peut se tromper et il faut alors l'entraîner. Il est donc conseillé de garder pendant un peu de temps les Spams dans leur dossier. Il suffit ensuite de lancer la commande sa-learn de temps en temps pour entraîner Spamassassin à différencier correctement les mails.

  • sa-learn --spam --dir ~/Mail/Spam/cur : pour le dossier contenant les Spams (à adapter à votre configuration bien sur)
  • sa-learn --ham --dir ~/Mail/inbox/cur : pour le dossier contenant les messages désirés

Conclusion

J'espère que ce petit How-To vous aidera à éliminer tous les Spams de votre boite à mail ;) Sachez aussi que Spamassassin peut également utiliser une base de donnée comme Razor par exemple.

Ressources