Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Restricción de acceso TCP para BGP

Descripción de las opciones de seguridad para BGP con TCP

Entre los protocolos de enrutamiento, el BGP es único en el uso de TCP como su protocolo de transporte. Los pares bgp se establecen mediante configuración manual entre dispositivos de enrutamiento para crear una sesión TCP en el puerto 179. Un dispositivo habilitado para BGP envía periódicamente mensajes de keepalive para mantener la conexión.

Con el tiempo, el BGP se ha convertido en el protocolo de enrutamiento interdominio dominante en Internet. Sin embargo, tiene garantías limitadas de estabilidad y seguridad. La configuración de opciones de seguridad para BGP debe equilibrar las medidas de seguridad adecuadas con costos aceptables. Ningún método ha surgido como superior a otros métodos. Cada administrador de red debe configurar medidas de seguridad que satisfagan las necesidades de la red que se utiliza.

Para obtener información detallada sobre los problemas de seguridad asociados con el uso de TCP como protocolo de transporte por el BGP, consulte RFC 4272, Análisis de vulnerabilidades de seguridad del BGP.

Ejemplo: Configuración de un filtro para bloquear el acceso TCP a un puerto excepto desde pares bgp especificados

En este ejemplo, se muestra cómo configurar un filtro de firewall estándar sin estado que bloquea todos los intentos de conexión TCP de puerto 179 de todos los solicitantes, excepto de los pares bgp especificados.

Requisitos

No se requiere ninguna configuración especial más allá de la inicialización del dispositivo antes de configurar este ejemplo.

Descripción general

En este ejemplo, se crea un filtro de firewall sin estado que bloquea todos los intentos de conexión TCP de puerto 179 de todos los solicitantes, excepto los pares bgp especificados.

El filtro filter_bgp179 de firewall sin estado hace coincidir todos los paquetes desde las interfaces conectadas directamente en los dispositivos A y B hasta el número de puerto de destino 179.

Topología

Figura 1 muestra la topología utilizada en este ejemplo. El dispositivo C intenta hacer una conexión TCP al dispositivo E. El dispositivo E bloquea el intento de conexión. En este ejemplo, se muestra la configuración en el dispositivo E.

Figura 1: Red típica con sesiones par BGPRed típica con sesiones par BGP

Configuración

Configuración rápida de CLI

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

Dispositivo C

Dispositivo E

Configuración del dispositivo E

Procedimiento paso a paso

En el ejemplo siguiente, se requiere navegar por 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 la CLI de Junos OS.

Para configurar el dispositivo E con un filtro de firewall sin estado que bloquee todos los intentos de conexión TCP de puerto 179 de todos los solicitantes, excepto de los pares bgp especificados:

  1. Configure las interfaces.

  2. Configure BGP.

  3. Configure el número del sistema autónomo.

  4. Defina el término de filtro que acepta intentos de conexión TCP para puerto 179 de los pares bgp especificados.

  5. Defina el otro término de filtro para rechazar paquetes de otras fuentes.

  6. Aplique el filtro de firewall a la interfaz de circuito cerrado.

Resultados

Desde el modo de configuración, confirme la configuración ingresando los show firewallcomandos , show interfaces, show protocolsy show routing-options . 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, ingrese commit desde el modo de configuración.

Verificación

Confirme que la configuración funciona correctamente.

Comprobación de que el filtro está configurado

Propósito

Asegúrese de que el filtro aparece en la salida del show firewall filter comando.

Acción

Verificar las conexiones TCP

Propósito

Verifique las conexiones TCP.

Acción

Desde el modo operativo, ejecute el comando en los show system connections extensive dispositivos C y E.

El resultado en el dispositivo C muestra el intento de establecer una conexión TCP. La salida del dispositivo E muestra que las conexiones se establecen solo con los dispositivos A y B.

Monitoreo del tráfico en las interfaces

Propósito

Utilice el monitor traffic comando para comparar el tráfico en una interfaz que establece una conexión TCP con el tráfico en una interfaz que no establece una conexión TCP.

Acción

Desde el modo operativo, ejecute el monitor traffic comando en la interfaz del dispositivo E al dispositivo B y en la interfaz del dispositivo E al dispositivo C. El siguiente resultado de ejemplo verifica que en el primer ejemplo, se reciban mensajes de confirmación (ack). En el segundo ejemplo, ack no se reciben mensajes.

Ejemplo: Configuración de un filtro para limitar el acceso TCP a un puerto basado en una lista de prefijos

En este ejemplo, se muestra cómo configurar un filtro de firewall estándar sin estado que limite cierto tráfico tcp y de protocolo de mensajes de control de Internet (ICMP) destinado al motor de enrutamiento especificando una lista de fuentes de prefijo que contienen pares de BGP permitidos.

Requisitos

No se requiere ninguna configuración especial más allá de la inicialización del dispositivo antes de configurar este ejemplo.

Descripción general

En este ejemplo, se crea un filtro de firewall sin estado que bloquea todos los intentos de conexión TCP de puerto 179 de todos los solicitantes, excepto los pares BGP que tienen un prefijo especificado.

Topología

Se crea una lista de prefijos de origen, plist_bgp179, que especifica la lista de prefijos de origen que contienen pares de BGP permitidos.

El filtro filter_bgp179 de firewall sin estado hace coincidir todos los paquetes de la lista plist_bgp179 de prefijos de origen con el número de puerto de destino 179.

Configuración

Configuración rápida de CLI

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

Configure el filtro

Procedimiento paso a paso

En el ejemplo siguiente, se requiere navegar por 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 la CLI de Junos OS.

Para configurar el filtro:

  1. Expanda la lista bgp179 de prefijos para incluir todos los prefijos a los que apunta el grupo de pares bgp definido por protocols bgp group <*> neighbor <*>.

  2. Defina el término de filtro que rechaza los intentos de conexión TCP de puerto 179 de todos los solicitantes, excepto los pares bgp especificados.

  3. Defina el otro término de filtro para aceptar todos los paquetes.

  4. Aplique el filtro de firewall a la interfaz de circuito cerrado.

Resultados

Desde el modo de configuración, confirme la configuración ingresando los show firewallcomandos , show interfacesy show policy-options . 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, ingrese commit desde el modo de configuración.

Verificación

Confirme que la configuración funciona correctamente.

Visualización del filtro de firewall aplicado a la interfaz de circuito cerrado

Propósito

Compruebe que el filtro filter_bgp179 de firewall se aplique al tráfico de entrada IPv4 en la interfaz lo0.0lógica.

Acción

Utilice el show interfaces statistics operational mode comando para la interfaz lo0.0lógica e incluya la detail opción. En la Protocol inet sección de la sección de salida de comandos, el Input Filters campo muestra el nombre del filtro de firewall sin estado aplicado a la interfaz lógica en la dirección de entrada.

Ejemplo: Limitar el tamaño del segmento TCP para bgp

En este ejemplo, se muestra cómo evitar problemas de vulnerabilidad del Protocolo de mensajes de control de Internet (ICMP) limitando el tamaño del segmento TCP cuando se utiliza la detección de la unidad máxima de transmisión (MTU). El uso de la detección de MTU en rutas TCP es un método para evitar la fragmentación de paquetes bgp.

Requisitos

No se requiere ninguna configuración especial más allá de la inicialización del dispositivo antes de configurar este ejemplo.

Descripción general

TCP negocia un valor de tamaño de segmento máximo (MSS) durante el establecimiento de conexión de sesión entre dos pares. El valor de MSS negociado se basa principalmente en la unidad de transmisión máxima (MTU) de las interfaces a las que están conectados directamente los pares comunicantes. Sin embargo, debido a las variaciones en la MTU de vínculo en la ruta tomada por los paquetes TCP, algunos paquetes de la red que están bien dentro del valor de MSS pueden fragmentarse cuando el tamaño del paquete supera la MTU del vínculo.

Para configurar el valor TCP MSS, incluya la tcp-mss instrucción con un tamaño de segmento del 1 al 4096.

Si el enrutador recibe un paquete TCP con el bit SYN y el conjunto de opciones MSS, y la opción MSS especificada en el paquete es mayor que el valor MSS especificado por la tcp-mss instrucción, el enrutador sustituye el valor MSS en el paquete por el valor inferior especificado por la tcp-mss instrucción.

El valor de MSS configurado se utiliza como el tamaño máximo de segmento para el remitente. La suposición es que el valor TCP MSS utilizado por el remitente para comunicarse con el vecino del BGP es el mismo que el valor TCP MSS que el remitente puede aceptar del vecino del BGP. Si el valor MSS del vecino del BGP es menor que el valor de MSS configurado, el valor MSS del vecino del BGP se utiliza como el tamaño máximo de segmento para el remitente.

Esta función se admite con TCP a través de IPv4 y TCP a través de IPv6.

Diagrama de topología

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

Figura 2: Tamaño máximo de segmento TCP para BGPTamaño máximo de segmento TCP para BGP

Configuración

Configuración rápida de CLI

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

R0

Procedimiento

Procedimiento paso a paso

En el ejemplo siguiente, se requiere navegar por 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 la CLI de Junos OS.

Para configurar el enrutador R0:

  1. Configure las interfaces.

  2. Configure un protocolo de puerta de enlace interior (IGP), OSPF en este ejemplo.

  3. Configure uno o más grupos BGP.

  4. Configure la detección de MTU para evitar la fragmentación de paquetes.

  5. Configure los vecinos del BGP, con el TCP MSS establecido globalmente para el grupo o específicamente para los diversos vecinos.

    Nota:

    La configuración de vecino de TCP MSS anula la configuración de grupo.

  6. Configure el sistema autónomo local.

Resultados

Desde el modo de configuración, confirme la configuración ingresando los show interfacescomandos , show protocolsy show routing-options . 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, ingrese commit desde el modo de configuración.

Verificación

Para confirmar que la configuración funciona correctamente, ejecute los siguientes comandos:

  • show system connections extensive | find <neighbor-address>, para comprobar el valor de TCP MSS negociado.

  • monitor traffic interface, para supervisar el tráfico BGP y para asegurarse de que el valor de TCP MSS configurado se utiliza como la opción MSS en el paquete TCP SYN.

Solución de problemas

Cálculo de MSS con descubrimiento de MTU

Problema

Considere un ejemplo en el que dos dispositivos de enrutamiento (R1 y R2) tienen una conexión bgp interna (IBGP). En ambos enrutadores, las interfaces conectadas tienen 4034 como la MTU IPv4.

En la siguiente captura de paquetes en el dispositivo R1, el MSS negociado es 3994. En la show system connections extensive información de MSS, se establece en 2048.

Solución

Este es el comportamiento esperado con Junos OS. El valor de MSS es igual al valor de MTU menos los encabezados IP o IPv6 y TCP. Esto significa que el valor de MSS generalmente es 40 bytes menos que la MTU (para IPv4) y 60 bytes menos que la MTU (para IPv6). Este valor se negocia entre los pares. En este ejemplo, es 4034 - 40 = 3994. Junos OS redondea este valor a un múltiplo de 2 KB. El valor es 3994 / 2048 * 2048 = 2048. Por lo tanto, no es necesario ver el mismo valor de MSS con en el show system connections resultado.

3994 / 2048 = 1.95

1,95 se redondea a 1.

1 * 2048 = 2048