> DIO/ Système et réseau/ Filtrage des messages électroniques à l'Observatoire (Sieve)

Introduction

Le filtrage des messages sur le serveur permet d'effectuer des opérations sur un message au plus tôt dès sa phase de réception à l'Observatoire. Il est par exemple possible de l'aiguiller vers une boîte spécifique, de le rediriger vers une autre adresse, de le supprimer, etc.

Certains outils de messagerie (nous prendrons Thunderbird comme exemple pour la suite) sont également capables de faire des opérations de filtrage de messages, mais contrairement à une action sur le serveur, ces opérations sont effectuées uniquement lorsque le relevé des e-mails est fait depuis Thunderbird. Si votre poste de travail n'est pas allumé ou si vous relevez les e-mails depuis un autre poste ou via le webmail, le filtrage ne sera pas fait. En utilisant le filtrage à la source sur le serveur de messagerie, les opérations sont effectuées tout le temps, quel que soit l'outil que vous utilisez pour la lecture.

Il s'agit aussi de la meilleure façon de gérer vos spams pour soit les jeter (à faire avec précaution) ou bien à les rediriger vers une boîte ad-hoc.

Informations importantes

Gestion uniquement via le webmail

La gestion des filtres se fait uniquement par le webmail, il n'y a pas d'autre moyen de configurer vos filtres. Même si vous n'utilisez pas le webmail pour lire votre messagerie, il faudra vous y connecter pour modifier vos filtres.

Pas de sensibilité à la casse

Les règles de filtrages ne sont pas sensibles à la casse (différence majuscules/minuscules). Le premier exemple l'illustre.

Les boîtes aux lettres destination doivent exister d'abord

Si la règle à mettre en place consiste à déplacer un message dans une boîte aux lettres, cette boîte doit exister d'abord. Si elle n'existe pas, il faut la créer avant d'essayer de mettre en place une règle, sinon c'est aller au-devant de problèmes et de perte d'e-mail.

Comportement par défaut

Sauf précision explicite, si un message passe à travers l'ensemble de vos filtres sans qu'une règle ne corresponde, il ira dans la boîte principale.

Il est important de noter que les filtres sont affichés et appliqués dans l'ordre d'apparition (voir la section décrivant l'interface Sogo de gestion des filtres).

Exemple de filtre simple

Nous allons voir ici comment créer un filtre simple. Supposons que l'on veuille diriger vers la boîte « Junk » tous les e-mails dont l'expéditeur est bien identifié.

  • Étape A : Se connecter au webmail. Cliquer sur «  » (la roue dentée)

Sogo: préférences

  • Étape B :
    • étape 1 : Cliquer sur l'onglet « Courrier »
    • étape 2 : Cliquer sur « Filtres »

Sogo : préférences courrier

  • Étape C : Dans la nouvelle fenêtre, cliquer sur le « Créer un filtre » (peut nécessiter de défiler vers le bas) :
    • étape 1 : Choisir un nom pour le filtre, qui reflète bien le contenu du filtre à créer
    • étape 2 : Sélectionner l'« Expéditeur » pour ce champ
    • étape 3 : Laisser ce champ à « contient »
    • étape 4 : Introduire l'adresse à bannir
    • étape 5 : Laisser ce champ à « Placer ce message dans »
    • étape 6 : Sélectionner la boîte dans laquelle mettre ces messages, ici « Pourriel »
    • étape 7 : Terminer en cliquant sur « OK » (non visible sur la capture d'écran)

Sogo : ajouter filtre

  • Étape D : Il est très important de cliquer sur « Enregistrer et fermer »

Sogo : ferme préférences

Comme indiqué précédemment, les filtres ne sont pas sensibles à la casse. Ainsi, la règle créée va correspondre pour les adresses suivantes :

Le.Emmerdeur@gmail.com
le.emmerdeur@gmail.com
LE.EMMERDEUR@gmail.com
le.Emmerdeur@gmail.com
etc.

Interface Sogo de gestion des filtres

Voici l'interface de gestion de vos filtres

Sogo : filtre préférences

  • Bouton 1 : un clic sur l'icône avec deux traits superposés vous permet de monter/descendre un filtre dans la liste (c'est le premier filtre qui correspond qui agit)
  • Bouton 2 : Permet de supprimer un filtre
  • Bouton 3 : Permet d'éditer un filtre existant
  • Bouton 4 : Permet de créer un nouveau filtre

Listes de diffusion

L'une des utilisations les plus courantes des filtres est le rangement des e-mails en provenance des listes de diffusion. Il y a plusieurs points à prendre en compte lors de la création d'un filtre pour cela.

Les e-mails à destination de la liste

Le premier point est de filtrer les e-mails à destination de la liste, pour cela, vous avez plusieurs solutions (une seule suffit) :

En-Tête

Certains moteurs de liste de diffusions (comme celui de l'Observatoire) rajoutent un en-tête à l'e-mail, il est en général sous la forme de

List-Id: ma_liste_de_diffusion

Dans le filtre, il faudra sélectionner « En-tête » dans les champs et mettre comme nom du champ « List-Id » qui doit correspondre à « ma_liste_de_diffusion » (À noter qu'en général il n'y a pas d'espace dans la List-Id pour faciliter la mise en place des règles).

Adresse

Si malheureusement la liste ne propose pas cet en-tête spécifique, vous pouvez bien sûr utiliser le champ destinataire. Dans le filtre, il faudra alors utiliser le champ « Destinataire » qui doit contenir l'adresse de la liste.

Tag

Souvent, les moteurs de liste de diffusion rajoutent dans le sujet un « tag » qui est un ou plusieurs mots entre « [] ». Par exemple, vous pouvez avoir un sujet de la forme

[ma liste de diffusion] Information du jour

Il faudra alors créer un filtre qui utilise le champ « Sujet », qui doit alors contenir quelque chose comme

[ma liste de diffusion]

À noter que si vous utilisez cette méthode, si une personne vous répond sans répondre à la liste, l'e-mail sera quand même rangé dans la boîte sauf si la personne a changé le sujet de l'e-mail (rarissime). Ce n'est pas un problème en soi, mais il faut l'avoir à l'esprit.

Les réponses à la liste

Normalement, il faut répondre uniquement à la liste, mais il arrive que certaines personnes vous répondent à vous directement avec copie à la liste. Dans ce cas, comme l'e-mail qui vous est destiné ne passe pas par le moteur de liste de diffusion, le filtre précédent ne va pas fonctionner. Vous devez alors rajouter un filtre qui va utiliser l'adresse destinataire, mais en « copie ».

Exemple complet de filtre pour une liste de diffusion

Dans cet exemple, le but est de créer un filtre pour une liste de diffusion freebsd-questions@freebsd.org qui utilise le « List-Id » mais qui ne met pas de « tag » dans le sujet.

Pour créer le filtre, suivre exactement les mêmes étapes A, B et C que dans l'exemple précédent. Puis :

  • Étape 1 : Choisir le nom du filtre qui décrit bien ce que vous voulez faire (c'est juste pour vous, pour vour y retrouver)
  • Étape 2 : Mettre ce champ à « correspondant à une de ces règles »
  • Étape 3 : Sélectionner « En-tête » à la place de « Sujet », un nouveau champ va apparaître
  • Étape 4 : Saisir dans ce champ List-id
  • Étape 5 : Laisser le troisième champ à « contient »
  • Étape 6 : Dans le dernier champ, saisir freebsd-questions@freebsd.org
  • Étape 7 : Cliquez sur « Ajouter une condition », une nouvelle ligne va apparaître dans la liste des règles
  • Étape 8 : Sélectionner « Copie à » à la place de « Sujet »
  • Étape 9 : Sélectionner « contient »
  • Étape 10 : Saisir freebsd-questions@freebsd.org
  • Étape 11 : Cliquez sur « Ajouter une condition », une nouvelle ligne va apparaître dans la liste des règles
  • Étape 12 : Sélectionner « Destinataire » à la place de « Sujet »
  • Étape 13 : Sélectionner « contient »
  • Étape 14 : Saisir freebsd-questions@freebsd.org
  • Étape 15 : Sélectionner « Placer le message dans »
  • Étape 16 : Sélectionner la boîte où vous voulez mettre vos e-mails pour cette liste de diffusion.
  • Étape 17 : Cliquer sur « OK »

Sogo : Ajouter filtre mailing liste

À noter que les règles « En-tête » et « Destinataire » (ici étapes 3 à 6 et étapes 12 à 14) sont redondantes. Il n'est pas nécessaire d'avoir les deux, mais c'est encore un peu plus sûr.

À noter aussi que l'exemple ci-dessus est volontairement très complet, dans un but pédagogique. Il est en effet possible de fusionner les deux régles « Copie à » et « Destinataire » par « Pour ou Copie à » qui est exactement la même chose informatiquement parlant que les deux régles.

Anti-Spam Renater

Nous utilisons le serveur de détection de spam de Renater. Celui-ci identifie plusieurs types de spam ou e-mails indésirables.

  1. Les spams « classiques »
  2. Les e-mails commerciaux
  3. Les e-mails des réseaux sociaux

Dans la première catégorie tombent tous les e-mails qui vous promettent de gagner des milliards ou bien essayent de vous vendre du faux Viagra et autres arnaques.

Dans la deuxième catégorie tombent tous les e-mails de société ayant « pignon sur rue » par exemple HP/Dell ou une société chez qui vous avez acheté légitimement des produits (Amazon, Le Bon Coin, etc.). Mais des listes de diffusion peuvent aussi tomber dans cette catégorie.

Dans la troisième catégorie tombent tous les e-mails des réseaux sociaux.

Pour chaque e-mail, un deuxième en-tête est rajouté et indique une note (un « niveau de spam ») qui est un nombre proportionnel à la probabilité d'être un spam, selon les critères du système de détection.

En déclenchant la règle de filtrage sur une note élevée, on a la quasi-certitude qu'il s'agit d'un spam, mais on laissera passer plus de spam dans la boîte principale. Avec un filtrage sur un note basse, il y aura très peu de spam dans la boîte principale mais probablement beaucoup de messages légitimes aiguillés dans la boîte « Spam » (faux positifs). Il n'y a pas de réglage universel et chaque personne pourra trouver par tâtonnement le réglage qui correspond à sa situation.

Il est de votre responsabilité de choisir et d'ajuster le niveau selon votre expérience. Il est cependant raisonnable de dire qu'au-dessus d'une note de 500, la probabilité qu'un e-mail légitime soit marqué comme spam est très faible.

Filtre Anti-Spam

Pour pouvoir profiter du système anti-spam, vous devez mettre en place des filtres anti-spam. Ces filtres fonctionnent en utilisant des « en-têtes » qui sont insérés par l'anti-spam. Il y a toujours l'en-tête (attention à la casse, il faut bien la respecter)

X-Renater-SpamState

qui peut prendre plusieurs valeurs :

0 : LEGIT (Il ne s'agit pas d'un spam)
1 : SPAM
2 : VIRUS
3 : BOUNCE
4 : EXVIRUS
6 : messages suspects (certains mots clés ont été repérés dans le contenu de l'e-mail)
10 : PCE
11 : MCE
12 : DCE
13 : Social (réseaux sociaux, etc.)

La catégorie 0 indique que l'anti-spam pense que le message est légitime. Les spams sont pour les catégories 1 à 6. Les messages envoyés massivement (commerciaux, annonces, etc.) sont dans les catégories 10 à 13.

Un second en-tête est ensuite rajouté :

X-Renater-SpamScore

C'est une note qui indique un niveau probable de spam :

  0 à 99   : très faible
100 à 299  : faible
300 à 499  : moyen
500 ou plus : élevé.

Avec ces deux en-têtes, il est possible de correctement filtrer vos e-mails.

Nous allons voir plusieurs cas de filtrage. Ces exemples sont là pour vous inciter à créer les filtres qui vous conviennent le mieux possible.

Prérequis

Avant de mettre en place des filtres (anti-spam ou non), si votre intention est de classer les e-mails dans une boîte aux lettres précise, il est indispensable que cette boîte existe avant. À noter que pour les comptes créés après juin 2021, il y a création automatique d'une boîte nommée « Junk » qui est reconnue automatiquement par Sogo et Thunderbird comme étant « Pourriel ».

Dans la suite, on suppose que les boîtes existent déjà (selon l'exemple, on utilise deux ou trois boîtes de rangement).

Anti-Spam exemple n⁰ 1

On redirige tous les spams dans une boîte et tous les messages commerciaux dans une autre.

Pour cela nous allons créer deux filtres l'un pour les spams et le second pour les messages commerciaux.

Pour ce premier exemple, on considère qu'un e-mail est un spam lorsque son score dépasse 500.

Pour créer le filtre, suivre exactement les mêmes étapes A, B et C que dans l'exemple précédent. Puis :

  • Étape 1 : Choisir le nom du filtre, qui décrit son action
  • Étape 2 : Mettre ce champ à « correspondant à toutes ces règles »
  • Étape 3 : Sélectionner « En-tête » à la place de « Sujet », un nouveau champ va apparaître
  • Étape 4 : Saisir dans ce champ X-Renater-SpamState
  • Étape 5 : Laisser le troisième champ à « correspond à l'exp. régulière »
  • Étape 6 : Dans le dernier champ, saisir ^[1-6]$
  • Étape 7 : Cliquez sur « Ajouter une condition » une nouvelle ligne va apparaître dans la liste des règles
  • Étape 8 : Sélectionner « En-tête » à la place de « sujet », un nouveau champ va apparaître
  • Étape 9 : Saisir dans ce champ X-Renater-SpamScore,
  • Étape 10 : Laisser le troisième champ à « correspond à l'exp. régulière »
  • Étape 11 : Dans le dernier champ, saisir ([5-9][0-9]|[1-9][0-9][0-9])[0-9]+ (ne pas oublier le « + » à la fin)
  • Étape 12 : Sélectionner « Placer le message dans »
  • Étape 13 : Sélectionner la boîte où vous voulez mettre vos spams, pour les comptes créés après 2021 une boîte a été créée au nom de « Junk », traduit en français par « Pourriel » et vous pouvez l'utiliser. Vous pouvez aussi utiliser la boîte de votre choix.
  • Étape 14 : Cliquer sur « OK »

Sogo : Ajouter filtre antispam

À l'étape 12, vous pouvez être tentés de mettre « Annuler le message ». Nous vous le déconseillons, car aucun système de détection de spam n'est infaillible. Et un message supprimé l'est définitivement.

Il faut maintenant créer un deuxième filtre pour les publicités :

  • Étape 1 : Choisir le nom du filtre qui décrit ce que vous voulez faire
  • Étape 2 : Mettre ce champ à « correspondant à toutes ces règles »
  • Étape 3 : Sélectionner « En-tête » à la place de « Sujet », un nouveau champ va apparaître
  • Étape 4 : Saisir dans ce champ X-Renater-SpamState,
  • Étape 5 : Laisser le troisième champ à « correspond à l'exp. régulière »
  • Étape 6 : Dans le dernier champ, saisir 1[0-3]
  • Étape 7 : Sélectionner « Placer le message dans »
  • Étape 8 : Sélectionner la boîte où vous voulez mettre ces publicités
  • Étape 9 : Cliquer sur « OK »

Sogo : Ajouter filtre antipub

Ne surtout pas oublier de sauvegarder vos modifications en cliquant sur l'icône « disquette verte », sinon elles seront perdues.

Sogo : ferme préférences

Anti-Spam exemple n⁰ 2

Dans ce deuxième exemple, on crée trois niveaux de filtres : un premier qui redirige dans une première boîte les spams ayant une note moyenne, un deuxième filtre pour la publicité et un troisième pour les spams ayant une note élevée.

Pour cela, modifier la première règle dans l'exemple précédent au niveau de l'étape 11 pour mettre :

  • Étape 11 : Dans le dernier champ, saisir [3-4][0-9][0-9]+ (ne pas oublier le « + » à la fin)

Sogo : Ajouter filtre antispam

La deuxième règle ne change pas. Rajouter une troisième règle identique à la première de l'exemple 1 jusqu'à l'étape 13, où vous pourrez sélectionner une autre boîte.

Sogo : Ajouter filtre antispam

Ne surtout pas oublier de sauvegarder vos modifications en cliquant sur l'icône « disquette verte », sinon elles seront perdues.

Sogo : ferme préférences

Anti-Spam exemple n⁰ 3

Dans ce troisième exemple, on suppose que vous faites suffisamment confiance au système pour ne mettre dans la boîte spam que les e-mails ayant une note moyenne et que vous voulez supprimer les e-mails ayant une note supérieure à 500.

Les deux premières règles ne changent pas, seule la troisième est à modifier :

  • Étape 12 : « Annuler le message »

Sogo : Ajouter filtre antispam

Nous vous recommandons de ne pas faire cela dès le début mais de rester dans l'exemple 2 durant un certain temps et de vérifier que les spams ayant une note élevée sont vraiment du spam. C'est une période d'observation.

Ne surtout pas oublier de sauvegarder vos modifications en cliquant sur l'icône « disquette verte », sinon elles seront perdues.

Anti-Spam exemple n⁰ 4

Dans ce dernier exemple, nous allons filtrer différemment les spams et les publicités.

Créer un premier filtre qui renvoie vers la boîte spam tous les e-mails avec une note élevée pour les spams. Pour cela, créer un premier filtre :

Sogo : Ajouter filtre antispam note eleve

Ensuite, créer un filtre sur les notes 10, 11, 12 (on exclut les réseaux sociaux) pour le X-Renater-SpamState et une note de spam faible :

  • Étape 1 : Saisir la valeur 1[0-2] pour le X-Renater-SpamState
  • Étape 2 : Saisir la valeur ([0-9]|[1-2][0-9]) pour le X-Renater-SpamScore
  • Étape 3 : Choisir de « Conserver le message »
  • Étape 4 : Cliquer sur « OK »

Sogo : Ajouter filtre pub

Créer un troisième filtre qui place les e-mails qui ont une note X-Renater-SpamScore faible ou moyenne dans une boîte de spam différente (rappel : il faut qu'elle existe avant de créer le filtre). Pour cela :

  • Saisir la valeur [1-4][0-9][0-9] pour le X-Renater-SpamScore

Sogo : Ajouter filtre antispam note moyen

Enfin, créer un filtre pour classer comme spam tous les e-mails des réseaux sociaux. Pour cela, créer un filtre avec le X-Renater-SpamState égal à 13 (comme il n'y a qu'une seule valeur, il n'y a pas besoin de faire une expression régulière :

  • Étape 1 : Sélectionner « est »
  • Étape 2 : Saisir la valeur 13

Sogo : Ajouter filtre antispam note moyen

Ne surtout pas oublier de sauvegarder vos modifications en cliquant sur l'icône « disquette verte », sinon elles seront perdues.

Résumé et explications

Vous pouvez faire toutes les combinaisons que vous souhaitez en filtrant sur les deux en-têtes. Ce qu'il faut savoir est comment faire correspondre les nombres avec les filtres.

Même si ce document n'a pas pour but de vous présenter les « expressions régulières », nous allons vous donner quelques exemples pour les deux en-têtes.

Pour

X-Renater-SpamState
  • Si on veut créer un filtre qui correspond (donc sans le cas 0 et 1)

    2 : VIRUS, 3 : BOUNCE, 4 : EXVIRUS
    

    on mettra dans l'expression régulière (Étape 6 et 11)

    [2-4]
    
  • Si nous sommes dans la partie à deux chiffres et qu'on veut

    11 : MCE, 12 : DCE, 13 : Social (réseaux sociaux, etc.)
    

    on pourra alors mettre

    1[1-3]
    

    ce qui veut dire un premier « 1 » suivi d'un caractère compris entre 1 et 3.

Pour

X-Renater-SpamScore

Voici quelques exemples :

  • Vous voulez une note de 100 - 499

    [1-4][0-9][0-9]
    
  • Vous voulez une note de 300 - 499

    [3-4][0-9][0-9]
    
  • Vous voulez toutes les notes supérieures à 300

    ([3-9][0-9]|[1-9][0-9][0-9])[0-9]+
    
  • Vous voulez toutes les notes supérieures à 600

    ([6-9][0-9]|[1-9][0-9][0-9])[0-9]+
    

Pour les personnes qui maîtrisent les expressions régulières, il est bien sur possible de remplacer [0-9] par \d et la précédente devient :

([6-9]\d|[1-9]\d{2})\d+

ne pas « échapper » les parenthèses ou les crochets, Sogo le fait pour vous.