Resumo
- A Akamai informou que, às 15h45 UTC de 22 de julho de 2021, uma atualização de configuração de software acionou um bug em um componente DNS de sua Secure Edge Content Delivery Network. Alguns sites de clientes ficaram indisponíveis por até uma hora. A Akamai reverteu a atualização, afirmou que o serviço voltou ao normal e declarou que o incidente não foi um ciberataque. [1]
- A Akamai corrigiu o escopo de sua redação inicial no dia seguinte. A empresa havia descrito inicialmente um impacto em seu serviço DNS, mas uma investigação mais aprofundada restringiu o sistema afetado a um componente DNS da Secure Edge CDN. Essa correção é importante: as evidências públicas não estabelecem que todo serviço DNS autoritativo da Akamai, zona ou cliente falhou. [1]
- A ThousandEyes observou falhas de DNS e de aplicativos a partir de aproximadamente 15h38 UTC e recuperação ampla por volta de 16h45 UTC. Seus testes viram timeouts e respostas SERVFAIL para domínios afetados. A diferença de sete minutos entre o início observado e o horário de atualização informado pela Akamai reflete diferentes limites de evidência, não um timestamp que deve ser silenciosamente forçado em um único relato. [2][3]
- O incidente mostrou por que a acessibilidade da rede depende de mais do que links funcionais e servidores acessíveis. Um usuário não consegue estabelecer a conexão de aplicativo pretendida se o plano de controle de nomes não puder retornar um endereço utilizável, mesmo quando os pacotes poderiam, de outra forma, viajar para a borda da CDN. [2][10][11]
- A documentação atual do Edge DNS da Akamai descreve anycast global, zonas primárias e secundárias, listas de alterações, diferenças de versão, status de propagação e reativação de versões anteriores. Esses controles identificam as evidências que uma plataforma madura pode produzir, mas a documentação atual do produto não prova qual caminho interno tratou a atualização de 2021. [5][6][7][8]
- O artigo de sistemas pré-incidente da Akamai descreve 24 nuvens anycast e nameservers com entrada atrasada, projetados para preservar dados mais antigos durante algumas falhas induzidas por entrada. É um contexto de arquitetura, não um post-mortem do incidente. O pacote público não estabelece se o componente afetado usou esse design ou por que não conteve este evento. [9]
- A responsabilidade segue o controle prático. A Akamai controlava o componente compartilhado, o pipeline de atualização, a validação, a implantação, o monitoramento, as evidências de reversão e reparo. Os clientes controlavam partes da diversidade de DNS e CDN, certificados, origens e testes de continuidade. Os resolvedores recursivos controlavam cache e política de servir dados obsoletos. Essas responsabilidades são em camadas, mas não são intercambiáveis.
A falha ocorreu antes da conexão do aplicativo
Uma queda de Internet é frequentemente descrita como se a rede fosse um único switch com dois estados: ativo ou inativo. O incidente da Akamai é útil porque desafia essa imagem.
Para uma solicitação web comum, o usuário começa com um nome, não com um endereço IP. Um resolvedor recursivo segue informações em cache e referências até obter uma resposta autoritativa para o domínio. O endereço retornado pode então guiar uma conexão para uma borda de CDN, balanceador de carga ou origem. Se a etapa autoritativa falhar, o usuário pode nunca tentar a conexão do aplicativo. Roteadores podem transportar pacotes. Servidores podem estar ligados. Fibra pode estar intacta. O serviço ainda assim fica inacessível porque o plano de controle de nomes não produziu o próximo destino utilizável. [10][11][17]
A ThousandEyes observou essa separação durante o incidente de julho de 2021. Ela relatou que a conectividade com a infraestrutura de borda da CDN da Akamai podia permanecer disponível enquanto a resolução DNS para domínios afetados falhava. Testes receberam respostas SERVFAIL ou nenhuma resposta de servidores autoritativos. Navegadores e aplicativos então exibiam falhas que pareciam quedas gerais de sites, mesmo que a ruptura medida ocorresse mais cedo na cadeia de dependências. [2]
Essa distinção é mais do que vocabulário técnico. Ela identifica a superfície de controle.
Se um corte de fibra isola uma região, os controles responsáveis incluem diversidade física, restauração e redirecionamento. Se o BGP exporta um caminho inseguro, os controles incluem política de rota, validação e contenção. Se o DNS autoritativo não pode responder porque uma atualização de configuração compartilhada acionou um bug, os controles incluem representação de configuração, cobertura de teste, escopo de implantação, separação de domínios de falha, autoridade de reversão, interação com resolvedores e design de dependência do cliente.
Chamar todo caso de "a Internet caiu" esconde essas diferenças. Também permite que a responsabilidade derive para a empresa que aparece na página de erro do usuário. A melhor pergunta é: qual sistema falhou em fornecer a informação necessária para o próximo passo da rede, e quem tinha a capacidade prática de prevenir, limitar, detectar e reverter essa falha?
Para este incidente, a própria declaração da Akamai fornece o gatilho de alto nível. A empresa disse que uma atualização de configuração de software acionou um bug. Ela não publicou a configuração exata, o caminho do código, a população afetada ou a topologia interna. Isso significa que o artigo pode analisar a autoridade de configuração e as evidências de acessibilidade. Não pode identificar um detalhe de implementação privado, culpar um engenheiro específico ou afirmar que um recurso nomeado atual do Edge DNS falhou em 2021. [1]
O alvo é, portanto, estreito: risco e responsabilidade na infraestrutura de rede. O incidente não é importante apenas porque existia um bug de software. É importante porque o bug estava atrás de um canal de configuração com o poder de afetar um componente DNS compartilhado e, por meio desse componente, a acessibilidade de muitos sites de clientes.
A cronologia requer dois relógios e uma correção de escopo
A ThousandEyes coloca o início dos problemas observados externamente em aproximadamente 15h38 UTC de 22 de julho. A Akamai diz que às 15h45 UTC uma atualização de configuração de software acionou o bug. Esses horários referem-se a diferentes formas de conhecimento.
Uma plataforma de medição externa registra quando os testes começam a falhar de seus pontos de observação. Um operador registra quando uma alteração ocorreu, quando um limite interno foi acionado ou quando um incidente foi declarado. A primeira consulta de usuário com falha pode preceder uma atualização de status pública. Uma configuração pode se propagar ao longo do tempo. Relógios podem diferir. O método responsável é declarar ambos os timestamps e sua proveniência, não escolher aquele que faz a narrativa mais limpa. [1][2][3]
A ThousandEyes observou um aumento nas interrupções de web e aplicativos entre serviços que usam a Akamai. Seus testes de DNS encontraram falhas na resolução de domínios hospedados no ambiente de CDN. Alguns usuários receberam SERVFAIL; outros tiveram timeout. Os efeitos variaram entre clientes e geografias. A empresa de medição coloca a restauração ampla por volta de 16h45 UTC. A Akamai diz que a interrupção durou até uma hora e que o serviço foi retomado após a reversão. Esses relatos são compatíveis no nível que as evidências públicas suportam. [1][2]
A declaração da Akamai contém outra cronologia essencial: a própria declaração mudou.
A empresa adicionou uma correção em 23 de julho. A postagem inicial havia descrito um impacto ao "serviço DNS da Akamai". Uma investigação adicional, disse a Akamai, mostrou que o impacto estava isolado a um componente DNS de sua Secure Edge Content Delivery Network. [1]
Isso não é uma trivialidade editorial. Escopo faz parte das evidências de causa raiz. "DNS da Akamai falhou" pode implicar que todo produto DNS autoritativo, zona, caminho de serviço ou cliente compartilhou uma única falha. A correção da Akamai rejeita essa implicação. Observadores independentes ainda usaram razoavelmente frases como "queda do Edge DNS da Akamai" para descrever o que seus testes viram, mas uma reconstrução responsável deve distinguir o rótulo de serviço do observador do limite de componente do operador posterior.
A correção de escopo também ilustra por que a linguagem inicial do incidente não deve se solidificar em fato permanente. Operadores se comunicam antes que o mapa completo do componente seja conhecido. Jornalistas e clientes repetem a primeira explicação. Mecanismos de busca a preservam. Uma correção posterior pode ser menos visível do que o título original. Uma boa prática de responsabilidade requer um registro versionado: o que foi dito, quando mudou, por que mudou e quais conclusões a mudança afeta.
Neste caso, a correção restringe a plataforma afetada, mas não apaga o impacto na acessibilidade. Um componente pode ser mais estreito que um produto e ainda assim estar em um caminho usado por muitos clientes. As perguntas relevantes tornam-se mais precisas:
- Qual componente DNS da Secure Edge CDN recebeu a atualização?
- Quais propriedades de clientes ou caminhos de nomes dependiam dele?
- O componente compartilhava estado de configuração entre locais de serviço independentes?
- Quais domínios de falha permaneceram disponíveis?
- Como a reversão se propagou?
- Que evidências estabeleceram que as respostas normais haviam retornado?
O conjunto de fontes públicas não responde a todas as seis. Ele estabelece que a reversão funcionou rápido o suficiente para restaurar o serviço normal e que a empresa planejava revisar seu processo de atualização. As perguntas restantes definem a lacuna de evidências, não permissão para preenchê-la com suposições. [1]
Diversidade de DNS não é o mesmo que diversidade de configuração
A arquitetura DNS espera mais de um servidor autoritativo para uma zona. A RFC 2182 explica a razão diretamente: as informações da zona devem permanecer disponíveis quando um servidor estiver indisponível ou inacessível. Servidores secundários devem ser colocados considerando modos prováveis de falha, incluindo falhas de rede e energia. [12]
Grandes serviços comerciais adicionam outra forma de distribuição. A documentação do Edge DNS da Akamai descreve IP anycast, no qual um endereço de serviço lógico é anunciado de múltiplos locais físicos. A consulta de um resolvedor é roteada para uma instância disponível de acordo com a topologia e política de rede. A Akamai descreve milhares de nameservers em múltiplas redes e continentes. [5]
A RFC 4786 explica por que anycast é atraente para DNS autoritativo. Ele distribui o serviço, melhora a acessibilidade e evita que as referências DNS cresçam com cada local físico. Também alerta que o monitoramento se torna mais complicado: a disponibilidade depende de onde um cliente está, e a população de clientes que atinge um nó específico muda com o roteamento. [13]
A diversidade física e de roteamento são valiosas. Elas não fornecem automaticamente diversidade de configuração.
Se muitos locais consomem a mesma entrada insegura, todos os locais podem estar fisicamente saudáveis e ainda assim retornar respostas inutilizáveis ou falhar da mesma forma. Adicionar mais sites anycast pode aumentar a diversidade de serviço enquanto preserva uma dependência de plano de controle. Uma plataforma pode sobreviver à perda de um data center, mas permanecer vulnerável a um bug global de configuração. As duas classes de falha requerem controles diferentes.
É por isso que contar servidores é uma alegação fraca de resiliência. Um operador precisa identificar quais elementos são independentes:
- energia e instalações;
- caminhos de rede físicos;
- anúncios de roteamento;
- binários de software;
- entradas de configuração;
- sistemas de validação;
- controladores de implantação;
- credenciais de gerenciamento;
- monitoramento;
- canais de reversão;
- aprovação organizacional.
Dois nameservers em países diferentes podem compartilhar a mesma fonte de configuração. Dois provedores de DNS podem compartilhar o mesmo registrador ou primary oculto. Dois caminhos de CDN podem confiar na mesma automação de certificados ou origem. Duas etapas de aprovação podem usar o mesmo analisador e, portanto, aceitar o mesmo significado inseguro.
A declaração pública de causa do incidente aponta para esse problema de controle compartilhado. A Akamai não disse que um site de serviço individual falhou. Ela disse que uma atualização de configuração de software acionou um bug em um componente compartilhado. O serviço se recuperou após a reversão. Essa sequência torna o canal de atualização, não o número de servidores, o objeto central de responsabilidade. [1]
Um modelo de controle adequado trataria a distribuição de configuração como um protocolo de rede próprio. Ele tem produtores, validadores, versões, destinatários, tempo de propagação, confirmações e reversão. Deve ser testado para falha parcial, estado obsoleto, versões incompatíveis e valores globais inseguros. Uma plataforma madura deve saber quais destinatários aceitaram uma alteração, quais a rejeitaram, qual versão servem e o que os usuários observam de cada domínio de falha.
Alegações de redundância devem, portanto, ser expressas como hipóteses de falha, não inventários. "Temos milhares de nameservers" responde a uma pergunta de capacidade e localização. "Uma nova entrada não pode afetar todo domínio de falha de serviço antes que um canário independente prove que é segura" responde a uma pergunta de raio de explosão de configuração. O evento de julho de 2021 torna a segunda alegação a que precisa de evidências.
Uma atualização de configuração é um exercício delegado de autoridade de rede
A frase "atualização de configuração de software" soa menos consequente que um lançamento de software. A configuração é frequentemente tratada como dados: mais fácil de mudar, menos arriscada que código e adequada para implantação rápida. Em uma rede distribuída, essa distinção pode ser enganosa.
A configuração seleciona comportamento. Ela pode ativar um caminho de código, alterar roteamento, modificar dados de registro, ampliar uma correspondência, remover um limite de segurança ou direcionar tráfego para um serviço diferente. Uma configuração com escopo global pode exercer mais autoridade operacional do que uma alteração de código confinada a um servidor canário.
A unidade de risco correta é, portanto, não o tipo de arquivo. É a autoridade efetiva.
Um pipeline de alteração deve responder a quatro perguntas antes da distribuição.
Primeiro,o que a atualização significa após análise e normalização?Validade sintática não é segurança semântica. Um valor pode ser bem formado e ainda selecionar um estado impossível, inseguro ou globalmente inconsistente.
Segundo,quais usuários, zonas, serviços e locais ela pode afetar?O escopo deve ser calculado a partir do resultado compilado, não inferido do nome da solicitação de alteração.
Terceiro,que condição independente pode interrompê-la?Um validador deve falhar de forma diferente do componente que está sendo protegido. Se ambos usam o mesmo esquema, analisador ou modelo gerado, um defeito compartilhado pode derrotar ambos.
Quarto,como o estado anterior pode ser restaurado se o caminho de controle normal estiver prejudicado?A reversão precisa de uma versão conhecidamente boa, autoridade de distribuição, plano de gerenciamento acessível e evidências de que os destinatários realmente retornaram ao estado anterior.
A documentação atual do Edge DNS da Akamai fornece exemplos de artefatos de controle úteis. As alterações de zona primária são acumuladas em uma lista de alterações. Um operador pode revisar adições e exclusões, ativar a zona ou descartar as alterações. A API lista versões de zona, mostra diferenças, relata status de propagação e pode reativar uma versão anterior. [7][8]
Esses documentos são referências atuais do produto. A declaração pública do incidente não diz que o componente Secure Edge CDN de 2021 usou esse fluxo de trabalho exato. Seria impreciso afirmar que um controle documentado de lista de alterações falhou. A documentação ainda é valiosa porque mostra que evidências podem existir em uma plataforma DNS controlada: uma versão, um diff, uma decisão do revisor, um evento de ativação, um registro de propagação e uma ação de reativação.
Para responsabilidade pública, as evidências pós-incidente mais úteis mapeariam a atualização real de 2021 para artefatos equivalentes:
- o propósito pretendido e o escopo aprovado;
- a configuração normalizada;
- testes executados antes da ativação;
- a primeira população canário;
- a sequência e porcentagem de destinatários;
- alertas que dispararam;
- a decisão e autoridade para interromper a propagação;
- a versão conhecidamente boa selecionada;
- confirmações dos destinatários após a reversão;
- testes externos confirmando respostas DNS e acessibilidade do aplicativo.
Publicar todo valor de configuração privado poderia criar riscos de segurança ou para o cliente. A responsabilidade não exige isso. Ela exige evidências estruturadas suficientes para estabelecer que a empresa entende a classe de falha, que o reparo a aborda e que a mesma entrada não pode novamente adquirir o mesmo alcance descontrolado.
O artigo de arquitetura da Akamai informa as perguntas, não o veredito
Antes do incidente, pesquisadores da Akamai publicaram um artigo descrevendo como o sistema DNS da empresa respondia a um grande volume de consultas autoritativas. O artigo discute 24 nuvens anycast, monitoramento do sistema e mecanismos para lidar com entradas obsoletas ou perigosas. Um design colocava nameservers com entrada atrasada em cada nuvem. Esses servidores recebiam entradas com um atraso artificial e podiam continuar respondendo com dados mais antigos enquanto os operadores respondiam a uma falha induzida por entrada. [9]
Essa arquitetura é diretamente relevante para a responsabilidade de configuração porque descreve uma separação deliberada entre entrada fresca e serviço contínuo. Ela demonstra que os engenheiros da Akamai haviam considerado falha induzida por entrada como uma classe. Também fornece termos concretos para perguntar o que aconteceu em 2021.
Ela não fornece a resposta.
O post do incidente do operador identifica um componente DNS da Secure Edge CDN. O artigo descreve a arquitetura DNS da Akamai em nível de sistema. As fontes públicas neste pacote não provam que o componente afetado usou o design de entrada atrasada do artigo, que a atualização desencadeadora foi uma das entradas atrasadas, que o design estava habilitado para o caminho do cliente afetado, ou que falhou.
Transformar o artigo em uma acusação cometeria um erro analítico comum: tratar uma arquitetura publicada como um inventário completo de todo caminho de produção. Grandes redes contêm gerações de sistemas, componentes específicos de produto, migrações, exceções e limites de controle. Um artigo pode descrever com precisão um mecanismo sem garantir que todo serviço o utilize.
O uso defensável é contrafactual e probatório.
Se existia um caminho atrasado independente para o componente afetado, que entrada ele serviu durante o incidente? Se não existia, que propriedade tornou o componente inadequado? Se a atualização afetou o comportamento do código em vez dos dados de resposta, uma configuração mais antiga ainda poderia invocar o mesmo bug? Se a falha exigia que os operadores a ativassem, o monitoramento identificou a condição a tempo? Se os usuários alcançaram nuvens anycast diferentes, o estado de fallback permaneceu consistente?
Essas perguntas importam porque a reversão sozinha fornece apenas uma prova: o serviço imediato se recuperou quando a nova configuração foi removida. Ela não revela se um caminho independente conteve parte da queda, por que a validação original perdeu o bug, ou se uma configuração insegura diferente produziria a mesma falha compartilhada.
O artigo também demonstra por que as evidências devem ser vinculadas a classes de falha. Um operador pode dizer que tem nameservers redundantes, anycast e entrada atrasada. Um cliente precisa saber quais falhas cada mecanismo cobre. Perda de instalação, isolamento BGP, dados obsoletos, dados corrompidos, bugs de software e comprometimento do plano de controle são diferentes. Um mecanismo projetado para um pode ser irrelevante para outro.
O registro de responsabilidade de julho de 2021 deve, portanto, evitar ambos os extremos. Não deve ignorar a engenharia de resiliência publicada pela Akamai, e não deve assumir que a engenharia garantiu este componente. A lacuna entre uma salvaguarda documentada e um caminho de evento não divulgado é, em si, um pedido de evidências precisas.
A velocidade da reversão importa, mas as evidências da reversão importam mais
A reversão da Akamai restaurou o serviço em aproximadamente uma hora. Isso é operacionalmente significativo. Quando um componente compartilhado afeta a acessibilidade do cliente, um retorno rápido a um estado conhecidamente bom limita o dano e reduz a tentação de depurar indefinidamente em produção. [1]
Reversão não é uma ação. É uma cadeia de alegações.
A primeira alegação é que o operador identificou a nova atualização como a causa provável. A segunda é que uma versão anterior estava disponível e era segura. A terceira é que o comando de reversão alcançou os destinatários afetados. A quarta é que esses destinatários o aceitaram. A quinta é que as respostas autoritativas se recuperaram. A sexta é que os aplicativos se tornaram acessíveis a partir de redes externas. Cada alegação tem suas próprias evidências.
Uma interface de controle de versão pode provar qual objeto foi selecionado. A telemetria de distribuição pode provar quais instâncias o reconheceram. Sondas DNS podem provar que as respostas retornaram de pontos de observação selecionados. Testes de aplicativo podem provar que as respostas levaram a conexões funcionais. Relatos de clientes podem identificar caminhos residuais que o monitoramento interno perdeu.
Essa prova em camadas é importante em sistemas anycast. Um teste bem-sucedido de um local pode alcançar uma instância anycast enquanto usuários em outros lugares alcançam outra. O aviso de monitoramento da RFC 4786 se aplica: um serviço pode parecer saudável ou não dependendo do caminho de roteamento do observador. [13]
Um operador deve, portanto, definir a conclusão da reversão antes de um incidente:
- estado de controle revertido;
- destinatários da configuração convergiram;
- sucesso de resposta autoritativa restaurado entre domínios de falha;
- códigos de erro e timeouts retornaram à linha de base;
- acessibilidade do aplicativo restaurada para caminhos representativos de clientes;
- comunicação de status atualizada com a incerteza remanescente.
O post do incidente diz que os serviços retomaram as operações normais após a reversão. Ele não expõe as medições subjacentes. Isso é aceitável como declaração inicial, mas um registro de responsabilidade maduro deve retê-las para auditoria posterior e garantia do cliente.
A reversão também precisa de independência. Se o mesmo controlador, credenciais, caminho de rede e software usados para implantação são necessários para a reversão, uma falha pode desabilitar seu próprio reparo. A infraestrutura de alto raio de explosão deve preservar um canal de recuperação mínimo que possa ativar um estado conhecidamente bom sem depender do componente não saudável.
O pacote público não mostra se esse risco se materializou na Akamai. Ele identifica a questão de controle. A recuperação dentro de uma hora sugere que existia um caminho de reversão viável. Garantia durável mostraria que o caminho é testado contra perda do plano de gerenciamento ou serviço comum, não apenas contra um bug que deixa o acesso de controle intacto.
O comportamento do resolvedor mudou a experiência do usuário, mas não a causa raiz
Resolvedores recursivos ficam entre usuários e servidores autoritativos. Seus caches podem preservar respostas até que um time to live expire. Seus algoritmos de repetição escolhem entre servidores autoritativos. Seu tratamento de SERVFAIL, timeouts e dados obsoletos afeta a rapidez com que uma falha se torna visível e quanto tempo persiste.
A RFC 2308 define o comportamento de cache negativo. A RFC 4697 documenta padrões de repetição prejudiciais e a carga que pode resultar quando servidores autoritativos estão inacessíveis ou retornam falha de servidor. A RFC 8767 permite que um resolvedor sirva dados obsoletos sob condições limitadas quando não pode atualizar uma resposta. A RFC 9520, publicada após o incidente da Akamai, refina o cache negativo para falhas de resolução, incluindo SERVFAIL. [14][18][19][20]
Esses mecanismos explicam por que os usuários podem experimentar a mesma interrupção autoritativa de forma diferente.
Um resolvedor com uma resposta em cache ainda válida pode continuar direcionando tráfego. Um resolvedor cuja resposta expirou pode precisar de uma resposta autoritativa nova e falhar imediatamente. Um resolvedor configurado para servir dados obsoletos pode preservar a acessibilidade se a resposta antiga permanecer segura e as condições da política forem atendidas. Outro pode retornar SERVFAIL. Os aplicativos também armazenam em cache de forma diferente, e alguns repetem através de outro resolvedor.
Essa variação não move a causa raiz da Akamai para os resolvedores. A declaração da Akamai diz que sua atualização acionou o bug no componente DNS. A política do resolvedor pode mitigar ou amplificar o dano visível ao usuário; não cria dados autoritativos válidos quando o componente subjacente não pode fornecê-los.
Servir dados obsoletos também tem limites. Um endereço antigo pode ser perigoso se o serviço mudou, uma resposta de segurança alterou o registro ou o certificado e a origem não correspondem mais. Um resolvedor pode não ter a resposta em cache. TTLs podem ser curtos. Estados de cache negativo e positivo diferem. Os operadores devem equilibrar continuidade com atualização e correção. A RFC 8767 descreve esse equilíbrio, não garante failover transparente. [14]
Isso produz um modelo de responsabilidade em camadas.
A Akamai assume a responsabilidade pelo componente autoritativo compartilhado e pipeline de atualização. Os operadores de resolvedores assumem a responsabilidade pelo tratamento de falhas observável e em conformidade com os padrões e por comunicar a troca continuidade/atualização. Os clientes assumem a responsabilidade pelas escolhas de TTL e arquitetura que podem controlar. Os usuários não têm o dever prático de diagnosticar qual resolvedor ou componente autoritativo falhou antes de esperar que um serviço importante funcione.
As evidências devem, portanto, separar as camadas. Sucesso de consulta autoritativa, códigos de resposta recursiva, estado do cache e sucesso de conexão do aplicativo são medições distintas. Sem essa separação, um relatório de status pode afirmar que o DNS está saudável porque um resolvedor responde do cache enquanto consultas autoritativas novas falham, ou afirmar que o serviço autoritativo ainda está inativo porque um cache recursivo retém uma falha.
A redundância do cliente deve ser independente até a origem
A ThousandEyes relatou que o impacto variou entre os clientes da Akamai. Organizações que dependiam do caminho de DNS e CDN afetado podiam permanecer indisponíveis, enquanto alguns designs multi-CDN mantiveram mais serviço. Sua revisão posterior cita a Amazon como um exemplo que foi amplamente poupado por uma abordagem multi-CDN. [2][4]
A lição não é simplesmente "compre duas CDNs".
Um segundo provedor é útil apenas se os usuários puderem descobri-lo e alcançá-lo. A delegação de DNS autoritativo deve ser capaz de retornar uma alternativa. A assinatura DNSSEC e a distribuição de chaves devem permanecer válidas. Os certificados devem cobrir os mesmos nomes. A CDN alternativa deve alcançar uma origem que esteja disponível e ter capacidade suficiente. Estado do aplicativo, autenticação, controles de fraude e consistência de dados devem funcionar através de ambos os caminhos. Os operadores devem saber quando e como deslocar o tráfego.
A RFC 8901 descreve modelos multi-provedor de DNSSEC e a coordenação necessária para garantir que resolvedores validadores possam autenticar respostas de diferentes provedores. Ela mostra que a diversidade introduz seu próprio plano de controle. Chaves, registros DNSKEY, registros DS, algoritmos de assinatura e temporização devem permanecer consistentes. Uma implantação multi-provedor incorreta pode criar falhas que um único provedor não criaria. [16]
Essa complexidade não invalida a diversidade. Significa que a resiliência deve ser projetada e testada, não comprada como um rótulo.
Um cliente pode avaliar a independência em várias dimensões:
- diferentes provedores autoritativos e redes de serviço;
- um registrador e fluxo de trabalho de delegação que não dependem do provedor com falha;
- processos compatíveis de DNSSEC e gerenciamento de chaves;
- configurações de CDN geradas a partir de dados de origem controlados e comparáveis;
- certificados e política de segurança disponíveis em ambos os caminhos;
- conectividade de origem que não compartilha a mesma dependência única;
- capacidade suficiente e autorização comercial;
- monitoramento externo através de múltiplos resolvedores e redes;
- um processo de decisão ensaiado para failover e failback.
A organização também deve saber o que permanece compartilhado. Ambos os provedores podem receber registros de um pipeline de automação. Ambos podem puxar da mesma origem. Ambos podem usar um provedor de identidade para acesso do operador. Uma única atualização de fonte errônea pode se propagar para dois fornecedores e derrotar a diversidade aparente.
Os clientes devem reter evidências de teste de que um caminho alternativo funciona quando o DNS ou CDN primário está indisponível, não apenas quando ambos estão saudáveis. Isso inclui injeção de falha, testes de delegação DNS, observação de comportamento de cache, verificações de certificados e transações de aplicativo.
Ainda assim, a arquitetura do cliente não absolve a Akamai. Um provedor de plataforma que aceita responsabilidade por um componente DNS compartilhado controla um risco que os clientes não podem inspecionar ou reparar. Responsabilidade em camadas significa que os clientes devem evitar concentração evitável, enquanto os provedores devem restringir a autoridade de mudanças compartilhadas. Não significa que todo cliente deve construir uma segunda plataforma global para compensar um bug não divulgado do provedor.
A observabilidade deve conectar configuração, DNS e estado do aplicativo
A ThousandEyes pôde mostrar que as falhas de aplicativo coincidiram com problemas de resolução DNS. A Akamai pôde identificar uma atualização de configuração e revertê-la. Um registro completo de incidente precisa conectar essas visões.
Pelo menos cinco camadas de evidência são importantes.
Acamada de alteraçãoregistra a configuração solicitada, representação normalizada, diff, revisor, horário de ativação, escopo de distribuição e versão anterior.
Acamada de serviçoregistra quais instâncias de nameserver ou nós de componente aceitaram a atualização, qual versão cada uma serviu, sua saúde e seus códigos de resposta.
Acamada DNSregistra sucesso de consulta autoritativa, latência, SERVFAIL, timeout e consistência de resposta entre nomes, tipos de registro, caminhos anycast e redes.
Acamada de resolvedorregistra estado do cache, comportamento de servir obsoleto, repetição e efeitos de cache negativo.
Acamada de aplicativoregistra se as respostas retornadas levaram a transações TLS e de aplicativo bem-sucedidas.
Se essas camadas usam identificadores e relógios não relacionados, a análise de causa raiz se torna mais lenta e a responsabilidade mais fraca. Um ID de alteração deve ser rastreável até uma versão de componente, população de serviço, resultado de sonda e linha do tempo do incidente. O sistema deve preservar essa correlação mesmo após a reversão, quando o estado ativo não reproduz mais a falha.
A medição externa continua essencial. Anycast pode rotear sondas internas de forma diferente dos usuários. Domínios de clientes podem exercitar caminhos de código que um nome de saúde genérico não exercita. O comportamento recursivo varia. O monitoramento de um operador deve incluir testes de fora para dentro usando resolvedores, redes, nomes e transações de aplicativo representativos.
O registro público ilustra o benefício. O horário de atualização das 15h45 da Akamai e as falhas observadas às 15h38 pela ThousandEyes não são idênticos, mas juntos expõem um limite que vale a pena investigar. Alguma propagação começou antes do gatilho registrado? O timestamp de medição refletiu um sintoma anterior? O relógio ou a precisão da publicação diferiram? O pacote de fontes não responde. Um registro interno correlacionado poderia.
A comunicação deve preservar as mesmas distinções de camada. "Rede saudável" é muito amplo. Uma mensagem de status útil pode dizer que as respostas autoritativas estão se recuperando, a reversão está se propagando, a acessibilidade do aplicativo está melhorando e caches residuais de resolvedores podem continuar mostrando falhas. Os clientes podem então comparar suas próprias evidências com as do operador.
A declaração da Akamai foi concisa e incluiu o gatilho, reversão, duração, limite de não ciberataque e correção de escopo posterior. Esses são fatos iniciais fortes. A lacuna de responsabilidade não é que a empresa não disse nada. É que o registro público não contém as evidências técnicas necessárias para avaliar validação, contenção de implantação e reparo durável.
Responsabilidade segue controle, capacidade e evidência
A responsabilidade às vezes é reduzida a culpa: a Akamai mudou uma configuração, então a Akamai é responsável. Isso é direcionalmente verdadeiro, mas analiticamente incompleto. Uma alocação útil identifica qual ator controlava qual risco e que evidências cada um deve reter.
Engenharia de plataforma e rede da Akamai
A Akamai controlava o componente que recebeu a atualização, o software e a interface de configuração, validação, topologia de implantação, monitoramento, reversão e reparo pós-incidente. Seu dever era proporcional ao alcance do componente. Se uma alteração podia afetar muitos sites de clientes, o pipeline precisava de controles projetados para esse raio de explosão compartilhado.
As evidências relevantes incluem um diff normalizado, testes, resultados canário, confirmações de implantação, métricas de saúde, logs de reversão e resultados de regressão. A declaração pública estabelece causa e recuperação de alto nível, mas não esses artefatos. [1]
Proprietários de produto e de alteração da Akamai
Os proprietários de produto controlavam como a urgência da atualização, o impacto no cliente e a aprovação eram representados. Eles determinavam se uma alteração era rotineira, se uma exceção podia ignorar a preparação e quais compromissos de nível de serviço se aplicavam. Eles também controlavam se os clientes recebiam informações de arquitetura e remediação suficientes para avaliar seus próprios planos de continuidade.
Esse papel não é o mesmo que culpar um gerente. Reconhece que limites de raio de explosão e requisitos de evidência são decisões de produto, bem como decisões de software.
Clientes da Akamai
Os clientes controlavam algumas partes da diversidade de provedores, delegação DNS, TTLs, certificados, conectividade de origem, portabilidade de aplicativo e testes de failover. Seu dever dependia da criticidade do serviço e dos recursos práticos. Um banco, companhia aérea ou serviço público pode razoavelmente exigir caminhos independentes mais fortes do que um site de baixo impacto.
Os clientes não controlavam a atualização interna da Akamai. Uma falha em contratar um segundo provedor não transfere a causa raiz. Ela muda a exposição e as opções de recuperação do cliente.
Operadores de resolvedores recursivos
Operadores de resolvedores controlavam repetição, cache de falha, política de servir obsoleto e monitoramento. Suas implementações podiam alterar a duração e os sintomas visíveis. Eles devem seguir os padrões atuais, evitar amplificação prejudicial de repetição e expor telemetria suficiente para distinguir falha autoritativa de estado de cache local. [14][18][19][20]
Eles não podiam inventar com segurança dados autoritativos atuais. Servir obsoleto é uma mitigação limitada, não um substituto para autoridade saudável.
Registradores e provedores de DNS secundário
Onde os clientes os usavam, registradores e provedores secundários controlavam a delegação e caminhos de serviço alternativos. A operação multi-provedor exigia registros consistentes, coordenação DNSSEC, autoridade de alteração e failover testado. [12][16]
Organizações de padrões e medição
O IETF definiu o comportamento do protocolo e orientação operacional. A ThousandEyes forneceu medições independentes. Nenhum operou o componente da Akamai. Seu papel era tornar os mecanismos de falha e as evidências públicas mais legíveis.
Esse mapa previne dois erros. O primeiro é a concentração total de culpa na última pessoa que ativou uma alteração. O segundo é a difusão tão ampla que nenhum ator tem um dever concreto. O controle prático dá a cada dever um limite.
A alegação de reparo precisa de um teste de falha reproduzível
A Akamai disse que estava revisando seu processo de atualização de software para evitar futuras interrupções. [1]
Esse compromisso é sensato, mas "revisou o processo" não é um resultado técnico. A questão durável é se a organização pode reproduzir a classe de falha e mostrar que controles independentes agora a contêm.
Um programa de reparo forte começaria com um modelo exato do incidente:
- a menor configuração que aciona o bug;
- o componente e versão que o interpretam;
- a população de serviço exposta;
- a falha DNS observável;
- o estado de reversão;
- os sinais de monitoramento que a identificam.
O próximo passo é um teste negativo. Alimente a classe desencadeadora na pré-produção e confirme que a nova validação a rejeita ou que um canário falha sem alcançar a frota mais ampla. O teste deve afirmar não apenas que uma entrada específica é bloqueada, mas que entradas semanticamente equivalentes e variantes malformadas não podem contornar o controle.
O terceiro passo é a independência. Se o reparo adiciona outro validador, demonstre que ele usa uma representação, analisador ou fonte de verdade diferente do componente com falha. Se adiciona um canário, prove que o canário recebe a mesma configuração compilada que a produção e que a promoção para automaticamente em caso de falha de DNS ou aplicativo.
O quarto passo é a contenção do domínio de falha. Demonstre que uma atualização insegura não pode alcançar todo domínio de serviço autoritativo antes que as evidências sejam avaliadas. Os domínios podem ser definidos por nuvem anycast, coorte de software, região, grupo de clientes ou componente de serviço, mas devem ser operacionalmente significativos.
O quinto passo é a reversão sob condições degradadas. Desabilite ou isole parte do caminho de controle comum e mostre que os operadores ainda podem reativar um estado conhecidamente bom. Confirme a convergência de múltiplas redes externas.
O sexto passo é um resultado visível ao cliente. Publique informações suficientes para que os clientes mapeiem a remediação para sua dependência. Isso pode incluir a classe de falha, mecanismo de contenção, escopo de teste e data, sem divulgar detalhes exploráveis.
O sétimo passo é o monitoramento de recorrência. Rastreie configurações rejeitadas, abortos de canário, testes de reversão e erros DNS relacionados à configuração ao longo do tempo. Um reparo que passa uma vez e se degrada silenciosamente não é durável.
A documentação atual da Akamai descreve listas de alterações, diffs, versões, status de propagação e reativação. Esses são blocos de construção úteis para evidências. O artigo não pode afirmar que foram adicionados por causa do incidente de 2021 ou que se aplicam ao mesmo componente. Pode dizer que artefatos equivalentes são o padrão pelo qual uma alegação de reparo deve ser avaliada. [7][8]
O que o registro público não pode provar
O conjunto de fontes é forte o suficiente para estabelecer um caso real de infraestrutura de rede e fraco o suficiente para exigir contenção.
Não pode provar o valor exato da configuração. Não pode identificar o bug. Não pode mostrar se a atualização foi global na ativação ou se tornou ampla através da propagação. Não pode afirmar o número de clientes afetados. Não pode estabelecer quais nuvens anycast ou processos de nameserver falharam. Não pode mostrar se nameservers com entrada atrasada do artigo de sistemas da Akamai foram relevantes. Não pode identificar o revisor, aprovador ou operador individual. Não pode quantificar perdas ou atribuir danos contratuais.
O registro também não pode provar que todo cliente usando múltiplos provedores permaneceu disponível, ou que todo cliente de provedor único falhou. A ThousandEyes fornece exemplos e observações agregadas de seu ponto de medição, não um censo universal. [2][4]
As RFCs estabelecem contexto de protocolo e operacional. Elas não criam uma conclusão factual de que a Akamai violou um padrão. A RFC 9199 e a RFC 9520 são posteriores ao incidente e não devem ser apresentadas como obrigações que governaram a atualização de 2021. [15][20]
A ausência desses fatos não apaga a responsabilidade. Ela define o limite entre uma conclusão apoiada e especulação. A conclusão apoiada é que uma atualização de configuração compartilhada acionou um bug em um componente DNS, causou falhas significativas de acessibilidade e exigiu reversão. O dever de evidência é mostrar como a autoridade de configuração é agora restrita e como a recuperação é verificada.
Um teste reutilizável de responsabilidade de acessibilidade
O incidente suporta um teste prático para qualquer provedor que opere DNS autoritativo, direcionamento de CDN, gerenciamento de tráfego ou outro plano de controle de rede compartilhado.
1. Nomeie a superfície de controle indispensável.
Identifique se os usuários dependem de DNS autoritativo, BGP, anycast, política de roteamento, certificados, seleção de origem ou outro mecanismo. Não chame o evento de uma queda genérica.
2. Separe a alteração pretendida da autoridade efetiva.
Registre o que a alteração deveria fazer e calcule quais serviços, usuários e domínios de falha ela poderia realmente afetar.
3. Valide o significado independentemente.
Use controles que comparem comportamento normalizado, escopo autorizado e infraestrutura protegida, não duas cópias da mesma suposição de analisador.
4. Estagie através de domínios de falha reais.
Teste canário com a entrada compilada exata e pare a propagação automaticamente quando as evidências de DNS, roteamento ou aplicativo se degradarem.
5. Preserve um caminho independente conhecidamente bom.
Mantenha um caminho de serviço ou gerenciamento que não consuma a nova entrada imediatamente e possa restaurar o estado anterior.
6. Meça de fora.
Teste respostas autoritativas, resultados de resolvedores e transações de aplicativo de múltiplas redes. A saúde anycast não pode ser inferida de um único local.
7. Prove a convergência da reversão.
Mostre quais destinatários reverteram, quais respostas retornaram e quais aplicativos se recuperaram. Uma mensagem de sucesso do plano de controle não é suficiente.
8. Teste alternativas do cliente de ponta a ponta.
A diversidade de provedores deve incluir delegação, DNSSEC, certificados, origens, capacidade, estado e autoridade operacional.
9. Publique escopo corrigido.
Quando a investigação restringe ou altera uma alegação inicial, preserve a correção proeminentemente e identifique quais conclusões mudaram.
10. Vincule o reparo à falha reproduzida.
Demonstre que a classe original e variantes semânticas são rejeitadas, contidas ou recuperadas sem impacto amplo ao usuário.
Este teste aloca responsabilidade sem fingir que todo ator tem igual poder. O provedor assume o ônus principal pela plataforma compartilhada. Clientes e resolvedores assumem deveres limitados pelos controles que realmente possuem. Evidências públicas permitem que esses deveres sejam avaliados.
Conclusão
A Akamai restaurou o serviço rapidamente em 22 de julho de 2021. Sua declaração pública identificou uma atualização de configuração, um bug acionado, reversão, uma duração de até uma hora e um limite de não ciberataque. Sua correção no dia seguinte restringiu o sistema afetado a um componente DNS da Secure Edge CDN. A ThousandEyes forneceu evidências independentes de que a interrupção apareceu como falhas de acessibilidade de DNS e aplicativos em muitos sites e usuários. [1][2]
A lição mais profunda não é que o DNS distribuído falhou apesar de ter muitos servidores. É que a distribuição de serviço e a independência de configuração são propriedades diferentes. Anycast pode espalhar o serviço através de redes e continentes enquanto uma entrada de controle compartilhada preserva um modo de falha comum. Caches de resolvedores e diversidade de clientes podem suavizar o efeito, mas não podem substituir um pipeline de atualização autoritativa seguro.
O risco segue a autoridade que uma alteração pode exercer. A responsabilidade segue quem pode restringir essa autoridade, interrompê-la, observar suas consequências e provar o reparo. Para uma plataforma que fica antes da conexão do aplicativo, esses são deveres de infraestrutura de rede, não meras preferências de processo de software.
Fontes
- https://www.akamai.com/blog/news/akamai-summarizes-service-disruption-resolved
- https://www.thousandeyes.com/blog/akamai-edge-dns-outage-analysis
- https://www.thousandeyes.com/blog/internet-report-episode-43
- https://www.thousandeyes.com/blog/seven-outages-shook-up-2021
- https://techdocs.akamai.com/edge-dns/docs/welcome-edge-dns
- https://techdocs.akamai.com/edge-dns/docs/features
- https://techdocs.akamai.com/edge-dns/docs/config-prim-zones
- https://techdocs.akamai.com/edge-dns/reference/api-summary
- https://www.akamai.com/site/en/documents/research-paper/akamai-dns-providing-authoritative-answers-to-the-worlds-queries.pdf
- https://www.rfc-editor.org/rfc/rfc1034.html
- https://www.rfc-editor.org/rfc/rfc1035.html
- https://www.rfc-editor.org/rfc/rfc2182.html
- https://www.rfc-editor.org/rfc/rfc4786.html
- https://www.rfc-editor.org/rfc/rfc8767.html
- https://www.rfc-editor.org/rfc/rfc9199.html
- https://www.rfc-editor.org/rfc/rfc8901.html
- https://www.rfc-editor.org/rfc/rfc8499.html
- https://www.rfc-editor.org/rfc/rfc4697.html
- https://www.rfc-editor.org/rfc/rfc2308.html
- https://www.rfc-editor.org/rfc/rfc9520.html

