Comment Facebook, Insta et WhatsApp ont pu tomber ?
Cloudflare (qui fournit un CDN très utilisé), a écrit un article complet qui détaille ce qui s’est passé hier soir. blog.cloudflare.com/october-2021-f…

J’essaye de vous le résumer en Français #Thread
Tout d'abord, je précise que je ne suis pas spécialiste. S'il y a des incohérences ou erreurs, n'hésitez pas à les indiquer en commentaire !
En fait, un DNS c'est quoi ? Ça signifie Domain Name Service. Ce sont des serveurs qui font la traduction entre une adresse humaine ("Facebook.com"), et une adresse informatique ("216.3.128.12"). Un peu comme un GPS traduit une adresse postale en coordonnées géo.
Hier, à 16:51 UTC, Cloudflare découvre que les serveurs DNS de Facebook sont injoignables, ainsi que la plupart des adresses IPs de leurs infrastructures. Qu'est-ce que cela veut dire ?
Ça signifie tout simplement, que lorsque vous tapez "Facebook.com" dans votre navigateur, personne ne sait où se trouvent leurs serveurs. Impossible de charger le contenu, les pages HTML, les images. Facebook est rayé de la carte, introuvable.
Comment c'est possible ? Pour cela, il faut s'intéresser à la manière dont internet est construit. C'est en fait un ensemble de réseaux autonomes (AS, Autonomous Systems) qui sont connectés entre eux. Chaque AS correspond à une organisation, ou grosse entreprise comme Facebook.
Il est nécessaire que ces réseaux se parlent et se connaissent, pour qu'ils puissent échanger des informations. Pour pouvoir accéder à Facebook, il faut que votre box, et tous les routeurs entre Facebook et vous puissent savoir à qui (quel routeur) envoyer vos communications.
C'est là qu'intervient eBGP (Border Gateway Protocol) ! C'est un protocole qui permet ça. Les gros routeurs qui font fonctionner internet échangent régulièrement entre eux, pour pouvoir connaitre la liste de leurs voisins, et les chemins les plus rapides pour aller à tel endroit.
eBGP permet à un réseau (par exemple Facebook) de se faire connaître auprès des autres réseaux. Et d'exister. Un peu comme si vous indiquiez à vos voisins qui vous êtes, pour qu'ils vous transmettent votre courrier s'ils voient passer des lettres qui vous sont destinées.
Par exemple ici, imaginons que AS1 c'est vous, et AS3 c'est Facebook. eBGP permet à chaque AS de se faire connaître auprès des voisins. Grâce à ce protocole, les routeurs vont trouver le chemin le plus rapide pour atteindre AS5. Si ce chemin est coupé, ils vont trouver un autre.
Les AS communiquent régulièrement entre eux via des messages eBGP ("e" pour external, il existe iBGP pour gérer le routage *dans* un réseau), qui peuvent annoncer la modification d'un réseau (comme l'ajout d'un routeur, donc d'un voisin, ou sa suppression).
A 16:58 UTC, Facebook a arrêté d'annoncer l'existence de ses serveurs DNS (via BGP, donc) à ses voisins. En gros, d'un coup, on ne savait où se situait le GPS qui faisait la traduction entre "Facebook.com" et une adresse informatique IP.
Cloudflare conserve quasiment tous les messages BGP afin de pouvoir mettre à jour le "schéma" d'internet, pour acheminer les communications correctement. À 15:50 UTC, ils ont reçu de Facebook une vague de messages BGP indiquant... la suppression d'un réseau.
En clair, Facebook s'est tout simplement lui même supprimé d'internet. Ils ont indiqué à tous leurs voisins de les oublier, ils leur ont indiqué qu'ils n'existaient plus, et ont arrêté de fournir le GPS qui permet de trouver ses serveurs.
Ainsi, hier, lorsque vous vouliez charger "Facebook.com", votre navigateur vous demandait si vous n'aviez pas fait une faute d'orthographe. Tout simplement car votre DNS ne connaissant pas ce nom, car les serveurs DNS de Facebook étaient rayés de la carte.
Reste à savoir pourquoi ces messages BGP ont été envoyés par Facebook. Pas de communication officielle, mais d’après des messages sur Reddit, cela pourrait être la cause d’une mise à jour automatique de routeurs entrainant une mauvaise configuration.
Pourquoi la résolution a été aussi longue ? Pas de communication officielle non plus, mais cela a probablement nécessité une intervention manuelle et un accès physique aux serveurs pour les re-configurer.
Tous les outils internes de Facebook étaient aussi concernés, donc communication difficile entre les équipes.

Une rumeur sur Reddit indique que des employés auraient eu du mal à utiliser leur badge pour entrer dans les bâtiments (si c’est vrai, est-est-ce lié à la panne ?).
Bref, c’est probablement une des pannes numériques les plus importantes depuis l’apparition d’internet (au moins en termes d’impact financier), qui va faire réfléchir beaucoup d’Ops avant de toucher à la configuration d’un routeur, ou BGP. 😂
Autre question : pourquoi d’autres sites, totalement indépendants de Facebook (comme Twitter) ont subi des ralentissements ?
Tout simplement car les DNS (par exemple Cloudflare) ont été submergés de requêtes.
Les applications connectées à Facebook, et les humains souhaitant consulter Facebook, n’aiment pas avoir d’erreur. Ils ré-essayent donc, en boucle. Et submergent au passage les DNS.

Ici le nombre de requêtes liées à Facebook captées par Cloudflare. Énorme pic à partir de 16h UTC
Donc le DNS que vous utilisez (probablement fourni par : Orange, SFR, Bouygues, Free, Google, ou Cloudflare) était ralenti, indirectement à cause de Facebook.

Conséquence : lorsque vous chargiez une page, il fallait plus de temps pour obtenir l’adresse de son contenu.
Amusant, mais attendu : l’utilisation de services concurrents (Twitter, Signal, Telegram, Tiktok) a augmenté à partir de 15:45 UTC.
Au travers d’un exercice de transparence, Facebook publie un article apportant quelques éléments nouveaux sur la panne.

engineering.fb.com/2021/10/05/net…
Globalement, Cloudflare avait vu juste. Mais c’est un peu plus tricky.

Facebook réalise régulièrement des maintenances, en éteignant une petite partie de son réseau pour mettre à jour des logiciels, changer du matériel, augmenter la capacité.
Hier, durant une de ces opérations de maintenance, ils ont voulu évaluer la capacité de leur réseau en tapant une commande. Malheureusement celle-ci a complètement éteint le réseau de Facebook (“backbone”), mettant ainsi hors ligne les serveurs.
Leurs systèmes comportent normalement un outil d’audit automatique qui détecte et évite ce genre de commande. Malheureusement il comporte un bug, et n’a pas intercepté celle-ci.
On ne connaissait donc pas cette partie (le fait qu’un ingénieur ait déconnecté les serveurs de Facebook par erreur).

Suite à cela, une seconde erreur est arrivée et a aggravé la situation. C’est celle-ci, qui est la plus grave, et que Cloudflare avait bien décrit.
Comme évoqué en début de thread, Facebook dispose de serveurs DNS pour convertir les adresses humaines en adresse IP vers les serveurs de données. Ces DNS sont les seuls qui “s’exposent” à nous, ils se font connaître grâce à des messages BGP.
Or, pour “assurer un service fiable”, ces serveurs DNS sont conçus pour arrêter d’émettre ces messages BGP dès lors qu’ils n’arrivent pas à contacter les serveurs de données.
Ces serveurs de données ayant été éteints par inadvertance, les serveurs DNS se sont donc automatiquement... coupés du monde.
Facebook indique qu’il était très difficile pour ses ingénieurs d’investiguer car :
1. Les data centers étaient inaccessibles par les moyens habituels (oui, ils étaient éteints)
2. Leurs outils d’investigation ne fonctionnaient plus… car les DNS s’étaient coupés du monde !
Finalement, ils ont dû dépêcher une équipe d’ingénieurs sur place pour redémarrer et reconfigurer les serveurs. Mais les data centers sont conçus pour être très difficiles d’accès pour des raisons de sécurité, et la connexion physique aux serveurs est volontairement complexe.
Je m’arrête là et vous laisse lire l’article de Facebook pour plus de détails. Merci à eux pour la transparence, ça va permettre à tous les sys admin / ops d’apprendre et d’éviter d’autres pannes à l’avenir.

• • •

Missing some Tweet in this thread? You can try to force a refresh
 

Keep Current with GRZ

GRZ Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

PDF

Twitter may remove this content at anytime! Save it as PDF for later use!

Try unrolling a thread yourself!

how to unroll video
  1. Follow @ThreadReaderApp to mention us!

  2. From a Twitter thread mention us with a keyword "unroll"
@threadreaderapp unroll

Practice here first or read more on our help page!

More from @GuillaumeRozier

5 Oct
La baisse des cas positifs se poursuit, mais à un rythme qui ralentit : -16% en une semaine en moyenne (contre -25% il y a une semaine par exemple).

Le taux d’incidence est de 48, soit sous le seuil d’alerte historique (qui est de 50). Image
Les 3/4 des départements français sont repassés sous le seuil d’alerte Image
Le nombre de cas positifs est en hausse (sur une semaine) dans une quinzaine de départements français Image
Read 7 tweets
2 Sep
Suite à nos demandes, Santé publique France publie désormais les nouvelles admissions à l’hôpital par tranche d’âge. Merci à toutes les personnes impliquées dans ces changements 🙌🏻.

CovidExplorer permet dès maintenant d’afficher ces données → covidexplorer.fr !
Je précise que :
- ces données sont hebdomadaires (cumul sur une semaine, mise à jour le jeudi)
- par date d’admission à l’hôpital (toutes les autres données sont par date de saisie et non d’admission)

Cela peut expliquer quelques différences avec les admissions nationales.
Il est intéressant de noter qu’il y a eu un pic élevé d’admissions de jeunes (-19 ans) à la mi-août : 30 entrées chaque jour environ, contre 33 au plus haut, fin 2020.
Read 4 tweets
31 Aug
La baisse du nombre de cas continue de s’intensifier (-17,5% en une semaine), elle est en partie portée par une baisse du dépistage (-9,0% en une semaine). Image
Voici le taux d’évolution des cas, qui continue de baisser. Image
Un peu plus de 700 000 tests sont effectués chaque jour, en baisse de 9% sur une semaine. Image
Read 8 tweets
27 Aug
La DREES vient de mettre à jour les données sur le statut vaccinal des victimes du Covid. #Thread

Cas positifs symptomatiques (pour 10 Mio) :
- Vaccinés : 294
- Non vaccinés : 2 763

(Attention, les vaccinés se font moins dépister d’après la DREES) Image
Admissions à l’hôpital Covid pour 10 millions :
- Vaccinés : 21
- Non vaccinés : 196 Image
Admissions en soins critiques Covid pour 10 Mio :
- Vaccinés : 5
- Non vaccinés : 53 Image
Read 6 tweets
6 Aug
On détecte 21 886 cas chaque jour en moyenne, en hausse de 6% sur une semaine. #DataCovid (1/n)
Après la brusque augmentation des cas en juillet, il semblerait qu'on se dirige désormais vers un plateau montant. (2/n)
Ces trois derniers jours, le nombre de cas publié était 2 à 3% plus élevé que celui publié une semaine plus tôt. On est bien loin des hausses de juillet (jusqu’à presque 200%), mais ça n’est pas pour autant la baisse observée dans d’autres pays. (3/n)
Read 10 tweets
6 Aug
La DREES a publié ce matin l’#OpenData des hospitalisations selon le statut vaccinal. Cela achève des mois de demandes répétées. @eorphelin

Merci à toutes les équipes impliquées, ces données seront très intéressantes à analyser. Image
Même chose sur les admissions en soins critiques Image
Et pour les décès hospitaliers Image
Read 9 tweets

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3/month or $30/year) and get exclusive features!

Become Premium

Too expensive? Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal Become our Patreon

Thank you for your support!

Follow Us on Twitter!

:(