Lutter contre le spam

Qu'est-ce ?

Définitions

Le spam, c'est le courrier électronique non sollicité, généralement commercial (Unsolicited Commercial E-mail ou UCE en anglais). Le nom vient de SPAM, une charcuterie (Spicy Pork And Ham) anglo-saxonne, plus précisément d'un sketch des Monty Python (tiré du Flying Circus) où les gens répètent sans cesse « SPAM SPAM SPAM » à des clients d'une auberge demandant s'il n'y pas de plat sans SPAM.

Il existe plusieurs types de spam :

Il existe encore bien d'autres types de spam, généralement vous pouvez les reconnaître assez vite. Le spam touche également les newsgroups, mais c'est essentiellement du spam par courrier que nous parlerons ici.

Pourquoi le spam est-il nuisible ?

Le spam est nuisible car l'essentiel de son coût est supporté par la communauté, c'est-à-dire les serveurs de mail et routeurs, les fournisseurs d'accès ainsi que vous. En outre, le spam est une sérieuse perte de productivité : il inonde vos boîtes aux lettres et vous oblige à passer du temps à le trier du vrai courrier, et à le jeter. Ensuite, le spam engorge les réseaux mondiaux. Pour 100 vrais courriers qui transitent dans les tuyaux, combien de centaines de spams ?

Enfin, la plupart du temps le spam est illégal puisqu'il exploite des base de données obtenues frauduleusement (scan de pages Web ou de newsgroups, ventes illégales de fichiers, etc.). Rappelons qu'au terme de l'art.226-18 du Code pénal :

Le fait de collecter des données par un moyen frauduleux, déloyal ou illicite, ou de procéder à un traitement d'informations nominatives concernant une personne physique malgré l'opposition de cette personne, lorsque cette opposition est fondée sur des raisons légitimes, est puni de cinq ans d'emprisonnement et de 300000 euros d'amende.

En cas de traitement automatisé de données nominatives ayant pour fin la recherche dans le domaine de la santé, est puni des mêmes peines le fait de procéder à un traitement :

  1. Sans avoir préalablement informé individuellement les personnes sur le compte desquelles des données nominatives sont recueillies ou transmises de leur droit d'accès, de rectification et d'opposition, de la nature des informations transmises et des destinataires des données ;
  2. Malgré l'opposition de la personne concernée ou, lorsqu'il est prévu par la loi, en l'absence du consentement éclairé et exprès de la personne, ou, s'il s'agit d'une personne décédée, malgré le refus exprimé par celle-ci de son vivant.

Prévenir

Quand vous croisez un inconnu, dans la rue, lui donnez-vous votre adresse et votre numéro de téléphone ? Non ? Eh bien sur l'Internet, c'est pareil. Sans tomber dans la paranoïa (le but premier de l'Internet est de communiquer et d'échanger avec autrui), ne divulguez pas des renseignements plutôt confidentiels au premier venu.

Protéger son adresse sur le Web

Ne pas divulguer son adresse à tort et à travers

Vous vous êtes certainement déjà inscrit à un site ou un service gratuit ou non, qui vous demandait vos coordonnées, dont votre adresse e-mail. Avez-vous regardé sérieusement les petits caractères ou la case à décocher qui disait que votre adresse serait revendue à kinenveut ? Ça explique certainement une partie de votre spam.

Ne divulguez pas votre adresse e-mail à une société sans vérifier ce qu'elle compte en faire.

Méfiez-vous particulièrement du système vicieux de l'Opt-Out, pratiqué dans les formulaires d'inscription à un service. On vous demande si vous voulez vous abonner à une newsletter, ou si vous souhaitez « recevoir des offres exclusives » de la part des partenaires du site. Dans un système dit d'Opt-In, c'est vous devez cocher la case pour accepter. L'Opt-Out, c'est quand la case est déjà cochée. Par défaut, vous serez spammés si vous ne pensez pas à décocher la case.

Outre son caractère retors, le système de l'Opt-Out est également illégal au sein de l'Union européenne depuis la directive 2002/58/CE du 12 juillet 2002 (lire la directive, format PDF).

Votre vigilance et votre cerveau sont les meilleures armes anti-spam.

Encoder son adresse sur sa page Web

Vous avez fait votre page Web, vous êtes tout content et vous affichez votre adresse e-mail partout pour que les gens vous disent à quel point elle est bien. Aïe. Vous allez ainsi tendre la batte de cricket pour vous faire spammer : la méthode de base des spammeurs pour récupérer des adresses est d'envoyer des robots scanner le Web à la recherche d'innocentes adresses sans défense comme la vôtre.

Solution : encoder son adresse de telle sorte que des humains puissent la lire, mais pas un robot, en utilisant des entités HTML. Les entités dont vous avez besoin en l'espèce sont @ pour une arobase (@) ou encore . pour un point (.) et - pour un tiret (-). Ce qui donne :

Mon adresse : 
<A href="mailto:jean&#45;paul&#46;sartre&#64;ens.fr">jean&#45;paul&#46;sartre&#64;ens&#46;fr</a>

Complètement illisible, on est bien d'accord ? C'est ce que verra le robot collecteur d'adresses. En revanche, un lecteur normal passant par un navigateur verra l'équivalent de ceci :

Mon adresse : 
<A href="mailto:jean-paul.sartre@ens.fr">jean-paul.sartre@ens.fr</a>

Vous pouvez aussi opter pour la solution suivante :

Mon adresse : jean-paul POINT sartre AT ens POINT fr

Le lecteur devra lui-même taper votre adresse en faisant la traduction (AT->@, etc.) dans son logiciel de courrier.

Protéger son adresse sur Usenet

Même problème sur Usenet que pour votre page Web : des robots parcourent Usenet à la recherche d'adresses non protégées. Les spammeurs sont très rapides : la rédactrice de cette doc a un record à 4 jours entre un message sur Usenet-fr avec une nouvelle adresse et le premier spam.

Méthode 1 : prenez une adresse spéciale

Vous pouvez obtenir une adresse qui vous servira uniquement pour les news. Première solution : une adresse poubelle (chez un hébergeur gratuit, par exemple), que vous regardez de temps à autres pour vérifier si par miracle il n'y a pas un vrai courrier dans le tas d'ordures.

Autre solution : demander une adresse chez Alussinan. C'est un service gratuit géré bénévolement par Florent Faessel, un habitué de Usenet, où le courrier entrant est filtré drastiquement (des domaines comme AOL, Noos ou encore Orange sont filtrés à cause de leur manque de réactivité dans la bataille anti-spam). Demandez-lui gentiment une adresse.

Méthode 2 : protégez votre véritable adresse

Admettons que vous ne vouliez pas prendre une adresse genre pikachu125756@hotmail.com, mais recevoir les vrais courriers de gens qui vous répondent sur votre adresse ENS. Vous pouvez quand même vous protéger, mais c'est un poil plus compliqué.

Étape 1

Modifiez votre champ From (celui qui donne votre nom et votre adresse e-mail) dans votre lecteur de news. La manière de procéder dépend évidemment de votre lecteur de news. Avec flrn, ajoutez simplement une ligne dans votre .flrnrc :

name flrn my_hdr From: Luke Skywalker <adresse@anti.spam>

Où évidemment, vous remplacez « Luke Skywalker » par ce que vous voulez (prénom + nom, ou pseudo). Pour l'adresse anti-spam, ajoutez ce que vous voulez à votre véritable adresse. Il faut bien qu'on voie que l'adresse n'est pas valide, pour ne pas égarer les honnêtes gens qui voudraient vous répondre. Par exemple, Luke pourra indiquer comme adresse anti-spam : SPAM.IS@DARK.SIDE.invalid.

Pourquoi le .invalid ? C'est une convention pour dire précisément qu'une adresse est invalide. De cette façon, les logiciels de mail préviennent immédiatement l'étourdi que l'adresse en question n'est pas valide.

« Oui mais je veux que les gens normaux puissent me répondre ! » C'est l'étape 2.

Étape 2

On utilise un champ appelé Reply-To qui sert à ça : les gens qui répondront verront leur mail envoyé à l'adresse du Reply-To et pas celle du From. La commande XOVER, utilisée généralement par les spammeurs pour récupérer des adresses, ne renvoie pas le Reply-To, qui est donc protégé. En contrepartie, il faut que l'adresse du Reply-To soit valide. Avec flrn, on fait ainsi (toujours en éditant le .flrnrc) :

name flrn my_hdr Reply-to: lskywalk@clipper.ens.fr

Avec cette méthode, vous n'échapperez pas à 100% du spam, malheureusement... Il semblerait qu'une poignée de robots se mettent à récupérer les adresses des Reply-To (par un XHDR Reply-To). Vous pouvez combiner la solution « adresse spéciale » et celle-ci, pour plus de sécurité.

Guérir

C'est trop tard, vous êtes inondé par le spam. Que cela ne vous empêche pas de vous protéger par les moyens décrits ci-dessus, ça ne mange pas de pain et ça vous épargnera du spam supplémentaire à l'avenir.

Faut-il se désinscrire ?

Parfois vous recevez du spam qui prétend que vous êtes inscrit sur une mailing-list, et qui vous propose gentiment de vous désinscrire si vous ne souhaitez plus être spammé. Ne répondez surtout pas ! Ce sont en fait des leurres. Quand le spammeur reçoit votre demande de désinscription, il sait que votre adresse est valide, et vous serez spammé de plus belle.

Pour endiguer le flot du spam, vous n'avez que deux solutions complémentaires, deux types de filtres utilisables à l'ENS, Procmail et SpamAssassin. Combinés et bien configurés, ces deux filtres vous sauveront de l'inondation.

Utiliser Procmail

Procmail est un outil qui permet de filtrer son mail selon certains critères que vous spécifiez vous-même. Il peut être utilisé dans le cadre de la lutte anti-spam. Pour savoir comment utiliser Procmail, lisez notre documentation à ce sujet. Attention toutefois à ce que vous faites : plus vous filtrez, moins vous aurez de spam, mais plus vous aurez des chances de jeter de vrais mails.

Utiliser SpamAssassin

SpamAssassin est un filtre anti-spam installé au niveau global à l'ENS. Tous les mails qui vous arrivent sont filtrés par SpamAssassin qui se fonde sur des techniques dont on sait qu'elles sont utilisées par les spammeurs. SpamAssassin ajoute aux en-têtes de vos mails ses propres en-têtes comme :

X-Spam-Status: Yes, hits=11.0 ....
X-Spam-Level: ***********
X-Spam-Checker-Version: SpamAssassin...

Les « hits » sont des « points spam » que SpamAssassin attribue à chaque mail. Par exemple, quand le mail a un sujet entièrement en majuscules, SpamAssassin attribue n points, n autres quand le mail est uniquement en HTML, etc.

L'idée est d'utiliser ces en-têtes comme critère de filtre dans Procmail. Lisez donc notre Doc Procmail pour connaître son fonctionnement en général. Si vous êtes pressé, vous pouvez utiliser la commande antispam.

antispam

Pour ceux qui ne veulent pas se plonger dans les subtilités de procmail, il y a la commande antispam qui vous permet d'installer sur votre compte, rapidement et sans connaissance technique, un fichier de configuration (appelé .procmailrc) de base.

Tapez antispam dans une fenêtre. Vous verrez alors un petit message explicatif sur SpamAssassin. Lisez bien tout ce que vous dit antispam, c'est vraiment important.

clipper ~ $ antispam
  Un logiciel, appelé SpamAssassin, tourne en permanence pour essayer de
déterminer si les courriers électroniques qui arrivent sont du spam (du
courrier non sollicité, par exemple de la publicité, le plus souvent en
anglais). Ce programme ne fait qu'insérer dans les en-têtes des mails des
indications sur le statut des messages.

  Il est de la responsabilité de chacun de décider quel sort réserver aux
messages que SpamAssassin aura marqués comme étant du spam (le filtre
n'étant pas parfait, il arrive, bien que ce soit assez rare, que certains 
messages soient injustement classés dans la catégorie spam, et certains 
spams passent au travers des mailles du filet).

  Si vous répondez "oui" à la question ci-dessous, les mails que SpamAssassin
reconnaît comme étant des spams seront écrits dans des fichiers
~/Mail/spam-2003-09 par exemple pour ceux reçus en septembre 2003. Ces fichiers
sont effacés au bout d'un mois, donc lisez régulièrement ces boîtes de
courriers pour vérifier que de véritables mails ne s'y cachent pas.

  Voulez-vous mettre en place un filtrage antispam sur votre courrier
électronique ? (oui/non)

Si vous répondez non, antispam vous dira : « Vos fichiers de configuration n'ont pas été modifiés. » Si vous répondez oui, antispam créera chez vous un petit fichier .procmailrc. Votre spam (nombre de hits ≥ 5) sera classé dans des dossiers ~/Mail/spam-année-mois.

&icone.attention; Attention !&icone.attention;

Vous êtes invités à consulter régulièrement ces boîtes de courrier spam-année-mois pour vérifier qu'il n'y a pas eu de faux-positifs. L'idéal est de le faire au moins une fois par mois, puisque ces boîtes à spam (cf. plus bas) mensuelles seront effacées au bout d'un mois afin d'économiser de l'espace disque.

Si vous avez utilisé une version précédente de antispam, vous pouvez effacer votre fichier .procmailrc, relancer la commande antispam et vider votre boîte à spam précédente (spam).

Boîte à spam

L'intérêt du dossier « spam » (appelé couramment « spambox », boîte à spam), c'est que vous pouvez ne le lire que toutes les semaines, par exemple, pour vérifier s'il n'y a pas du vrai courrier caché dedans (votre directeur de thèse qui vous écrit en HTML seulement depuis un PC en Corée). La boîte à spam vous évite d'être dérangé toutes les deux minutes par du spam quand vous êtes logué.

/!\ Attention ! /!\

Si vous avez une spambox, pensez à la vider régulièrement ! Faute de quoi, le disque dur de votre promotion risque de se remplir rapidement, et plus personne de votre promo ne pourra travailler !

Aller plus loin

Vous pouvez affiner votre filtrage en utilisant l'en-tête X-Spam-Level pour dire, par exemple, qu'au-delà de 15 points spam, les courriers concernés partent à la poubelle (attention à ce que vous faites en renvoyant du courrier vers /dev/null, vous pouvez perdre tout votre courrier).

Bien évidemment, on place toujours la règle la plus stricte avant l'autre. Ici, vous envoyez d'abord les courriers à plus de 15 points dans le vide interstellaire, puis vous mettez les courriers à plus de 5 points dans le dossier « spam ».

# Tous les mails avec un score ≥ 15 passent à la poubelle
:0:
* ^X-Spam-Level: \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*
/dev/null

Pour plus de renseignements, reportez-vous à notre documentation sur procmail.

Punir

Plaintes au service abuse

Animé d'une juste colère, vous souhaitez ne plus subir passivement le spam mais en découdre avec les vilains. Vous pouvez, dans une faible mesure. Le spam est réprimé par la plupart des fournisseurs d'accès à l'Internet (alias « FAI » comme Free, Wanadoo, etc.). Chaque FAI a un service appelé « abuse » (oui, c'est de l'anglais) qui est chargé de veiller au respect de la Nétiquette par les abonnés. Une solution consiste donc à trouver le FAI qu'utilise le méchant spammeur et à vous plaindre auprès du FAI, pour que celui-ci lui coupe sa connexion. Ne vous leurrez pas, ce n'est souvent que les petits poissons qu'on attrape comme ça...

Pour identifier le FAI du spammeur, il faut lire les en-têtes du message de news, ou du courrier. Les en-têtes sont des méta-informations qui ne concernent pas le contenu du courrier ou de l'article de news, mais sa forme. Par exemple, l'encodage du message, le logiciel de mail ou de news utilisé, etc. Dans flrn, tapez V pour voir les en-têtes. L'en-tête X-Complaints-To vous indiquera, comme son nom l'indique, auprès de qui déverser votre courroux. Pour le courrier, tapez h dans pine ou mutt pour avoir les en-têtes. Décrypter les en-têtes d'un mail est relativement difficile et dépasse le cadre de cette documentation. Le mieux à faire est de demander sur forum (dans le groupe informatique.mail) comment on fait.

Une fois que vous savez à qui vous plaindre, envoyez un mail en expliquant bien le contexte : date, heure, groupe s'il s'agit de Usenet, etc. Joignez dans le corps du message (souvent les services abuse n'acceptent pas les attachements) une copie des en-têtes du spam. Ensuite, eh bien... Disons que certains services abuse sont efficaces et rapides, et que d'autres envoient directement vos courriers à la poubelle.

Œil pour œil, dent pour dent ?

Chercher à vous venger plus avant (inonder le spammeur de mails par exemple) est inutile, dangereux et illégal. De plus, vous pouvez vous tromper et pourrir la vie de quelqu'un qui n'y est pour rien : les spammeurs falsifient très souvent l'adresse de retour.

S'instruire

De nombreuses documentations, FAQ et tutoriaux concernant la lutte contre le spam sont disponibles sur Internet. En particulier, beaucoup de FAQs sont liées à Usenet. Parmi celles-ci, vous gagnerez à lire :

Auteur : Marie-Lan Nguyen. Dernière modification le .