Por que a Internet ainda está online?

A Internet parece ser uma estrutura forte, independente e indestrutível. Em teoria, a rede é forte o suficiente para sobreviver a uma explosão nuclear. Na realidade, a Internet pode derrubar um pequeno roteador. Tudo porque a Internet é um amontoado de contradições, vulnerabilidades, erros e vídeos sobre gatos. A espinha dorsal da Internet, o BGP, está repleta de problemas. É incrível que ele ainda esteja respirando. Além dos erros na própria Internet, ela também é quebrada por todos: grandes provedores de Internet, corporações, estados e ataques DDoS. O que fazer a respeito e como conviver com isso?

Por que a Internet ainda está online?

Sabe a resposta Alexei Uchakin (Noite_Cobra) é o líder de uma equipe de engenheiros de rede da IQ Option. Sua principal tarefa é a acessibilidade da plataforma aos usuários. Na transcrição do relatório de Alexey sobre Santo HighLoad++ 2019 Vamos falar sobre BGP, ataques DDOS, switches de Internet, erros de provedor, descentralização e casos em que um pequeno roteador fez a Internet dormir. No final - algumas dicas sobre como sobreviver a tudo isso.

O dia em que a Internet quebrou

Citarei apenas alguns incidentes em que a conectividade da Internet foi interrompida. Isso será suficiente para o quadro completo.

"Incidente AS7007". A primeira vez que a Internet quebrou foi em abril de 1997. Houve um bug no software de um roteador do sistema autônomo 7007. Em algum momento, o roteador anunciou sua tabela de roteamento interna aos vizinhos e enviou metade da rede para um buraco negro.

"Paquistão contra o YouTube". Em 2008, caras corajosos do Paquistão decidiram bloquear o YouTube. Eles fizeram isso tão bem que metade do mundo ficou sem gatos.

“Captura de prefixos VISA, MasterCard e Symantec pela Rostelecom”. Em 2017, a Rostelecom começou a anunciar erroneamente os prefixos VISA, MasterCard e Symantec. Como resultado, o tráfego financeiro foi encaminhado através de canais controlados pelo provedor. O vazamento não durou muito, mas foi desagradável para as financeiras.

Google x Japão. Em agosto de 2017, o Google começou a anunciar os prefixos dos principais provedores japoneses NTT e KDDI em alguns de seus uplinks. O tráfego foi enviado ao Google como trânsito, provavelmente por engano. Como o Google não é um provedor e não permite tráfego em trânsito, uma parte significativa do Japão ficou sem Internet.

“DV LINK capturou os prefixos do Google, Apple, Facebook, Microsoft”. Também em 2017, o provedor russo DV LINK, por algum motivo, começou a anunciar as redes do Google, Apple, Facebook, Microsoft e alguns outros grandes players.

“eNet dos EUA capturou os prefixos AWS Route53 e MyEtherwallet”. Em 2018, o provedor de Ohio ou um de seus clientes anunciou as redes de carteiras criptografadas Amazon Route53 e MyEtherwallet. O ataque foi bem-sucedido: mesmo apesar do certificado autoassinado, cujo aviso apareceu ao usuário ao entrar no site MyEtherwallet, muitas carteiras foram sequestradas e parte da criptomoeda foi roubada.

Houve mais de 2017 incidentes desse tipo somente em 14! A rede ainda é descentralizada, então nem tudo e nem todos quebram. Mas existem milhares de incidentes, todos relacionados ao protocolo BGP que alimenta a Internet.

BGP e seus problemas

Protocolo BGP - Protocolo de Gateway de Fronteira, foi descrito pela primeira vez em 1989 por dois engenheiros da IBM e Cisco Systems em três “guardanapos” - folhas A4. Esses "guardanapos" ainda estão na sede da Cisco Systems em São Francisco como uma relíquia do mundo das redes.

O protocolo é baseado na interação de sistemas autônomos - Sistemas Autônomos ou AS, para abreviar. Um sistema autônomo é simplesmente um ID ao qual as redes IP são atribuídas no registro público. Um roteador com esse ID pode anunciar essas redes para o mundo. Assim, qualquer rota na Internet pode ser representada como um vetor, que é denominado Caminho AS. O vetor consiste no número de sistemas autônomos que devem ser percorridos para chegar à rede de destino.

Por exemplo, existe uma rede de vários sistemas autônomos. Você precisa passar do sistema AS65001 para o sistema AS65003. O caminho de um sistema é representado por AS Path no diagrama. É composto por dois sistemas autônomos: 65002 e 65003. Para cada endereço de destino existe um vetor AS Path, que consiste na quantidade de sistemas autônomos pelos quais precisamos passar.

Por que a Internet ainda está online?

Então, quais são os problemas com o BGP?

BGP é um protocolo de confiança

O protocolo BGP é baseado em confiança. Isso significa que confiamos em nosso vizinho por padrão. Esta é uma característica de muitos protocolos que foram desenvolvidos nos primórdios da Internet. Vamos descobrir o que significa “confiança”.

Sem autenticação de vizinho. Formalmente, existe o MD5, mas o MD5 em 2019 é apenas isso...

Sem filtragem. O BGP possui filtros e eles são descritos, mas não são usados ​​ou são usados ​​incorretamente. Explicarei o porquê mais tarde.

É muito fácil montar um bairro. Configurar uma vizinhança no protocolo BGP em quase todos os roteadores requer algumas linhas da configuração.

Não são necessários direitos de gerenciamento de BGP. Você não precisa fazer exames para comprovar suas qualificações. Ninguém tirará seus direitos de configurar o BGP enquanto estiver bêbado.

Dois problemas principais

Sequestros de prefixo. O sequestro de prefixo é anunciar uma rede que não pertence a você, como é o caso do MyEtherwallet. Pegamos alguns prefixos, combinamos com o provedor ou hackeamos, e através dele anunciamos essas redes.

Vazamentos de rota. Vazamentos são um pouco mais complicados. Vazamento é uma mudança no AS Path. Na melhor das hipóteses, a mudança resultará num atraso maior porque será necessário percorrer uma rota mais longa ou numa ligação menos espaçosa. Na pior das hipóteses, o caso do Google e do Japão se repetirá.

O próprio Google não é um operador ou um sistema de trânsito autônomo. Mas quando ele anunciou as redes das operadoras japonesas ao seu provedor, o tráfego através do Google via AS Path foi visto como uma prioridade mais alta. O tráfego foi para lá e caiu simplesmente porque as configurações de roteamento dentro do Google são mais complexas do que apenas filtros na fronteira.

Por que os filtros não funcionam?

Ninguém se importa. Esta é a principal razão: ninguém se importa. O administrador de um pequeno provedor ou empresa que se conectou ao provedor via BGP pegou o MikroTik, configurou o BGP nele e nem sabe que filtros podem ser configurados ali.

Erros de configuração. Estragaram alguma coisa, erraram na máscara, colocaram a malha errada – e agora errou de novo.

Sem possibilidade técnica. Por exemplo, os provedores de telecomunicações têm muitos clientes. A coisa mais inteligente a fazer é atualizar automaticamente os filtros de cada cliente – para monitorar se ele tem uma nova rede, se alugou sua rede para alguém. É difícil acompanhar isso e ainda mais difícil com as mãos. Portanto, eles simplesmente instalam filtros relaxados ou simplesmente não instalam filtros.

Exceções. Há exceções para clientes queridos e grandes. Especialmente no caso de interfaces entre operadores. Por exemplo, TransTeleCom e Rostelecom possuem várias redes e existe uma interface entre elas. Se a junta cair, não será bom para ninguém, então os filtros são relaxados ou removidos completamente.

Informações desatualizadas ou irrelevantes na TIR. Os filtros são construídos com base nas informações registradas em IRR - Registro de Roteamento da Internet. Estes são registros de registradores regionais da Internet. Freqüentemente, os registros contêm informações desatualizadas ou irrelevantes, ou ambas.

Quem são esses registradores?

Por que a Internet ainda está online?

Todos os endereços da Internet pertencem à organização IANA - Autoridade para Atribuição de Números da Internet. Quando você compra uma rede IP de alguém, você não está comprando endereços, mas sim o direito de usá-los. Os endereços são um recurso intangível e, de comum acordo, são todos propriedade da IANA.

O sistema funciona assim. A IANA delega o gerenciamento de endereços IP e números de sistemas autônomos a cinco registradores regionais. Eles emitem sistemas autônomos LIR - registradores locais da Internet. Os LIRs então alocam endereços IP aos usuários finais.

A desvantagem do sistema é que cada um dos registradores regionais mantém seus registros à sua maneira. Cada um tem a sua própria opinião sobre que informações devem constar dos registos e quem deve ou não verificá-las. O resultado é a bagunça que temos agora.

De que outra forma você pode combater esses problemas?

TIR - qualidade medíocre. Está claro com a TIR - tudo está ruim lá.

Comunidades BGP. Este é algum atributo descrito no protocolo. Podemos anexar, por exemplo, uma comunidade especial ao nosso anúncio para que um vizinho não envie as nossas redes aos seus vizinhos. Quando temos um link P2P, apenas trocamos nossas redes. Para evitar que a rota vá acidentalmente para outras redes, adicionamos community.

Comunidades não são transitivas. É sempre um contrato para dois, e esta é a sua desvantagem. Não podemos atribuir nenhuma comunidade, com exceção de uma, que é aceita por padrão por todos. Não podemos ter certeza de que todos aceitarão esta comunidade e a interpretarão corretamente. Portanto, na melhor das hipóteses, se você concordar com o seu uplink, ele entenderá o que você deseja dele em termos de comunidade. Mas seu vizinho pode não entender, ou a operadora simplesmente redefinirá sua tag e você não conseguirá o que deseja.

RPKI + ROA resolve apenas uma pequena parte dos problemas. RPKI é Infraestrutura de Chave Pública de Recursos  — uma estrutura especial para assinar informações de roteamento. É uma boa ideia forçar os LIRs e seus clientes a manter um banco de dados de espaço de endereço atualizado. Mas há um problema com isso.

RPKI também é um sistema hierárquico de chave pública. A IANA tem uma chave a partir da qual as chaves RIR são geradas e a partir de quais chaves LIR são geradas? com o qual assinam seu espaço de endereço usando ROAs - Route Origin Authorizations:

— Garanto-vos que este prefixo será anunciado em nome desta região autónoma.

Além do ROA, existem outros objetos, mas falaremos mais sobre eles posteriormente. Parece uma coisa boa e útil. Mas isso não nos protege de vazamentos da palavra “de jeito nenhum” e não resolve todos os problemas com sequestro de prefixo. Portanto, os jogadores não têm pressa em implementá-lo. Embora já existam garantias de grandes players, como AT&T e grandes empresas IX, de que os prefixos com um registro de ROA inválido serão eliminados.

Talvez eles façam isso, mas por enquanto temos um grande número de prefixos que não estão assinados de forma alguma. Por um lado, não está claro se são anunciados de forma válida. Por outro lado, não podemos abandoná-los por padrão, porque não temos certeza se isso é correto ou não.

O que mais está lá?

BGPSec. Isso é algo legal que os acadêmicos criaram para uma rede de pôneis rosa. Eles disseram:

- Temos RPKI + ROA - mecanismo de verificação de assinaturas de espaço de endereço. Vamos criar um atributo BGP separado e chamá-lo de Caminho BGPSec. Cada roteador assinará com sua própria assinatura os anúncios que anuncia aos seus vizinhos. Desta forma obteremos um caminho confiável da cadeia de anúncios assinados e poderemos verificá-lo.

Bom na teoria, mas na prática existem muitos problemas. O BGPSec quebra muitas mecânicas BGP existentes para selecionar próximos saltos e gerenciar o tráfego de entrada/saída diretamente no roteador. O BGPSec não funciona até que 95% de todo o mercado o tenha implementado, o que por si só é uma utopia.

O BGPSec tem enormes problemas de desempenho. No hardware atual, a velocidade de verificação de anúncios é de aproximadamente 50 prefixos por segundo. Para efeito de comparação: a tabela atual da Internet de 700 prefixos será carregada em 000 horas, durante as quais mudará mais 5 vezes.

Política aberta do BGP (BGP baseado em função). Nova proposta baseada no modelo Gao-Rexford. Estes são dois cientistas que estão pesquisando o BGP.

O modelo Gao-Rexford é o seguinte. Para simplificar, com o BGP existe um pequeno número de tipos de interações:

  • Cliente Provedor;
  • P2P;
  • comunicação interna, digamos iBGP.

Com base na função do roteador, já é possível atribuir determinadas políticas de importação/exportação por padrão. O administrador não precisa configurar listas de prefixos. Com base na função que os roteadores concordam entre si e que podem ser configuradas, já recebemos alguns filtros padrão. Este é atualmente um rascunho que está sendo discutido na IETF. Espero que em breve veremos isso na forma de uma RFC e implementação em hardware.

Grandes provedores de Internet

Vejamos o exemplo de um provedor CenturyLink. É o terceiro maior fornecedor dos EUA, atendendo 37 estados e possuindo 15 data centers. 

Em dezembro de 2018, a CenturyLink esteve no mercado dos EUA por 50 horas. Durante o incidente, houve problemas com o funcionamento dos caixas eletrônicos em dois estados, e o número 911 não funcionou por várias horas em cinco estados. A loteria em Idaho foi completamente arruinada. O incidente está atualmente sob investigação pela Comissão de Telecomunicações dos EUA.

A causa da tragédia foi uma placa de rede em um data center. O cartão apresentou defeito, enviou pacotes incorretos e todos os 15 data centers do provedor falharam.

Por que a Internet ainda está online?

A ideia não funcionou para este provedor "grande demais para cair". Essa ideia não funciona de jeito nenhum. Você pode pegar qualquer jogador importante e colocar algumas pequenas coisas em cima. Os EUA ainda estão indo bem com conectividade. Os clientes da CenturyLink que tinham uma reserva entraram em massa. Em seguida, as operadoras alternativas reclamaram da sobrecarga de seus links.

Se o Kazakhtelecom condicional cair, todo o país ficará sem Internet.

Corporações

Provavelmente Google, Amazon, Facebook e outras empresas apoiam a Internet? Não, eles quebram também.

Em 2017 em São Petersburgo na conferência ENOG13 Jeff Houston de APNIC introduzido relatório “A Morte do Trânsito”. Diz que estamos habituados a que as interações, os fluxos de dinheiro e o tráfego na Internet sejam verticais. Temos pequenos provedores que pagam pela conectividade com os maiores e já pagam pela conectividade com o trânsito global.

Por que a Internet ainda está online?

Agora temos uma estrutura orientada verticalmente. Tudo ficaria bem, mas o mundo está a mudar – os principais intervenientes estão a construir os seus cabos transoceânicos para construir as suas próprias espinhas dorsais.

Por que a Internet ainda está online?
Notícias sobre cabo CDN.

Em 2018, a TeleGeography divulgou um estudo de que mais da metade do tráfego na Internet não é mais a Internet, mas sim os backbones CDN de grandes players. Este é o tráfego relacionado à Internet, mas não é mais a rede da qual falávamos.

Por que a Internet ainda está online?

A Internet está se dividindo em um grande conjunto de redes fracamente conectadas.

A Microsoft tem sua própria rede, o Google tem a sua e eles têm pouca sobreposição entre si. O tráfego originado em algum lugar nos EUA passa pelos canais da Microsoft através do oceano até a Europa em algum lugar em um CDN, depois através do CDN ou IX ele se conecta ao seu provedor e chega ao seu roteador.

A descentralização está desaparecendo.

Esta força da Internet, que a ajudará a sobreviver a uma explosão nuclear, está a perder-se. Surgem locais de concentração de usuários e tráfego. Se o Google Cloud condicional cair, haverá muitas vítimas ao mesmo tempo. Sentimos isso em parte quando Roskomnadzor bloqueou a AWS. E o exemplo da CenturyLink mostra que mesmo as pequenas coisas são suficientes para isso.

Anteriormente, nem tudo e nem todos quebravam. No futuro, poderemos chegar à conclusão de que, ao influenciar um grande interveniente, poderemos quebrar muitas coisas, em muitos lugares e em muitas pessoas.

Estados

Os Estados são os próximos na fila e é isso que geralmente acontece com eles.

Por que a Internet ainda está online?

Aqui nosso Roskomnadzor nem é pioneiro. Existe uma prática semelhante de encerramento da Internet no Irão, na Índia e no Paquistão. Na Inglaterra existe um projeto de lei sobre a possibilidade de desligar a Internet.

Qualquer grande estado deseja ter uma opção para desligar a Internet, total ou parcialmente: Twitter, Telegram, Facebook. Não é que eles não entendam que nunca terão sucesso, mas eles realmente querem isso. A mudança é usada, via de regra, para fins políticos - para eliminar concorrentes políticos, ou as eleições estão se aproximando, ou os hackers russos quebraram algo novamente.

Ataques DDoS

Não vou tirar pão dos meus camaradas do Qrator Labs, eles fazem isso muito melhor do que eu. Eles têm relatório anual sobre a estabilidade da Internet. E foi isso que escreveram no relatório de 2018.

A duração média dos ataques DDoS cai para 2.5 horas. Os invasores também começam a contar dinheiro e, se o recurso não estiver disponível imediatamente, eles rapidamente o deixam de lado.

A intensidade dos ataques está crescendo. Em 2018, vimos 1.7 Tb/s na rede Akamai, e esse não é o limite.

Novos vetores de ataque estão surgindo e os antigos estão se intensificando. Estão surgindo novos protocolos suscetíveis à amplificação, e novos ataques estão surgindo aos protocolos existentes, especialmente TLS e similares.

A maior parte do tráfego vem de dispositivos móveis. Ao mesmo tempo, o tráfego da Internet é transferido para clientes móveis. Tanto quem ataca quanto quem defende precisam saber trabalhar com isso.

Invulnerável - não. Esta é a ideia principal - não existe uma proteção universal que proteja definitivamente contra qualquer DDoS.

O sistema não pode ser instalado a menos que esteja conectado à Internet.

Espero ter te assustado o suficiente. Vamos agora pensar no que fazer a respeito.

O que fazer ?!

Se você tiver tempo livre, vontade e conhecimento de inglês, participe dos grupos de trabalho: IETF, RIPE WG. São listas de e-mail abertas, inscreva-se em listas de e-mail, participe de discussões, participe de conferências. Se você tiver status LIR, poderá votar, por exemplo, no RIPE em diversas iniciativas.

Para meros mortais isso é monitoramento. Para saber o que está quebrado.

Monitoramento: o que verificar?

Ping normal, e não apenas uma verificação binária - funciona ou não. Registre o RTT no histórico para que você possa analisar as anomalias mais tarde.

Traceroute. Este é um programa utilitário para determinar rotas de dados em redes TCP/IP. Ajuda a identificar anomalias e bloqueios.

Verificações HTTP para URLs personalizados e certificados TLS ajudará a detectar bloqueio ou falsificação de DNS para um ataque, o que é praticamente a mesma coisa. O bloqueio geralmente é realizado por falsificação de DNS e direcionamento do tráfego para uma página stub.

Se possível, verifique a resolução de seus clientes sobre sua origem em diferentes locais se você tiver um aplicativo. Isso ajudará você a detectar anomalias de sequestro de DNS, algo que os provedores às vezes fazem.

Monitoramento: onde verificar?

Não existe uma resposta universal. Verifique de onde o usuário vem. Se os usuários estiverem na Rússia, verifique na Rússia, mas não se limite a isso. Se seus usuários moram em regiões diferentes, verifique nessas regiões. Mas melhor de todo o mundo.

Monitoramento: o que verificar?

Eu descobri três maneiras. Se você sabe mais, escreva nos comentários.

  • Atlas MADURO.
  • Acompanhamento comercial.
  • Sua própria rede de máquinas virtuais.

Vamos falar sobre cada um deles.

Atlas MADURO - é uma caixa tão pequena. Para quem conhece o “Inspetor” doméstico - esta é a mesma caixa, mas com um adesivo diferente.

Por que a Internet ainda está online?

RIPE Atlas é um programa gratuito. Você se cadastra, recebe um roteador pelo correio e conecta-o à rede. Pelo fato de outra pessoa usar sua amostra, você ganha alguns créditos. Com estes empréstimos você mesmo pode fazer algumas pesquisas. Você pode testar de diferentes maneiras: ping, traceroute, verificação de certificados. A cobertura é bastante grande, existem muitos nós. Mas existem nuances.

O sistema de crédito não permite construir soluções de produção. Não haverá créditos suficientes para pesquisas contínuas ou monitoramento comercial. Os créditos são suficientes para um breve estudo ou verificação única. A norma diária de uma amostra é consumida em 1-2 verificações.

A cobertura é desigual. Como o programa é gratuito em ambas as direções, a cobertura é boa na Europa, na parte europeia da Rússia e em algumas regiões. Mas se você precisar da Indonésia ou da Nova Zelândia, tudo será muito pior - você pode não ter 50 amostras por país.

Você não pode verificar http a partir de uma amostra. Isto se deve a nuances técnicas. Eles prometem consertar na nova versão, mas por enquanto o http não pode ser verificado. Somente o certificado pode ser verificado. Algum tipo de verificação de http só pode ser feito em um dispositivo RIPE Atlas especial chamado Anchor.

O segundo método é o monitoramento comercial. Está tudo bem com ele, você está pagando em dinheiro, certo? Eles prometem várias dezenas ou centenas de pontos de monitoramento em todo o mundo e desenham lindos painéis prontos para uso. Mas, novamente, existem problemas.

É pago, em alguns lugares é muito. Monitoramento de ping, verificações mundiais e muitas verificações de http podem custar vários milhares de dólares por ano. Se as finanças permitirem e você gostar desta solução, vá em frente.

A cobertura pode não ser suficiente na região de interesse. Com o mesmo ping, é especificada no máximo uma parte abstrata do mundo - Ásia, Europa, América do Norte. Sistemas de monitoramento raros podem detalhar um país ou região específica.

Suporte fraco para testes personalizados. Se você precisa de algo personalizado, e não apenas de um “encaracolado” na URL, então há problemas com isso também.

A terceira forma é o seu monitoramento. Este é um clássico: “Vamos escrever o nosso!”

Seu monitoramento se transforma no desenvolvimento de um produto de software, e distribuído. Você está procurando um provedor de infraestrutura, veja como implantá-lo e monitorá-lo – o monitoramento precisa ser monitorado, certo? E suporte também é necessário. Pense dez vezes antes de assumir isso. Pode ser mais fácil pagar alguém para fazer isso por você.

Monitorando anomalias de BGP e ataques DDoS

Aqui, com base nos recursos disponíveis, tudo fica ainda mais simples. Anomalias de BGP são detectadas usando serviços especializados como QRadar, BGPmon. Eles aceitam uma tabela de visualização completa de vários operadores. Com base no que veem de diferentes operadores, eles podem detectar anomalias, procurar amplificadores e assim por diante. O registro geralmente é gratuito - você insere seu número de telefone, assina notificações por e-mail e o serviço irá alertá-lo sobre seus problemas.

Monitorar ataques DDoS também é simples. Normalmente isso é Baseado em NetFlow e registros. Existem sistemas especializados como FastNetMon, módulos para Splunk. Como último recurso, existe o seu provedor de proteção DDoS. Ele também pode vazar o NetFlow e, com base nisso, irá notificá-lo sobre ataques em sua direção.

Descobertas

Não tenha ilusões - a Internet definitivamente irá quebrar. Nem tudo e nem todos vão quebrar, mas 14 mil incidentes em 2017 indicam que haverá incidentes.

Sua tarefa é perceber os problemas o mais cedo possível. No mínimo, o mais tardar até o seu usuário. Não é apenas importante observar, mantenha sempre um “Plano B” de reserva. Um plano é uma estratégia para o que você fará quando tudo der errado.: operadores de reserva, DC, CDN. Um plano é uma lista de verificação separada na qual você verifica o funcionamento de tudo. O plano deve funcionar sem o envolvimento de engenheiros de rede, porque geralmente são poucos e eles querem dormir.

Isso é tudo. Desejo-lhe alta disponibilidade e monitoramento ecológico.

Na próxima semana, em Novosibirsk, sol, alta carga e alta concentração de desenvolvedores são esperados HighLoad++ Sibéria 2019. Na Sibéria, está prevista uma frente de relatórios sobre monitoramento, acessibilidade e testes, segurança e gestão. A precipitação é esperada na forma de notas rabiscadas, networking, fotografias e postagens em redes sociais. Recomendamos adiar todas as atividades nos dias 24 e 25 de junho e reservar ingressos. Estamos esperando por você na Sibéria!

Fonte: habr.com

Adicionar um comentário