Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Opción de autenticación TCP (TCP-AO)

RESUMEN Obtenga información sobre la opción de autenticación TCP (TCP-AO) para sesiones BGP y LDP.

TCP-AO para sesiones BGP y LDP

Los protocolos BGP y LDP utilizan TCP para el transporte. TCP-AO es un nuevo método de autenticación propuesto a través de RFC5925, la opción de autenticación TCP para mejorar la seguridad y autenticidad de los segmentos TCP intercambiados durante las sesiones BGP y LDP. También admite tráfico IPv4 e IPv6.

Beneficios de TCP-AO

TCP-AO proporciona las siguientes ventajas sobre TCP MD5:

  • Algoritmos más fuertes: admite varios algoritmos de autenticación más fuertes, como HMAC-SHA-1-96 y AES-128-CMAC-96 (obligatorios por RFC5925, la opción de autenticación TCP). HMAC-SHA-1-96 es un MAC basado en hash y AES-128-CMAC-96 es un MAC basado en cifrado, lo que hace que la síntesis del mensaje sea más compleja y segura que la síntesis creada mediante el algoritmo MD5.

  • Seguridad doble: en el método TCP-AO, el algoritmo de autenticación configurado se utiliza en dos etapas: una vez para generar una clave de tráfico interno a partir de una clave configurada por el usuario y, a continuación, para generar un resumen de mensaje utilizando la clave de tráfico generada, mientras que en el método TCP MD5, el algoritmo MD5 genera un resumen del mensaje utilizando su clave configurada por el usuario.

  • Mejor gestión de claves y agilidad: puede configurar hasta 64 claves para una sesión y agregarlas en cualquier momento durante la duración de una sesión. Proporciona un mecanismo de coordinación de claves simple al dar la capacidad de cambiar claves (mover de una clave a otra) dentro de la misma conexión sin causar ningún cierre de conexión TCP. Cambiar las claves TCP MD5 durante una conexión establecida puede provocar un flap o reinicio en la conexión.

  • Adecuado para conexiones de larga duración: más adecuado para conexiones de larga duración para protocolos de enrutamiento como BGP y LDP y en instancias repetidas de una sola conexión.

¿Qué es TCP-AO?

TCP-AO proporciona un marco para:

  • Admite varios algoritmos más fuertes, como HMAC-SHA1 y AES-128 para crear una clave de tráfico interno y un resumen del mensaje.

  • Agregue una nueva clave configurada por el usuario para volver a generar claves de tráfico interno para una conexión establecida y un mecanismo para sincronizar el cambio de clave entre pares BGP o LDP.

En versiones anteriores, los dispositivos Junos solo admitían el método de autenticación TCP MD5 para sesiones BGP y LDP. El método MD5 sólo admite el algoritmo MD5, que es menos seguro que TCP-AO. Además, cambiar una clave MD5 normalmente interrumpe la sesión TCP, a diferencia de TCP-AO. TCP MD5 se define en RFC2385, Protección de sesiones BGP a través de la opción de firma TCP MD5. Para obtener más información acerca de TCP MD5, consulte TCP.

Nota:
  • Aunque los dispositivos Junos admiten los métodos de autenticación TCP-AO y TCP MD5, no puede utilizar ambos al mismo tiempo para una conexión determinada.

  • TCP-AO admite el enrutamiento activo sin parar.

En el diagrama siguiente se explica la diferencia entre la autenticación TCP-AO y TCP MD5. El primer flujo muestra la configuración y el flujo de procesamiento para TCP-AO y el segundo flujo muestra la configuración y el flujo de procesamiento para TCP-MD5.

Figura 1: TCP-AO en comparación con TCP MD5 TCP-AO in comparison with TCP MD5

A continuación se muestra una explicación de los flujos de procesamiento que se muestran en la Figura 1:

  • TCP-AO: el usuario ha configurado dos claves en el llavero (clave 0 y clave 1) con todos los parámetros necesarios. El llavero admite dos algoritmos: HMAC SHA1 y AES-128 (obligatorio por RFC5925). TCP recupera la clave 0, que es la clave que está activa actualmente, como se muestra en la marca de tiempo en la figura. En el ejemplo, la clave 0 se configura con HMAC-SHA1.

    SHA1 toma el "secreto" (de la configuración de la clave 0) y los parámetros específicos de conexión para el cifrado y genera una clave de tráfico interna.

    SHA1 vuelve a cifrar la clave de tráfico interno y el segmento TCP para generar el resumen del mensaje. El resumen se copia en el campo MAC TCP-AO de la opción TCP-AO en el segmento TCP. A continuación, el segmento se envía al dispositivo receptor.

  • TCP-MD5: el usuario ha configurado una sola clave porque la opción TCP MD5 sólo admite una clave para una conexión. Además, solo admite el algoritmo MD5. El algoritmo MD5 toma el "secreto" de la clave y el segmento TCP para el cifrado y genera un resumen del mensaje. Este resumen del mensaje se copia al campo de síntesis MD5 en el segmento TCP y se envía al dispositivo receptor.

Configuración

Primero, configure un llavero. A continuación, aplique TCP-AO a la sesión BGP o LDP.

Para configurar un llavero para TCP-AO (con una clave), configure la instrucción siguiente en el nivel de [edit security] jerarquía.

Para aplicar TCP-AO a una sesión BGP (con el llavero configurado), configure la instrucción siguiente en el nivel de [edit protocols] jerarquía.

Para aplicar TCP-AO a una sesión LDP (con el llavero configurado), configure la instrucción siguiente en el nivel de [edit protocols] jerarquía.

Ejemplo: configurar un llavero (TCP-AO)

RESUMEN En este ejemplo se muestra cómo crear un llavero TCP-AO para autenticar una sesión BGP o LDP.

En este ejemplo se utilizan los siguientes componentes de hardware y software:

  • Enrutadores serie MX o PTX.

  • Junos OS versión 20.3R1 o posterior.

En este ejemplo se muestra cómo crear un llavero TCP-AO para autenticar una sesión BGP o LDP.

En este ejemplo, puede crear un llavero new_auth_key con dos llaves key 0 y en los dispositivos R1 y key 1 R2.

  1. Para crear un llavero new_auth_key con la primera clave, (key 0):
    Nota:

    Copie los siguientes comandos, péguelos en un archivo de texto, elimine los saltos de línea y cambie los detalles necesarios para que coincidan con su configuración de red, copie y pegue los comandos en la CLI.

    R1

    R2 (con send-id y recv-id valores invertidos)

    Tenga en cuenta los siguientes parámetros al configurar un llavero:

    Tabla 1: Parámetros del llavero

    Parámetro

    Descripción

    key-chain

    Introduzca un nombre único.

    key

    Introduzca un ID de clave único.

    secret

    Introduzca una contraseña única.

    start-time

    Introduzca una hora única en YYYY-MM-DD.HH:MM formato para especificar la hora de inicio de la clave.

    algorithm

    Introduzca el algoritmo ao.

    send-id Y recv-id

    Introduce dos números cualesquiera entre 0 y 255. No debe usar estos números para ninguna otra llave dentro de ese llavero.

    cryptographic-algorithm

    Elija entre o hmac-sha-1-96 aes-128-cmac-96.

    tcp-ao-opción

    Elija enabled habilitar la opción TCP-AO.

  2. Para agregar otra clave (key 1), después de crear key 0:

    R1

    R2 (con send-id y recv-id valores invertidos)

  3. Ingrese commit desde el modo de configuración en ambos dispositivos para activar los cambios.
  4. Para verificar el llavero new_auth_key con las 2 teclas configuradas, utilice el comando desde el show security authentication-key-chains modo de configuración.

    A continuación se muestra un ejemplo de salida basado en este ejemplo:

¡Has creado con éxito un llavero!

Para eliminar un llavero, utilice el delete security authentication-key-chains key-chain key-chain-name comando del modo de configuración.

Nota:
  • Sólo puede asociar un llavero TCP-AO con una sesión BGP o LDP durante su ciclo de vida. No puede apuntar otro llavero a la sesión en su vida.

  • Recomendamos un intervalo mínimo de 30 minutos entre la hora de inicio de dos llaves posteriores dentro de un llavero.

  • Una vez que un llavero está configurado y en uso por una conexión TCP, no puede cambiar los send-id valores o recv-id de su clave activa. Sin embargo, puede cambiar los demás parámetros de la clave, y cualquier conexión nueva asociada con el llavero actualizado tomará los parámetros actualizados para su establecimiento de conexión.

  • A partir de Junos OS versión 21.2R1, puede utilizar el para permitir el tcpao-auth-mismatch allow-without-tcpao establecimiento de la conexión sin TCP-AO si algún extremo TCP no tiene TCP-AO configurado en él.

Para mostrar información sobre llaveros existentes (si los hay) desde el modo operativo, utilice el show security keychain comando. Aquí hay una salida de ejemplo:

Ejemplo: Usar TCP-AO para autenticar una sesión BGP

RESUMEN En este ejemplo se muestra cómo autenticar una sesión BGP mediante un llavero de opción de autenticación TCP (TCP-AO).

Requisitos

En este ejemplo se utilizan los siguientes componentes de hardware y software:

Visión general

BGP utiliza TCP como protocolo de transporte. TCP-AO es un método que puede utilizar para autenticar sesiones BGP. Puede aplicar un llavero TCP-AO en el vecino BGP o en los niveles de grupo BGP de la jerarquía de configuración.

Topología

Figura 2: Topología para la autenticación Topology for BGP Authentication BGP

Configuración

En este ejemplo, asocia el llavero new_auth_key de autenticación TCP-AO y el algoritmo ao de autenticación en ambos dispositivos para autenticar una sesión BGP.

Configuración rápida de CLI

Para configurar rápidamente este ejemplo, copie los siguientes comandos, péguelos en un archivo de texto, quite los saltos de línea, cambie los detalles necesarios para que coincidan con su configuración de red y, a continuación, copie y pegue los comandos en la CLI.

R1

R2

Procedimiento paso a paso

  1. Ingrese al modo de configuración.

  2. Configure opciones básicas como la dirección IP de la interfaz, la descripción de la interfaz, una dirección de circuito cerrado, el ID del enrutador y el número de AS en ambos dispositivos.

    R1

    R2

  3. Configure un EBGP entre R1 y R2.

    R1

    R2

  4. Asocie el llavero new_auth_key de autenticación y el algoritmo ao de autenticación a la sesión BGP en ambos dispositivos.

    R1

    R2

  5. Ingrese commit desde el modo de configuración en ambos dispositivos.

    Una vez confirmadas las instrucciones de configuración en ambos dispositivos, la sesión BGP debe establecerse mediante el método de autenticación TCP-AO.

Resultados

Confirme las configuraciones mediante los comandos , show routing-optionsy show protocols del show interfacesmodo de configuración.

user@R1# show interfaces

user@R1# show routing-options

user@R1# show protocols

Verificación

Verificar el establecimiento de la sesión BGP
Propósito

Confirme la salida del establecimiento de la sesión BGP después de habilitar TCP-AO.

Acción

Vea un resumen de BGP del estado de sesión de BGP con el comando de show bgp summary modo operativo.

Significado

Los valores de salida resaltados indican que BGP ha establecido correctamente una sesión con el método de autenticación TCP-AO hace 1:19 minutos.

Comprobar que la sesión BGP está utilizando TCP-AO
Propósito

Compruebe que un vecino BGP esté autenticado con el llavero TCP-AO.

Acción

Utilice el comando para ver los detalles de show bgp neighbor neighbor configuración de los pares BGP. Para filtrar solo los detalles específicos de autenticación en la salida, utilice la función de barra vertical (|) y haga coincidir en authentication, como se muestra:

Significado

El resultado indica que el llavero new_auth_key de autenticación y el algoritmo ao de autenticación se aplican al vecino 192.0.2.2BGP.

Ejemplo: Usar TCP-AO para autenticar una sesión LDP

RESUMEN En este ejemplo se muestra cómo autenticar una sesión LDP mediante un llavero de opción de autenticación TCP (TCP-AO).

Requisitos

En este ejemplo se utilizan los siguientes componentes de hardware y software:

Visión general

El protocolo de distribución de etiquetas (LDP) es un protocolo de señalización MPLS. Permite a los enrutadores establecer rutas de conmutación de etiquetas (LSP) a través de una red. TCP-AO ayuda a mejorar la seguridad de las sesiones creadas entre pares de LDP.

Figura 3: Topología para la configuración de Topology for LDP Configuration LDP

Configuración

En este ejemplo, asocia el llavero new_auth_key de autenticación TCP-AO y el algoritmo ao de autenticación a ambos dispositivos para autenticar su sesión LDP.

Configuración rápida de CLI

Para configurar rápidamente este ejemplo, copie los siguientes comandos, péguelos en un archivo de texto, quite los saltos de línea, cambie los detalles necesarios para que coincidan con su configuración de red y, a continuación, copie y pegue los comandos en la CLI.

R1

R2

Procedimiento paso a paso

  1. Ingrese al modo de configuración.

  2. Configure la configuración básica, como la interfaz del dispositivo, el circuito cerrado, la descripción de la interfaz, el ID del enrutador y el número de AS en R1 y R2.

    R1

    R2

  3. Configure MPLS y LDP en ambos dispositivos.

    R1

    R2

  4. Configure un protocolo de puerta de enlace interior (IGP) para anunciar la accesibilidad de direcciones de circuito cerrado. En este ejemplo, configuramos OSPF.

    R1

    R2

  5. Asocie authentication-key-chain new_auth_key y con el ID de espacio de etiqueta de R1 y authentication-algorithm ao R2.

    R1

    R2

  6. Ingrese commit desde el modo de configuración en ambos dispositivos.

Resultados

Confirme la configuración mediante los show interfacescomandos y y show protocols show routing-options.

user@R1# show interfaces

user@R1# show routing-options

user@R1# show protocols

Verificación

Verificar sesión de LDP

Propósito

Compruebe el establecimiento de la sesión LDP con TCP-AO.

Acción

Utilice el comando del show ldp session detail modo operativo para comprobar que la sesión LDP se ha establecido correctamente.

Significado

El resultado indica que se ha establecido la sesión LDP.

Ejemplo: Usar TCP-AO para autenticar sesiones de validación RPKI

Visión general

La infraestructura de clave pública de recursos (RPKI) es un marco de infraestructura de clave pública diseñado para proteger la infraestructura de enrutamiento de Internet, específicamente el BGP. RPKI proporciona una manera de conectar la información de recursos de números de Internet, como direcciones IP, a un ancla de confianza. Mediante el uso de RPKI, los titulares legítimos de recursos numéricos pueden controlar el funcionamiento de los protocolos de enrutamiento de Internet para evitar el secuestro de rutas y otros ataques.

A partir de Junos OS versión 22.2R1, puede autenticar sesiones RPKI mediante la opción de autenticación TCP (TCP-AO) y el llavero.

En este ejemplo se muestra cómo autenticar una sesión de validación RPKI mediante un llavero TCP-AO. Estableceremos una sesión RPKI autenticada entre un dispositivo cliente (R1) y un servidor (R2).

Requisitos

En este ejemplo se utilizan los siguientes componentes de hardware y software:

  • 2 enrutadores serie MX
  • Junos OS versión 22.2R1 o posterior.

Topología

Figura 4: Topología para sesión Topology for Authenticated RPKI Session RPKI autenticada

Configuración

En este ejemplo, debe asociar el llavero new_auth_key de autenticación TCP-AO y el algoritmo ao de autenticación en ambos dispositivos para autenticar una conexión RPKI.

Configuración rápida de CLI

Para configurar rápidamente este ejemplo, copie los siguientes comandos, péguelos en un archivo de texto, quite los saltos de línea, cambie los detalles necesarios para que coincidan con su configuración de red y, a continuación, copie y pegue los comandos en la CLI.

R1

R2

Procedimiento paso a paso

  1. Configure opciones básicas como interfaces, una dirección de circuito cerrado, ID de enrutador y número de AS en ambos dispositivos. En R2, configuramos la interfaz de sistemas lógicos para el servidor.

    R1

    R2

  2. Configure una sesión TCP en el dispositivo cliente (R1) con el servidor RPKI (R2) con un número de puerto TCP alternativo.

    R1

  3. En el servidor R2, configure una sesión de RPKI con el cliente R1 para la validación de origen.

  4. Cree un llavero new_auth_key con la primera llave (clave 0):

    R1

    R2 (con los valores send-id y recv-id invertidos)

  5. Para agregar otra clave (clave 1), después de crear la clave 0:

    R1

    R2 (con los valores send-id y recv-id invertidos)

  6. Aplique el llavero new_auth_key configurado y el algoritmo ao de autenticación tanto en R1 como en R2.

    R1

    R2

  7. Ingrese commit desde el modo de configuración en ambos dispositivos para activar los cambios.

  8. Para verificar el llavero new_auth_key con las dos claves configuradas, utilice el comando desde el show security authentication-key-chains modo de configuración.

Resultados

Compruebe los resultados de la configuración del llavero en R1:

user@R1# show security authentication-key-chains

Confirme las configuraciones restantes aplicadas en R1 mediante los siguientes comandos:

user@R1# show interfaces

user@R1# show routing-options

Verificación

Propósito

Verifique que la sesión se haya establecido con el llavero TCP-AO y el algoritmo configurados en ambos pares.

Acción

Ver una sesión validada mediante el comando del show validation session 192.168.12.2 detail modo operativo.

Significado

El resultado indica que la sesión ha terminado con el llavero new_auth_keyconfigurado.

Tabla de historial de versiones
Lanzamiento
Descripción
22.4R1
A partir de Junos OS Evolved versión 22.4R1, puede configurar la autenticación TCP-AO o TCP MD5 con una subred IP para incluir todo el rango de direcciones de esa subred.
22.4R1
A partir de Junos OS Evolved versión 22.4R1, la autenticación TCP es compatible con VRF.