Hébergement à Haute Disponibilité,
Performant et Sécuritaire
Petit guide filtrage de Bayes

Afin d'utiliser cette technique, vous devez avoir déjà configuré votre filtrage de spam, soit par l'interface web ou l'interface shell avec les commandes «mail rule».

Cet article (en anglais) décrit une méthode qui consiste à assigner une probabilité («spamicité») à des mots individuels. Cette méthode est toute simple et peut filtrer le spam de manière efficace. Il suffit d'avoir un ensemble de messages confirmés comme étant du spam, un ensemble comportant seulement des messages légitimes (ham), ainsi qu'un filtre de Bayes. SpamAssassin comporte un système de filtrage de Bayes simple d'utilisation.

L'enregistrement de spam/ham connu

Utilisez la commande sa-learn afin d'enregistrer le contenu d'un fichier mbox (ou maildir) comme étant du spam ou non. Ce processus requiert un certain temps, en particulier si la boîte contient un grand nombre de messages.

  # Register SPAM from a mbox(5) file:
  $ nice sa-learn --spam --mbox ~/Mail/Mailbox.spam
  # Register HAM from a mbox(5) file:
  $ nice sa-learn --ham --mbox ~/Mail/Mailbox.ham
  
  # Register SPAM from a maildir(5):
  $ nice sa-learn --spam --maildir ~/Mail/Maildir.spam
  # Register HAM from a maildir(5):
  $ nice sa-learn --ham --maildir ~/Mail/Maildir.ham

Feedback

Afin que le filtrage de Bayes soit efficace, on doit fournir périodiquement du spam et des messages légitimes à sa-learn. Vous trouverez sans doute plus pratique d'intégrer ce procéssus à votre programme de lecture de courriel.

Certains spammeurs essaient tant bien que mal d'éviter le filtrage de Bayes en incluant une liste de mots choisis au hazard dans le message. Lorsque vous enregistrez du spam avec votre filtre, prenez soin d'effacer ces mots auparavant à l'aide de votre éditeur.

Macros pour mutt

Si vous utilisez mutt, vous pouvez ajouter ceci à votre muttrc afin que des touches spécifiques enregistrent le message sélectionné comme étant soit du spam ou du courrier légitime («ham»). Avec SpamAssassin, on peut utiliser une macro additionnelle pour appeller la fonction --rebuild de sa-learn, afin de mettre la base de donnée du filtre à jour.

  set wait_key=no
  macro index H "|sa-learn --ham --no-rebuild --single"
  macro pager H "|sa-learn --ham --no-rebuild --single"
  macro index S "|sa-learn --spam --no-rebuild --single"
  macro pager S "|sa-learn --spam --no-rebuild --single"
  macro index R "|sa-learn --rebuild"
  macro pager R "|sa-learn --rebuild"

Avec la méthode SpamAssassin, sa-learn est un script Perl et peut prendre un certain temps à s'exécuter. Pour éviter de tels délais, vous pouvez utiliser la fonction sauvegarde de mutt (la touche s) afin de sauvegarder les messages vers des fichiers spécifques (soit le spam dans ~/s et le ham dans ~/h). Dans un temps ultérieur il faudra ainsi enregistrer le contenu des ces fichiers avec le programme sa-learn.


  Contre les brevets logiciels!