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.
Le spam est nuisible car il utilise vos ressources. Quand vous le recevez, c'est vous qui payez (le coût des communications, le forfait, etc.) et pas l'expéditeur, qui lui peut, d'un seul clic, envoyer des milliers et des milliers de spams, à moindre coût. 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. Enfin, la plupart du temps il 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.).
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.
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.
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 faites pas attention. Alors que l'Opt-In est acceptable, l'Opt-Out est un système retors par lesquels la majorité des gens se font avoir, faute de bien regarder.
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 base-ball 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-paul.sartre@ens.fr">jean-paul.sartre@ens.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.
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.
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.
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é.
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 »
parce 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 invalide.
« Oui mais je veux que les gens normaux puissent me répondre ! » C'est l'é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é.
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.
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.
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.
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. En
pratique, c'est ceci qu'il faut faire. Créez, si ce n'est déjà fait, un
.procmailrc
(les commentaires commencent par un #, ils ont pour but de vous
expliquer ce qu'on fait) :
# On indique à Procmail quoi est où PATH=/bin:/usr/bin MAILDIR=$HOME/Mail LOGFILE=$MAILDIR/procmail.log # On définit un folder « poubelle » appelé « spam » SPAMBOX=spam # Tous les mails considérés par SpamAssassin comme du spam (par défaut, plus de 5 points spam) :0 * ^X-Spam-Status: Yes $SPAMBOX
L'intérêt du dossier « 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).
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 envoyer 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
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.
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.