La semaine dernière, j’ai été banni des DNS gratuits Cloudflare, Quad9, Google, etc. Je ne savais que c’était possible et les raisons restent encore floues pour moi. Voici ce qui s’est passé et quelques pistes pour comprendre comment j’ai pu être mis au ban.
[edit] J’ai eu un échange avec une personne de chez Cloudflare, le souci n’est pas au niveau des DNS (voir à la fin de l’article)
Banni de DNS gratuit
J’utilise depuis de nombreuses années des DNS alternatifs. L’objectif est de contourner les restrictions des opérateurs télécoms en France. J’ai utilisé :
- Cloudflare (1.1.1.1 et 1.0.0.1)
- Google (8.8.8.8 et 8.8.4.4)
- Quad9 (9.9.9.9 et 149.112.112.112)
J’ai arrêté d’utiliser Google depuis plusieurs années déjà. Un temps, j’ai utilisé les très bons DNS de OpenNIC avant que les services deviennent instables. Depuis, j’utilise et je recommande ceux de Cloudflare qui sont rapides, respectueux de la vie privée et robuste. En secours, j’ai recours à Quad9. Je n’ai jamais rencontré de souci jusqu’à présent – depuis 3 / 4 ans.
Pi-Hole et AdGuard Home
Je n’utilise pas les DNS gratuits directement sur mes appareils. Afin de bloquer les publicités intrusives et autres traqueurs, j’utilise conjointement Pi-Hole et AdGuard Home (sauf pour les NAS). C’est eux qui interrogent les DNS précédemment cités (Cloudflare et Quad9). Les 2 services de blocage sont configurés au niveau du serveur DHCP comme DNS pour le réseau local (LAN UniFi) et tout fonctionnait parfaitement bien.
Arrêt de service
Un soir, l’accès à certains sites a commencé à poser des problèmes : forte latence ou accès impossible. Pour rappel, les navigateurs disposent de leur propre cache DNS, comme les ordinateurs. Si vous allez régulièrement sur les mêmes sites, le souci n’est pas forcément détecté immédiatement.
Au début, j’ai cru à un problème lié à mon opérateur. Comme tout semblait fonctionner correctement de ce côté, j’ai décidé de redémarrer Pi-Hole et AdGuard Home. Malheureusement, mon Raspberry Pi 1 Model B de 2013 (avec Pi-Hole) n’a pas apprécié le reboot. Il ne redémarrera pas (même après le changement de la carte SD et de l’alimentation). Pendant plusieurs minutes, je vais penser que mon souci d’accès aux sites Web a un lien avec la mort du Raspberry Pi. De son côté, AdGuard Home montre de nombreuses erreurs de fonctionnement. Le problème viendrait du réseau. J’arrive à faire un ping d’une adresse publique, mais pas d’un nom de domaine. Côté UniFi, je remets les paramètres en automatique au niveau des DNS (WAN et LAN). Me voilà donc configuré avec les DNS de mon opérateur 🙁 Dès que je force 1.1.1.1 ou 8.8.8.8 sur mon PC : rebelote, j’ai de nouveau plus accès aux sites Web.
J’ai cherché en vain une explication sur Internet et malgré plusieurs essais : rien ne semble fonctionner. Puis, c’est EVOTk qui s’est souvenu d’un ami qui s’est fait bannir des DNS Cloudflare et Google. J’avoue, je ne savais que c’était possible. Je lance donc un ping 1.1.1.1 : Request timeout. Je recommence avec 8.8.8.8 : Request timeout. Ce sera la même chose avec 9.9.9.9. Il me conseille de prendre les DNS de l’association French Data Network et/ou de dns.watch… Je change les paramètres et le miracle, tout fonctionne correctement !
Pourquoi ai-je été banni ?
La question, je me la suis posée et je me la pose encore. Est-ce que cela peut venir d’un souci Pi-Hole avant de rendre l’âme ? Je ne pense pas. Aurais-je abusé de l’utilisation des DNS gratuits ? Mon usage n’a pas évolué récemment. Comme je viens de changer d’opérateur fibre, aurais-je récupéré une adresse IP suspecte ? Peut-être, mais sans conviction… Ce qui est sûr, c’est que mon adresse IP publique est partagée (dans une base) entre Cloudflare, Quad9, Google et peut-être d’autre.
J’ai donc décidé d’utiliser l’outil IP Blacklist Check de DnsChecker. Parmi les 55 listes interrogées automatiquement par ce dernier, mon adresse IP publique apparaît chez dnsbl.spfbl.net. Je vais sur leur site et j’apprends que : « Cette IP a été signalée parce qu’elle est dynamique ou parce qu’elle est soupçonnée d’être à usage domestique uniquement » et d’ajouter « Si vous utilisez un service de courrier électronique sur cette IP, demandez à votre fournisseur d’accès de modifier le rDNS (ndlr : reverse DNS) ». Il s’agit bien d’une adresse IP à usage domestique, mais je ne l’ai jamais utilisé pour mettre en place un service de messagerie et je n’en ai pas l’intention.
Après quelques minutes, je me souviens que j’utilise Uptime Kuma pour surveiller quelques sites (notamment Cachem.fr et Forum-NAS.fr). Lorsqu’il y a un incident, l’outil envoie un e-mail sur deux adresses (ik.me et gmail.com) pour m’indiquer que le service Web est indisponible… puis un second quand le service revient. Sauf que si Uptime Karma n’a plus accès à Internet et qu’ensuite il récupère le service, il envoie pour chaque sonde (site surveillé) 2 mails. Serait-ce Gmail qui a interprété cela pour du SPAM ? Ou Ik.me ? Rien n’est moins sûr puisque le système d’alerte par mails d’Uptime Kuma fonctionne correctement.
J’avoue que je n’ai pas compris ce qui s’est passé. De plus, je découvre qu’il est possible de se faire bannir d’un service de DNS gratuit. C’est effectivement possible et c’est quelque part logique pour éviter des actions malveillantes. Ce que je n’ai pas encore compris, c’est la raison pour laquelle j’ai été banni.
Et vous, saviez-vous qu’on pouvait se faire bannir par ce genre de service ? Avez-vous déjà vécu une expérience similaire ?
[edit] Après cet article, une personne de chez Cloudflare France m’a contacté directement. Ça tombe bien, car je n’avais pas réussi à les contacter avant la publication de l’article. Normal me dit-on, il faut avoir souscrit un service pour accéder au support. Après environ une heure d’échange et de tests, ce qu’il faut retenir, c’est que Cloudflare ne bannit pas indéfiniment une adresse IP publique. Si cela peut arriver, la durée n’est de quelques heures/jours. Cloudflare se veut respectueux de la vie privée et il défend la neutralité du Net. S’il existe des méthodes de contournement, on ne le communiquera pas ici. Ensuite, le fournisseur de service ne partage pas de liste d’adresse avec les autres (Google, Quad9…). Ceux qui ont indiqué avoir été bannis eux aussi en commentaire, vous voilà rassuré vis-à-vis de Cloudflare. Enfin pour mon cas nous avons trouvé l’origine. Malgré de nombreuses recherche et de tests, le souci se trouvait au niveau de ma passerelle UniFi et d’un souci au niveau du port UDP 53 que je n’explique pas (bug?). J’y reviendrai certainement dans un prochain article après avoir contacté UniFi. Voilà, je fais mon mea-culpa et promets du mieux pour les prochaines fois.