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

Entender a autenticação do roteador para BGP

O uso de autenticação de roteadores e 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 de 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 que está sendo enviada para outro roteador. O roteador receptor compara a chave enviada com sua própria chave configurada. Se eles são os mesmos, 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, na função hashing. Este 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 hashes são os mesmos, presume-se que a rota seja de uma fonte confiável. A chave é conhecida apenas pelos roteadores de envio e recebimento.

Para fortalecer 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 chaveiro permite alterar periodicamente as informações de senha 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 peer de envio 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 autentica com base no identificador-chave que está chegando.

O peer 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. O peer de envio insere um objeto de opção de autenticação aprimorado por TCP na mensagem de atualização do BGP. O objeto contém um ID de objeto (atribuído pela 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 um chaveiro em uma sessão de TCP faz com que a sessão seja reiniciada. No entanto, uma vez que o chaveiro é aplicado, a adição ou remoção de uma senha do chaveiro 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.

Autenticação de TCP

Normalmente, você configura a autenticação de TCP nos seguintes níveis de hierarquia:

  • [edit protocols bgp]

  • [edit protocols bgp group group-name]

  • [edit protocols bgp group group-name neighbor address]

Sub-redes de autenticação e prefixo TCP

Os dispositivos Junos oferecem suporte à autenticação de TCP para colegas BGP que são descobertos por meio de sub-redes de prefixo permitidas configuradas em um grupo BGP.

Para configurar a autenticação baseada em prefixo para TCP-AO ou TCP MD5 para sessões BGP, você pode configurar a allow (all | prefix-list) declaração nas seguintes hierarquias:

  • [edit protocols bgp group group-name]

  • [edit protocols bgp group group-name dynamic-neighbor dyn-name]

Para obter mais informações sobre a autenticação do TCP, consulte o TCP.

Example: Configuração da autenticação do 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 é desabilitada.

Requisitos

Antes de começar:

  • Configure as interfaces do roteador.

  • Configure um protocolo de gateway interior (IGP).

Visão geral

Quando você configura a autenticação, o algoritmo cria um checksum codificado que está 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 o chaveiro:

  • key— Um chaveiro pode ter várias chaves. Cada chave dentro de um chaveiro deve ser identificada por um valor único de inteiro. 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 distorção de relógio em segundos. A tolerância à distorção do relógio é 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 de texto criptografado ou simples na secret declaração. Ele é sempre exibido em formato criptografado.

  • start-time— Cada chave deve especificar um horário de início em formato UTC. O controle passa de uma chave para a outra. Quando chega um horário de início configurado (com base no relógio do dispositivo de roteamento), a chave com esse tempo de início fica ativa. Os tempos 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 chave 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 no chaveiro (chave 1) ficar 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 partida mais tarde do que o horário de início da chave 1. Uma tolerância de 30 segundos de distorção de 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). Assim, o Roteador R0 e o Roteador R1 devem ter a mesma configuração de cadeia de chave chave de autenticação se estiverem configurados como pares. Este exemplo mostra a configuração em apenas um dos dispositivos de roteamento.

Diagrama da topologia

Figura 1 mostra a topologia usada neste exemplo.

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

Configuração

Configuração rápida da CLI

Para configurar rapidamente este exemplo, copie os seguintes comandos, cole-os em um arquivo de texto, remova quaisquer quebras de linha, altere os detalhes necessários para combinar com a configuração de sua rede e, em seguida, copie e cole os comandos na 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.

Configurar o roteador R1 para aceitar filtros de rota do dispositivo CE1 e realizar a 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 o chaveiro de autenticação no BGP e defina o algoritmo de hashing.

  5. (Opcional) Aplique um valor de tolerância com distorção de relógio em segundos.

Resultados

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

Se você 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 que 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

Do modo operacional, entre no show bgp neighbor comando.

Verificando 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

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 por causa de erros de autenticação.

Ação

Do modo operacional, entre no show system statistics tcp | match auth comando.

Verificando a operação do chaveiro

Propósito

Verifique o número de pacotes descartados pelo TCP por causa de erros de autenticação.

Ação

Do modo operacional, entre no show security keychain detail comando.

Tabela de histórico de liberação
Versão
Descrição
22.4R1
A partir do Junos OS Evolved Release 22.4R1, você pode configurar a autenticação TCP-AO ou TCP MD5 com uma sub-rede IP para incluir toda a gama de endereços sob essa sub-rede.
22.4R1
A partir do Junos OS Evolved Release 22.4R1, a autenticação do TCP é consciente do VRF.
19.1R1
A partir do Junos OS Release 19.1R1, o Junos OS estende o suporte à autenticação de TCP para colegas BGP que são descobertos por meio de sub-redes de prefixo permitidas configuradas em um grupo BGP.