SpamAssassin

Un article de Wikipédia, l'encyclopédie libre.
SpamAssassin
Description de l'image Apache SpamAssassin logo.svg.
Description de l'image Reco spam.png.
Informations
Développé par Apache Software Foundation[1]
Première version [2]Voir et modifier les données sur Wikidata
Dernière version 4.0.1 ()[3]Voir et modifier les données sur Wikidata
Dépôt svn.apache.org/viewvc/spamassassin, svn.apache.org/repos/asf/spamassassin, git://git.apache.org/spamassassin.git, github.com/apache/spamassassin et svn.apache.org/repos/asf/spamassassin/trunkVoir et modifier les données sur Wikidata
État du projet En développement
Écrit en Perl et CVoir et modifier les données sur Wikidata
Système d'exploitation Type UnixVoir et modifier les données sur Wikidata
Type Anti-spam
Licence Licence Apache version 2.0Voir et modifier les données sur Wikidata
Site web spamassassin.apache.orgVoir et modifier les données sur Wikidata

SpamAssassin est un logiciel libre mené par la Apache Software Foundation, auteur du très célèbre serveur Web Apache HTTP Server. Le but de ce logiciel est de filtrer le trafic des courriels pour éradiquer les courriels reconnus comme pourriels ou courriels non sollicités.

Face à l'augmentation importante du spam, ce logiciel connaît un engouement important et est adaptable sur de nombreux serveurs de courriels dont procmail, sendmail, Postfix, Exim, qmail ; il peut être installé sur la plupart des systèmes basés sur GNU/Linux, Windows et Mac OS X.

SpamAssassin est distribué gratuitement sous la licence Apache Software License, mais il est possible d'y contribuer financièrement pour encourager son développement.

Fonctionnement[modifier | modifier le code]

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 vers la corbeille).

Tous les messages doivent donc passer par SpamAssassin pour être traités, avant d’arriver dans leur dossier définitif.

Voici un exemple des entêtes ajoutés à un message filtré par SpamAssassin :

X-Spam-Level: *********
X-Spam-Status: Yes, score=9.0 required=5.0 tests=BAYES_99,FROM_EXCESS_BASE64,
	FR_HOWTOUNSUBSCRIBE,FR_SPAMISLEGAL,FR_SPAMISLEGAL_2,HK_RANDOM_ENVFROM,
	HTML_IMAGE_RATIO_04,HTML_MESSAGE,UNPARSEABLE_RELAY autolearn=no version=3.3.1
X-Spam-Report: 
	* 3.5 BAYES_99 BODY: Bayes spam probability is 99 to 100%
	*      [score: 1.0000]
	* 0.0 HK_RANDOM_ENVFROM Envelope sender username looks random
	* 1.0 FR_SPAMISLEGAL_2 BODY: French: droit d acces de modification de
	* rectification
	* 2.0 FR_HOWTOUNSUBSCRIBE BODY: French: how to unsubscribe
	* 1.0 FR_SPAMISLEGAL BODY: French: Conformement ou En vertu....la loi
	* 0.6 HTML_IMAGE_RATIO_04 BODY: HTML has a low ratio of text to image area
	* 0.0 HTML_MESSAGE BODY: HTML included in message
	* 1.0 FROM_EXCESS_BASE64 From: base64 encoded unnecessarily
	* 0.0 UNPARSEABLE_RELAY Informational: message has unparseable relay lines

On remarque qu'il y a 9 étoiles dans l'entête X-Spam-Level qui correspondent bien à un score global de 9.0 (>=9 et <10) affiché en second argument de l'entête X-Spam-Status. Suivent sur cette même ligne, la limite requise, par défaut de 5.0, fixée pour qualifier ce message de Spam (Yes) ainsi que la liste des différents tests qui ont contribué à modifier ce score global. L'entête X-Spam_Report donne la quantification des différents scores ainsi qu'un message d'explication.

On remarque sur cet exemple que le score le plus important, 3.5, est rapporté par le test de Bayes. C'est en effet par l'apprentissage d'au moins 200 messages qualifiés manuellement par vous-même de spam et de 200 messages qualifiés de non-spam (ham) que cette probabilité sera calculée et qu'on lui affectera un score, ici de 3.5 mais qui pourra être négatif en fonction des mots utilisés dans le corps du message reçu. Cette base de connaissance devra évoluer avec le temps car les spammeurs réagissent également à ces règles et vous serez amenés, vous ou l'organisme qui gère vos courriers, à l'améliorer en soumettant les spams qui n'ont pas été détectés, tout comme ceux qui ont été faussement détectés à un programme d'apprentissage dénommé sa-learn qui réside sur le serveur de votre messagerie et non sur votre client de messagerie. Autrement dit, il ne vous sera pas si facile d'améliorer son efficacité si vous n'accédez pas à ce serveur et vous serez le plus souvent réduit à trier les spams en utilisant les options de filtrage de votre client de messagerie.

En pratique, il est souvent proposé de trier vos messages en deux classes, une première où sont regroupés les messages dont le score est par exemple supérieur à 12 qui iront directement à la poubelle et une seconde (dont les scores iront de 5 à 12) dont vous devrez extraire les faux négatifs.

En France, la législation autorise le spam sous certaines conditions d'inscription de mentions légales comme de la possibilité de désinscription d'une « campagne » publicitaire. Pour autant, vous avez également le droit de mettre ces prospectus à la poubelle, et d'effectuer ce tri de manière automatique. Ainsi, en ajoutant au fichier de filtrage anglais de Spamassassin des règles qui détectent la phrase légale « Conformément » ou « En vertu » de « la loi » et d'autres règles spécifiques au français de France[4] et en leur donnant des scores appropriés vous obtiendrez un filtrage bien plus approprié comme on peut le voir sur cet exemple.

Le filtrage le plus efficace restera néanmoins celui du filtrage bayésien car il est spécifique de votre profil de récipiendaire qui lui-même est, pour partie, construit par les spammeurs à partir de vos errances sur le Web et des adresses électroniques qui ont été vendues ou volées à votre insu.

Notes et références[modifier | modifier le code]

  1. CREDITS de SpamAssassin
  2. « https://projects.apache.org/json/projects/spamassassin.json » (consulté le )
  3. Sidney Markowitz, « [ANNOUNCE] Apache SpamAssassin 4.0.1 available », (consulté le )
  4. « Règles SpamAssassin de lutte contre les spams en français "de France" » (consulté le )

Voir aussi[modifier | modifier le code]

Articles connexes[modifier | modifier le code]

Liens externes[modifier | modifier le code]