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 el único en usar TCP como su protocolo de transporte. Los pares del BGP se establecen mediante la configuración manual entre los dispositivos de enrutamiento para crear una sesión TCP en el puerto 179. Un dispositivo habilitado para BGP envía periódicamente mensajes de mantenimiento para mantener la conexión.

Con el tiempo, el BGP se ha convertido en el protocolo de enrutamiento entre dominios dominante en Internet. Sin embargo, tiene garantías limitadas de estabilidad y seguridad. La configuración de las opciones de seguridad para el BGP debe equilibrar las medidas de seguridad adecuadas con los 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 está utilizando.

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

Ejemplo: Configurar 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 bloquee todos los intentos de conexión TCP al puerto 179 de todos los solicitantes, excepto de los pares de 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 al puerto 179 de todos los solicitantes, excepto los pares de BGP especificados.

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

Topología

Figura 1 muestra la topología utilizada en este ejemplo. El dispositivo C intenta realizar una conexión TCP con el 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 de pares de BGPRed típica con sesiones de pares de 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

El siguiente ejemplo requiere que navegue por varios niveles en la jerarquía de configuración. Para obtener más información acerca de 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 al puerto 179 de todos los solicitantes, excepto los pares de BGP especificados:

  1. Configure las interfaces.

  2. Configure BGP.

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

  4. Defina el término de filtro que acepta los intentos de conexión TCP al puerto 179 desde los pares del 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, ingrese los comandos , show interfaces, show protocolsy show routing-options para confirmar la show firewallconfiguración. Si el resultado no muestra la configuración deseada, repita las instrucciones en 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.

Comprobar que el filtro está configurado

Propósito

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

Acción

Verificar las conexiones TCP

Propósito

Compruebe las conexiones TCP.

Acción

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

El resultado del dispositivo C muestra el intento de establecer una conexión TCP. El resultado 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: Configurar 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 limita cierto tráfico TCP y protocolo de mensaje de control de Internet (ICMP) destinado al motor de enrutamiento mediante la especificación de una lista de orígenes 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 al puerto 179 de todos los solicitantes, excepto los pares de 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 coincide con todos los paquetes de la lista plist_bgp179 de prefijos de origen con el puerto de destino número 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.

Configurar el filtro

Procedimiento paso a paso

El siguiente ejemplo requiere que navegue por varios niveles en la jerarquía de configuración. Para obtener más información acerca de 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 apuntados por el grupo par del BGP definido por protocols bgp group <*> neighbor <*>.

  2. Defina el término de filtro que rechaza los intentos de conexión TCP al puerto 179 de todos los solicitantes, excepto los pares de 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, ingrese los comandos , show interfacesy show policy-options para confirmar la show firewallconfiguración. Si el resultado no muestra la configuración deseada, repita las instrucciones en 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 aplica al tráfico de entrada IPv4 en la interfaz lo0.0lógica.

Acción

Utilice el comando para la show interfaces statistics operational mode interfaz lo0.0lógica e incluya la detail opción. En la Protocol inet sección de la sección 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 el BGP

En este ejemplo, se muestra cómo evitar problemas de vulnerabilidad del Protocolo de mensajes de control de Internet (ICMP) mediante la limitación del tamaño del segmento TCP cuando se utiliza la detección máxima de unidad de transmisión (MTU). El uso de descubrimiento 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 máximo de segmento (MSS) durante el establecimiento de la 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 se conectan directamente los pares que se comunican. Sin embargo, debido a las variaciones en la MTU del vínculo en la ruta tomada por los paquetes TCP, algunos paquetes de la red que están bien dentro del valor 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 reemplaza el valor MSS en el paquete con el valor menor especificado por la tcp-mss instrucción.

El valor mss configurado se utiliza como el tamaño máximo del 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 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 de segmento máximo tcp para BGPTamaño de segmento máximo 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

El siguiente ejemplo requiere que navegue por varios niveles en la jerarquía de configuración. Para obtener más información acerca de 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 varios grupos de BGP.

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

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

    Nota:

    La configuración de vecino TCP MSS reemplaza la configuración del grupo.

  6. Configure el sistema autónomo local.

Resultados

Desde el modo de configuración, ingrese los comandos , show protocolsy show routing-options para confirmar la show interfacesconfiguración. Si el resultado no muestra la configuración deseada, repita las instrucciones en 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 TCP MSS negociado.

  • monitor traffic interface, para supervisar el tráfico del BGP y asegurarse de que el valor 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 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 MSS es igual al valor de MTU menos los encabezados IP o IPv6 y TCP. Esto significa que el valor de MSS es generalmente 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 MSS con en la show system connections salida.

3994 / 2048 = 1.95

1,95 se redondea a 1.

1 * 2048 = 2048