Mailfilter — un programme pour vous protéger contre le spam

Gazette Linux n°67 — Juin 2001

Xavier Venient

Adaptation française  

Frédéric Marchal

Correction du DocBook 

Article paru dans le n°67 de la Gazette Linux de juin 2001.

Cet article est publié selon les termes de la Open Publication License. La Linux Gazette n'est ni produite, ni sponsorisée, ni avalisée par notre hébergeur principal, SSC, Inc.


Table des matières

Qu'est-ce que mailfilter ?
Installation de mailfilter
Fichier de configuration de mailfilter
Création du fichier
Commentaires dans le fichier de configuration
Ajout des informations de base au fichier de configuration
Ajout des règles de filtrage au fichier de configuration
Comment automatiser le filtrage de spam en utilisant fetchmail ?
Conclusion
À propos de l'auteur

Qu'est-ce que mailfilter ?

Mailfilter est un outil très pratique. Il vous aide à tenir éloigné le spam de votre boîte aux lettre électronique. Contrairement au filtrage avec procmail, mailfilter filtre le courriel en ligne. Ceci signifie que mailfilter détruit le spam directemment sur votre compte POP3 avant même que fetchmail (ou votre client POP3 favori) ne le voit. C'est différent de procmail qui élimine le spam après l'avoir téléchargé et qu'il est sur le point d'être mis dans votre BAL (mailbox, boîte aux lettres). (Des exemples d'utilisation de procmail peuvent être trouvés dans un article de la Linux Gazette, http://www.linuxgazette.com/issue62/okopnik.html.)

L'avantage de tout cela est que vous ne téléchargez plus le spam. Il préserve la bande passante et vous rend particulièrement heureux lorsque vous avez une connection faible à l'Internet.

Mailfilter est un très bon outil, facile à installer et facile à maintenir. Vous pouvez aussi bien l'ajouter à votre .fetchmailrc, automatisant ainsi la procédure de destruction du spam avant téléchargement.

Installation de mailfilter

L'installation de mailfilter est très simple. Téléchargez les sources (fichier .tar.gz) depuis http://mailfilter.sourceforge.net/ et suivez les étapes suivantes :

  1. dépaquetez l'archive dans un répertoire temporaire ;

  2. allez dans ce répertoire temporaire ;

  3. taper ./configure ;

  4. puis make ;

  5. en tant que root (utilisez su si nécessaire) :

    make install
    

Lisez l'excellent manuel fourni avec les sources pour obtenir plus d'informations.

Pour exécuter mailfilter, tapez simplement mailfilter en ligne de commande. Attention ! Mailfilter nécessite un fichier de configuration valide pour pouvoir fonctionner correctement.

Fichier de configuration de mailfilter

Création du fichier

Vous pouvez télécharger une copie d'exemple de ce fichier sur mailfilter.sourceforge.net, mais nous allons le créer ici en partant de zero.

Chaque utilisateur qui veux utiliser mailfilter doit posséder un fichier de configuration. Ce fichier est appelé .mailfilterrc. Il doit être placé dans le répertoire personnel de l'utilisateur (dans le home directory).

Suivez ces étapes pour créer le fichier, et rendez le (au moins un petit peu) sécurisé.

  1. allez jusqu'à votre invite shell préférée, soyez sûr de ne pas être root (dans un terminal ou en console) ;

  2. tapez cd pour vous déplacer à la racine de votre répertoire courant ;

  3. tapez touch .mailfilterrc ;

  4. taper chmod 600 .mailfilterrc pout empêcher qui que soit d'autre (que root) de le lire ;

  5. lancez maintenant votre éditeur favori pour éditer .mailfilterrc.

Vous devez changer les droits sur ce fichier (avec chmod) car mailfilter stocke les mots de passe de vos comptes POP3 en texte simple (plain text) !

Maintenant nous devons ajouter des choses dans le fichier de configuration. Mailfilter refusera de démarrer si le fichier de configuration est absent.

Commentaires dans le fichier de configuration

Les lignes commençants par « # » sont des commentaires et sont ainsi ignorées par mailfilter. Les lignes vides sont aussi ignorées.

Ajout des informations de base au fichier de configuration

La partie la plus importante du fichier de configuration contient les informations de votre compte de courrier. Ajoutez simplement les lignes suivantes à votre fichier .mailfilterrc. Vous pouvez aussi spécifier plus d'un compte.

Actuellement, mailfilter ne supporte que les comptes POP3.

Il est important de ne pas changer l'ordre des lignes.

  • SERVER=serveur_de_courrier (renseigne le nom de votre server de courrier électronique) ;

  • USER=nom_utilisateur (renseigne votre nom d'utilisateur du compte POP3) ;

  • PASS=password (mettez votre mot de passe ici) ;

  • PROTOCOL=pop3 (ne changez pas cette ligne puisque IMAP n'est pas encore supporté) ;

  • PORT=110 (renseigne le port d'écoute de votre serveur POP3, la valeur par défaut est 110).

Assurez-vous que les mots clés sont en capitales, « Server » à la place de « SERVER » ne sera pas reconnu par mailfilter.

Une autre option importante est de spécifier un fichier journal (logfile) en utilisant la ligne suivante :

  • LOGFILE=logfile (renseigne un nom de fichier — vous devez avoir accès en écriture sur le répertoire et sur le fichier !)

Mailfilter refusera de fonctionner si vous ne spécifiez pas de fichier journal. Si vous ne souhaitez pas garder de traces, utilisez /dev/null comme entrée.

Maintenant, vous avez une fichier de configuration très sommaire. Mailfilter fonctionnera, mais il ne fera rien d'utile sur le couuriel.

Ajout des règles de filtrage au fichier de configuration

C'est la partie délicate de la configuration de mailfilter. Nous allons ajouter maintenant les commandes pour véritablement faire quelque chose de pratique pour votre courriel.

Ceci est fait en ajoutant des lignes de commandes spéciales au fichier de configuration. Mailfilter utilise les expressions rationnelles pour le filtrage.

Spécifier si mailfilter doit être sensible à la casse

Pour ce faire, ajouter la ligne suivante à votre fichier de configuration.

  • REG_CASE=no

Ou mettez « yes », mais ignorer la casse rend le filtrage plus facile.

Spéficier si mailfilter doit normaliser le texte

  • NORMAL=yes

Ceci autoriste mailfilter à accepter « ,LE-G,A.L; ,C.A-B`L`E, +.B-O`X` ;D`E`S,C;R,A.MB;L,E.R-] » comme « LEGAL CABLE BOX DESCRAMBLER ».

Attention ! mailfilter n'essayera pas d'interpréter « v i a g r a » comme viagra, les blancs ne sont pas normalisés.

Ajouter le support pour effacer le courrier indésirable par le sujet

C'est facile. Ajoutez la ligne suivante à votre fichier de configuration.

  • DENY=Subject:.*du texte

Remplacez du texte avec le texte que vous voulez filter.

Ajouter le support pour effacer le spam provenant d'expéditeurs indiqués

Ça s'avère pratique si vous recevez du spam provenant de la même adresse. Utilisez la syntaxe suivante :

  • DENY=From:.*spammer@quelquepart.org

Remplacez « spammer@quelquepart.org » par l'adresse du spammer.

Vous pouvez tout aussi bien effacer les spams provenant d'un domaine. Utilisez cette syntaxe pour le réaliser :

  • DENY=From:.*@domaine

Remplacez « domaine » par le nom de celui qui vous envoie du spam.

Comme vous pouvez le voir, la manière de dire à mailfilter comment faire suit une schéma simple à suivre. Vous pouvez aussi bloquer le courriel avec les champs CC, BCC et TO.

Autoriser des expéditeurs spécifiques

Cette fonctionalité permet à mailfilter d'ignorer le courriel envoyé par une personne spécifique, même si un des autres filtres est appliqué.

  • ALLOW=From:.*mon_pote@quelquepart.com

Les messages provenant de l'adresse spécifiée seront gardés.

Vous pouvez aussi appliquer cette règle à un sujet spécifique. Si, par exemple, un spammer commence à parler de mailfilter.

  • ALLOW=Subject:.*mailfilter

Comment automatiser le filtrage de spam en utilisant fetchmail ?

Fetchmail à une fonctionnalité qui permet d'appeler un programme de filtrage avant d'aller chercher le courrier. Ajouter ce qui suit à votre fichier .fetchmailrc pour appeler mailfilter à chaque fois que vous téléchargez votre courrier.

preconnect mailfilter

Remplacez mailfilter dans la ligne ci-dessus par le chemin d'accès complet vers le programme mailfilter. /usr/local/bin/mailfilter par exemple.

Faites attention ! Si mailfilter plante (fichier de configuration endommagé, mauvais mot de passe, etc.), fetchmail ne se connectera pas. Alors testez le fichier de configuration de mailfilter tout seul à chaque fois que vous ajoutez une nouvelle règle.

Conclusion

Mailfilter est un très bon outil. Je n'ai pas été capable de forcer fetchmail à filtrer à l'aide du corps du message. Mais au moins, il permet de vous protéger du spam si l'adresse de l'expéditeur est valide.

Ça marche très bien et je ne peux qu'insiter : essayez mailfilter, particulièrement si votre liaison à Internet est faible et que vous recevez beaucoup de spam.

À propos de l'auteur

Matthias Arndt

Je suis un passionné de Linux et j'habite en allemagne du nord. Mes passions sont le rock'n'roll des années cinquantes, l'écriture d'histoires et, bien sûr, la publication d'articles dans la Gazette Linux. J'étudie actuellement l'informatique conjointement avec l'économie.

Adaptation française de la Gazette Linux

L'adaptation française de ce document a été réalisée dans le cadre du Projet de traduction de la Gazette Linux.

Vous pourrez lire d'autres articles traduits et en apprendre plus sur ce projet en visitant notre site : http://www.traduc.org/Gazette_Linux.

Si vous souhaitez apporter votre contribution, n'hésitez pas à nous rejoindre, nous serons heureux de vous accueillir.