Deliverability
Sécurité sur Internet : se protéger contre le spam
Saviez-vous qu’une écrasante majorité des emails circulant sur le web chaque jour sont du spam ?
Vous vous demandez peut-être : « Pourquoi envoie-t-on du spam ? » La réponse courte : c’est lucratif.
Même si la plupart d’entre nous savent qu’il ne faut jamais cliquer sur des messages ressemblant à du spam, quelques utilisateurs innocents en sont encore victimes ; et malheureusement, il n’en faut pas plus pour que cela soit rentable pour les spammeurs. Cependant, le nombre de messages de spam qui parviennent chaque jour jusqu’à nos messageries est largement inférieur au nombre de messages bloqués à la passerelle. Cela s’explique par le fait que les solutions anti-spam ont évolué au fil des ans et sont continuellement améliorées.
C’est pour cette raison que Mailgun et d’autres services d’emailing sont devenus des cibles pour les acteurs malveillants cherchant à exploiter des serveurs d’email réputés pour faire parvenir leurs messages. Nous avons vu beaucoup de ces tentatives d’exploitation, parfois réussies, au fil des ans et nous avons tiré de précieuses leçons des tactiques employées. Mais à quoi bon garder ces informations pour nous alors qu’elles peuvent servir à aider d’autres personnes ? Nous voulions partager nos observations dans l’espoir que les autres fournisseurs proposant des services similaires à leurs clients soient mieux préparés et mieux protégés s’ils deviennent eux aussi des cibles.
Alors, comment exactement les acteurs malveillants tentent-ils d’exploiter les comptes Mailgun ? Il existe plusieurs méthodes, mais pour cet article, nous allons nous concentrer sur trois d’entre elles. Le plus souvent, les tentatives des auteurs prennent la forme d’un bourrage d’identifiants (credential stuffing), d’attaques ciblées utilisant des informations publiques et d’une traversée de l’espace de noms. Nous aborderons chacune d’elles ci-dessous, ainsi que les mesures que vous pouvez prendre pour vous protéger et ce que nous faisons pour contrer ces attaques.
Bourrage d’identifiants
Pour ne rien vous cacher, j’avais la mauvaise habitude de réutiliser mes mots de passe pour les différents sites web sur lesquels je m’inscrivais. C’est le cas de la plupart d’entre nous, car il est ainsi plus facile de retenir les mots de passe. De toute façon, qui a envie de mémoriser une multitude de mots de passe différents ? C’est exactement la mentalité que les spammeurs espèrent que vous avez. Nous avons tous et toutes entendu parler de fuites de données massives au cours desquelles les informations personnelles des utilisateurs ont pu être volées. Parmi ces informations figurent presque toujours des mots de passe et/ou des adresses email. Si votre compte a été compromis, vous pouvez le vérifier sur ici. Une fois qu’ils disposent de ces informations, vous pouvez avoir la certitude que les données seront accessibles à de nombreux utilisateurs malveillants bien décidés à les exploiter.

Le problème est que non seulement ils tenteront d’utiliser ces informations pour accéder aux comptes du service qui a été compromis, mais ils utiliseront également ces identifiants pour tenter des connexions sur d’autres services comme Mailgun. Nous avons constaté des activités malveillantes de ce type, où des comptes dormants inutilisés depuis des lustres reviennent soudainement à la vie avec une connexion depuis une adresse IP inédite. Il s’agit là de spammeurs qui parviennent à exploiter des mots de passe réutilisés. Vous avez peut-être même déjà reçu des emails d’entreprises victimes de fuites par le passé, vous demandant de modifier votre mot de passe pour leur service, mais aussi partout ailleurs ; en voici la raison !
Que faire pour se protéger ?
Pour commencer, ne réutilisez pas vos mots de passe et envisagez d’utiliser un gestionnaire de mots de passe. Chez Mailgun, nous contribuons à la protection des comptes en utilisant haveibeenpwned.com et sa base de données contenant plus de 500 millions de mots de passe ayant fuité lors de violations de données. Si nos clients utilisent un mot de passe figurant dans cette base de données, nous le signalons à l’utilisateur à la connexion (voir la capture d’écran) et suggérons de réinitialiser le mot de passe pour en choisir un plus robuste. Nous en profitons également pour leur proposer de protéger davantage leur compte en activant l’authentification à deux facteurs, car la prudence n’est jamais de trop.
Attaques ciblées à l’aide d’informations publiques
Imaginons que vous soyez un spammeur et que vous souhaitiez trouver une liste d’entreprises utilisant Mailgun pour envoyer des emails afin de tenter d’exploiter leur compte. Pour vous et moi, cela peut sembler intimidant, mais pas pour les pros du spam. Bien sûr, il est possible de s’inscrire sur une multitude de sites web et d’examiner les en-têtes des emails pour déterminer la provenance du message, puis de dresser une liste.
Mais cela prendrait trop de temps et, comme dirait l’autre : « Personne n’a le temps pour ça. » La méthode la plus rapide, et celle que nous avons vu ces acteurs malveillants employer, consiste à utiliser le DNS pour extraire des listes de domaines.
Mais que peuvent-ils faire avec une liste de domaines utilisant Mailgun ? Si je connais bien les tactiques de spam, il s’agit alors de lancer une attaque d’hameçonnage sur ces domaines. Je sais bien qu’il est impossible de cibler des domaines par hameçonnage… Il faut des adresses email pour cela. C’est là que robots d’indexation entrent en jeu. Avec cette liste de domaines, il est possible de déployer un robot d’indexation pour extraire les adresses email figurant sur les sites web de ces domaines et le tour est joué : vous disposez désormais d’adresses email associées au domaine.
Toutefois, ces adresses email extraites ne sont pas nécessairement liées à des comptes Mailgun. Il y a de fortes chances que votre site web affiche de nombreuses adresses email comme contact@ et support@ qui ne sont pas utilisées pour la connexion. Cela ne veut pas dire que la tentative n’aura pas lieu. Comme mentionné en introduction, il suffit de réussir quelques fois pour que tout ce travail soit rentable. Nous avons même observé ce type de comportement sur certains de nos propres comptes Mailgun, où des adresses uniquement présentes sur nos sites web ont fait l’objet d’hameçonnage.
Que faire face à cela ?
La meilleure solution pour se protéger de ce genre d’attaques est, encore une fois, l’authentification à deux facteurs ! Elle n’offre pas une protection absolue, mais elle complique la tâche de l’auteur de l’attaque. Vous pouvez également vous protéger en faisant preuve d’une grande vigilance à l’égard des messages que vous recevez et en apprenant à repérer les tentatives d’hameçonnage. Si vous avez besoin d’une piqûre de rappel, nous avons partagé quelques astuces pour détecter l’hameçonnage dans cet article n’hésitez donc pas à y jeter un œil.
Mais que se passe-t-il si vous tombez dans le piège de l’une de ces tentatives d’hameçonnage et que vous cédez par inadvertance votre compte à cet individu ? Tout n’est pas perdu : nous avons conçu un service qui surveille les connexions et repère les anomalies. La localisation, ainsi que de nombreux autres éléments, sont vérifiés. Si nous détectons un élément qui correspond à ces critères, nous remettons la connexion en question en demandant à la personne qui se connecte de valider un code envoyé à l’adresse email enregistrée. La personne ne pourra se connecter que si la vérification est réussie.
Traversée de l’espace de noms
On pourrait penser que le bourrage d’identifiants et l’hameçonnage par robot d’indexation suffisent à les occuper ; malheureusement, ce n’est pas le cas. Le dernier vecteur d’attaque que nous allons aborder est la traversée de l’espace de noms. Avec ce type d’attaque, les individus malveillants parcourent essentiellement les noms d’utilisateurs et d’utilisatrices pour trouver les comptes existants sur une plateforme. Pour ce faire, ils détournent les pages de connexion et/ou d’inscription. Le principe est le suivant : trouver une page d’inscription, saisir un identifiant et/ou un email et si son utilisation est acceptée, le compte n’existe pas, mais si une erreur indique que le compte existe déjà, bingo.
Bien sûr, le faire manuellement et un par un ne vaudrait pas la peine, mais en créant un script qui parcourt une liste d’adresses email, il est possible de trouver des comptes assez rapidement. Une fois l’existence d’un compte confirmée, il est alors possible de cibler cette adresse email par hameçonnage ou de forcer l’accès au compte par la méthode brute. Nous avons observé des signes indiquant que des internautes malveillants tentaient de se connecter en utilisant des mots de passe courants sur un grand nombre de comptes. Par conséquent, si votre mot de passe correspond à l’un de ces ces modèles, veuillez le modifier.
Alors, comment lutter contre cela ?
La limitation de débit à la rescousse ! Nous n’autorisons qu’un certain nombre de tentatives depuis une adresse IP dans un laps de temps donné avant de commencer à limiter le débit et/ou à rejeter les requêtes. Honnêtement, ce n’est qu’une conséquence des systèmes de connexion basés sur des adresses email ; c’est pourquoi nous avons mis en place une limitation de débit sur plusieurs points de terminaison via NGINX. L’avantage de NGINX est de permettre l’application de limites de débit personnalisées sur des points de terminaison spécifiques. Ainsi, si vous avez un formulaire d’inscription vulnérable aux abus comme dans notre exemple, vous pouvez limiter le débit uniquement sur ce formulaire.
Un autre atout majeur de NGINX réside dans sa flexibilité. Si vous devez ajouter des adresses IP spécifiques à une liste d’autorisation ou à une liste de blocage, vous pouvez le faire tout en bénéficiant d’une protection contre la recherche de mots de passe par force brute et les attaques DDoS. Si vous n’avez pas encore mis en place un tel système ou si vous souhaitez simplement en savoir plus sur la limitation de débit avec NGINX, consultez cet article publié par l’équipe NGINX.
Fuite d’identifiants
Surprise ! Je sais que j’avais dit que nous n’aborderions que trois vecteurs d’attaque, mais j’ai menti, et je ne le regrette pas… Il me semblait impossible de rédiger un article sur les piratages de comptes sans aborder le plus agaçant de tous : la fuite d’identifiants. Me croiriez-vous si je vous disais que parfois, des identifiants secrets sont simplement publiés au vu et au su de tout le monde ? Dans ce cas, qu’ont-ils de si secret ? Eh bien, si vous ne me croyez pas, j’ai le regret de vous annoncer que nous voyons chaque jour des mots de passe Mailgun exposés sur des dépôts publics Github, qui n’attendent qu’à être récupérés. Heureusement pour notre clientèle, nous avons conçu un service qui surveille ces identifiants exposés et, si nous en trouvons, nous prenons immédiatement des mesures en désactivant le compte et en avertissant la personne qui le détient.
Par le passé, nous avons vu des identifiants exposés être récupérés et utilisés dans les minutes qui ont suivi leur indexation sur Github. Par conséquent, quoi que vous fassiez, ne placez jamais d’identifiants dans des dépôts publics, car ils tomberont entre de mauvaises mains.

Et voilà, les spammeurs restent des spammeurs, alors faites preuve de prudence ! Vous vous dites peut-être : « Nick, pourquoi partager ces informations ? Les spammeurs vont lire ceci et changer de tactique ! » C’est possible, mais peu probable, et si c’est le cas, nous garderons un œil sur la situation.