Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Autenticación de enrutamiento de BGP

Descripción de la autenticación de enrutador para BGP

El uso de autenticación de enrutador y enrutamiento e integridad de ruta mitiga en gran medida el riesgo de ser atacado por una máquina o enrutador que se haya configurado para compartir información incorrecta de enrutamiento con otro enrutador. En este tipo de ataque, el enrutador atacado puede ser engañado para crear un bucle de enrutamiento, o bien la tabla de enrutamiento del enrutador atacado se puede incrementar enormemente, con lo que afectaría al rendimiento, o bien, la información de enrutamiento se puede redirigir a un lugar de la red para que el atacante lo analice. Se pueden enviar anuncios de ruta fantasma en un segmento. Estas actualizaciones pueden aceptarse en las tablas de enrutamiento de los enrutadores vecinos a menos que exista un mecanismo de autenticación para comprobar el origen de las rutas.

La autenticación de enrutador y enrutamiento permite a los enrutadores compartir información únicamente si pueden comprobar que se están comunicando con una fuente de confianza, en función de una contraseña (clave). En este método, se envía una clave con algoritmo hash junto con la ruta que se envía a otro enrutador. El enrutador receptor compara la clave enviada con su propia clave configurada. Si son iguales, acepta la ruta. Mediante el uso de un algoritmo hash, la clave no se envía a través de la conexión en texto sin formato. En su lugar, se calcula un hash utilizando la clave configurada. La actualización de enrutamiento se utiliza como texto de entrada, junto con la clave, en la función hash. Este hash se envía junto con la actualización de ruta al enrutador receptor. El enrutador receptor compara el hash recibido con el hash que genera en la actualización de ruta mediante la clave previamente compartida configurada en ella. Si los dos valores hash son iguales, se supone que la ruta procede de una fuente de confianza. La clave sólo la conocen los enrutadores de envío y recepción.

Para reforzar mejor la seguridad, puede configurar una serie de claves de autenticación (una cadena clave). Cada clave tiene una hora de inicio exclusiva dentro de la cadena clave. La autenticación de cadena clave le permite cambiar periódicamente la información de contraseñas sin necesidad de desconectar las sesiones de interconexión. Este método de autenticación de cadena clave se denomina hitless porque las teclas se desplazan del uno al siguiente sin restablecer las sesiones de interconexión o interrumpir el protocolo de enrutamiento.

El interlocutor remitente usa las siguientes reglas para identificar la clave de autenticación activa:

  • La hora de inicio es menor o igual que la hora actual (es decir, no es el futuro).

  • La hora de inicio es mayor que la de todas las demás claves de la cadena cuya hora de inicio es menor que la hora actual (en otras palabras, más cercana a la hora actual).

El elemento del mismo nivel de recepción determina la clave con la que realiza la autenticación basándose en el identificador de clave entrante.

El interlocutor remitente identifica la clave de autenticación actual en función de la hora de inicio configurada y, a continuación, genera un valor hash con la clave actual. A continuación, el remitente del mismo nivel inserta un objeto de opción de autenticación mejorada de TCP en el mensaje de actualización BGP. El objeto contiene un identificador de objeto (asignado por IANA), la longitud del objeto, la clave actual y un valor hash.

El interlocutor receptor examina la opción de autenticación mejorada de TCP, busca la clave de autenticación recibida y determina si la clave es aceptable según la hora de inicio, la hora del sistema y el parámetro de tolerancia. Si la clave se acepta, el elemento del mismo nivel receptor calcula un valor hash y autentica el mensaje de actualización.

La aplicación inicial de una cadena de claves a una sesión TCP hace que se restablezca la sesión. Sin embargo, una vez aplicada la cadena clave, la adición o eliminación de la contraseña de la cadena no hace que se restablezca la sesión TCP. Además, la sesión TCP no se restablece cuando la cadena clave cambia de un algoritmo de autenticación a otro.

Nota:

En la versión 19.1 R1, Junos OS extiende la compatibilidad para la autenticación TCP a BGP iguales que se descubren a través de las subredes de prefijo permitidas configuradas en un grupo BGP. En las versiones anteriores al Junos OS la versión 19,1, BGP admite la [edit protocols bgp group group-name neighbor address] autenticación [edit protocols bgp group group-name] de TCP en los niveles de jerarquía y. A partir de Junos OS versión 19,1, puede configurar la autenticación TCP bajo las instrucciones allow [edit protocols bgp group group-name dynamic-neighbor dyn-name] en el nivel de jerarquía.

Ejemplo Configuración de la autenticación de enrutador para BGP

Es posible autenticar todos los intercambios de protocolos de BGP para garantizar que sólo los dispositivos de enrutamiento de confianza participen en las actualizaciones de enrutamiento de sistema autónomo (AS). De forma predeterminada, la autenticación está deshabilitada.

Aplicables

Antes de empezar:

  • Configure las interfaces del enrutador.

  • Configure un protocolo de puerta de enlace interior (IGP).

Descripción general

Cuando configura la autenticación, el algoritmo crea una suma de comprobación codificada que se incluye en el paquete transmitido. El dispositivo de enrutamiento receptor utiliza una clave de autenticación (contraseña) para comprobar la suma de comprobación del paquete.

Este ejemplo incluye las siguientes instrucciones para configurar y aplicar llaves:

  • key: Una cadena clave puede tener varias claves. Cada clave dentro de una cadena clave debe identificarse con un valor entero único. La gama de valores de identificador válidos va de 0 a 63.

    La longitud de la clave puede ser de hasta 126 caracteres. Los caracteres pueden incluir cualquier cadena ASCII. Si incluye espacios en blanco, incluya todos los caracteres entre comillas ("").

  • tolerance— (Opcional) para cada cadena de claves, puede configurar un valor en segundos para la tolerancia de sesgo del reloj. La tolerancia del sesgo del reloj se aplica al receptor que acepta las claves para las actualizaciones BGP. El rango configurable va de 0 a 999.999.999 segundos. Durante el periodo de tolerancia, la contraseña actual o anterior es aceptable.

  • key-chain— Para cada cadena de claves, debe especificar un nombre. Este ejemplo define una cadena de claves: bgp-auth. Puede tener varias llaves en un dispositivo de enrutamiento. Por ejemplo, puede tener una cadena clave para BGP, una cadena clave para OSPF y una cadena clave para LDP.

  • secret— Para cada clave de la cadena de claves, debe establecer una contraseña secreta. Esta contraseña se puede escribir en la secret instrucción en formato de texto cifrado o sin formato. Siempre se muestra en formato cifrado.

  • start-time: Cada clave debe especificar una hora de inicio en formato UTC. El control se pasa de una clave a la siguiente. Cuando llegue una hora de inicio configurada (en función del reloj del dispositivo de enrutamiento), la clave con esa hora de inicio se activará. Las horas de inicio se especifican en la zona horaria local de un dispositivo de enrutamiento y deben ser únicas dentro de la cadena de claves.

  • authentication-key-chain— Le permite aplicar una cadena de claves en el nivel de BGP global para todos los pares, para un grupo o para un vecino. En este ejemplo, se aplica la cadena de claves a los elementos del mismo nivel definidos en el extgrupo de BGP externo (EBGP).

  • authentication-algorithm-Para cada cadena de claves, puede especificar un algoritmo de hash. El algoritmo puede ser AES-128, MD5 o SHA-1.

    Puede asociar una cadena clave y un algoritmo de autenticación con una BGP sesión vecina.

Este ejemplo configura una cadena de claves denominada bgp-auth. La tecla 0 se enviará y aceptará a partir de 2011 -6-23.20:19:33-0700, y dejará de enviarse y aceptarse cuando se active la siguiente clave de la cadena de claves (clave 1). La clave 1 se activa un año más tarde en 2012 -6-23.20:19:33-0700, y no se dejará de enviar y aceptar a menos que haya otra clave configurada con una hora de inicio posterior a la hora de inicio de la clave 1. Una tolerancia de sesgo de reloj de 30 segundos se aplica al receptor que acepta las llaves. Durante el periodo de tolerancia, la tecla actual o anterior es aceptable. Las claves son contraseñas secretas compartidas. Esto significa que los vecinos que reciben las actualizaciones de enrutamiento autenticadas deben tener la misma configuración de autenticación de cadena clave, incluidas las mismas claves (contraseñas). Por lo tanto, el enrutador R0 y el enrutador R1 deben tener la misma configuración de cadena de autenticación-clave si se configuran como iguales. Este ejemplo muestra la configuración en uno solo de los dispositivos de enrutamiento.

Diagrama de topología

Figura 1muestra la topología utilizada en este ejemplo.

Figura 1: Autenticación para BGPAutenticación para BGP

Automática

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 [edit] pegue los comandos en la CLI en el nivel de jerarquía.

Modalidades

Procedimiento paso a paso

El ejemplo siguiente requiere que se exploren varios niveles en la jerarquía de configuración. Para obtener más información sobre cómo navegar por la CLI, consulte uso del editor de CLI en el modo de configuración en la Guía del usuario de CLI de Junos os.

Para configurar el enrutador R1 para que acepte filtros de ruta del dispositivo CE1 y el filtrado de rutas salientes con los filtros recibidos:

  1. Configure el sistema autónomo local.

  2. Configure uno o varios grupos de BGP.

  3. Configure la autenticación con varias claves.

    La hora de inicio de cada clave debe ser única dentro de la cadena clave.

  4. Aplique las llaves de autenticación a BGP y establezca el algoritmo hash.

  5. Adicional Aplique un valor de tolerancia de sesgo de reloj en segundos.

Resultados

Desde el modo de configuración, escriba los show protocolscomandos, show routing-optionsy y show security para confirmar la configuración. Si el resultado no muestra la configuración deseada, repita las instrucciones de este ejemplo para corregir la configuración.

Si ha terminado de configurar el dispositivo, entre commit en el modo de configuración.

Repita el procedimiento para cada dispositivo compatible con BGP en la red, utilizando los nombres y direcciones de interfaz adecuados para cada dispositivo habilitado para BGP.

Comproba

Confirme que la configuración funciona correctamente.

Comprobación de la autenticación del vecino

Purpose

Asegúrese de que la AutheKeyChain opción aparece en el resultado del show bgp neighbor comando.

Intervención

En modo operativo, escriba el show bgp neighbor comando.

Comprobar que se envían mensajes de autorización

Purpose

Confirme que BGP cuenta con la opción de autorización mejorada.

Intervención

En modo operativo, escriba el monitor traffic interface fe-0/0/1 comando.

Comprobando errores de autenticación

Purpose

Comprobar el número de paquetes descartados por TCP debido a errores de autenticación.

Intervención

En modo operativo, escriba el show system statistics tcp | match auth comando.

Comprobar el funcionamiento de la cadena clave

Purpose

Comprobar el número de paquetes descartados por TCP debido a errores de autenticación.

Intervención

En modo operativo, escriba el show security keychain detail comando.