Contenu

Suspension de mastodon.xyz le 5 juillet 2023

Le 5 juillet 2023 à partir de 19:32 CEST, mastodon.xyz est progressivement devenue indisponible pour la totalité des utilisateurs. Le service a été restauré le lendemain à 20:26 après une indisponibilité qui aura donc duré un peu plus de 24 heures.

S’agissant d’un événement très inhabituel, j’écris cet article pour expliquer ce qu’il s’est passé.

Contexte

mastodon.xyz existe depuis le premier avril 2017. La plupart des utilisateurs inscrits sur l’instance, environ 24 000, sont arrivés avant 2019, puis les inscriptions ont été fermées jusqu’en novembre 2022, car il était devenu bien trop chronophage de gérer la création massive de bots et de comptes de spam sur l’instance.

La réouverture en novembre 2022 a relancé fortement le travail de modération de l’instance. De quelques signalements par semaine, on est passé à plusieurs dizaines. Également, là où la plupart des comportements signalés étaient peu dangereux dans le passé, il y a maintenant une quantité conséquente de comptes destinés à des arnaques, à du spam ou à publier du contenu illégal qui sont bien évidemment suspendus lorsque signalés.

Le travail de modération se faisant sur mon temps libre (je suis pour le moment le seul administrateur et modérateur véritablement actif de l’instance), il peut y avoir un certain délai entre un signalement et le traitement de celui-ci, parfois jusqu’à quelques jours.

J’ai de nouveau fermé les inscriptions de l’instance il y a quelques semaines, un peu fatigué de devoir passer des heures à vérifier et supprimer du contenu illégal ou du spam.

Signalement

Deux heures avant la suspension, je reçois un mail de Hetzner, l’hébergeur de mastodon.xyz. Il s’agit d’un abuse report, une procédure assez classique, qui permet de signaler un contenu illégal. Hetzner a reçu un signalement, l’a vérifié et me le transmet en me demandant de supprimer le contenu à l’adresse indiquée.

Le contenu en question est malheureusement quelque chose de très commun depuis quelques mois : des images, généralement générées par IA, d’enfants dans des contextes sexuels. Je note également que j’avais effectivement reçu plusieurs signalements via Mastodon depuis quelques jours pour ce même compte, que je n’avais pas encore traités. Je supprime le compte en question, j’en profite pour traiter le reste des signalements, je préviens Hetzner de la résolution et je reprends le cours de ma journée.

Suspension

À 19:32, les premiers problèmes sont remontés par mon système de monitoring, mais je ne le vois pas tout de suite. Je me rends compte de la gravité de la situation vers 21:00.

Les serveurs de l’instance fonctionnent bien, mais le domaine est comme disparu. À ce moment-là, les navigateurs affichent une erreur de ce type.

https://i.thekinrar.fr/2023/07/07/ezaiqu8eaF.png

Avec l’outil dig, on peut facilement vérifier ce qu’il se passe. Les résolveurs DNS du registre de l’extension .xyz retournent un code NXDOMAIN, ce qui signifie que le domaine n’existe pas.

https://i.thekinrar.fr/2023/07/07/oopei4Ibae.png

Pour comprendre pourquoi, on utilise un service de whois qui permet d’obtenir, ici, des informations sur un nom de domaine. Voici un extrait de ce qu’on obtient alors.

Domain Name: MASTODON.XYZ
...
Registry Expiry Date: 2024-04-01T23:59:59.0Z
Registrar: OVH
Registrar IANA ID: 433
Domain Status: clientTransferProhibited https://icann.org/epp#clientTransferProhibited
Domain Status: clientDeleteProhibited https://icann.org/epp#clientDeleteProhibited
Domain Status: serverHold https://icann.org/epp#serverHold

On peut voir que le domaine n’est pas expiré, ce n’est donc pas le problème. Ce qui est intéressant, c’est la dernière ligne, avec le statut serverHold. Cela signifie que le domaine a été suspendu par le registre de l’extension xyz, et non par le registrar, OVH dans mon cas, qui n’y est pour rien.

Le plus probable à ce moment est donc que le registre a reçu le même signalement que Hetzner plus tôt dans la journée, et a immédiatement réagi en suspendant le domaine.

Contact du support

Le seul moyen de régler le problème semble être un formulaire sur le site du registre qui permet de lever la suspension du domaine en trois étapes simples.

En vérité, les étapes ne sont pas très simples car les informations données sont incorrectes, mais surtout pas très rapides non plus puisque le délai annoncé est de maximum 48h, ce qui me paraît peu correct pour une suspension sans prise de contact préalable.

Quoi qu’il en soit, il ne reste plus qu’à attendre.

Communication

En temps normal, lorsque l’instance a des problèmes ou qu’une maintenance est en cours, j’affiche un message d’erreur expliquant la situation lorsque l’on tente d’y accéder. C’est évidemment impossible dans le cas présent.

J’ai posté quelques tweets dans la soirée, également laissé quelques messages sur le serveur Discord du projet Mastodon. Mais ce n’est pas suffisant et il faudrait prévenir un maximum d’utilisateurs de l’instance, par exemple par mail.

Ayant toujours accès aux serveurs, j’extrais la liste des utilisateurs actifs dans le dernier mois, écris quelques lignes de JavaScript et un mail en anglais et en français à envoyer aux 3200 utilisateurs concernés. Et là, parce que ce serait trop simple sinon, un nouveau problème.

En temps normal, les mails automatiques de mastodon.xyz (inscriptions, notifications, etc.) sont envoyés depuis l’adresse noreply@mastodon.xyz. Dans la situation présente, je ne peux évidemment pas, je pense donc les envoyer depuis un autre de mes domaines, kinrar.io.

Mailgun est une entreprise qui fournit des services d’envoi de mails pour les développeurs, que j’utilise habituellement pour Mastodon, et que je tente d’utiliser ici également. Voyant la quantité de mails que j’envoie depuis un nouveau domaine, leur système bloque mes envois.

Heureusement, leur support est disponible et relativement réactif, mais finalement terriblement inefficace dans mon cas. Après cinq heures et demie et une dizaine de messages, il est huit heures et la réponse est claire : ils débloqueront l’envoi de mails lorsque l’instance sera de retour, car ils doivent en vérifier la politique de confidentialité. Mes tentatives de redirection vers d’autres instances avec la même politique, d’hébergement temporaire de l’instance sur un sous-domaine de kinrar.io et d’explication de la situation n’ont servi à rien.

Leur réponse, en anglais :

After reviewing the account in detail, we have determined that the sending limitation will remain in effect temporarily due to the lack of required documentation for the domain mastodon.xyz. Once it is up and running please update this ticket for another review.

Super. Finalement, j’envoie le reste des mails dans l’après-midi avec mon serveur de mail personnel, mais le résultat est qu’une bonne partie est classifiée en tant que spam.

Voici le mail envoyé aux utilisateurs actifs de l’instance :

Bonjour TheKinrar,

mastodon.xyz est actuellement inaccessible depuis hier (5 juillet), vers 19:00. En cause, la suspension de notre nom de domaine (mastodon.xyz) par le registre de l’extension xyz.

Il semblerait qu’ils aient réagi immédiatement et sans nous contacter à un signalement d’un contenu illégal posté par un utilisateur de l’instance, qui avait pourtant déjà été supprimé suite à d’autres signalements.

Nous avons pris contact avec le registre, malheureusement celui-ci semble avoir un délai de traitement conséquent et nous anonce un rétablissement sous 48h maximum. Il est pour le moment impossible de faire autre chose qu’attendre la résolution de cet incident.

Veuillez noter que lors du retour à la normale, l’instance accusera un retard conséquent sur le reste du fediverse, il faut donc s’attendre à un fonctionnement ralenti pendant quelques heures.

Cette indisponibilité est la plus longue depuis que l’instance existe et nous faisons notre possible pour résoudre ce problème au plus vite.

À bientôt sur mastodon.xyz

Résolution

À 20:11, je reçois enfin une réponse du registre, qui confirme ce que j’expliquais plus tôt : le domaine a bien été suspendu en raison du contenu publié par un des utilisateurs de l’instance, contenu qui, ironiquement, a été supprimé quelques minutes avant la suspension suite au mail d’Hetzner.

Le point positif est qu’ils expliquent avoir ajouté l’instance sur leur liste de faux-positifs, ce qui évitera d’autres suspensions dans le futur.

Voici le texte original de leur réponse, en anglais :

Hello,

Thank you for your response. I’m sure you can appreciate that we as the registry operator want .xyz to stay a safe and reputable namespace. To do this, we collect data from over 100 highly respected abuse feeds, including URIBL, Google, and Phishlabs, and temporarily suspend domains that we believe have been hacked or are being used for malicious purposes. As a result, it is well established in the industry that .xyz is a safe namespace and your visitors can feel confident they are going to a reputable website when they see your website link.

This domain has been flagged for violating our anti-abuse policies, specifically child sexual abuse material by one of our cybersecurity partners.

I have unsuspended this domain and added this to a false positive list to prevent further suspension.

Please remove the URL containing CSAM

URL: hxxps://mastodon.xyz/[…]

Let me know if there is anything else I can help you with.

Environ un quart d’heure plus tard, l’instance est de nouveau fonctionnelle. Quelques ralentissements viennent en perturber le fonctionnement, comme prévu, car il faut rattraper tout le retard accumulé pendant les 24 heures qui viennent de s’écouler, ce qui consiste principalement à recevoir les messages et interactions envoyées par les autres instances.

La suite

Maintenant que tout est rentré dans l’ordre, j’en profite pour rassurer certaines personnes qui pourraient être inquiètes de l’avenir de mastodon.xyz : il n’y a aucune volonté de ma part de fermer l’instance dans les années à venir, c’est même tout l’inverse. Je tiens énormément à cette instance sur laquelle j’ai beaucoup de souvenirs, et j’ai surtout une grande responsabilité vis-à-vis des milliers de personnes qui l’ont utilisée et qui l’utilisent encore. J’espère pouvoir la maintenir encore très longtemps.

À ce sujet, si vous le souhaitez, vous pouvez participer aux frais d’hébergement de l’instance (actuellement, environ 150 à 200 €/mois en moyenne) via Patreon, Liberapay ou PayPal. Certaines personnes soutiennent l’instance depuis des années et je les en remercie. Je n’aurais pas pu maintenir l’instance sans leur aide sur toutes ces années !

Ce n’est pas encore clairement défini, mais une page de statut de l’instance sera prochainement déployée sur un autre nom de domaine, pour assurer la communication en cas de problématique semblable.
Je vais également très probablement agrandir l’équipe de modération dans les semaines à venir pour assurer un traitement plus rapide des signalements.

Merci à tous ceux qui m’ont envoyé leur soutien depuis hier, je n’ai pas eu beaucoup de temps pour répondre mais j’ai tout lu et vos messages m’ont fait très plaisir et étaient bien motivants ! À bientôt sur Mastodon :)