Oggi alle 15:51 UTC, abbiamo aperto un incidente interno intitolato "Ricerca DNS di Facebook che restituisce SERVFAIL" perché eravamo preoccupati che qualcosa non andasse con il nostro resolver DNS 1.1.1.1. Ma mentre stavamo per postare sulla nostra pagina di stato pubblico ci siamo resi conto che stava succedendo qualcos'altro di più serio.
I social media sono rapidamente andati a fuoco, riportando ciò che anche i nostri ingegneri hanno rapidamente confermato. Facebook e i suoi servizi affiliati WhatsApp e Instagram erano, infatti, tutti down. La risoluzione dei loro nomi DNS è stata interrotta e gli IP della loro infrastruttura erano improvvisamente irraggiungibili. È stato come se qualcuno avesse "tirato i cavi" dai datacenter tutti in una volta e li avesse disconnessi da Internet.
Non è stato un problema DNS in sé, ma il mancato DNS è stato il primo sintomo che abbiamo visto di un'interruzione più ampia delle attività di Facebook.
Facebook ha appena pubblicato un post sul blog fornendo dettagli di cosa è successo internamente. Dal di fuori, abbiamo visto i problemi BGP e DNS descritti in questo post, ma in realtà il problema è iniziato con una modifica della configurazione che ha interessato l'intera dorsale interna. Ciò è precipitato su Facebook e altre proprietà che sono scomparse e il personale interno a Facebook ha avuto difficoltà a far ripartire il servizio.
Facebook ha pubblicato un ulteriore post con molti più dettagli su quello che è successo. Puoi leggere quel post per sapere cosa è successo all'interno e questo post per quello che si è visto da fuori.
BGP sta per Border Gateway Protocol ed è un meccanismo per scambiare informazioni di routing tra sistemi autonomi (AS) su Internet. I grandi router che fanno funzionare Internet hanno enormi elenchi costantemente aggiornati dei possibili percorsi che possono essere utilizzati per consegnare ogni pacchetto di rete alle loro destinazioni finali. Senza BGP, i router Internet non saprebbero cosa fare e Internet non funzionerebbe.
Internet è letteralmente una rete di reti, tutte tenute insieme da BGP. BGP consente a una rete (ad esempio Facebook) di pubblicizzare la propria presenza ad altre reti che formano l'Internet. Mentre scriviamo Facebook non sta pubblicizzando la sua presenza, gli ISP e altre reti non riescono a trovare la rete di Facebook e quindi non è disponibile.
Ogni singola rete ha un proprio ASN (Autonomous System Number), ovvero un numero sistema autonomo. Un sistema autonomo (AS, Autonomous System) è una singola rete con una con una politica di routing interna unificata. Un AS può originare prefissi (che controllano un gruppo di indirizzi IP), così come prefissi di transito (che sanno come raggiungere gruppi specifici di indirizzi IP).
L'ASN di Cloudflare è AS13335. Ogni ASN ha bisogno di annunciare le sue route di prefisso a Internet utilizzando BGP altrimenti nessuno saprà come collegarsi e dove trovarci.
In questo diagramma semplificato, sono riportati sei sistemi autonomi su Internet e due possibili route che un pacchetto può utilizzare per andare dall'inizio alla fine. AS1 → AS2 → AS3 è il percorso più rapido mentre AS1 → AS6 → AS5 → AS4 → AS3 è il più lento, ma può essere utilizzato in caso di errore del primo.
Alle 15:58 UTC abbiamo notato che Facebook aveva smesso di annunciare i percorsi ai suoi prefissi DNS. Ciò ha fatto sì che, almeno, i server DNS di Facebook non fossero disponibili. Per questo motivo, il resolver DNS 1.1.1.1 di Cloudflare non è stato più in grado di rispondere alle domande che richiedevano l'indirizzo IP di facebook.com.
Nel frattempo, altri indirizzi IP di Facebook sono rimasti instradati ma non sono stati particolarmente utili poiché senza DNS Facebook e i relativi servizi non erano effettivamente disponibili:
\n \n \n \n \n
Teniamo traccia di tutti gli aggiornamenti e gli annunci BGP che vediamo nella nostra rete globale. Su scala, i dati che raccogliamo ci danno una visione di come Internet è connesso e dove il traffico deve fluire da e verso ogni parte del pianeta.
\n
route-views>show ip bgp 185.89.218.0/23\n% Network not in table\nroute-views>\n\nroute-views>show ip bgp 129.134.30.0/23\n% Network not in table\nroute-views>
\n
Un messaggio BGP UPDATE informa un router di eventuali modifiche apportate a un annuncio di prefisso o rimuove completamente il prefisso. Possiamo vederlo chiaramente nel numero di aggiornamenti che abbiamo ricevuto da Facebook durante il controllo del nostro database BGP delle serie temporali. Normalmente questo grafico è abbastanza silenzioso: Facebook non apporta molte modifiche alla sua rete minuto per minuto.
\n
route-views>show ip bgp 129.134.30.0 \nBGP routing table entry for 129.134.0.0/17, version 1025798334\nPaths: (24 available, best #14, table default)\n Not advertised to any peer\n Refresh Epoch 2\n 3303 6453 32934\n 217.192.89.50 from 217.192.89.50 (138.187.128.158)\n Origin IGP, localpref 100, valid, external\n Community: 3303:1004 3303:1006 3303:3075 6453:3000 6453:3400 6453:3402\n path 7FE1408ED9C8 RPKI State not found\n rx pathid: 0, tx pathid: 0\n Refresh Epoch 1\nroute-views>
\n
Ma intorno alle 15:40 UTC abbiamo visto un picco di modifiche al routing da Facebook. Ed è qui che sono iniziati i problemi.
Se dividiamo questa vista per annunci di route e ritiri, abbiamo un'idea ancora migliore di quello che è successo. Le route sono state ritirate, i server DNS di Facebook sono andati offline e un minuto dopo che si è verificato il problema, gli ingegneri di Cloudflare erano in una stanza chiedendosi perché 1.1.1.1 non riuscisse a risolvere facebook.com e preoccupandosi che fosse in qualche modo un guasto con i nostri sistemi.
Con quei ritiri, Facebook e i suoi siti si erano effettivamente disconnessi da Internet.
Come diretta conseguenza, i resolver DNS di tutto il mondo hanno smesso di risolvere i loro nomi di dominio.
Questo accade perché il DNS, come molti altri sistemi su Internet, ha anche il suo meccanismo di routing. Quando qualcuno digita l'URL https://facebook.com nel browser, il resolver DNS, responsabile della traduzione dei nomi di dominio in indirizzi IP effettivi a cui connettersi, verifica innanzitutto se ha qualcosa nella sua cache e lo utilizza. In caso contrario, tenta di ottenere la risposta dai server dei nomi di dominio, in genere ospitati dall'entità che lo possiede.
Se i server dei nomi non sono raggiungibili o non rispondono per altri motivi, viene restituito un SERVFAIL e il browser invia un errore all'utente.
Di nuovo, il nostro centro di apprendimento fornisce una buona spiegazione di come funziona DNS.
A causa dell'interruzione da parte di Facebook dell'annuncio dei percorsi del prefisso DNS tramite BGP, i resolver DNS nostri e di tutti gli altri non avevano modo di connettersi ai loro server dei nomi. Di conseguenza, 1.1.1.1, 8.8.8.8 e tutti gli altri principali resolver DNS pubblici hanno iniziato a emettere (e a memorizzare nella cache) risposte SERVFAIL.
Ma non è tutto. A questo punto entrano in gioco il comportamento umano e la logica applicativa, che provocano un altro effetto esponenziale. Segue uno tsunami di traffico DNS aggiuntivo.
\n \n \n \n \n
Ciò è accaduto in parte perché le app non accettano un errore per una risposta e iniziano a riprovare, a volte in modo aggressivo, e in parte perché anche gli utenti finali non accettano un errore per una risposta e iniziano a ricaricare le pagine o a terminare e riavviare le loro app, a volte anche in modo aggressivo.
Questo è l'aumento del traffico (in numero di richieste) che abbiamo visto il 1.1.1.1:
Quindi ora, poiché Facebook e i suoi siti sono così grandi, abbiamo risolutori DNS in tutto il mondo che gestiscono 30 volte più query del solito e potenzialmente causano problemi di latenza e timeout su altre piattaforme.
Fortunatamente, 1.1.1.1 è stato progettato in modo da essere Gratuito, Privato, Rapido (come il monitor DNS DNSPerf indipendente può attestare) e scalabile, e siamo stati in grado di continuare a fornire assistenza ai nostri utenti con un impatto minimo.
\n \n \n \n \n
La stragrande maggioranza delle nostre richieste DNS ha continuato a risolversi in meno di 10 ms. Allo stesso tempo, una frazione minima dei percentili p95 e p99 ha visto un aumento dei tempi di risposta, probabilmente a causa dei TTL scaduti che hanno dovuto ricorrere ai server dei nomi di Facebook e al timeout. Il limite di timeout DNS di 10 secondi è ben noto agli ingegneri.
Le persone cercano alternative e vogliono saperne di più o discutere di cosa sta succedendo. Quando Facebook è diventato irraggiungibile, abbiamo iniziato a vedere un aumento delle query DNS su Twitter, Signal e altre piattaforme di messaggistica e social media.
\n \n \n \n \n
Possiamo anche vedere un altro effetto collaterale di questa irraggiungibilità nel nostro traffico WARP da e verso l'ASN 32934 di Facebook interessato. Questo grafico mostra come il traffico è cambiato dalle 15:45 UTC alle 16:45 UTC rispetto a tre ore prima in ogni paese. In tutto il mondo il traffico WARP da e verso la rete di Facebook è semplicemente scomparso.
Gli eventi di oggi ci ricordano dolcemente che Internet è un sistema molto complesso e interdipendente di milioni di sistemi e protocolli che lavorano insieme. La fiducia, la standardizzazione e la cooperazione tra le entità sono al centro del suo funzionamento per quasi cinque miliardi di utenti attivi in tutto il mondo.
Intorno alle 21:00 UTC abbiamo visto una rinnovata attività BGP dalla rete di Facebook che ha raggiunto il picco alle 21:17 UTC.
Questo grafico mostra la disponibilità del nome DNS "facebook.com" sul resolver DNS 1.1.1.1 di Cloudflare. Ha smesso di essere disponibile intorno alle 15:50 UTC ed è tornato alle 21:20 UTC.
Indubbiamente i servizi Facebook, WhatsApp e Instagram avevano bisogno di più tempo per tornare online, ma alle 21:28 UTC Facebook sembrava essere ricollegato a Internet globale e il DNS funzionava di nuovo.
\n \n \n \n \n \n \n \n \n \n "],"published_at":[0,"2021-10-04T22:08:52.000+01:00"],"updated_at":[0,"2024-11-06T16:48:17.817Z"],"feature_image":[0,"https://cf-assets.www.cloudflare.com/zkvhlag99gkb/7y9jJTgSukF7V3DIHZyBPK/2387ab2641e6b8c0da2402279321b0f7/october-2021-facebook-outage.png"],"tags":[1,[[0,{"id":[0,"3yArjf0gLKZy8ObEDxbNNi"],"name":[0,"Trends"],"slug":[0,"trends"]}],[0,{"id":[0,"4yliZlpBPZpOwBDZzo1tTh"],"name":[0,"Outage"],"slug":[0,"outage"]}],[0,{"id":[0,"5O7yCWW0RgXMAc5MVjwcGS"],"name":[0,"BGP"],"slug":[0,"bgp"]}],[0,{"id":[0,"5fZHv2k9HnJ7phOPmYexHw"],"name":[0,"DNS"],"slug":[0,"dns"]}],[0,{"id":[0,"1v34FA6NHiaP8hePFi3CZc"],"name":[0,"Facebook"],"slug":[0,"facebook"]}]]],"relatedTags":[0],"authors":[1,[[0,{"name":[0,"Celso Martinho"],"slug":[0,"celso"],"bio":[0,"From when Mosaic took over Gopher. Engineering Director at Cloudflare."],"profile_image":[0,"https://cf-assets.www.cloudflare.com/zkvhlag99gkb/2pzgat1zmt1oF1byi7hskH/7b25e8e00117ee44afe36ad27d7d8032/celso.png"],"location":[0,"Portugal, Lisbon"],"website":[0,"https://celso.io/"],"twitter":[0,"@celso"],"facebook":[0,null]}],[0,{"name":[0,"Tom Strickx"],"slug":[0,"tom-strickx"],"bio":[0,"Principal network engineer"],"profile_image":[0,"https://cf-assets.www.cloudflare.com/zkvhlag99gkb/4WM06S2SGZ2gLRjQWh3eMA/12e0fcb787bc3206936957472d291b9c/4UUTxNu__400x400.jpg"],"location":[0,null],"website":[0,null],"twitter":[0,"@tstrickx"],"facebook":[0,null]}]]],"meta_description":[0,"Today at 1651 UTC, we opened an internal incident entitled \"Facebook DNS lookup returning SERVFAIL\" because we were worried that something was wrong with our DNS resolver 1.1.1.1. But as we were about to post on our public status page we realized something else more serious was going on."],"primary_author":[0,{}],"localeList":[0,{"name":[0,"Understanding how Facebook disappeared from the Internet Config"],"enUS":[0,"English for Locale"],"zhCN":[0,"Translated for Locale"],"zhHansCN":[0,"No Page for Locale"],"zhTW":[0,"Translated for Locale"],"frFR":[0,"Translated for Locale"],"deDE":[0,"Translated for Locale"],"itIT":[0,"Translated for Locale"],"jaJP":[0,"Translated for Locale"],"koKR":[0,"Translated for Locale"],"ptBR":[0,"Translated for Locale"],"esLA":[0,"No Page for Locale"],"esES":[0,"Translated for Locale"],"enAU":[0,"No Page for Locale"],"enCA":[0,"No Page for Locale"],"enIN":[0,"No Page for Locale"],"enGB":[0,"No Page for Locale"],"idID":[0,"No Page for Locale"],"ruRU":[0,"Translated for Locale"],"svSE":[0,"No Page for Locale"],"viVN":[0,"No Page for Locale"],"plPL":[0,"No Page for Locale"],"arAR":[0,"No Page for Locale"],"nlNL":[0,"No Page for Locale"],"thTH":[0,"No Page for Locale"],"trTR":[0,"No Page for Locale"],"heIL":[0,"No Page for Locale"],"lvLV":[0,"No Page for Locale"],"etEE":[0,"No Page for Locale"],"ltLT":[0,"No Page for Locale"]}],"url":[0,"https://blog.cloudflare.com/october-2021-facebook-outage"],"metadata":[0,{"title":[0,"Come Facebook è scomparso da Internet"],"description":[0,"Today at 1651 UTC, we opened an internal incident entitled \"Facebook DNS lookup returning SERVFAIL\" because we were worried that something was wrong with our DNS resolver 1.1.1.1. But as we were about to post on our public status page we realized something else more serious was going on."],"imgPreview":[0,"https://cf-assets.www.cloudflare.com/zkvhlag99gkb/7FF5ywOATCoy5Vas8RKNdN/6741b108a0a12755ce8de2444e894e90/october-2021-facebook-outage-G0Rabk.png"]}]}],"locale":[0,"it-it"],"translations":[0,{"posts.by":[0,"Di"],"footer.gdpr":[0,"GDPR"],"lang_blurb1":[0,"Questo post è disponibile anche in {lang1}."],"lang_blurb2":[0,"Questo post è disponibile anche in {lang1} e {lang2}."],"lang_blurb3":[0,"Questo post è disponibile anche in {lang1}, {lang2} e {lang3}."],"footer.press":[0,"Stampa"],"header.title":[0,"Il blog di Cloudflare"],"search.clear":[0,"Cancella"],"search.filter":[0,"Filtra"],"search.source":[0,"Origine"],"footer.careers":[0,"Opportunità di lavoro"],"footer.company":[0,"Azienda"],"footer.support":[0,"Supporto"],"footer.the_net":[0,"theNet"],"search.filters":[0,"Filtri"],"footer.our_team":[0,"Il nostro team"],"footer.webinars":[0,"Webinar"],"page.more_posts":[0,"Altri post"],"posts.time_read":[0,"Lettura di {time} min"],"search.language":[0,"Linguaggio"],"footer.community":[0,"Community"],"footer.resources":[0,"Risorse"],"footer.solutions":[0,"Soluzioni"],"footer.trademark":[0,"Marchio registrato"],"header.subscribe":[0,"Iscriviti"],"footer.compliance":[0,"Conformità"],"footer.free_plans":[0,"Piani gratuiti"],"footer.impact_ESG":[0,"Impact/ESG"],"posts.follow_on_X":[0,"Segui su X"],"footer.help_center":[0,"Centro assistenza"],"footer.network_map":[0,"Mappa di rete"],"header.please_wait":[0,"Attendi"],"page.related_posts":[0,"Post correlati"],"search.result_stat":[0,"Risultati {search_range} di {search_total} per {search_keyword}"],"footer.case_studies":[0,"Case study"],"footer.connect_2024":[0,"Connect 2024"],"footer.terms_of_use":[0,"Condizioni per l’utilizzo"],"footer.white_papers":[0,"White paper"],"footer.cloudflare_tv":[0,"Cloudflare TV"],"footer.community_hub":[0,"Community Hub"],"footer.compare_plans":[0,"Confronta i piani"],"footer.contact_sales":[0,"Contatta l'ufficio commerciale"],"header.contact_sales":[0,"Contatta l'ufficio commerciale"],"header.email_address":[0,"Indirizzo e-mail"],"page.error.not_found":[0,"Pagina non trovata"],"footer.developer_docs":[0,"Documenti sviluppatore"],"footer.privacy_policy":[0,"Informativa sulla privacy"],"footer.request_a_demo":[0,"Richiedi una demo"],"page.continue_reading":[0,"Continua a leggere"],"footer.analysts_report":[0,"Report di analisi"],"footer.for_enterprises":[0,"Per le aziende"],"footer.getting_started":[0,"Introduzione"],"footer.learning_center":[0,"Centro di apprendimento"],"footer.project_galileo":[0,"Progetto Galileo"],"pagination.newer_posts":[0,"Post più recenti"],"pagination.older_posts":[0,"Post più vecchi"],"posts.social_buttons.x":[0,"Parlane su X"],"search.icon_aria_label":[0,"Cerca"],"search.source_location":[0,"Origine/Posizione"],"footer.about_cloudflare":[0,"Informazioni su Cloudflare"],"footer.athenian_project":[0,"Progetto Athenian"],"footer.become_a_partner":[0,"Diventa partner"],"footer.cloudflare_radar":[0,"Cloudflare Radar"],"footer.network_services":[0,"Servizi di rete"],"footer.trust_and_safety":[0,"Attendibilità e sicurezza"],"header.get_started_free":[0,"Inizia gratis"],"page.search.placeholder":[0,"Cerca in Cloudflare"],"footer.cloudflare_status":[0,"Stato di Cloudflare"],"footer.cookie_preference":[0,"Preferenze sull'uso dei cookie"],"header.valid_email_error":[0,"Deve essere un'e-mail valida."],"search.result_stat_empty":[0,"Risultati {search_range} di {search_total}"],"footer.connectivity_cloud":[0,"Connettività cloud"],"footer.developer_services":[0,"Servizi per gli sviluppatori"],"footer.investor_relations":[0,"Relazioni con gli investitori"],"page.not_found.error_code":[0,"Codice errore: 404"],"search.autocomplete_title":[0,"Inserisci una query. Premi Invio per inviare"],"footer.logos_and_press_kit":[0,"Loghi e cartella stampa"],"footer.application_services":[0,"Servizi per le applicazioni"],"footer.get_a_recommendation":[0,"Ottieni un suggerimento"],"posts.social_buttons.reddit":[0,"Parlane su Reddit"],"footer.sse_and_sase_services":[0,"Servizi SSE e SASE"],"page.not_found.outdated_link":[0,"Potresti aver utilizzato un collegamento obsoleto o digitato l'indirizzo in modo errato."],"footer.report_security_issues":[0,"Report Problemi di sicurezza"],"page.error.error_message_page":[0,"Spiacenti, non riusciamo a trovare la pagina che stai cercando."],"header.subscribe_notifications":[0,"Iscriviti per ricevere notifiche di nuovi post:"],"footer.cloudflare_for_campaigns":[0,"Cloudflare for Campaigns"],"header.subscription_confimation":[0,"Abbonamento confermato. Grazie per esserti registrato!"],"posts.social_buttons.hackernews":[0,"Parlane su Hacker News"],"footer.diversity_equity_inclusion":[0,"Diversità, equità e inclusione"],"footer.critical_infrastructure_defense_project":[0,"Progetto di difesa delle infrastrutture critiche"]}]}" client="load" opts="{"name":"PostCard","value":true}" await-children="">
“Facebook non può essere down, vero?”, abbiamo pensato per un secondo.
Oggi alle 15:51 UTC, abbiamo aperto un incidente interno intitolato "Ricerca DNS di Facebook che restituisce SERVFAIL" perché eravamo preoccupati che qualcosa non andasse con il nostro resolver DNS 1.1.1.1....
Siamo lieti di presentare Page Shield, un prodotto per la sicurezza lato client che i clienti possono utilizzare per rilevare gli attacchi nei browser degli utenti...
Oggi sono lieto di parlare del nostro sistema di protezione da attacchi DDoS (Distributed Denial of Service) autonomo. Questo sistema è stato distribuito a livello globale in tutti i nostri oltre 200 datacenter e protegge attivamente tutti i nostri clienti dagli attacchi DDoS tra...
I governi e le organizzazioni mediche di tutto il mondo si trovano ad affrontare una delle sfide logistiche più difficili della storia: la distribuzione equa ed efficiente del vaccino COVID-19. ...
Oggi siamo lieti di annunciare la funzionalità Sala d'attesa di Cloudflare. Inizialmente sarà disponibile per la selezione dei clienti tramite un nuovo programma chiamato Progetto Fair Shot che punta ad aiutare con il problema della richiesta massiva di vaccinazioni COVID-19....
La gestione di una rete globale conforme alle diverse leggi sulla privacy in vigore in tutto il mondo esige un ritorno a quei valori di cui ci siamo fatti promotori fin dalla prima ora....
Riteniamo che la fiducia sia un elemento fondamentale per costruire un Internet migliore. Cloudflare è conforme alle normative e alle certificazioni di sicurezza più stringenti del settore, per fare in modo che i nostri clienti possano conquistare la fiducia dei loro utenti....
Cloudflare è in procinto di disattivare il cookie __cfduid. Anche se non abbiamo mai eseguito il tracciamento degli utenti finali sui siti né venduto i loro dati personali, non vogliamo che un cliente pensi di aver bisogno di un cookie banner per ciò che facciamo....
Oggi faremo diversi annunci sul miglioramento dei protocolli Internet relativamente a un aspetto che è importante per i nostri clienti e gli utenti Internet di tutto il mondo: la privacy....
Immaginiamo che le password per i servizi online non lascino mai il dispositivo, che siano crittografate o meno. OPAQUE è un nuovo protocollo crittografico capace di trasformare questo concetto in realtà, affidando a te, e a nessun altro, il pieno controllo delle tue password....
Oblivious DoH trasforma le query su HTTPS sicure (DoH) anche in query private. Si tratta di un nuovo standard proposto che separa gli indirizzi IP dalle query, per fare in modo che nessuna entità individuale possa essere contemporaneamente entrambe le cose....
Uno sguardo approfondito su Encrypted Client Hello, lo standard che crittografa i parametri sensibili alla privacy inviati dal client all'interno dell'handshake TLS....
Dei 18 milioni di richieste al secondo che attraversano la rete di Cloudflare, il 50% è diretto alle API. Cloudflare semplifica la protezione delle API attraverso l'uso di una forte identità basata su certificato client e una rigorosa convalida basata su schema...
Nel primo trimestre del 2020, nel giro di poche settimane il nostro stile di vita è cambiato. Come mai prima d'ora, siamo diventati dipendenti dai servizi online....
Questa è la settimana del settimo compleanno di Cloudflare. Ormai per noi è diventata una tradizione annunciare una serie di prodotti tutti i giorni della settimana e offrire nuovi importanti vantaggi ai nostri clienti. Iniziamo con uno di cui siamo particolarmente orgogliosi: ...