Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Autenticação de rotas BGP

Entendendo a autenticação de roteadores para BGP

O uso de roteador e autenticação de rotas e integridade de rotas reduz consideravelmente o risco de ser atacado por uma máquina ou roteador que foi configurado para compartilhar informações incorretas de roteamento com outro roteador. Nesse tipo de ataque, o roteador atacado pode ser enganado para criar um loop de roteamento, ou a tabela de roteamento do roteador atacado pode ser muito aumentada, afetando o desempenho, ou as informações de roteamento podem ser redirecionadas para um lugar na rede para que o invasor a analise. Anúncios de rotas falsos podem ser enviados em um segmento. Essas atualizações podem ser aceitas nas tabelas de roteamento dos roteadores vizinhos, a menos que um mecanismo de autenticação esteja em vigor para verificar a origem das rotas.

A autenticação de roteadores e rotas permite que os roteadores compartilhem informações apenas se puderem verificar se estão falando com uma fonte confiável, com base em uma senha (chave). Nesse método, uma chave hashed é enviada junto com a rota sendo enviada para outro roteador. O roteador receptor compara a chave enviada com a própria chave configurada. Se eles são iguais, ele aceita a rota. Ao usar um algoritmo de hashing, a chave não é enviada pelo fio em texto simples. Em vez disso, um hash é calculado usando a chave configurada. A atualização de roteamento é usada como texto de entrada, juntamente com a chave, para a função de hashing. Esse hash é enviado junto com a atualização de rota para o roteador receptor. O roteador recebedor compara o hash recebido com um hash que ele gera na atualização de rota usando a chave pré-compartilhada configurada nele. Se os dois tiverem o mesmo, a rota deverá ser de uma fonte confiável. A chave é conhecida apenas pelos roteadores de envio e recebimento.

Para reforçar ainda mais a segurança, você pode configurar uma série de chaves de autenticação (um chaveiro). Cada chave tem um tempo de início único dentro do chaveiro. A autenticação de keychain permite alterar as informações de senha periodicamente sem reduzir as sessões de peering. Este método de autenticação de keychain é chamado de hitless porque as chaves rolam de um para o outro sem redefinir nenhuma sessão de peering ou interromper o protocolo de roteamento.

O envio de peer usa as seguintes regras para identificar a chave de autenticação ativa:

  • O tempo de início é menor ou igual ao tempo atual (ou seja, não no futuro).

  • O tempo de início é maior do que o de todas as outras chaves da cadeia, cujo tempo de início é menor do que o tempo atual (ou seja, mais próximo do tempo atual).

O peer recebedor determina a chave com a qual ele autentica com base no identificador-chave que está chegando.

O ponto de envio identifica a chave de autenticação atual com base em um tempo de início configurado e, em seguida, gera um valor hash usando a chave atual. Em seguida, o peer de envio insere um objeto de opção de autenticação aprimorado por TCP na mensagem de atualização BGP. O objeto contém um ID de objeto (atribuído por IANA), o comprimento do objeto, a chave atual e um valor hash.

O peer receptor examina a opção de autenticação aprimorada por TCP, analisa a chave de autenticação recebida e determina se a chave é aceitável com base no tempo de início, no tempo do sistema e no parâmetro de tolerância. Se a chave for aceita, o peer receptor calcula um hash e autentica a mensagem de atualização.

A aplicação inicial de uma chave para uma sessão de TCP faz com que a sessão seja redefinida. No entanto, assim que a chave é aplicada, a adição ou a remoção de uma senha da chave não faz com que a sessão de TCP seja redefinida. Além disso, a sessão de TCP não é redefinida quando a chave muda de um algoritmo de autenticação para outro.

Nota:

No lançamento do 19.1R1, o Junos OS estende o suporte para autenticação de TCP para colegas BGP que são descobertos por meio de sub-redes de prefixo permitidas configuradas em um grupo BGP. Em lançamentos antes do Junos OS Release 19.1, o BGP oferece suporte à autenticação de TCP nos níveis de [edit protocols bgp group group-name neighbor address][edit protocols bgp group group-name] hierarquia. A partir do Junos OS Release 19.1, você pode configurar a autenticação de TCP em declarações de permitir no nível de [edit protocols bgp group group-name dynamic-neighbor dyn-name] hierarquia.

Exemplo: Configuração da autenticação de roteador para BGP

Todas as trocas de protocolo BGP podem ser autenticadas para garantir que apenas dispositivos de roteamento confiáveis participem de atualizações de roteamento de sistema autônomo (AS). Por padrão, a autenticação é desativada.

Requisitos

Antes de começar:

  • Configure as interfaces do roteador.

  • Configure um protocolo de gateway interior (IGP).

Visão geral

Ao configurar a autenticação, o algoritmo cria um checksum codificado incluído no pacote transmitido. O dispositivo de roteamento recebendo usa uma chave de autenticação (senha) para verificar o checksum do pacote.

Este exemplo inclui as seguintes declarações para configurar e aplicar a chaveiro:

  • key— Um chaveiro pode ter várias chaves. Cada chave dentro de um chaveiro deve ser identificada por um valor inteiro único. A faixa de valores de identificador válidos é de 0 a 63.

    A chave pode ter até 126 caracteres de comprimento. Os caracteres podem incluir quaisquer strings ASCII. Se você incluir espaços, inclua todos os caracteres entre aspas (" ").

  • tolerance— (Opcional) Para cada chaveiro, você pode configurar um valor de tolerância com desvio de relógio em segundos. A tolerância contra o tempo é aplicável ao receptor que aceita chaves para atualizações BGP. A faixa configurável é de 0 a 999.999.999 segundos. Durante o período de tolerância, a senha atual ou anterior é aceitável.

  • key-chain— Para cada chaveiro, você deve especificar um nome. Este exemplo define um chaveiro: bgp-auth. Você pode ter várias cadeiras-chave em um dispositivo de roteamento. Por exemplo, você pode ter um chaveiro para BGP, um chaveiro para OSPF e um chaveiro para LDP.

  • secret— Para cada chave no chaveiro, você deve definir uma senha secreta. Essa senha pode ser inserida em formato criptografado ou simples na secret declaração. Ela é sempre exibida em formato criptografado.

  • start-time— Cada chave deve especificar um horário de início no formato UTC. O controle é passado de uma chave para a outra. Quando chega uma hora de início configurada (com base no relógio do dispositivo de roteamento), a chave com esse tempo de início fica ativa. Os horários de início são especificados no fuso horário local para um dispositivo de roteamento e devem ser exclusivos dentro do chaveiro.

  • authentication-key-chain— Permite que você aplique um chaveiro no nível BGP global para todos os pares, para um grupo ou para um vizinho. Este exemplo aplica a chaveiro aos pares definidos no grupo BGP externo (EBGP) chamado ext.

  • authentication-algorithm— Para cada chaveiro, você pode especificar um algoritmo de hashing. O algoritmo pode ser AES-128, MD5 ou SHA-1.

    Você associa um chaveiro e um algoritmo de autenticação a uma sessão vizinha BGP.

Este exemplo configura um chaveiro chamado bgp-auth. A chave 0 será enviada e aceita a partir de 2011-6-23.20:19:33 -0700, e deixará de ser enviada e aceita quando a próxima chave na chave (chave 1) se tornar ativa. A chave 1 torna-se ativa um ano depois, em 2012-6-23.20:19:33 -0700, e não deixará de ser enviada e aceita a menos que outra chave seja configurada com um tempo de início mais tarde do que o horário de início da chave 1. Uma tolerância de 30 segundos ao relógio se aplica ao receptor que aceita as chaves. Durante o período de tolerância, a chave atual ou anterior é aceitável. As chaves são senhas secretas compartilhadas. Isso significa que os vizinhos que recebem as atualizações de roteamento autenticadas devem ter a mesma configuração de chaveiro de autenticação, incluindo as mesmas chaves (senhas). Portanto, o roteador R0 e o roteador R1 devem ter a mesma configuração de cadeia de autenticação-chave se estiverem configurados como peers. Este exemplo mostra a configuração em apenas um dos dispositivos de roteamento.

Diagrama de topologia

Figura 1 mostra a topologia usada neste exemplo.

Figura 1: Autenticação para BGPAutenticação para BGP

Configuração

Configuração rápida de CLI

Para configurar este exemplo rapidamente, copie os seguintes comandos, cole-os em um arquivo de texto, remova quaisquer quebras de linha, altere todos os detalhes necessários para combinar com sua configuração de rede e, em seguida, copie e cole os comandos no CLI no nível de [edit] hierarquia.

Procedimento

Procedimento passo a passo

O exemplo a seguir exige que você navegue por vários níveis na hierarquia de configuração. Para obter informações sobre como navegar pela CLI, consulte o uso do Editor de CLI no modo de configuração no Guia de usuário do Junos OS CLI.

Para configurar o roteador R1 para aceitar filtros de rota do dispositivo CE1 e realizar filtragem de rotas de saída usando os filtros recebidos:

  1. Configure o sistema autônomo local.

  2. Configure um ou mais grupos BGP.

  3. Configure a autenticação com várias chaves.

    O tempo de início de cada chave deve ser único dentro do chaveiro.

  4. Aplique a chavechain de autenticação ao BGP e defina o algoritmo de hashing.

  5. (Opcional) Aplique um valor de tolerância com desvio de relógio em segundos.

Resultados

A partir do modo de configuração, confirme sua configuração entrando no show protocols, show routing-optionse show security comandos. Se a saída não exibir a configuração pretendida, repita as instruções neste exemplo para corrigir a configuração.

Se terminar de configurar o dispositivo, entre no commit modo de configuração.

Repita o procedimento para todos os dispositivos habilitados para BGP na rede, usando os nomes e endereços de interface apropriados para cada dispositivo habilitado para BGP.

Verificação

Confirme se a configuração está funcionando corretamente.

Verificando a autenticação para o vizinho

Propósito

Certifique-se de que a opção AutheKeyChain aparece na saída do show bgp neighbor comando.

Ação

A partir do modo operacional, entre no show bgp neighbor comando.

Verificar se as mensagens de autorização são enviadas

Propósito

Confirme que o BGP tem a opção de autorização aprimorada.

Ação

A partir do modo operacional, entre no monitor traffic interface fe-0/0/1 comando.

Verificando erros de autenticação

Propósito

Verifique o número de pacotes descartados pelo TCP devido a erros de autenticação.

Ação

A partir do modo operacional, entre no show system statistics tcp | match auth comando.

Verificando a operação da chaveiro

Propósito

Verifique o número de pacotes descartados pelo TCP devido a erros de autenticação.

Ação

A partir do modo operacional, entre no show security keychain detail comando.