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, BGP es único en el uso de TCP como 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 keepalive para mantener la conexión.

Con el tiempo, 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 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 utilizada.

Para obtener información detallada acerca de los problemas de seguridad asociados con el uso de TCP como protocolo de transporte por parte de BGP, consulte RFC 4272, Análisis de vulnerabilidades de seguridad de 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 sin estado estándar que bloquea todos los intentos de conexión TCP al 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 al puerto 179 de todos los solicitantes excepto los pares BGP especificados.

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

Topología

Figura 1muestra la topología utilizada en este ejemplo. El dispositivo C intenta establecer 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 BGPRed típica con sesiones de pares 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, a continuación, copie y pegue los comandos en la CLI en el nivel de jerarquía.[edit]

Dispositivo C

Dispositivo E

Configuración del dispositivo E

Procedimiento paso a paso

El ejemplo siguiente requiere que navegue por varios niveles en la jerarquía de configuración. Para obtener información acerca de cómo navegar por la CLI, consulte Uso del editor de CLI en modo de configuración en la Guía del usuario de CLI de Junos OS.Usar el editor de CLI en el modo de configuraciónhttps://www.juniper.net/documentation/en_US/junos/information-products/pathway-pages/junos-cli/junos-cli.html

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 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 intentos de conexión TCP para el puerto 179 de los pares BGP especificados.

  5. Defina el otro término de filtro para rechazar paquetes de otros orígenes.

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

Resultados

Desde el modo de configuración, ingrese los comandos show firewall, show interfaces, show protocols y show routing-options para confirmar la configuración. Si el resultado no muestra la configuración deseada, repita las instrucciones en este ejemplo para corregir la configuración.

Cuando termine de configurar el dispositivo, ingrese commit en el modo de configuración.

Verificación

Confirme que la configuración funcione correctamente.

Comprobación de que el filtro está configurado

Propósito

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

Acción

Comprobación de las conexiones TCP

Propósito

Compruebe las conexiones TCP.

Acción

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

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

Supervisión del tráfico en las interfaces

Propósito

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

Acción

Desde el modo operativo, ejecute el comando en la interfaz del dispositivo E al dispositivo B y en la interfaz del dispositivo E al dispositivo C. La siguiente salida de ejemplo comprueba que en el primer ejemplo, se reciben mensajes de confirmación ().monitor trafficack En el segundo ejemplo, los mensajes no se reciben.ack

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 sin estado estándar que limita cierto tráfico TCP y del Protocolo de mensajes de control de Internet (ICMP) destinado al motor de enrutamiento especificando una lista de orígenes de prefijos que contienen pares BGP permitidos.

Requisitos

No se necesita 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 BGP que tienen un prefijo especificado.

Topología

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

El filtro de firewall sin estado hace coincidir todos los paquetes desde la lista de prefijos de origen hasta el número de puerto de destino 179.filter_bgp179plist_bgp179

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

Configurar el filtro

Procedimiento paso a paso

El ejemplo siguiente requiere que navegue por varios niveles en la jerarquía de configuración. Para obtener información acerca de cómo navegar por la CLI, consulte Uso del editor de CLI en modo de configuración en la Guía del usuario de CLI de Junos OS.Usar el editor de CLI en el modo de configuraciónhttps://www.juniper.net/documentation/en_US/junos/information-products/pathway-pages/junos-cli/junos-cli.html

Para configurar el filtro:

  1. Expanda la lista de prefijos para incluir todos los prefijos señalados por el grupo del mismo nivel BGP definido por .bgp179protocols 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 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, escriba los comandos , y para confirmar la configuración. show firewallshow interfacesshow policy-options Si el resultado no muestra la configuración deseada, repita las instrucciones en este ejemplo para corregir la configuración.

Cuando termine de configurar el dispositivo, ingrese commit en el modo de configuración.

Verificación

Confirme que la configuración funcione correctamente.

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

Propósito

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

Acción

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

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 usa la detección de unidad de transmisión máxima (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 máximo de segmento (MSS) durante el establecimiento de la conexión de sesión entre dos pares. El valor MSS negociado se basa principalmente en la unidad máxima de transmisión (MTU) de las interfaces a las que están conectados directamente los pares que se comunican. 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 dentro del valor MSS pueden fragmentarse cuando el tamaño del paquete supera la MTU del vínculo.

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

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

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

Esta característica es compatible con TCP sobre IPv4 y TCP sobre IPv6.

Diagrama de topología

Figura 2muestra 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, a continuación, copie y pegue los comandos en la CLI en el nivel de jerarquía.[edit]

R0

Procedimiento

Procedimiento paso a paso

El ejemplo siguiente requiere que navegue por varios niveles en la jerarquía de configuración. Para obtener información acerca de cómo navegar por la CLI, consulte Uso del editor de CLI en modo de configuración en la Guía del usuario de CLI de Junos OS.Usar el editor de CLI en el modo de configuraciónhttps://www.juniper.net/documentation/en_US/junos/information-products/pathway-pages/junos-cli/junos-cli.html

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 BGP.

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

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

    Nota:

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

  6. Configurar el sistema autónomo local.

Resultados

Desde el modo de configuración, escriba los comandos , y para confirmar la configuración. show interfacesshow protocolsshow routing-options Si el resultado no muestra la configuración deseada, repita las instrucciones en este ejemplo para corregir la configuración.

Cuando termine de configurar el dispositivo, ingrese commit en 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 MSS TCP negociado.

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

Solución de problemas

Cálculo de MSS con MTU Discovery

Problema

Considere un ejemplo en el que dos dispositivos de enrutamiento (R1 y R2) tienen una conexión interna BGP (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 información para MSS, se establece en 2048.show system connections extensive

Solución

Este es el comportamiento esperado con Junos OS. El valor MSS es igual al valor MTU menos los encabezados IP o IPv6 y TCP. Esto significa que el valor de MSS es generalmente 40 bytes menor que la MTU (para IPv4) y 60 bytes menor 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 salida.show system connections

3994 / 2048 = 1.95

1,95 se redondea a 1.

1 * 2048 = 2048