Por quê o Facebook caiu? As pistas explicam.

Falhas no Registrante e desligamento da rota ou backbone são possíveis explicações.

Por quê o Facebook caiu?  As pistas explicam.



Como é sabido, as aplicações e sites do Facebook ficaram fora do ar nesta segunda-feira, dia 4 de outubro de 2021.

Foram algumas horas de apagão e atingiu todos os recursos que dependiam de encontrar o Domínio facebook.com, incluindo as Redes de marketing sociais, logons de sites de terceiros, acesso à aplicativos e até mesmo acesso aos locais da próprie empresa, pois, pasmem, crachás não funcionavam.

Tudo isso porque Facebook concentra uma gigantesca operação de Big Data, reunindo e centralizando as operações de logon e coleta de dados de todas as aplicações a partir de seu Domínio principal.

O Facebook não confirmou a causa raiz de seus problemas, mas há coisas que já são possíveis de constatar e concluir.

Por volta de 11:30 nos Estados Unidos (costa leste), a resolução de nomes DNS do Facebook saiu do ar.  Na prática, os registros que dependiam da autoridade de Domínio facebook.com, ou que estavam registrados sob os DNS do Facebook simplesmente pararam de responder às consultas de nomes.

Mas não foi apenas o problema de terem parado de responder, pois ainda seria possível acessar os serviços a partir de endereços IP cacheados em provedores e nos computadores.

Seguido de um apagão nos DNS, houve uma interrupçao de rota para os IPs do Facebook que eram resolvidos pelo DNS.  Trata-se do protocolo BGP - Border Gateway Protocol.  Ou seja, com os DNS fora do ar, as rotas que levavam até os IPs do Facebook também caíram.

Desta forma, os acessos aos serviços tornaram-se impossíveis.

Se foi o Facebook que removeu o BGP de seus roteadores principais, ou os desligaram, para aliviar o tráfego enquanto resolvia o problema do DNS, não sabemos. É possível.  O tráfego de consulta DNS após o problema iniciar praticamente doborou em todo o Mundo.  Isso porque as pesoas tentavam se conectar de qualquer jeito (o tradicional F5 para reler a página na Web). Assim, seria plausível desligar os roteadores e interromper as rotas, até que o problema do DNS fosse resolvido.

Tudo indica que a questão central estava localizada no registrante do próprio Facebook ou na rota e backbone para o mesmo.  O Domínio facebook.com está registrado em registro "child" do próprio Facebook, que são:

a.ns.facebook.com
b.ns.facebook.com
c.ns.facebook.com
d.ns.facebook.com

Ou seja, uma falha na autoridade do Domínio facebook.com acarretaria falhas em cadeia nos próprios DNS, uma vez que os DNS não seriam encontrados sem que facebook.com respondesse à eles.

Esse formato é suscetível a falhas, ainda que possamos pensar que elas jamais pudessem ocorrer.  Mas ocorreram.

Ao contrário do Facebook, por exemplo, Microsoft utiliza outro formato de autoridades DNS, todas diferentes de Microsoft.com, e com sufuxos de Domínio também diferentes:

ns1-205.azure-dns.com
ns2-205.azure-dns.net
ns3-205.azure-dns.org
ns4-205.azure-dns.info

A autoridade de registro do Facebook é a RegistrarSEC / RegistrarSafe, registrantes credenciados pela ICANN, funcionando em Delaware, com seus Servidores em Menlo Park e San José, na Califórnia (edge-star-shv-01-sjc3.facebook.com), e que são de propriedade do Facebook apenas e exclusivamente para seus Domínios.  Estes registrantes não realizam registros de Domínio públicos.

Assim, a hipótese mais provável é que, incialmente, possa ter ocorrido uma falha nos registros ou nos Servidores DNS do próprio registrante da autoridade de facebook.com.  Uma falha de software, atualização de software, falha mecânica, elétrica, etc.  Com esta falha, em uma situação em cascata, os DNS de facebook.com não responderam mais à consultas na Internet.  Em uma série de eventos, com o desligamento de roteadores e rotas para o registrante e autoridade, o Mundo ficou sem resolver o IP do Facebook.  Daí tudo parou.

Um outro elemento que reforça que o problema ocorreu a nível do Registrante (ou no backbone que leva à ele) foi o fato de que não apenas o Domínio facebook.com permaneceu sem resolver o DNS, mas também os demais sites com registro em RegistrarSEC / RegistrarSafe, como whatsapp.com, instagram.com, etc.

No caso do Instagram, os DNS são diferentes, possuindo vários sufixos e resolvendo em várias localidades:

ns-1349.awsdns-40.org
ns-2016.awsdns-60.co.uk
ns-384.awsdns-48.com
ns-868.awsdns-44.net

ns-1349.awsdns-40.org, por exemplo, responde em 205.251.197.69, enquanto ns-2016.awsdns-60.co.uk responde em 205.251.199.224.  Os DNS do instagram.com são hospedados na Amazon, ou seja, totalmente fora das rotas de alcançe dentro dos Servidores DNS do facebook. 

Se o problema fosse localizado apenas nos servidores do Facebook, ou apenas no nível dos DNS do Facebook, facebook.com cairia, mas instagram.com continuaria resolvendo.  E se o problema fosse a nível de servidores de dados e backbone de dados ou logon, o erro de acesso ao instagram.com não seria 500, de falha de DNS, mas sim de 404 ou outro relacionado a não conseguir abrir o conteúdo de um site.

O que há de comum entre os DNS de facebook.com e instagram.com, já que ambos estão em lugares distintos?  Exatamente o local de seu registro: RegistrarSEC / RegistrarSafe.

Observem que o DNS de todos os Servidores que respondem ao facebook.com e que levam ao Facebook, incluindo o Registrante, são *.facebook.com!  Ou seja, qualquer operação de acesso ou resgate através de nomes DNS teriam sido infrutíferos.  Até porque qualquer logon passaria por credenciais facebook.com.  Em uma situação assim, tornou-se impossível qualquer recuperação através de acesso remoto.  Daí o relato de que a equipe técnica teve que ir pessoalmente à Califórnia resolver o problema.

Para complicar, até mesmo os DNS de registrarsafe.com e registrarsec.com eram os mesmos do facebook.com, embora os registros A (child) fossem 157.240.22.19 e 192.0.79.32:

a.ns.facebook.com
b.ns.facebook.com
c.ns.facebook.com
d.ns.facebook.com

O fato de o Registrante não responder às consultas do registro "child" de facebook.com teve outra consequência pitoresca.  Alguns sites de compra e registro de domínio tiveram consultas para facebook.com positivas.  Ou seja, como o Registrante de facebook.com estava fora do ar ou com seus registros "apagados", o Domínio facebook.com tornou-se disponível para compra e registro.

Veja a imagem abaixo (cortesia de Marcus Vinícus Caldera de Lima):

Portanto, todas as pistas nos levam a crer que a falha que "zerou" os registros DNS ocorreram em seu Registrante ou na rede de acesso ao mesmo, e não no DNS do Facebook.

Aparentemente esta deve ser a explicação mais próxima do ocorrido, haja visto que a última comunicação técnica do facebook foi que "mudanças de configuração nos roteadores de backbone que coordenam o tráfego de rede entre nossos centros de dados causaram problemas que interromperam essa comunicação". Isso teve um "efeito cascata ... parando nossos serviços".

Esta falha nos dá um aprendizado importante, que é a concentração de registros em um único Domínio de DNS "child".  Como a pane nos mostrou, caindo o registrante, cai tudo.

O saldo de tudo isso não tem a ver diretamente com as falhas técnicas.  As poucas horas de apagão nos mostrou como a nossa sociedade está conectada e dependente de um único monopólio de aplicações de marketing em redes sociais.  

A compra pelo Facebook de várias aplicações nos últimos anos e a espantosa concentração de poder de Big Data em uma única empresa deveria assombrar a todos, mais que o apagão sofrido.