Ce dimanche, un nombre important de services et de fournisseurs Internet a enregistré des défaillances sur la bande passante Internet. En milieu de matinée (US), les serveurs connectés de grands acteurs des services pro et grand public Internet – Amazon, Cloudflare, Garmin, Steam, Discord, Blizzard, jusqu’à la chaîne Telefoot en France – ont commencé à être affectés par un nombre croissant d’erreurs, entraînant une importante panne Internet mondiale.
Ces erreurs de type 522, problème de connexion réseau, affectaient des serveurs connectés au fournisseur de bande passante CenturyLink, et plus précisément de Level 3, racheté par le géant en 2016.
La défaillance du réseau CenturyLink / Level3 a été massive. Elle a principalement affecté les hébergeurs qui ne disposent que d’un seul lien, avec CenturyLink évidemment, ce qui a paralysé les accès. Les autres, qui disposent de plusieurs liens avec plusieurs opérateurs, ont automatiquement transféré le trafic sur ces derniers. Ce qui a permis d’éviter les pannes en cascade et donc, cumulé avec le fait que nous étions dimanche matin, a limité la casse.
L’hypothèse de la panne
L’origine de la panne n’a pas encore été révélée, ce n’est donc qu’une hypothèse : selon le blog Cloudflare, qui a relevé les indices, il s’agirait d’un nombre anormalement élevé de mises à jour du protocole BGP (Border Gateway). L’hypothèse BGP aurait été confirmée depuis par CenturyLink…
Ce protocole est exploité par les routeurs sur Internet pour lancer un signal qui annonce les adresses IP pour indiquer qu’une route a changé ou n’est plus disponible. D’environ environ 1,5 à 2 Mo toutes les 15 minutes, les mises à jour BGP auraient basculé, au moment et durant tout l’incident, à plus de 26 Mo par période de 15 minutes, causant l’instabilité des routes BGP dans le backbone CenturyLink / Level3.
Cette instabilité tirerait sa source d’une mise à jour de Flowspec, la puissante extension de BGP qui permet aux règles de pare-feu d’être facilement distribuées presque instantanément sur tout un réseau, ou même entre des réseaux, à l’aide de BGP, à partir du datacenter CA3 de Level3. Très efficace mais dangereux en cas d’erreur.
Le scénario plausible
Les équipes de Cloudflare évoquent comme « scénario plausible » l’émission d’une commande Flowspec pour essayer de bloquer une attaque ou un autre abus dirigé contre le réseau. La règle Flowspec aurait empêché BGP lui-même d’être annoncé, créant ainsi une boucle : chaque routeur du réseau reçoit la règle Flowspec, bloque BGP, ce qui amène à cesser de recevoir la règle, et à recommencer. Et à surcharger le processeur et la mémoire du routeur.
On notera que les partenaires de CenturyLink ont souligné que les équipes de l’opérateur ont joué la transparence et les ont informés tout au long de l’incident. Et cela malgré la complexité du réseau CenturyLink / Level3.