Se protéger du spam grâce à razor

Dans le précédent article (bogofilter), nous avions vu comment tagguer les Spams après une phase d’apprentissage.Nous allons voir comment aller plus loin grâce à Razor (http://razor.sourceforge.net/), un réseau collaboratif de “détection de spams”.

Comment cela fonctionne?

Un utilisateur rapporte un spam. Une empreinte est alors générée (comme une empreinte digitale). Tout futur mail dont l’empreinte correspond à une empreinte de spam connue sera à 100% un SPAM. Il est donc possible, étant donné que les apsmmeurs envoient en masse des centaines de milliers de fois le même mail, de s’en protéger efficacement.
J’utilise cette solution conjointement à bogofilter.

Bogofilter fonctionne dans un mode à trois etats:

Ham, Unsure, et Spam.

Ham: Le mail est un mail souhaité

Unsure: Bogofilter est “indécis” sur la nature du mail (cas épineux)

Spam: Bogofilter a de grandes présomptions d’avoir découvert un spam.

Afin de limiter les traitements inutiles, j’ai décidé de n’utiliser razor que dans les cas ou bogofilter marque un mail comme unsure.

Comment faire techniquement?

Après avoir installé razor:

razor-admin -create && razor-admin -discover

Passons à l’édition du ~/.procmailrc

## Razor
:0Wc
* < 128000
* ^X-Bogosity: Unsure.*
| razor-check

#Ce bloc passe à razor les mails de taille inférieurs à 128ko pour lesquels bogofilter à renvoyé un etat incertain
:0af
| formail -A “X-Razor-Spam: YES”

#Si razor détecte un spam, alors on ajoute une entete X-Razor-Spam dans le mail

:0
* ^X-Razor-Spam: YES
{
SUBJECT=`formail -zxSubject:`

:0fhw
| formail -I”Subject: ****SPAM**** $SUBJECT”
}

#Razor n’ajoutant pas de chaine spécifique au sujet, nous l’ajoutons

:0
* ^X-Razor-Spam: YES
.Spam/

#Si le mail est marqué comme spam par razor, on le déplace dans le dossier Spam

This entry was posted in Anti Spam, Procmail. Bookmark the permalink.

Comments are closed.