Saiba como funciona o protocolo de roteamento BGP (Border Gateway Protocol) e qual sua importância dentro do universo IP.

O que é BGP?

Se você alguma vez pesquisou o nome na Wikipédia, encontrará o seguinte: “O Border Gateway Protocol (BGP) é um protocolo de gateway externo padronizado projetado para trocar informações de roteamento e acessibilidade entre sistemas autônomos (AS) na Internet. O protocolo é frequentemente classificado como um protocolo de vetor de caminho, mas às vezes também é classificado como um protocolo de roteamento de vetor de distância. ”

Tudo verdade, mas se você não é um engenheiro de rede, esta definição provavelmente não ajudará muito. Então, o que é BGP?

Em linguagem simples, BGP (também conhecido como Border Gateway Protocol) é o método de roteamento que permite o funcionamento da internet. Sem ele, não seríamos capazes de fazer uma pesquisa no Google ou enviar um e-mail. É por isso que pensamos que é hora de explicar o BGP de uma forma mais simples.

O que é o protocolo de roteamento BGP?

BGP é um dos protocolos mais importantes e utilizados hoje em dia para comunicação entre ISP’s, responsável por distribuir rotas na internet fazendo com que um tráfego IP viaje o mais eficiente possível de um ponto a outro.

BGP é o protocolo que faz a internet funcionar. Ele faz isso habilitando o roteamento de dados na Internet. Quando um usuário em Cingapura carrega um site com servidores de origem na Argentina, o BGP é o protocolo que permite que a comunicação aconteça de forma rápida e eficiente.

Ele funciona como o serviço de correio da internet. Quando coloca uma carta em uma caixa de correio, os correios processam a correspondência e escolhem um caminho rápido e eficiente para entregar a carta ao destinatário. Da mesma forma, quando alguém envia dados pela internet, o BGP é responsável por examinar todos os caminhos disponíveis que os dados podem percorrer e escolher a melhor rota, o que geralmente significa pular entre sistemas autônomos.

A internet é dividida em centenas de milhares de redes menores conhecidas como sistemas autônomos (Autonomous Systems, ou AS). Se continuarmos a pensar no BGP como o serviço de correio da internet, os AS são como agências individuais dos correios.

Um AS pode ser um provedor de serviços de Internet, uma universidade ou uma rede corporativa inteira, incluindo vários locais (endereços IP). Cada AS é representado por um número exclusivo denominado ASN.

Nesse tipo de arquitetura de rede, cada sistema autônomo controla uma coleção de prefixos de roteamento conectados, representando uma gama de endereços IP. Em seguida, ele determina a política de roteamento dentro da rede.

Veja mais >> Conheça as diferenças do roteamento IGP e BGP

Como funciona o roteamento entre os sistemas AS

Agora que o pano de fundo está mais claro, vamos nos aprofundar um pouco mais nos aspectos técnicos do BGP. O protocolo BGP é projetado para trocar informações de roteamento e acessibilidade entre sistemas autônomos na internet.

Pense no seguinte, uma cidade pode ter centenas de caixas de correio, mas a correspondência nessas caixas deve passar pela agência dos correios local antes de ser encaminhada para outro destino. Os roteadores internos em um AS são como caixas de correio, eles encaminham suas transmissões de saída para o AS, que então usa o roteamento BGP para levar essas transmissões a seus destinos.

Cada roteador BGP, que é chamado de “peer”, troca informações de roteamento com seus pares vizinhos na forma de anúncios de prefixo de rede. Dessa forma, um AS não precisa estar conectado a outro AS para saber seu prefixo de rede.

O mecanismo de tomada de decisão do BGP analisa todos os dados e define um de seus pares como a próxima parada, para encaminhar pacotes para um determinado destino. Cada peer gerencia uma tabela com todas as rotas que conhece para cada rede e propaga essa informação para seus sistemas autônomos vizinhos.

Dessa forma, o BGP permite que um AS colete todas as informações de roteamento de seus sistemas autônomos vizinhos e “anuncie” essas informações posteriormente. Cada peer transfere a informação internamente dentro de seu próprio sistema autônomo.

Assim como na vida real, geralmente existe mais de uma rota para chegar a um determinado destino. O BGP é responsável por determinar a rota mais adequada de acordo com as informações coletadas e a política de roteamento de uma organização, que se baseia em custo, confiabilidade, velocidade, etc.

Como garantir a segurança no roteamento BGP

O desafio do BGP é que o protocolo não inclui mecanismos de segurança diretamente e se baseia amplamente na confiança entre as operadoras de rede de que protegerão seus sistemas corretamente e não enviarão dados incorretos. Erros acontecem, porém, e podem surgir problemas se invasores mal-intencionados tentarem afetar as tabelas de roteamento usadas pelo BGP.

Esses erros nos levam a diversos problemas, como hijacking (sequestro) BGP, que utiliza o anúncio falso de Prefixos IP para redirecionar o tráfego na internet para fins maliciosos. Isso acontece porque, sempre que um Prefixo IP é anunciado por um AS, outro AS capta o prefixo automaticamente, sem validar se o prefixo foi enviado realmente por quem ele diz que foi.

Isso torna difícil detectar quando esse cenário acontece, porque os attackers podem estar atrás de vários ASs, e como mencionado acima, podem anunciar vários prefixos falsos. A maioria das redes só devem aceitar Prefixos IP se realmente for necessário, e não declarar seus prefixos para toda a internet, somente para redes específicas, analisar se há uma degradação na rede, no tráfego ou um possível aumento de latência.

Há também uma estrutura conhecida como RPKI (Resource Public Key Infrastructure), projetada para a proteção de roteamento na internet. O RPKI é uma infraestrutura de chave pública que utiliza criptografia para que um bloco de endereços enviado por meio de um ASN seja validado, aumentando a segurança no BGP.

Além disso, a identificação de uma configuração incorreta do protocolo BGP ou mesmo um hijack pode ser feita com uma simples checagem por meio de um roteador Looking Glass, que espelha as rotas recebidas em uma rede. É possível contar com ferramentas que fazem essa checagem e detectam problemas de forma automática.

Sendo assim para que tenhamos êxito na segurança do tráfego, torna-se necessário a aplicação de políticas BGP de forma adequada e a adoção de ferramentas que utilizem protocolos como RPKI para checagem das rotas de transporte.

Para saber mais sobre como manter a segurança no seu Wi-Fi, conheça também o SD-Branch e veja como ele aborda as preocupações atuais de segurança de rede!