Résumé
- Cloudflare indique que son service DNS récursif public 1.1.1.1 a été indisponible dans le monde entier de 21:52 à 22:54 UTC le 14 juillet 2025. La majorité des utilisateurs a été touchée, et Gateway DNS a subi une dégradation intermittente. Le mécanisme direct était un retrait des préfixes de production du service après un changement de topologie interne, pas une attaque ni un défaut de protocole DNS. [1]
- L’historique causal a commencé le 6 juin. Une configuration pour un service Data Localization Suite qui n’était pas encore actif faisait accidentellement référence au service 1.1.1.1 Resolver et à ses préfixes. L’erreur est restée dormant car elle n’a pas modifié le trafic. Le 14 juillet, l’ajout d’un emplacement de test à ce service non productif a déclenché une actualisation globale, réduisant la topologie du résolveur d’une couverture mondiale de production à un seul emplacement hors ligne et provoquant des retraits de routes. [1][8]
- Cloudflare a listé des préfixes IPv4 et IPv6 affectés incluant 1.1.1.0/24, 1.0.0.0/24, 2606:4700:4700::/48 et l’espace d’adresses de résolveur associé. Le trafic UDP, TCP et DNS over TLS s’est effondré. DNS over HTTPS est resté comparativement stable pour de nombreux utilisateurs parce que cloudflare-dns.com utilisait un autre jeu d’adresses. La sélection de l’endpoint et de la route, pas le nom du produit seul, a défini la limite de la panne. [1][16][17]
- Des alertes ont été déclenchées et un incident déclaré à 22:01. Cloudflare a rétabli la configuration à 22:20. La ré-advertisation des routes a ramené le trafic à environ 77 % de son niveau initial, mais environ 23 % des serveurs d’edge avaient déjà retiré les liaisons IP requises. La restauration complète du trafic a nécessité la remise en place de ces liaisons et a été signalée à 22:54. [1]
- Une annonce d’origine Tata Communications India pour 1.1.1.0/24 est devenue visible après le retrait des routes Cloudflare. Cloudflare a décrit cette observation comme ressemblant à un détournement de route du point de vue du système de routage, en précisant explicitement qu’elle n’était pas la cause de la panne du service. La validation d’origine et la surveillance des routes ont une valeur d’éléments de preuve, mais ne peuvent pas prouver qu’un opérateur autorisé annonce bien un préfixe de service depuis les emplacements requis ni qu’il répond aux requêtes DNS. [1][3][18][19]
- Anycast distribue une adresse de service unique depuis plusieurs emplacements. Le RFC 4786 explique à la fois sa valeur de résilience et la complexité de sa surveillance. L’événement de juillet n’a pas montré qu’Anycast est intrinsèquement dangereux. Il a montré qu’un enregistrement service-vers-préfixe global inexact peut effacer tout le catchment de production si le système de génération de routes n’impose pas d’invariant bloquant zéro localisation active. [9][12][13]
- La responsabilité suit le contrôle pratique sur le registre service-préfixe, le topologie rendu, l’actualisation globale, les annonces de route, les liaisons d’edge, la conception des alertes, l’autorité de rollback et la preuve de restauration du service. Un ticket ou une configuration intentionnelle constitue une preuve d’intention. La route active et la réponse DNS complétée sont des preuves de la réalité.
- Selon la doctrine Heng.lu, les enregistrements d’association préfixe-topologie doivent préserver unicité, précision, métadonnées de sécurité et continuité opérationnelle. Ils restent des registres, pas des substituts souverains du réseau opérant. La thèse d’infrastructure réseau s’effondre si les faits DNS, préfixes IP, anycast, BGP et liaisons d’edge sont retirés, donc la doctrine est centrale et non décorative.
Un résolveur peut échouer avant de traiter une question DNS
Quand les utilisateurs décrivent une panne DNS, l’image naturelle est un résolveur qui reçoit un nom de domaine et ne parvient pas à renvoyer une adresse. C’est un mode de panne possible. Ce n’était pas la première panne dans l’incident de juillet 2025 de Cloudflare.
Un client ne peut interroger un résolveur qu’après que les paquets atteignent les adresses de service du résolveur. Pour 1.1.1.1, ces adresses sont livrées via un réseau anycast. Plusieurs emplacements Cloudflare annoncent la joignabilité des mêmes préfixes, et le routage Internet choisit un chemin vers l’un d’eux. Le logiciel du résolveur exécute ensuite le travail récursif, en exploitant le cache ou en contactant les serveurs de noms faisant autorité si nécessaire. [5][6][12]
La panne de juillet a interrompu l’étape précédente. Les emplacements de production Cloudflare ont cessé d’annoncer les préfixes pertinents. Le trafic envoyé vers ces adresses ne pouvait pas atteindre les emplacements d’edge censés répondre. Le résolveur n’est donc pas d’abord devenu incorrect vis-à-vis d’un nom de domaine. Le réseau est devenu incorrect sur l’endroit où le service résolveur existait. [1]
Cette distinction est importante pour la responsabilité, car elle identifie les systèmes de contrôle.
Une équipe DNS peut valider récursivité, cache, DNSSEC, comportement de retry et correction des réponses. Ces tests ne prouvent pas que les adresses de service resteront routées. Une équipe réseau peut observer les annonces BGP et les interfaces de bord. Ces observations ne prouvent pas que le processus résolveur répondra. Un système de topologie réseau peut enregistrer quel produit utilise quels préfixes et quels emplacements. Cet enregistrement ne prouve pas que l’état compilé des routes ou des liaisons d’edge corresponde au design attendu.
Le service fonctionne seulement quand ces couches sont cohérentes:
- L’identité de service est associée aux préfixes corrects.
- Les emplacements de production prévus sont associés au service.
- Le système de génération de routes annonce ces préfixes à partir des emplacements prévus.
- Les systèmes d’edge conservent les liaisons IP nécessaires pour recevoir le trafic.
- Le processus résolveur accepte les transports pertinents et complète les requêtes.
- La surveillance détecte rapidement une divergence pour permettre une restauration contrôlée.
Le post-mortem de Cloudflare montre une divergence démarrant dans les deux premières couches et se propageant aux deux suivantes. Un objet non productif a acquis une référence aux préfixes du résolveur en production. Un rafraîchissement ultérieur a compilé cette association en retraits de routes. Certains serveurs d’edge ont ensuite supprimé les liaisons requises. [1]
Appeler le résultat « DNS en panne » est compréhensible mais trop large pour une analyse de contrôle. La classe d’échec est un problème d’identité et de joignabilité dans l’infrastructure réseau: quel service possède une adresse, où ce service doit être joignable, quel état de route découle de l’enregistrement, et quel endpoint physique ou logiciel est prêt à recevoir le trafic.
C’est aussi pourquoi un tableau d’état ne peut pas être la preuve unique. Un tableau peut indiquer qu’un composant DNS est opérationnel alors que ses préfixes sont absents des vues de routage importantes. Un collecteur de route peut montrer un préfixe alors qu’aucun résolveur sain n’est lié derrière lui. Un moniteur de processus peut indiquer un daemon sain qui ne reçoit aucun paquet. Le contrôle imputable est la réconciliation entre ces états, pas un indicateur vert isolé.
L’erreur dormante était déjà un risque de production
Cloudflare date l’introduction de l’erreur de configuration au 6 juin 2025. L’entreprise préparait une topologie de service pour un futur service Data Localization Suite. Le nouveau service n’était pas en production. Sa configuration a accidentellement inclus une référence au service 1.1.1.1 Resolver et, par extension, aux préfixes du résolveur. [1]
Aucun effet visible ne s’est produit à ce moment-là. Ni changement de route, ni basculement de trafic, ni alerte. L’enregistrement est resté dans l’environnement de configuration de production sans conséquence immédiate.
Cette période silencieuse n’est pas une preuve d’absence de risque. Elle est la preuve que le système ne l’avait pas encore exercée.
Les systèmes de configuration contiennent souvent des objets inactifs, en préparation, programmés dans le futur, désactivés ou associés à un emplacement hors ligne. Les opérateurs ont besoin de ces états. Ils permettent de représenter des services planifiés avant activation. Le risque apparaît quand un objet dormant peut revendiquer ou référencer des ressources critiques de production sans vérification de conflit, et quand une opération ultérieure peut rafraîchir le réseau mondial sur cet objet.
La bonne question est donc non seulement: « Le changement de juin a-t-il modifié le trafic? » mais: « Quelle autorité cet enregistrement a-t-il acquise? »
Si l’enregistrement pouvait influencer la propriété du préfixe en production lors d’un futur rafraîchissement, il avait déjà franchi une frontière de risque production, même si le service restait hors ligne. Un réviseur ou un validateur automatisé devait comprendre l’effet latent. L’absence d’impact immédiat sur le trafic rendait les alertes santé ordinaires inefficaces, car l’événement était un défaut d’intégrité d’état, pas encore un défaut de santé de service.
Un plan de contrôle fiable doit pouvoir répondre:
- Quel service est le propriétaire autoritaire de chaque préfixe de production?
- Deux objets de service peuvent-ils référencer le même préfixe?
- Si le partage de référence est permis, quelle règle décide de l’ensemble de lieux résultant?
- Un service non productif peut-il réduire la portée globale d’un service de production?
- Quelle opération va ensuite compiler ou rafraîchir cet enregistrement?
- Quels changements rendus de route et de liaison d’edge cette opération produira-t-elle?
- Quel invariant bloque une réduction à zéro localisation active d’un service global?
- Qui doit approuver une référence inter-environnement vers une adresse publique critique?
Ces questions ne sont pas des accessoires de procédure. Chacune peut devenir une vérification déterministe.
Une table de propriété de préfixes peut exiger un identifiant de service propriétaire unique. Un compilateur de topologie peut calculer l’ensemble de localisation effectif avant déploiement. Une politique peut rejeter une sortie avec zéro localisation active. Une prévisualisation de changement peut montrer tous les préfixes de production affectés par un objet non productif. Un observateur indépendant peut comparer la sortie attendue aux routes annoncées actuellement.
L’objectif de contrôle n’est pas d’interdire la configuration dormant. C’est d’empêcher qu’une autorité dormante échappe à la revue.
La documentation actuelle de Cloudflare sur la Data Localization explique le besoin légitime de contrôler où les services traitent le trafic. Elle décrit des produits géographiques et orientés conformité, mais elle ne peut pas prouver le modèle de données interne exact ni les contrôles utilisés en juin et juillet 2025. [8] Le post-mortem reste la source du mécanisme d’incident. La documentation publique actuelle fournit un contexte pour comprendre pourquoi la localisation de service est une donnée de configuration importante.
Cette frontière factuelle est importante. Il serait facile d’inférer un schéma, une base de données ou un outil de déploiement particulier depuis la documentation actuelle. Le registre public ne divulgue pas ces détails. La responsabilité ne nécessite pas de les inventer. Elle exige de nommer l’exigence de contrôle observable: un service futur ou hors ligne ne doit pas acquérir silencieusement une autorité sur des préfixes de production de résolveur.
Un rafraîchissement global a transformé l’enregistrement en état de route opérationnel
Le 14 juillet, Cloudflare a ajouté un emplacement de test au service non productif. L’emplacement lui-même n’était pas actif, mais le changement a déclenché un rafraîchissement de la configuration réseau mondiale. Parce que l’enregistrement de juin reliait les préfixes 1.1.1.1 à ce service, ce rafraîchissement les a inclus. La topologie effective du résolveur est passée de tous les emplacements de production à un emplacement hors ligne. Ses préfixes ont commencé à être retirés. [1]
La séquence montre pourquoi le rayon d’impact d’un changement doit être mesuré par la sortie rendue, pas par la taille apparente de l’entrée.
L’entrée pouvait être décrite comme l’ajout d’un emplacement de test à un service non productif unique. La sortie a affecté un résolveur public global et plusieurs préfixes IPv4 et IPv6. Les deux descriptions sont compatibles. Seule la seconde révèle le risque opérationnel.
Les automatisations d’infrastructure amplifient souvent des déclarations compactes. Une courte configuration peut générer des règles pour de nombreux routeurs, serveurs ou sites. C’est précisément le but de l’automatisation. Cela signifie aussi que la revue doit exposer l’expansion.
Une prévisualisation sûre pour cette classe de changement devrait montrer au moins:
- Chaque service dont la topologie effective change.
- Chaque préfixe ajouté, supprimé ou réassigné.
- Chaque emplacement qui commencera ou cessera d’annoncer chaque préfixe.
- Chaque liaison d’edge qui sera ajoutée ou supprimée.
- Chaque point de terminaison de protocole affecté.
- Le nombre minimum de localisations en ligne restant.
- Le delta attendu des annonces BGP.
- Le delta attendu de distribution des requêtes DNS.
La prévisualisation doit être calculée depuis le même code et le même chemin de données que pour le déploiement. Un résumé séparé produit par une logique différente peut diverger du compilateur réel. C’est la primauté du code exécuté en pratique: l’objet de revue doit être le candidat rendu, pas seulement la description humaine.
Le même principe s’applique aux canaris. Une première étape réduite est utile uniquement si elle exerce le mode d’échec. Ajouter un emplacement de test à un service hors ligne peut sembler sûr car aucun trafic client n’est attendu là-bas. Si l’opération invoque le rafraîchissement global de routes et la logique d’association de préfixes, le canari doit observer cette sortie globale. Un test local sur l’emplacement hors ligne manquerait l’effet décisif.
L’incident de juillet remet donc en cause un raccourci fréquent: « changement non production ».
Un objet peut être non productif pour l’usage client, alors que ses métadonnées participent à un compilateur de production. Un emplacement peut être hors ligne, tout en déclenchant une recomputation globale. Un service peut n’avoir aucun utilisateur, alors que ses associations de préfixe modifient un résolveur très utilisé. Les libellés d’environnement ne définissent pas la vraie frontière. Les flux de données et l’autorité de déploiement le font.
Cela ne signifie pas que tout enregistrement de pré-production doive être traité comme une panne en cours. Cela signifie que l’organisation doit classer les changements selon les systèmes et ressources qu’ils peuvent muter. Un objet non productif avec références à des préfixes de production appartient à une classe de risque plus élevée qu’un objet de test isolé sans autorité de génération de routes.
La preuve d’une telle classification peut rester bornée. Un ticket de changement peut nommer le compilateur affecté. Une prévisualisation générée par machine peut lister les ressources de production touchées. Un résultat de politique peut enregistrer les contrôles d’invariant. Un rapport canari peut montrer les observations de route et de service. Le fichier conservé est plus utile qu’une assurance large selon laquelle staging et production sont séparés.
Anycast a distribué le service et concentré l’erreur de contrôle
Anycast est souvent présenté comme une technique de résilience. La même adresse de service est disponible depuis de multiples emplacements réseau, et le routage dirige les utilisateurs vers l’un d’eux. RFC 4786 décrit le modèle et avertit que la surveillance devient plus complexe car la disponibilité dépend de la localisation du client et du catchment de routage. [12]
Cloudflare utilise largement Anycast, y compris pour 1.1.1.1. Sa documentation actuelle et les supports réseau publics décrivent un service distribué mondialement et un espace d’adresses annoncé sur l’ensemble de son réseau. [4][5][9][10][11]
L’incident de juillet ne doit pas être interprété comme la preuve qu’Anycast a échoué par conception. La conception crée de nombreux emplacements potentiels. Le système de configuration a supprimé la joignabilité de tous en même temps.
Cette distinction sépare redondance du plan de données et indépendance du plan de contrôle.
De nombreux emplacements peuvent servir la même adresse. Si tous consomment un seul enregistrement de topologie globale erroné, le nombre d’emplacements ne crée pas de protection indépendante contre cet enregistrement. La flotte est distribuée géographiquement mais logiquement en mode défaillance commune.
Les questions de résilience pertinentes sont:
- Une seule association service-préfixe peut-elle retirer chaque nœud anycast?
- Existe-t-il une règle d’invariant minimale de présence, immuable ou contrôlée séparément, pour les préfixes critiques?
- Un changement global requiert-il une validation réussie par plusieurs observateurs indépendants?
- Un sous-ensemble de locations peut-il conserver une annonce dernière correcte pendant l’incertitude du plan de contrôle?
- La restauration d’urgence est-elle possible sans dépendre du même compilateur de topologie?
- Les liaisons d’edge sont-elles protégées contre la suppression automatique tant que les vérifications route et service ne convergent pas?
Aucune de ces questions n’a une réponse universellement unique. Garder une route obsolète peut diriger des utilisateurs vers un service cassé. Bloquer tout retrait automatique peut gêner sécurité ou maintenance. Un invariant de présence minimale peut être dangereux si les emplacements restants ne sont pas sains. Le contrôle doit réconcilier joignabilité et santé de service, sans traiter l’un ou l’autre comme absolu.
C’est pourquoi la preuve doit inclure à la fois l’état de route et l’état de service.
Une annonce de route prouve que l’Internet peut envoyer des paquets vers l’opérateur. Elle ne prouve pas que l’application visée est saine. Un contrôle de santé de résolveur prouve qu’un processus peut répondre depuis un point de vue. Il ne prouve pas que les utilisateurs d’autres catchments peuvent acheminer vers lui. Un enregistrement de topologie prouve ce que le système entend. Il ne prouve pas ce que les routeurs et hôtes d’edge ont réellement implémenté.
Un résolveur global a besoin d’une condition d’acceptation combinée. Par exemple:
- Le service prévu conserve au moins un ensemble défini de localisations de production saines.
- Les préfixes requises restent visibles depuis des collecteurs de routes indépendants et des réseaux clients choisis.
- Les liaisons d’edge existent là où les routes aboutissent.
- Les probes UDP, TCP, DoT et DoH aboutissent depuis des régions représentatives.
- Le volume de requêtes et la distribution des codes de réponse restent dans des attentes bornées.
Cloudflare Radar fournit des observations DNS et routage publiques, mais il s’agit tout de même d’une surface de mesure opérée par Cloudflare et ne représentant pas tous les chemins d’utilisateurs. [2][3] Des collecteurs indépendants, des sondes d’ISP et des mesures clients renforceraient le dossier. Le point n’est pas qu’un graphe externe puisse certifier le service. C’est qu’une configuration globale doit être observée hors du système qui l’a produite.
Les chemins de protocole ont révélé l’impact réel
Cloudflare a signalé une baisse immédiate et importante des requêtes résolveur via UDP, TCP et DNS over TLS lorsque les préfixes ont été retirés. De nombreux utilisateurs configurent directement 1.1.1.1, 1.0.0.1 ou leurs équivalents IPv6. Les paquets vers ces adresses ont perdu une route vers le service de production de Cloudflare. [1]
Le trafic DNS over HTTPS est resté comparativement stable pour beaucoup d’utilisateurs, car ils accédaient à cloudflare-dns.com, qui utilisait un jeu d’adresses différent. Une partie du trafic UDP avec d’autres adresses est également restée relativement stable. [1]
Cette différence contient plusieurs leçons de responsabilité.
Premièrement, un produit peut avoir plusieurs chemins de livraison avec des dépendances différentes. Tous peuvent être appelés 1.1.1.1 dans la documentation ou la conversation utilisateur, mais la frontière opérationnelle est l’endpoint et l’ensemble d’adresses utilisés par un client.
Deuxièmement, la diversité n’est utile que si elle est réelle et exploitable. DoH n’est pas resté disponible parce que le libellé « HTTPS » est intrinsèquement plus résilient que UDP. Il est resté comparativement stable dans cet incident parce que de nombreux clients rejoignaient un nom d’hôte associé à d’autres adresses. Une future panne pourrait toucher ces adresses ou le chemin de résolution de ce nom différemment.
Troisièmement, l’impact doit nommer le chemin. Dire « 1.1.1.1 était hors service » traduit l’expérience client large, mais masque pourquoi certaines requêtes ont continué. Dire « tout DNS était indisponible » serait inexact. La distinction transport/endpoint du post-mortem rend le récit plus utile. [1][16][17]
Quatrièmement, les clients ne peuvent pas toujours basculer de protocole pendant une panne. Un appareil configuré avec une adresse de résolveur littérale peut ne pas avoir de chemin automatique sûr vers un nom DoH. Un opérateur réseau qui redirige des requêtes clients peut avoir des raisons contractuelles, de confidentialité, de performance ou de politique pour un endpoint donné. Un fallback indiqué dans la documentation produit n’est pas nécessairement déployé, autorisé ni testé dans l’environnement utilisateur.
La question côté client n’est donc pas « Pourquoi tout le monde n’a-t-il pas basculé? » mais de savoir si les utilisateurs critiques comprenaient leur dépendance au résolveur, disposaient d’un chemin alternatif compatible, et l’ont testé sans introduire régressions sécurité ou politique.
La question côté fournisseur est de savoir si ces différences de chemins avaient été cartographiées avant l’incident et utilisées dans la surveillance et la communication. Un avis d’incident utile peut indiquer quelles adresses et quels transports sont dégradés, lesquels restent disponibles, ce que les clients peuvent faire en sécurité, et quels risques accompagne une solution de contournement.
La preuve devrait conserver:
- Les taux de requêtes par endpoint et par transport.
- La joignabilité depuis des réseaux représentatifs.
- Le taux de succès, d’attente et d’erreur du résolveur.
- Le comportement de retry client.
- L’activation d’un résolveur alternatif ou d’un failover.
- Les propriétés de sécurité et confidentialité du fallback.
- Le calendrier de récupération par chemin.
Ces enregistrements rendent la frontière d’impact testable. Ils empêchent également qu’un chemin résiduel soit utilisé pour minimiser artificiellement l’échec d’un autre.
L’annonce d’origine non liée était une preuve, pas une cause
À 21:54, après le départ des propres routes de Cloudflare, Tata Communications India AS4755 a annoncé 1.1.1.0/24. Cloudflare a indiqué que le système de routage rendait l’événement visuellement semblable à un hijack de préfixe. Cloudflare a aussi précisé explicitement que cette annonce n’était pas la cause de la panne. [1]
Cette distinction doit rester inchangée.
Le retrait de route a créé une condition dans laquelle une autre origine est devenue visible. Cette observation compte, car le trafic peut suivre une route auparavant moins préférée ou cachée. Elle soulève des questions séparées sur la raison de l’annonce, sa propagation, les contrôles d’origine de route applicables et le trafic qui y est arrivé. Ces questions ne renversent pas l’ordre causal publié par Cloudflare.
Mélanger ces deux événements produirait un article plus spectaculaire mais plus faible. Cela orienterait aussi la remédiation vers la mauvaise chaîne de contrôle.
La validation d’origine RPKI, comme décrite dans RFC 6811, permet à un routeur de classifier si un AS d’origine est autorisé pour un préfixe selon les données d’autorisation d’origine des routes. [18] Les recommandations opérationnelles BGP traitent le filtrage et l’hygiène de routage. [19] Ces contrôles peuvent réduire certains risques d’origine non autorisée.
Ils ne prouvent pas la disponibilité.
Un origine Cloudflare autorisée peut retirer sa route. Une route valide peut aboutir à un edge sans résolveur fonctionnel. Une origine correcte peut annoncer depuis trop peu d’emplacements. Un edge peut conserver une liaison IP tandis que le service est malade. Inversement, une route paraissant anormale peut être sans relation avec la panne initiale.
L’événement de juillet illustre donc le rôle borné des métadonnées de sécurité.
Les enregistrements d’origine de route répondent à une question précise: cette origine est-elle autorisée pour ce préfixe? Elles ne répondent pas:
- Le préfixe doit-il être annoncé maintenant?
- Depuis combien d’emplacements de production?
- La route mène-t-elle vers le service prévu?
- La liaison d’edge est-elle présente?
- Le résolveur répond-il correctement?
- Un changement de topologie a-t-il retiré la propre route de l’opérateur autorisé?
Cela est cohérent avec le traitement de la doctrine Heng.lu des registres et des enregistrements. Un registre peut rendre l’identité, l’autorisation et l’historique auditable. Il ne peut pas commander le plan de données par déclaration. La route et le service doivent toujours s’exécuter.
La déclaration explicite d’absence de causalité du post-mortem est elle-même une pratique de preuve utile. Les rapports d’incident doivent séparer observations concurrentes et chaîne causale. Une chronologie peut signaler une anomalie, expliquer pourquoi elle devient visible, et indiquer ce qui est ou n’est pas connu. Cela aide les opérateurs à corriger la défaillance initiale sans ignorer une anomalie de routage nouvellement exposée.
La détection a commencé après la perte de route
Cloudflare indique que le trafic DNS a commencé à chuter à 21:52. Les alertes de résolveur interne ont commencé à 22:01, au moment de la déclaration d’incident. [1]
Un intervalle de neuf minutes peut être court dans certains contextes opérationnels et long pour un résolveur global. Le point essentiel est ce qui a déclenché le signal.
L’erreur de juin n’a produit aucune alerte parce qu’elle ne changeait pas le trafic. Le 14 juillet, des alertes ont été émises après le retrait de route ayant réduit les requêtes entrantes et provoqué des pannes de résolveur, proxy et data-center. Le système a détecté les conséquences après que le rafraîchissement global ait produit ses effets.
La surveillance de résultat est indispensable, mais un plan de contrôle requiert aussi des signaux pré-déploiement et de corrélation de changement.
Trois couches de détection peuvent être séparées:
Détection d’intégrité d’état
Cette couche vérifie si le graphe de configuration est valide en interne avant déploiement. Elle peut détecter la propriété de préfixe dupliquée, les références de production depuis des services non production, une sortie à zéro localisation active, ou un décalage entre criticité du service et portée de changement.
Détection d’effet de changement
Cette couche observe le delta rendu et déployé. Elle peut comparer annonces BGP, liaisons d’edge et groupes de localisations attendues versus réelles pendant une fenêtre de canary.
Détection d’issue de service
Cette couche mesure l’expérience utilisateur: joignabilité, complétion des requêtes DNS, latence, timeouts, code de réponse et santé spécifique au protocole.
Les trois couches répondent à des questions différentes. La validation d’état peut arrêter une sortie invalide connue sans attendre l’impact. La détection d’effet de changement peut intercepter une erreur de compilateur ou de déploiement. La surveillance de service peut capter des défaillances non représentées dans le modèle de configuration.
Aucune couche ne doit être seule.
Un modèle de configuration valide peut être implémenté de manière incorrecte. Un delta de route correct peut encore pointer vers un service non sain. Des probes synthetiques réussies peuvent ignorer un catchment régional ou un réseau client. Les collecteurs de route publics peuvent ne pas couvrir des chemins privés. L’objectif de contrôle est la détection rapide des divergences.
Pour un résolveur global, une porte d’entrée de changement utile pourrait imposer:
- Aucun changement non autorisé de propriété de préfixe critique.
- Aucune réduction de préfixe de production en dessous d’un minimum d’emplacements sains.
- Aucun retrait imprévu dans des vues BGP indépendantes.
- Aucune perte de liaison d’edge hors portée approuvée.
- Aucune baisse significative de volume de requêtes non expliquée par la demande attendue.
- Aucune hausse significative de timeout par transport.
- Aucune perte de joignabilité de gestion ou de rollback.
Chaque exigence requiert un propriétaire nommé et une action d’arrêt. Un moniteur qui alerte sans pouvoir suspendre ou revenir en arrière n’est qu’un système d’observation. Un pipeline de changement qui peut stopper sans données indépendantes suffisantes peut bloquer un travail sûr ou maintenir un état cassé. Le design opérationnel doit relier preuve et droits décisionnels.
La ré-advertisation de route n’a donné qu’une récupération partielle
Cloudflare a rétabli la configuration déclenchante à 22:20. L’entreprise indique que cela a rétabli presque immédiatement les annonces des préfixes retirés et ramené le trafic du résolveur à environ 77 % de son niveau antérieur. Cela n’a pas tout restauré. Environ 23 % de la flotte d’edge avait été reconfigurée automatiquement pour retirer les liaisons IP requises. [1]
Le travail restant avait un profil opérationnel différent.
Le processus normal de restauration de liaisons utilisait un déploiement progressif sur plusieurs heures. Ce rythme était conçu pour réduire le risque d’introduire un autre problème de changement. Pendant l’incident, Cloudflare a testé une action d’accélération manuelle limitée à certaines zones, puis l’a étendue plus largement. Le trafic est revenu à des niveaux quasi normaux à 22:54. [1]
Cette séquence est un modèle de rétablissement utile, car elle expose trois états distincts:
- L’enregistrement de topologie du service a été révoqué.
- Les préfixes BGP ont été ré-adverties.
- Les serveurs d’edge ont regagné les liaisons IP nécessaires pour recevoir et servir le trafic.
Une organisation qui referme l’incident à l’état un confond configuration visée et récupération. Fermer à l’état deux confond la joignabilité avec la restauration du service achevée. Le troisième état exige encore vérification de résolveur et des chemins client.
La preuve de récupération doit donc être en couches:
- L’enregistrement exact révoqué et l’approbation associée.
- Le jeu de routes rendu après réversion.
- Des observations indépendantes de ré-advertisation.
- L’inventaire des liaisons d’edge par localisation.
- La santé du processus résolveur.
- La complétion des requêtes par transport et région.
- Le volume de trafic comparé à une base de référence bornée.
- Les erreurs résiduelles et les retours clients.
- La preuve de test et de décision pour l’accélération manuelle.
La valeur de 77 % ne doit pas être interprétée comme un pourcentage universel de restauration utilisateur. Elle décrit le trafic relatif au niveau précédent du compte Cloudflare. Les effets utilisateur varient selon la configuration de résolveur, la géographie, le comportement de retry et les chemins alternatifs. Cette valeur est utile car elle montre une restauration incomplète après ré-advertisation de route, pas un comptage d’utilisateurs uniques.
La tension entre déploiement progressif sûr et restauration urgente doit être gouvernée explicitement.
Le déploiement progressif réduit le rayon d’impact en temps normal de changement. Sur une panne causée par des liaisons manquantes, un déploiement lent prolonge l’indisponibilité. Accélérer la restauration peut rendre le service disponible plus vite, mais augmente le risque d’un autre changement global non testé. Cloudflare indique avoir validé l’action manuelle dans des emplacements de test avant l’accélération. [1]
Un processus d’urgence imputable devrait préciser:
- Qui peut déroger au rythme de déploiement normal.
- Quels tests doivent encore réussir.
- Quels emplacements composent le premier canary de récupération.
- Quels indicateurs arrêtent l’accélération.
- Comment les observateurs indépendants confirment l’amélioration.
- Comment les changements concurrents sont verrouillés.
- Comment le système revient aux contrôles de déploiement normaux.
La trajectoire d’urgence doit être exercée avant l’urgence. Sinon l’organisation découvre ses permissions, outils et dépendances alors que les utilisateurs sont déjà hors ligne.
La responsabilité doit suivre la chaîne complète de contrôle
L’incident peut être commode à attribuer à un seul auteur de configuration. Le dossier public ne donne pas assez de preuve pour une attribution individuelle, et une chaîne de contrôle distribuée rendrait ce cadrage incomplet même avec cette preuve.
Le contrôle pratique existait sur plusieurs couches:
Propriété de service
Quelqu’un a défini le service 1.1.1.1, sa criticité, ses préfixes, ses endpoints et ses exigences de localisation. Ce propriétaire doit définir les invariants et les conditions de récupération acceptables.
Propriété des ressources numériques et du réseau
Quelqu’un contrôlait les préfixes de production, les annonces BGP, les relations de peering et les systèmes de routage. Ce propriétaire doit maintenir des enregistrements d’identité et d’état de route exacts et une observation indépendante.
Propriété du système de topologie
Quelqu’un a conçu et opéré le système de topologie de service et les mécanismes de rafraîchissement global. Ce propriétaire doit faire respecter les limites d’environnement, l’intégrité des références, la revue du delta rendu et le rollback sûr.
Propriété de l’edge platform
Quelqu’un contrôlait la liaison ou la suppression des adresses de service sur les serveurs d’edge. Ce propriétaire doit définir quand l’état de route et l’état de liaison peuvent changer et comment leur réconciliation est prouvée.
Propriété de résolveur
Quelqu’un opérait le logiciel récursif, les transports, les contrôles santé et les SLO de service. Ce propriétaire doit mesurer le service de requête complété plutôt que d’inférer de l’existence de route.
Commande d’incident
Quelqu’un a coordonné détection, réversion, communication publique et suites. Ce propriétaire doit éviter les changements concurrents et préserver une chronologie de preuves commune.
Responsabilité conjointe client et opérateurs réseau dépendants
Les organisations qui ont configuré des clients ou des réseaux d’abonnés dépendant de 1.1.1.1 ont contrôlé leur propre conception de résolveur alternatif, ses tests, et les compromis de confidentialité et de sécurité. Leur responsabilité n’efface pas le contrôle du fournisseur sur le service défaillant.
La responsabilité peut être partagée sans devenir floue. Chaque propriétaire doit avoir un devoir testable et des preuves conservées.
Le propriétaire de préfixe peut prouver que l’association autoritaire service est unique. Le propriétaire de topologie peut prouver un invariant de non-zéro localisations actives. Le propriétaire réseau peut prouver les annonces attendues. Le propriétaire edge peut prouver les liaisons. Le propriétaire résolveur peut prouver les réponses. Le commandement incident peut prouver une chronologie coordonnée. Les clients peuvent prouver une continuité testée là où leurs risques l’exigent.
Cette approche évite deux extrêmes faibles.
Un extrême dit que le fournisseur est responsable de tout parce qu’il opère le service. Cela peut ignorer l’architecture cliente et les limites d’un résolveur public gratuit. L’autre extrême dit que les clients auraient dû utiliser un autre résolveur et que le fournisseur n’a donc aucune responsabilité. Cela ignore le contrôle du fournisseur sur la mauvaise association, le rafraîchissement, le retrait de route et la restauration.
La responsabilité suit le contrôle pratique sur la prévention, la détection, la limitation, la divulgation et la récupération. Le fait qu’une autre partie réduise son exposition ne supprime pas l’obligation de la partie qui a contrôlé le mécanisme défaillant.
La couche de réalité Heng.lu est l’identité de service en exécution
La doctrine Heng.lu traite les registres comme des ledgers et des gardiens, et non comme des créateurs souverains de la réalité opérationnelle. Elle donne la priorité au code exécuté et traite les ressources numériques comme des objets qui exigent unicité, précision, métadonnées de sécurité et continuité.
L’incident de juillet fournit un exemple réseau direct.
Les préfixes 1.1.1.1 avaient des identités. Le service avait un nom. Les enregistrements de topologie associaient services, préfixes et emplacements. BGP et RPKI fournissaient des preuves supplémentaires d’itinéraires et d’autorisation. Ces enregistrements étaient pertinents. Une association inexacte a été le début de la panne.
Pourtant, l’enregistrement seul ne rendait pas le résolveur disponible ni indisponible.
La disponibilité a changé quand l’automatisation a transformé l’enregistrement en retraits de routes et modifications de liaisons d’edge. La récupération a progressé quand les routes ont été ré-adverties, que les liaisons sont revenues et que les requêtes ont été complétées. Le réseau en exécution a tranché entre l’état intentionnel et l’état réel.
Ce n’est pas un argument contre les registres. C’est un argument pour des registres plus forts attachés à une preuve opérante.
Pour un préfixe de service de production, le registre devrait préserver:
- Préfixe et famille d’adresse.
- Propriétaire de service autoritaire.
- Emplacements de production prévus.
- Métadonnées d’origine et d’autorisation de routage.
- Exigences de liaison d’edge.
- Endpoints de protocole.
- Historique des changements.
- Criticité et politique de présence minimale.
- Dépendances et propriétaire de récupération.
- Dernière vérification route et service observée.
Le registre doit rendre les affirmations conflictuelles visibles. Il ne doit pas pouvoir déclarer le succès uniquement parce que des champs sont remplis.
La preuve opérationnelle doit inclure:
- Sortie de route rendue.
- État d’annonce des routeurs.
- Visibilité d’observateur indépendant.
- État de liaison d’interface ou d’edge.
- Santé de résolveur.
- Questions DNS complétées depuis des chemins représentatifs.
- Résultats d’exercices de récupération.
Un registre en tant que ledger ne signifie pas documentation passive. Un registre de qualité peut piloter validation, autorisation et audit. Il peut rejeter la propriété dupliquée ou les métadonnées manquantes. Il ne peut pas remplacer la livraison de paquets.
Le principe contraint aussi la rhétorique de l’article.
Il ne s’agit pas d’exiger qu’une autorité centrale approuve chaque route ou chaque configuration. Ce n’est pas un plaidoyer pour RPKI, un RIR, un régulateur ou un fournisseur souverain sur le réseau de Cloudflare. Ce n’est pas une affirmation selon laquelle des labels communautaires ou géographiques déterminent la légitimité.
C’est une revendication de couche de réalité: si un enregistrement peut retirer un préfixe de service public, son autorité, sa précision et son effet doivent être testables face au route et au service qui s’exécutent réellement.
Un invariant doit empêcher un service global d’atteindre zéro localisation active
Le post-mortem de Cloudflare indique que la topologie du résolveur est passée de tous les emplacements à un seul emplacement hors ligne. [1] Cette sortie suggère un objectif de contrôle direct: un service global critique ne doit pas être déployable avec zéro emplacement de production en ligne, sauf si un chemin de shutdown d’urgence explicitement autorisé est utilisé.
L’invariant exact doit être conçu avec soin.
Un simple compteur supérieur à zéro peut être trop faible. Un emplacement actif peut ne pas avoir assez de capacité ou de couverture géographique. Un seuil fixe peut ne pas tenir compte de maintenance, de restrictions régionales ou du design de service. Une règle empêchant tout retrait peut maintenir routes vers des systèmes compromis ou gravement dégradés.
Un invariant plus robuste peut inclure plusieurs dimensions:
- Au moins un nombre minimal défini d’emplacements de production sains.
- Une couverture à travers des domaines de défaillance indépendants.
- Une capacité mesurée suffisante pour le trafic attendu.
- Aucune transition non approuvée de portée globale vers locale.
- Pas d’objet non productif comme propriétaire unique de préfixes de production.
- Pas de suppression de liaison d’edge avant vérification d’alternatives saines.
- Autorisation d’urgence explicite pour un retrait global.
L’invariant doit s’appliquer sur le candidat rendu et sur l’état opérationnel observé.
Supposons que la configuration annonce dix emplacements encore actifs, mais que cinq soient déjà hors service pour maintenance. Un contrôle statique de candidat peut réussir alors que le résultat opérationnel laisse une couverture insuffisante. Inversement, un collecteur de routes peut voir de nombreuses annonces alors que les processus de résolveur correspondants sont malsains. Le portail de validation doit intégrer des entrées santé et capacité fraîches avec limites connues.
Le résultat doit être en mode fail-closed pour un changement global critique, mais fail-closed doit être opérationnellement conçu. Si le validateur est indisponible, le changement ne doit pas bypasser silencieusement le contrôle. Si le réseau est déjà dégradé, la commande d’incident peut avoir besoin d’une dérogation bornée. Cette dérogation doit être nommée, limitée dans le temps, journalisée et conciliée après reprise.
Un rapport d’invariant utile pourrait contenir:
| Champ | Preuve |
|---|---|
| Association service-préfixe du candidat | SHA exact de la configuration rendue |
| Mapping de production actuel | Instantané en lecture seule et horodatage |
| Emplacements prévus | Liste ordonnée avec environnement et état de santé |
| Localisations encore actives | Nombre, régions, capacité et domaines de défaillance |
| Delta de route | Préfixe par location, annonces et retraits |
| Delta de liaison d’edge | Adresses ajoutées ou supprimées par location |
| Observation externe | Collecteurs BGP sélectionnés et sondes réseau client |
| Observation de service | Réponses DNS par transport, région et endpoint |
| État de dérogation | Propriétaire, motif, expiration et approbation |
Ce n’est pas une demande de publication de topologie sensible. Le rapport complet peut rester protégé. Les post-mortems publics peuvent exposer la classe de contrôle, les résultats et limites sans révéler adresses de gestion ni architecture interne exacte.
Les engagements de remédiation nécessitent une preuve opérante durable
Le post-mortem de Cloudflare liste des mesures destinées à prévenir la récurrence. L’entreprise dit avoir supprimé la portée globale héritée du système de configuration, ajouté des garde-fous contre le retrait global des routes 1.1.1.1, amélioré validation et alerting, et passé en revue les systèmes hérités. [1]
Ces actions ciblent les bons surfaces de défaillance.
La suppression de la portée globale peut réduire le rayon d’impact. Une protection de préfixe sensible peut stopper une sortie catastrophique. Une meilleure validation peut détecter les erreurs de référence et de topologie. Un meilleur alerte peut raccourcir la détection. La revue des systèmes hérités peut identifier des autorités cachées.
Le registre public ne prouve pas l’achèvement ou l’efficacité continue de chaque élément.
Ce n’est pas une critique propre à Cloudflare. Les post-mortems décrivent en général les travaux immédiats et les plans avant que toutes les preuves de long terme existent. La responsabilité exige une clôture ultérieure qui distingue:
- Remédiation proposée.
- Contrôle implémenté.
- Contrôle testé.
- Contrôle exercé.
- Contrôle opérationnel avec exceptions documentées.
Pour la classe de défaillance de juillet, une preuve durable pourrait inclure:
Tests de conflit d’association de préfixe
Une tentative lie un préfixe de production à un service non-productif non lié. Le système la rejette et enregistre le conflit de propriétaire.
Tests de zéro localisation active
Une topologie candidate laisserait le résolveur sans localisation de production en ligne. Le compilateur la rejette avant génération de route.
Revue du delta rendu
Un test d’ajout d’emplacement affiche une liste machine de tous les préfixes de production et emplacements affectés. Les réviseurs voient l’impact global même quand l’entrée semble locale.
Canary de retrait de route
Un exercice contrôlé vérifie qu’un retrait inattendu dans des vues BGP publiques choisies stoppe le déploiement et conserve un accès de récupération.
Réconciliation des liaisons d’edge
Le système compare intentions de liaison, état d’hôte et état de route avant/après un changement. Il détecte la condition de 77 % de route ré-advertie mais liaison incomplète.
Probes par chemin de protocole
Les probes UDP, TCP, DoT et DoH utilisent les mêmes choix d’endpoints que les clients réels. L’exercice enregistre quels chemins de secours sont réellement indépendants.
Exercice d’accélération d’urgence
Les opérateurs restaurent les liaisons via le chemin d’urgence, prouvent la réussite du canary, verrouillent les changements concurrents et reviennent au processus progressif normal.
La valeur de ce lot n’est pas de promettre l’absence totale de future panne. Elle montre que la classe de défaillance connue est bornée, observable et récupérable.
Un pack de preuve pratique
Conseils d’administration, clients, régulateurs et réviseurs techniques ne nécessitent pas chaque commande privée pour évaluer le modèle de contrôle. Ils ont besoin de preuves attachées au mécanisme.
| Contrôle | Preuve conservée | Test opérationnel | Limite |
|---|---|---|---|
| Propriété de préfixe | Registre service-préfixe, propriétaire, historique et autorisation | Duplication ou revendication inter-environnement rejetée | Un enregistrement unique peut encore être faux |
| Intégrité de topologie | Graphe service-localisation rendu | Le service critique conserve une portée de production approuvée et saine | La donnée de santé peut être obsolète |
| Prévisualisation de rayon global | Delta exact de routes et de liaisons | Une entrée courte révèle chaque sortie de production | Un défaut du compilateur peut affecter prévisualisation et déploiement |
| Invariant de préfixe protégé | Politique critique versionnée | Un delta avec zéro localisation active est bloqué | Une voie d’urgence exige encore un chemin dédié |
| Canary de changement | Résultat compilé du compilateur, de la route et de la liaison d’edge | L’observateur indépendant confirme avant progression | Un canary ne représente pas toute la couverture |
| Observation BGP | Journaux de routeurs et collecteurs indépendants | Les annonces attendues restent visibles | Les collecteurs ne voient pas tous les chemins |
| Inventaire des liaisons d’edge | État de liaison au niveau hôte par localisation | L’état de route et la liaison sont conciliés | Une liaison ne prouve pas la santé du résolveur |
| Preuve de service de résolveur | Complétion des requêtes par endpoint, transport et région | Les questions réalistes obtiennent des réponses bornées | La couverture synthétique reste partielle |
| Autorité de rollback | Journal d’incident, propriétaire et ledger de commande | Une séquence de récupération unique ne peut pas être écrasée | Des travaux manuels peuvent échapper à l’automatisation |
| Déploiement d’urgence | Dérogation, canary, critères d’arrêt et expiration | La restauration accélérée est testée de façon sûre | L’urgence augmente le risque opérationnel |
| Continuité client | Cartographie des dépendances et chemin alternatif testé | Le service critique survit à une perte bornée du résolveur | Les chemins alternatifs peuvent partager des dépendances |
| Durabilité de remédiation | Exercice récurrent et registre d’exceptions | La classe de panne connue reste bornée dans le temps | Un test ne peut pas prouver tous les comportements futurs |
Chaque ligne distingue enregistrement et résultat.
Le registre de préfixes est nécessaire, pas suffisant. Le graphe de topologie est nécessaire, pas suffisant. La visibilité BGP est nécessaire, pas suffisante. Une réponse DNS est nécessaire, mais pas suffisante pour chaque chemin client.
La chaîne de preuve devient crédible quand les états se réconcilient:
- L’enregistrement approuvé a un propriétaire imputable unique.
- La sortie rendue conserve l’invariant critique.
- Les routes déployées correspondent au rendu.
- Les liaisons d’edge correspondent à la terminaison de route.
- Les processus résolveur répondent via les transports attendus.
- Des utilisateurs représentatifs peuvent atteindre le service.
- La preuve de récupération ferme chaque couche affectée.
Des détails sensibles peuvent être protégés. Les adresses de gestion exactes, noms de services internes et contrôles de sécurité peuvent créer des risques s’ils sont publiés. Des réviseurs indépendants peuvent les inspecter sous confidentialité. Les preuves publiques peuvent identifier classes de contrôle, calendrier, portée, résultats d’essais et limites non résolues.
Questions pour opérateurs, clients et réviseurs
Les opérateurs réseau et plateforme devraient se demander:
- Quel système est autoritaire pour la propriété service-préfixe?
- Un objet non productif peut-il référencer ou réduire un préfixe de production?
- La revue expose-t-elle le delta global de route et de liaison rendu?
- Quel invariant empêche un nombre de localisations sain nul?
- Quel observateur indépendant peut arrêter un déploiement?
- Les états route, liaison d’edge et santé de résolveur sont-ils réconciliés?
- La récupération peut-elle se poursuivre sans le système de topologie défaillant?
- Qui possède le lock de mutation d’incident?
- Comment un déploiement d’urgence est-il accéléré, puis normalisé?
- Quand cette classe de panne a-t-elle été exercée pour la dernière fois?
Les clients et opérateurs de réseaux de transit devraient se demander:
- Quels services critiques utilisent directement des adresses 1.1.1.1?
- Quels utilisent cloudflare-dns.com ou un autre chemin?
- Un résolveur alternatif est-il configuré, compatible et testé?
- Le failover préserve-t-il la confidentialité, le filtrage et la politique de sécurité?
- Des caches locales ou un design de service peuvent-ils réduire la dépendance sans créer de réponses obsolètes ou non sûres?
- Quels journaux montrent un impact réel plutôt qu’une hypothèse de portée globale?
- La communication opérationnelle peut-elle se poursuivre si le résolveur choisi devient indisponible?
Les réviseurs devraient se demander:
- L’enregistrement de juin avait-il une autorité de production latente?
- La prévisualisation de juillet a-t-elle identifié le retrait des préfixes résolveur?
- Un canary a-t-il exercé le rafraîchissement global?
- La politique de préfixe protégé utilise-t-elle un état de santé frais?
- Quand les routes sont-elles revenues, quand les liaisons sont revenues, quand les requêtes sont revenues?
- Quelle preuve distingue l’annonce non causale de Tata d’une cause racine?
- Quels engagements de remédiation ont des résultats de test actuels?
- Quelles limites restent privées ou inconnues?
Les questions ne demandent pas une disponibilité parfaite. Elles demandent une relation bornée et inspectable entre contrôle et conséquence.
Les frontières de comparaison comptent
Cloudflare a publié plusieurs rapports d’incident liés au routage ou à 1.1.1.1. Les traiter comme un échec générique effacerait les contrôles à réparer.
La panne de juin 2022 impliquait le tri des politiques d’export BGP, une architecture Multi-Colo PoP et un canary de changement représentatif. Elle est déjà couverte par un article Daniel Kade distinct. L’événement de juillet 2025 concernait une erreur de service-topology héritée qui a retiré globalement les préfixes de résolveur.
La panne 1.1.1.1 de juin 2024 impliquait un hijack et une fuite de route. [20] Ce mécanisme diffère de la déclaration interne de retrait de 2025.
L’annonce Tata Communications India observée en juillet 2025 était concurrente et non causale selon Cloudflare. Elle ne doit pas être fusionnée avec le comparatif 2024 ni présentée comme la raison de la disparition du résolveur.
La panne de configuration feature-file de Cloudflare touchait un service différent et une chaîne de contrôle différente. Partager la formule large de « configuration globale » ne rend pas les événements équivalents.
La frontière propre de l’article 2025 est étroite: propriété service-préfixe inexacte, rafraîchissement global de topologie, retrait de route, suppression de liaison d’edge et récupération en couches pour un service DNS récursif public.
Limites de source
Le post-mortem de Cloudflare est la source publique la plus détaillée pour le mécanisme, la chronologie, les préfixes affectés, les différences de chemins de trafic, la récupération et la remédiation. Il s’agit d’un compte-rendu de premier acteur. Le registre public ne fournit pas le graphe complet de configuration, le compilateur, l’état privé des routeurs, tous les hôtes d’edge, toutes les approbations de changement, tout inventaire d’impact client ou décision interne. [1]
Cloudflare Radar fournit des vues DNS et routage publiques. Le service est opéré par Cloudflare et s’appuie sur des sources sélectionnées et le réseau de l’entreprise. Il ne représente pas toutes les routes, résolveurs, ISP ou chemins utilisateurs. [2][3]
La documentation actuelle de Cloudflare explique le résolveur public, la résolution amont, l’usage par opérateurs réseau, la Data Localization Suite, les adresses IP et le contexte de peering. Elle a été mise à jour dans le temps et ne peut pas prouver l’architecture privée exacte de juillet 2025 ni l’état actuel de remédiation. [4]-[11]
Les RFC définissent DNS, anycast, BGP, DNS chiffré, validation d’origine et pratiques opérationnelles. Elles ne définissent ni l’implémentation privée de Cloudflare, ni l’obligation contractuelle, ni l’étalon réglementaire de diligence. [12]-[19]
Le post-mortem de juin 2024 est un comparatif des frontières d’événement, pas une preuve que les mêmes acteurs ou contrôles causaient l’incident de juillet 2025. [20]
L’article n’établit ni intention malveillante, ni dissimulation, ni négligence, ni faute civile, ni manquement réglementaire, ni pertes totales clients ou responsabilité individuelle. Il ne prétend pas que RPKI aurait empêché la panne. Il ne prétend pas que chaque remédiation annoncée soit déployée ou efficace.
Le chiffre de 77 % est un niveau de trafic rapporté par l’opérateur après ré-advertisation de route, pas un pourcentage d’utilisateurs uniques restaurés. Le chiffre de 23 % indique les serveurs d’edge ayant supprimé les liaisons requises, pas un comptage d’impact client.
Ces limites n’empêchent pas l’analyse de responsabilité. Elles définissent les preuves nécessaires pour passer d’un post-mortem détaillé opérateur à une preuve durable de contrôle.
Conclusion
La panne 1.1.1.1 de juillet 2025 de Cloudflare a commencé avec un enregistrement inexact et est devenue une panne quand les systèmes en production ont agi dessus. Un service-topology non productif a référencé des préfixes de résolveur de production. Un changement de localisation de test ultérieur a déclenché un rafraîchissement global. La topologie du résolveur s’est effondrée à un emplacement hors ligne, les routes de production ont été retirées, et les liaisons requises ont été retirées sur une partie de la flotte. [1]
L’événement était une panne DNS dans l’expérience client et une panne de route-state en mécanique. Les deux descriptions comptent. Le résolveur n’a pas pu répondre aux utilisateurs qui ne pouvaient pas l’atteindre. Les transports et jeux d’endpoint différents ont produit des résultats différents. La ré-advertisation de route n’a restauré qu’une partie du trafic tant que les liaisons d’edge et l’état de service n’avaient pas rattrapé le reste.
Le contrôle imputable n’est pas une promesse générale de revue plus rigoureuse. C’est une chaîne de preuve précise:
- Un propriétaire autoritaire pour chaque préfixe de service de production.
- Une prévisualisation rendue des effets globaux de route et de liaison.
- Un invariant strict de non-zéro localisation saine.
- Des canaries représentatifs qui exercent le compilateur et le chemin de refresh réel.
- Une observation BGP et client indépendante.
- La réconciliation des états route, liaison d’edge et résolveur.
- Un propriétaire de mutation d’incident et un chemin de restauration d’urgence testé.
- Des preuves actuelles que la remédiation reste active.
RPKI, collecteurs BGP, registres de topologie, tickets de changement et pages d’état contribuent tous. Aucun ne peut remplacer le service en exécution. Une autorisation d’origine ne prouve pas la disponibilité. Une route ne prouve pas une réponse de résolveur. Un processus sain ne prouve pas la joignabilité. Une topologie prévue ne prouve pas l’état déployé.
C’est la couche de réalité Heng.lu. Les registres et records de ressources numériques doivent être uniques, précis, sécurisés et continus car ils rendent l’opération auditable. Ce sont des ledgers, pas des déclarations souveraines qui forcent l’arrivée des paquets. La preuve finale reste le préfixe encore annoncé depuis des emplacements sains, l’edge encore lié, le résolveur répondant encore, et le chemin de récupération restant utilisable quand le plan de contrôle ordinaire est en panne.
Le post-mortem de Cloudflare fournit une chaîne causale claire et identifie les remédiations pertinentes. L’étape suivante est une preuve durable: des tests rejetant la même référence inter-environnement, bloquant les sorties à zéro localisation active, réconciliant routes et liaisons, exerçant la récupération et enregistrant les exceptions dans le temps.
L’infrastructure mondiale continuera de dépendre de configurations compactes contrôlant des flottes énormes. La bonne réponse n’est pas d’abandonner l’automatisation ni l’Anycast. C’est de rendre leur autorité visible. Une entrée locale doit révéler sa sortie globale avant déploiement. Un enregistrement doit identifier la ressource qu’il contrôle. Un canary doit représenter le système susceptible d’échouer. Et une récupération doit être close seulement quand les utilisateurs peuvent réellement compléter le service, pas quand la configuration paraît simplement à nouveau correcte.
Sources
- https://blog.cloudflare.com/cloudflare-1-1-1-1-incident-on-july-14-2025/
- https://radar.cloudflare.com/dns?dateEnd=2025-07-15&dateStart=2025-07-14
- https://radar.cloudflare.com/routing/prefix/1.1.1.0/24?dateEnd=2025-07-15&dateStart=2025-07-14
- https://blog.cloudflare.com/announcing-1111/
- https://developers.cloudflare.com/1.1.1.1/
- https://developers.cloudflare.com/1.1.1.1/upstream-resolution/
- https://developers.cloudflare.com/1.1.1.1/infrastructure/network-operators/
- https://developers.cloudflare.com/data-localization/
- https://developers.cloudflare.com/fundamentals/concepts/cloudflare-ip-addresses/
- https://www.cloudflare.com/peering-policy/
- https://www.peeringdb.com/net/4224
- https://www.rfc-editor.org/rfc/rfc4786
- https://www.rfc-editor.org/rfc/rfc4271
- https://www.rfc-editor.org/rfc/rfc1034
- https://www.rfc-editor.org/rfc/rfc1035
- https://www.rfc-editor.org/rfc/rfc7858
- https://www.rfc-editor.org/rfc/rfc8484
- https://www.rfc-editor.org/rfc/rfc6811
- https://www.rfc-editor.org/rfc/rfc7454
- https://blog.cloudflare.com/cloudflare-1111-incident-on-june-27-2024/
Briefing des membres
Contexte approfondi du profil
Connectez-vous avec le bon niveau d'adhésion pour débloquer le briefing complet et les notes de source.
Réservé à Strategic Circle
Strategic Circle
Ouvert à tous les lecteurs. Débloquez les briefings de profil après adhésion et connexion.
Rejoindre Strategic CircleRéservé aux membres de Leadership Alliance
Leadership Alliance
Réservé aux propriétaires et dirigeants qualifiés d'actifs IP ; connectez-vous pour débloquer les briefings Alliance.
Rejoindre Leadership Alliance