Cadeia de chave de autenticação BGP vs. chave de autenticação

7

Eu encontrei um pequeno comportamento em uma caixa de Juniper com a qual eu estava trabalhando hoje.

Estávamos migrando de um Cisco ASR para um MX e todos os nossos colegas de troca na Internet que tinham autenticação configurada não apareceram. Recebemos mensagens de log no MX480, indicando que nossa autenticação local não estava definida, mesmo que estivesse. (Veja a seguinte configuração em laboratório)

group R01-DSN-PEERS {
    type external;
    authentication-algorithm md5;
    authentication-key-chain STUPID;
    neighbor 192.168.100.1 {
        peer-as 6996;
    }
}

key-chain STUPID {
    key 0 {
        secret "$9$uEns1crM8xbY45Qt0O1cS"; ## SECRET-DATA
        start-time "2015-1-1.01:01:00 +0000";
    }
}

Descobri o lado oposto:

router bgp 6996
neighbor 192.168.100.0 password _secret_stuff_

NOTA: Sim, o vizinho oposto foi configurado corretamente, isso é apenas para lhe dar uma idéia - o ASR instalado anteriormente tinha o par Estabelecido.

Acabamos trabalhando, configurando a autenticação diretamente no vizinho, sem um chaveiro, veja abaixo:

group R01-DSN-PEERS {
    type external;
    neighbor 192.168.100.1 {
        authentication-key "$9$041sISlWL7w2oTzpOBISy"; ## SECRET-DATA
        peer-as 6996;
    }
}

Ótimo, agora estamos trabalhando - não tínhamos nenhum vínculo específico com o uso de chaveiros.

Decidi investigar isso completamente e extrair capturas de pacotes para ver qual era a diferença nas opções de TCP / BGP. Abaixo estão cada um dos cenários que experimentei (é tudo Juniper, não tenho uma caixa da Cisco no laboratório):

  1. O par entrou em ESTABELECIDO:

    • chave de autenticação no grupo BGP de ambos os pares.
    • algoritmo de autenticação no grupo BGP de ambos os pares.

Ao usar a cadeia de chaves de autenticação etc. a captura de pacotes não me deu as opções de autenticação TCP que eu esperaria (posso fornecer capturas completas, se necessário):

cap-1

  1. O par entrou em ESTABELECIDO:

    • chave de autenticação no par BGP dentro do grupo nos dois roteadores.

Aqui está o que eu esperaria usando a autenticação MD5:

cap-2

Como você pode ver, o MD5 é explicitamente chamado na captura.

Agora, como mencionei, não nos importamos se usamos chaveiros ou não, foi muito curioso quando eu fiz uma incompatibilidade das configurações (veja abaixo) - elas não entrariam em ESTABELECIDO, mesmo que parecesse que deveriam:

  1. Os pares oscilavam entre ATIVO / CONNECT

    • Ponto 1: chave de autenticação no ponto BGP dentro do grupo.
    • Par 2: conjunto de chaves-chave de autenticação no par BGP dentro do grupo.
    • Par 2: algoritmo de autenticação definido no par BGP dentro do grupo.

Em suma, o que poderia explicar a diferença nas capturas para as "mesmas" opções? Se alguém precisar de informações esclarecedoras, entre em contato.

Jordan Head
fonte

Respostas:

5

Bem, eu consegui descobrir isso.

A linha inferior é:

  • O uso de autenticação-chave-cadeias usa a "TCP Enhanced Authentication Option"
  • O uso da chave de autenticação usa a "Opção de Assinatura TCP MD5"

De https://tools.ietf.org/html/draft-bonica-tcp-auth-06

12.4.  Backwards Compatibility

   On any particular TCP connection, use of the TCP Enhanced
   Authentication Option precludes use of the TCP MD5 Signature Option.

Você simplesmente não pode misturar as duas opções diferentes de TCP.

Jordan Head
fonte