Ejemplo: segmentación micro y macro mediante políticas basadas en grupos en una VXLAN
RESUMEN VXLAN-GBP
Visión general
Puede lograr una segmentación micro y macro, por ejemplo, para proteger datos y activos, en una arquitectura VXLAN mediante la directiva basada en grupos (GBP). GBP aprovecha la tecnología VXLAN subyacente para proporcionar un control de acceso de puntos de conexión independiente de la ubicación. GBP le permite implementar políticas de seguridad coherentes en todos los dominios de la red empresarial. Puede simplificar la configuración de red mediante GBP, evitando la necesidad de configurar un gran número de filtros de firewall en todos los conmutadores. GBP bloquea las amenazas laterales garantizando la aplicación coherente de las políticas de grupo de seguridad en toda la red, independientemente de la ubicación de los puntos de conexión o usuarios. VXLAN-GBP funciona aprovechando los campos reservados en el encabezado VXLAN para usarlos como una etiqueta de grupo escalable (SGT). Puede utilizar los SGT como condiciones de coincidencia en las reglas de filtro de firewall. Usar un SGT es más robusto que usar direcciones MAC o de puerto para lograr resultados similares. Los SGT se pueden asignar estáticamente (configurando el conmutador por puerto o por MAC), o pueden configurarse en el servidor RADIUS e insertarse en el conmutador a través de 802.1X cuando el usuario está autenticado.
La segmentación habilitada por VXLAN-GBP es especialmente útil en entornos VXLAN de campus, ya que le ofrece una forma práctica de crear políticas de acceso a la red que son independientes de la topología de red subyacente. Simplifica las fases de diseño e implementación del desarrollo de políticas de seguridad de aplicaciones de red y de dispositivos de punto final.
Puede encontrar información más detallada sobre el estándar VXLAN-GBP en IEEE RFC, I-D.draft-smith-vxlan-group-policy. Para los fines de este ejemplo, basta con decir que VXLAN-GBP aprovecha los campos reservados en el encabezado VXLAN como etiqueta de grupo escalable, como se muestra en la ilustración.
En la tabla 1 se proporcionan los detalles de los conmutadores que admiten VXLAN-GBP en función de las versiones de Junos de cuando se proporciona la compatibilidad.
Conmutadores compatibles con VXLAN-GBP | de la versión de Junos |
---|---|
A partir de Junos OS versión 21.1R1 |
EX4400-24P, EX4400-24T, EX4400-48F, EX4400-48P y EX4400-48T |
A partir de Junos OS versión 21.2R1 |
EX4400-24MP y EX4400-48MP |
A partir de Junos OS versión 21.4R1 |
|
A partir de Junos OS versión 22.4R1 |
|
A partir de Junos OS versión 23.2R1 |
|
A partir de la versión 22.4R1 de Junos OS, la configuración en GBP ha cambiado, como se muestra en la tabla 2.
GBP en Junos OS versión 21.1R1 y posteriores | GBP en Junos OS versión 22.4R1 y posteriores |
---|---|
Declaraciones de etiquetado en GBP: set firewall family ethernet-switching filter filter-name term term name from match-conditions set firewall family ethernet-switching filter filter-name term term name then gbp-src-tag/gbp-des-tag tag |
Declaraciones de etiquetado en GBP: set firewall family any filter filter-name micro-segmentation set firewall family any filter filter-name term term name from match-conditions set firewall family any filter filter-name term term name then gbp-tag tag
Nota:
|
Condiciones de coincidencia en GBP admitidas:
|
Condiciones de coincidencia en GBP admitidas:
|
Aplicación de políticas set firewall family ethernet-switching filter filter-name term term name from gbp-dst-tag gbp tag set firewall family ethernet-switching filter filter-name term term name from gbp-src-tag gbp tag set firewall family ethernet-switching filter filter-name term term name then discard
Nota:
La aplicación de directivas solo se admite en el extremo de salida. Declaración de CLI para habilitar GBP: set chassis forwarding-options vxlan-gbp-profile |
Aplicación de políticas set firewall family any filter filter-name term term name from gbp-dst-tag gbp tag set firewall family any filter filter-name term term name from gbp-src-tag gbp tag set firewall family any filter filter-name term term name then discard
Nota:
El apellido «any» sustituyó al apellido «ethernet-switching»
Nota:
La aplicación de políticas se admite tanto en los extremos de entrada como en los de salida. De forma predeterminada, la aplicación de directivas se admite en el nodo de salida.
Junos OS versión 23.2R1 y posteriores:
|
GBP en Junos OS versión 22.4R1 y posteriores
A partir de Junos OS versión 22.4R1, puede aplicar políticas en el extremo de entrada y realizar el etiquetado GBP en condiciones de coincidencia adicionales.
En la tabla 3 se muestran las condiciones de coincidencia de etiquetado de GBP admitidas:
Descripción de las condiciones del partido | |
---|---|
|
Haga coincidir las direcciones/listas de prefijos de origen o destino IPv4/IPv6. |
|
Haga coincidir la dirección MAC de origen o destino. |
|
Hacer coincidir el nombre de la interfaz.
Nota:
Junos OS versión 23.4R1 y posteriores admiten varias
Nota:
Junos OS versión 23.4R1 y posteriores también le permiten configurar esta condición de coincidencia junto con la condición de |
|
Haga coincidir los ID de VLAN.
Nota:
No compatible con los conmutadores EX4100
Nota:
Junos OS versión 23.4R1 y posteriores admiten las <vlan list> opciones y <vlan-range> .
Nota:
Junos OS versión 23.4R1 y posteriores también le permiten configurar esta condición de coincidencia junto con la condición de |
Junos OS versión 23.2R1 y posteriores admiten vxlan-gbp-l2-profile y vxlan-gbp-l3-profile. Véase el cuadro 4.
Perfiles | Conmutadores compatibles |
---|---|
vxlan-gbp-profile |
|
vxlan-gbp-l2-profile Y vxlan-gbp-l3-profile |
|
Los filtros de políticas de GBP usan la etiqueta de origen o de destino en GBP como coincidencias para permitir o descartar el tráfico. A partir de Junos OS versión 23.2R1, los conmutadores EX4100, EX4400, EX4650, QFX5120-32C y QFX5120-48Y admiten nuevas coincidencias L4 del filtro de políticas GBP (IPv4 e IPv6). Estas coincidencias le ayudan a mantener reglas específicas que ayudan a bloquear solo el tráfico de aplicaciones, consulte la tabla 5.
Coincidencias de cumplimiento de políticas para MAC e IP Descripción de paquetes etiquetados con GBP | |
---|---|
ip-version ipv4 destination-port dst_port |
Haga coincidir el puerto de destino TCP/UDP. |
ip-version ipv4 source-port src_port |
Haga coincidir el puerto de origen TCP/UDP. |
ip-version ipv4 ip-protocol ip-protocol |
Hacer coincidir el tipo de protocolo IP. |
ip-version ipv4 is-fragment |
Coincidir si el paquete es un fragmento. |
ip-version ipv4 fragment-flags flags |
Hacer coincidir los indicadores de fragmentos (en formatos simbólicos o hexadecimales). |
ip-version ipv4 ttl value |
Hacer coincidir el valor TTL de MPLS/IP. |
ip-version ipv4 tcp-flags flags |
Hacer coincidir los indicadores TCP (en formatos simbólicos o hexadecimales) - (solo entrada). |
ip-version ipv4 tcp-initial |
Coincidir con el paquete inicial de una conexión TCP - (sólo entrada). |
ip-version ipv4 tcp-established |
Hacer coincidir el paquete de una conexión TCP establecida. |
ip-version ipv6 destination-port dst_port |
Haga coincidir el puerto de destino TCP/UDP. |
ip-version ipv6 source-port src_port |
Haga coincidir el puerto de origen TCP/UDP. |
ip-version ipv6 next-header protocol |
Haga coincidir el siguiente tipo de protocolo de encabezado. |
ip-version ipv6 tcp-flags flags |
Hacer coincidir los indicadores TCP (en formatos simbólicos o hexadecimales)Solo entrada. |
ip-version ipv6 tcp-initial |
Hacer coincidir el paquete inicial de una conexión TCP. |
ip-version ipv6 tcp-established |
Hacer coincidir el paquete de una conexión TCP establecida. |
Estas coincidencias L4 no se admiten en los conmutadores EX9204, EX9208 y EX9214.
- Asignación de SGT para asignación de etiqueta de 802,1X GBP
- Información general sobre la aplicación de políticas en el extremo de entrada
- Paquetes originados por el host
- Topología
Asignación de SGT para asignación de etiqueta de 802,1X GBP
En este ejemplo, configuramos SGT en un servidor RADIUS y luego usamos el control de acceso 802.1X en los conmutadores de acceso habilitados para GBP para recibir los SGT cuando un punto de conexión coincidente se conecta al conmutador. Los servidores RADIUS se utilizan habitualmente en entornos de campus para el control de acceso y, por ejemplo, para controlar la asignación de VLAN.
-
Si configura la autenticación 802.1X con modo suplicante único seguro o múltiple, el etiquetado GBP se basa en MAC. Si configura la autenticación 802.1X con modo suplicante único, el etiquetado GBP se basa en puertos.
-
Las coincidencias de dirección IP, ID VLAN e ID de VLAN-ID+ interfaz no son compatibles con 802.1X.
Para acomodar el uso de SGT en el servidor RADIUS, necesitamos aprovechar el atributo específico del proveedor (VSA), tal como lo admite el marco de servicio AAA (estos VSA se llevan como parte del mensaje de respuesta de solicitud RADIUS estándar y proporcionar una extensión integrada para manejar información específica de la implementación, como nuestros SGT). La sintaxis exacta del servidor RADIUS varía según si el esquema de autenticación está basado en MAC o EAP. Para los clientes basados en MAC, la configuración tiene el siguiente aspecto:
001094001199 Cleartext-Password := "001094001199" Juniper-Switching-Filter = "apply action gbp-tag 100
Para los clientes basados en EAP, el SGT se inserta desde el servidor RADIUS en el momento de la autenticación. La configuración tiene el siguiente aspecto:
PermEmp01 Auth-Type = EAP, Cleartext-Password := "gbp" Juniper-Switching-Filter = "apply action gbp-tag 100"
A partir de Junos OS versión 23.4R1, además del existente Juniper-Switching-Filter
, se admite una nueva llamada VSA en Juniper-Group-Based-Policy-Id
los conmutadores EX4400, EX4100, EX4650 y QFX5120.
No debe usar el VSA Juniper-Group-Based-Policy-Id y el VSA Juniper-Switching-Filter juntos para el mismo cliente.
El cliente no se autenticará si ambos VSA existen y contienen valores de etiqueta GBP diferentes.
Puede asignar etiquetas GBP dinámicamente desde RADIUS a través de cualquiera de estos VSA:
-
Juniper-Switching-Filter
lleva el filtro GBP y otras condiciones de coincidencia y acción del filtro. -
El
Juniper-Group-Based-Policy-Id
solo lleva la etiqueta GBP.
El Juniper-Group-Based-Policy-Id
filtro de etiquetas de VSA para MAC y GBP basado en puertos tiene este aspecto:
PermEmp01 Auth-Type = EAP, Cleartext-Password := "gbp" Juniper-Group-Based-Policy-Id = “100”
A partir de Junos OS versión 23.4R1 y posteriores, la compatibilidad con funciones GBP también se agrega a las siguientes instrucciones de configuración en los conmutadores EX4400, EX4100, EX4650 y QFX5120:
CLI |
Descripción |
---|---|
set protocols dot1x authenticator interface [interface-names] server-fail gbp-tag gbp-tag |
Especifique la etiqueta GBP que se aplicará en la interfaz cuando no se pueda acceder al servidor. Si configura el Solo puede configurar esta opción cuando la |
set protocols dot1x authenticator interface [interface-names] server-reject-vlan gbp-tag gbp-tag |
Especifique la etiqueta GBP que se aplicará cuando RADIUS rechace la autenticación de cliente. Si configura el Solo puede configurarlo |
|
Especifique la etiqueta GBP que se aplicará cuando una interfaz se mueva a una VLAN invitada. Si el Solo puede configurarlo Para obtener más información acerca de las VLAN invitadas, consulte Autenticación 802.1X. |
Puede usar el show dot1x interface detail
comando o para show ethernet-switching table
comprobar qué etiqueta GBP se recibe de RADIUS.
Aquí hay un ejemplo de salida del show ethernet-switching table
comando:
> show ethernet-switching table MAC flags (S - static MAC, D - dynamic MAC, L - locally learned, P - Persistent static SE - statistics enabled, NM - non configured MAC, R - remote PE MAC, O - ovsdb MAC, B - Blocked MAC) Ethernet switching table : 2 entries, 2 learned Routing instance : default-switch Vlan MAC MAC GBP Logical SVLBNH/ Active name address flags tag interface VENH Index source vlan200 00:10:94:00:00:05 D 100 xe-0/2/2.0 vlan200 00:10:94:00:00:06 DR 100 vtep.32769 21.2.0.1
Los filtros basados en GBP se utilizan como clasificadores para el etiquetado de GBP. Estos filtros clasifican las transmisiones entrantes y asignan una etiqueta GBP.
Puede ver cómo funciona esto en los siguientes ejemplos de código. Las políticas de firewall en GBP se enmarcan en función de las etiquetas GBP de origen y destino.
Una etiqueta de origen es el campo de 16 bits del encabezado VXLAN del paquete entrante y se deriva de la búsqueda de la dirección de origen (IP/MAC/puerto, etc.), mientras que la etiqueta de destino se deriva en el túnel de salida o en el extremo de entrada desde el destino (IP/MAC/puerto, etc.), según la asignación de etiqueta configurada.
La etiqueta GBP configurada es un valor positivo distinto de cero en el intervalo (1-65535) para las etiquetas GBT especificadas en un VSA (atributo específico del proveedor) de un servidor RADIUS.
Supongamos que tenemos esta configuración (que se muestra a continuación) en los extremos de entrada y salida. Le recomendamos que tenga la misma configuración de asignación de etiquetas en GBP en todo el sistema. A los paquetes de la dirección 00:01:02:03:04:10:10
MAC de origen se les asigna la etiqueta 100, y a los paquetes de la dirección 00:01:02:03:04:20:20
MAC de origen se les asigna 200.
set firewall family any filter assign_tag micro-segmentation set firewall family any filter assign_tag term tag100 from mac-address 00:01:02:03:04:10:10 set firewall family any filter assign_tag term tag100 then gbp-tag 100 set firewall family any filter assign_tag term tag200 from mac-address 00:01:02:03:04:20:20 set firewall family any filter assign_tag term tag200 then gbp-tag 200
Para los paquetes con una etiqueta GBP de 100 y una dirección MAC de destino de , la etiqueta (gbp-dst-tag) de grupo de 00:01:02:03:04:10:10
destino será 100 y coincidirá a término t10-100. Del mismo modo, para los paquetes con etiqueta GBP 100 y una dirección MAC de destino de , la etiqueta de grupo de 00:01:02:03:04:20:20
destino será 200 y coincidirá con el término t10-200.
set firewall family any filter gbp-policy term t10-100 from gbp-src-tag 100 set firewall family any filter gbp-policy term t10-100 from gbp-dst-tag 100 set firewall family any filter gbp-policy term t10-100 then accept set firewall family any filter gbp-policy term t10-200 from gbp-src-tag 100 set firewall family any filter gbp-policy term t10-200 from gbp-dst-tag 200 set firewall family any filter gbp-policy term t10-200 then discard
La misma asignación de etiqueta utilizada para asignar la dirección MAC de origen a la etiqueta de origen también se utiliza para asignar la dirección MAC de destino a la etiqueta de destino. Esto también es cierto para las asignaciones basadas en puertos.
En Junos OS versión 23.2R1 y posteriores, los conmutadores EX4100, EX4400, EX4650, QFX5120-32C y QFX5120-48Y admiten coincidencias L4 adicionales para filtros de políticas GBP para filtros GBP para MAC y filtros GBP basados en IP. Véase el cuadro 5. La configuración de los filtros L4 puede reducir la escala de GBP admitida. Estas coincidencias se admiten de forma predeterminada; sin embargo, en los conmutadores serie EX4650, QFX5120-32C y QFX5120-48Y, puede usar el set forwarding-options evpn-vxlan gbp tag-only-policy
para permitir solo etiquetas de origen y destino en gbp como coincidencias en la política de gbp.
Veamos otro ejemplo de código, esta vez con una etiqueta de origen GBP de 300 y con paquetes de dirección 172.16.1.0/24
IPv4. Como puede ver a continuación, la etiqueta de origen GBP 300 está asignada y en dirección de salida, y 300 también es la etiqueta de grupo de destino GBP.
set firewall family any filter f1 micro-segmentation set firewall family any filter assign_tag term tag300 from ip-version ipv4 172.16.1.0/24 set firewall family any filter assign_tag term tag300 then gbp-tag 300
A partir de Junos OS versión 23.4R1, los conmutadores EX4400, EX4650 y QFX5120 admiten múltiples entradas en filtros GBP de tipo VLAN, puerto y puerto+VLAN del mismo tipo en un término mediante las opciones de lista y rango, mientras que los conmutadores EX4100 solo admiten varias entradas en filtros GBP de tipo de puerto.
Vea los ejemplos a continuación:
En este ejemplo, para paquetes con etiqueta GBP 300, coincide con el término t1 en direcciones ID VLAN que van de 10 a 30.
set firewall family any filter f1 micro-segmentation set firewall family any filter f1 term t1 from vlan-id [10-30] set firewall family any filter f1 term t1 then gbp-tag 300
En este ejemplo, para paquetes con etiqueta GBP 300, coincide con el término t1 para una lista de interfaces 101 a 104, donde 101 a 104 son el índice de interfaz interna contigua asignado para las interfaces respectivas.
set firewall family any filter f1 micro-segmentation set firewall family any filter f1 term t1 from interface xe-0/0/1 set firewall family any filter f1 term t1 from interface xe-0/0/2 set firewall family any filter f1 term t1 from interface xe-0/0/3 set firewall family any filter f1 term t1 from interface xe-0/0/4 set firewall family any filter f1 term t1 then gbp-tag 300
La prioridad del etiquetado GBP es la siguiente, siendo ip-version la prioridad más alta:
-
ip-version ipv4
<ip address> | <prefix-list> -
ip-version ipv6
<ip address> | <prefix-list> -
mac-address
<mac address> -
interface
<interface_name> ID de VLAN <vlan id> -
vlan-id
<vlan id> -
interface
<interface_name>
Tenga en cuenta que, de forma predeterminada, la aplicación de directivas se realiza en el extremo de salida. Si desea aplicar políticas en la hoja de entrada, consulte la sección siguiente.
Puede habilitar VXLAN-GBP seleccionando uno de los tres perfiles que mejor se adapte a sus necesidades de red. Cada perfil UFT está configurado con diferentes valores máximos para cada tipo de dirección. Consulte Descripción de los perfiles de GBP para obtener más información sobre cuándo usar estos perfiles. Consulte vxlan-gbp-profile, vxlan-gbp-l2-profile y vxlan-gbp-l3-profile para ver las escalas admitidas por estos perfiles.
set chassis forwarding-options vxlan-gbp-profile
set chassis forwarding-options vxlan-gbp-l2-profile
set chassis forwarding-options vxlan-gbp-l3-profile
Información general sobre la aplicación de políticas en el extremo de entrada
A partir de Junos versión 22.4R1, también puede realizar la aplicación de políticas en el extremo de entrada. El cumplimiento de entrada optimiza el ancho de banda de la red. Para respaldar la aplicación de políticas en la entrada, tenemos un mecanismo para propagar las etiquetas basadas en MAC e IP-MAC a través de la red utilizando rutas de tipo 2 y tipo 5. Consulte Rutas EVPN tipo 2 y tipo 5 para obtener más información. Con esto, la política basada en GBP de destino se aplica en nodos más cercanos a la entrada de coincidencias de GBP basadas en MAC e IP. La propagación de etiquetas siempre se realiza en el contexto de GBP basadas en MAC e IP. Para las coincidencias de VLAN, puerto y puerto + VLAN, esto no es aplicable.
Si la ruta de host se instala con la ruta de tipo 2 que tiene la etiqueta GBP, la etiqueta GBP se agrega a la ruta de tipo 5. Se admite la propagación de etiquetas GBP de tipo 2 a tipo 5, pero no se admite la propagación de etiquetas GBP de ruta de tipo 5 a ruta de tipo 2.
Para topologías multihoming, mantenga la configuración idéntica en todos los miembros multihoming.
Debe habilitar la instrucción siguiente para realizar la aplicación de directivas en el nodo de entrada. Cuando la aplicación de entrada está habilitada o deshabilitada, el motor de reenvío de paquetes (PFE) se reinicia.
set fowarding-options evpn-vxlan gbp ingress-enforcement
Paquetes originados por el host
Cuando los paquetes salen de una interfaz de enrutamiento y puente integrados (IRB) a través de un punto de conexión de túnel virtual (VTEP), el kernel inserta una etiqueta GBP de origen en el encabezado VXLAN y envía el paquete. El valor de la etiqueta GBP de origen se configura mediante la siguiente instrucción:
set forwarding-options evpn-vxlan host-originated-packets gbp-src-tag gbp-src-tag
Antes de crear cualquier regla, puede ser útil organizar el esquema creando una tabla para todos los puntos de conexión (usuarios y dispositivos) y el valor SGT asignado. La siguiente tabla se puede utilizar para simplificar aún más la lógica y aclarar sus reglas.
Extremo |
Valor de SGT asignado |
---|---|
Empleado Permanente (PE) |
100 |
Contratista (CON) |
200 |
Personal de seguridad (SS) |
300 |
Cámara de seguridad (CAM) |
400 |
Servidor de ingeniería (ES) |
500 |
La relación entre el servidor RADIUS y los SGT, los encabezados de paquete EX4400 y VXLAN, y un filtro de firewall central para administrar la política de acceso, es tal que una matriz se convierte en una forma práctica de organizar los valores. En la tabla siguiente, enumeramos los roles de usuario en la primera columna y los tipos de dispositivos en la primera fila para crear una matriz de acceso. A cada rol de usuario y tipo de dispositivo se le asigna un SGT y la configuración de RADIUS se ha actualizado con la información.
En este ejemplo se usan tres tipos de empleados: empleado permanente (PE), contratista (CON) y personal de seguridad (SS). También utiliza dos tipos de recursos, Eng Server (ES) y cámara de seguridad (CAM). Usamos Y para indicar que se permite el acceso y N para mostrarlo cuando se bloquea el acceso. La tabla sirve como un recurso útil al crear las distintas reglas de firewall en la política y hace que la asignación de acceso sea simple y clara.
ES (SGT 500) | CAM (SGT 400) | PE (SGT 100) | CON (SGT 200) | SS (SGT 300) | |
---|---|---|---|---|---|
PE (SGT 100) | Y | N | Y | Y | N |
CON (SGT 200) | N | N | Y | N | N |
SS (SGT 300) | N | Y | N | N | Y |
Topología
En aras de la simplicidad, toda la configuración de este ejemplo se realiza en un único conmutador de la serie EX4400 de Juniper que ejecuta Junos OS versión 22.4.1R1. El conmutador está conectado a un servidor RADIUS para AAA. Este modificador funciona como salida en este ejemplo. Recuerde que para los SGT debe definir el firewall en el conmutador de salida, mientras que normalmente lo haría en la puerta de enlace VXLAN de entrada para la capa de acceso.
- Requisitos
- Configuración
- Configuración de un conmutador independiente Juniper EX4400 para VXLAN-GBP
- Limitaciones para conmutadores EX y QFX:
Requisitos
Junos OS 22.4R1 admite GBP mejorada en los siguientes conmutadores: EX4100, EX4400, EX4650, QFX5120-32C y QFX5120-48Y.
Configuración
Segmentación basada en VXLAN-GBP:
- Los usuarios inician sesión en la red y son autenticados por el servidor RADIUS (en el que se configuran los SGT para todos los extremos).
- Mediante filtros de firewall, el EX4400 selecciona el tráfico en función de la autenticación 802.1X o la dirección MAC y, a continuación, asigna una etiqueta de grupo a las tramas coincidentes. (Para clientes autenticados dot1x, no es necesaria la configuración de firewall estático). La mecánica de esto se realiza utilizando firewall como se muestra aquí:
set firewall family any filter name micro-segmentation set firewall family any filter name term name from source-mac-address MAC-Addr
set firewall family any filter name term name then gbp-tag PE-GRP
- El tráfico etiquetado que pasa a través del EX4400 se evalúa sobre la base de valores SGT, nuevamente, utilizando la mecánica del filtro de firewall.
-
Primero habilite
chassis forwarding-options vxlan-gbp-profile
en el dispositivo. - Utilice las
gbp-dst-tag
condiciones y/ogbp-src-tag
coincidencia para escribir las reglas de firewall e inclúyalas en la política de enrutamiento del conmutador de salida que utiliza para la microsegmentación en GBP. A partir de Junos OS versión 23.2R1, además de las etiquetas de origen y destino, se admiten las nuevas coincidencias L4 de filtro de políticas de GBP IPv4 e IPv6, como protocolo, puertos de origen, puertos de destino, indicadores tcp y otras coincidencias. Véase el cuadro 5. -
Si desea que la aplicación de políticas tenga lugar en el extremo de entrada, debe habilitar la
set fowarding-options evpn gbp ingress-enforcement
opción.
-
Configuración de un conmutador independiente Juniper EX4400 para VXLAN-GBP
Utilice los siguientes comandos para configurar la segmentación VXLAN-GBP en un entorno de espacio aislado. Normalmente, crearía las reglas de filtro de firewall en el conmutador que sirve como puerta de enlace VXLAN (de salida) para la capa de acceso, pero en aras de la simplicidad, estamos usando el mismo EX4400 independiente tanto para las reglas de filtro de firewall como para el servidor RADIUS (EAP, aquí). Los valores que utilizamos en este ejemplo están tomados de las tablas anteriores.
Los comandos siguientes incluyen variables como nombres de perfil y direcciones IP, que deben adaptarse para que tengan sentido para su entorno de prueba.
- Configure el servidor RADIUS:
set groups dot1xgbp access radius-server 10.204.96.102 port 1812 set groups dot1xgbp access radius-server 10.204.96.102 secret “secret key" set groups dot1xgbp access profile radius_profile_dev12 authentication-order radius set groups dot1xgbp access profile radius_profile_dev12 radius authentication-server 10.204.96.102 set groups dot1xgbp access profile radius_profile_dev12 radius accounting-server 10.204.96.102 set groups dot1xgbp access profile radius_profile_dev12 accounting order radius
- Configure los puertos físicos para admitir la autenticación RADIUS:
set groups dot1xgbp protocols dot1x authenticator authentication-profile-name radius_profile_dev12 set groups dot1xgbp protocols dot1x authenticator interface xe-0/0/46.0 supplicant multiple set groups dot1xgbp protocols dot1x authenticator interface xe-0/0/46.0 mac-radius
- Configure las etiquetas SGT en el servidor RADIUS mediante el filtro de conmutación de Juniper o el ID de política basado en grupos de Juniper:
Contractor01 Auth-Type = EAP, Cleartext-Password := "gbp" Juniper-Switching-Filter = "apply action gbp-tag 100" Contractor01 Auth-Type = EAP, Cleartext-Password := "gbp" Juniper-Switching-Filter = "apply action gbp-tag 200" SecurityStaff01 Auth-Type = EAP, Cleartext-Password := "gbp" Juniper-Switching-Filter = "apply action gbp-tag 300" SecurityCam01 Auth-Type = EAP, Cleartext-Password := "gbp" Juniper-Switching-Filter = "apply action gbp-tag 400" EngServer01 Auth-Type = EAP, Cleartext-Password := "gbp" Juniper-Switching-Filter = "apply action gbp-tag 500"
Contractor01 Auth-Type = EAP, Cleartext-Password := "gbp" Juniper-Group-Based-Policy-Id = "100" Contractor01 Auth-Type = EAP, Cleartext-Password := "gbp" Juniper-Group-Based-Policy-Id = "200" SecurityStaff01 Auth-Type = EAP, Cleartext-Password := "gbp" Juniper-Group-Based-Policy-Id = "300" SecurityCam01 Auth-Type = EAP, Cleartext-Password := "gbp" Juniper-Group-Based-Policy-Id = "400" EngServer01 Auth-Type = EAP, Cleartext-Password := "gbp" Juniper-Group-Based-Policy-Id = "500"
- Habilite VXLAN-GBP en el conmutador:
set chassis forwarding-options vxlan-gbp-profile
- Cree reglas de filtro de firewall que aprovechen los SGT (utilizando valores organizados en la matriz):
set groups gbp-policy firewall family any filter gbp-policy term pe-to-pe from gbp-src-tag 100 set groups gbp-policy firewall family any filter gbp-policy term pe-to-pe from gbp-dst-tag 100 set groups gbp-policy firewall family any filter gbp-policy term pe-to-pe then accept set groups gbp-policy firewall family any filter gbp-policy term pe-to-pe then count PE-PE set groups gbp-policy firewall family any filter gbp-policy term pe-to-es from gbp-src-tag 100 set groups gbp-policy firewall family any filter gbp-policy term pe-to-es from gbp-dst-tag 500 set groups gbp-policy firewall family any filter gbp-policy term pe-to-es then accept set groups gbp-policy firewall family any filter gbp-policy term pe-to-es then count PE-ES set groups gbp-policy firewall family any filter gbp-policy term pe-to-cam from gbp-src-tag 100 set groups gbp-policy firewall family any filter gbp-policy term pe-to-cam from gbp-dst-tag 400 set groups gbp-policy firewall family any filter gbp-policy term pe-to-cam then discard set groups gbp-policy firewall family any filter gbp-policy term pe-to-cam then count PE-CAM set groups gbp-policy firewall family any filter gbp-policy term con-to-cam from gbp-src-tag 200 set groups gbp-policy firewall family any filter gbp-policy term con-to-cam from gbp-dst-tag 400 set groups gbp-policy firewall family any filter gbp-policy term con-to-cam then discard set groups gbp-policy firewall family any filter gbp-policy term con-to-cam then count CON-CAM set groups gbp-policy firewall family any filter gbp-policy term con-to-es from gbp-src-tag 200 set groups gbp-policy firewall family any filter gbp-policy term con-to-es from gbp-dst-tag 500 set groups gbp-policy firewall family any filter gbp-policy term con-to-es then discard set groups gbp-policy firewall family any filter gbp-policy term con-to-es then count CON-ES set groups gbp-policy firewall family any filter gbp-policy term ss-to-cam from gbp-src-tag 300 set groups gbp-policy firewall family any filter gbp-policy term ss-to-cam from gbp-dst-tag 400 set groups gbp-policy firewall family any filter gbp-policy term ss-to-cam then accept set groups gbp-policy firewall family any filter gbp-policy term ss-to-cam then count SS-CAM set groups gbp-policy firewall family any filter gbp-policy term ss-to-es from gbp-src-tag 300 set groups gbp-policy firewall family any filter gbp-policy term ss-to-es from gbp-dst-tag 500 set groups gbp-policy firewall family any filter gbp-policy term ss-to-es then discard set groups gbp-policy firewall family any filter gbp-policy term ss-to-es then count SS-ES set apply-groups gbp-policy
- Ejecute una comprobación de confirmación en Junos para comprobar que los comandos y las variables utilizadas son válidos. Cuando esté satisfecho con su configuración, confirme la configuración candidata para activarla en el dispositivo. Estos comandos se muestran a continuación. También puede revisar la configuración escribiendo
run show configuration
.commit check configuration check succeeds commit commit complete
Limitaciones para conmutadores EX y QFX:
-
Conmutadores EX9204, EX9208 y EX9214: para el tráfico de tránsito que pasa por el túnel EVPN-VXLAN tipo 2, la aplicación de políticas basada en etiquetas GBP en el PE de salida solo funciona correctamente si la etiqueta GBP de origen estampada en el PE de entrada en el encabezado VxLAN se transporta en la red subyacente sin ningún compromiso.
-
Los SGT configurados mediante RADIUS/802.1X no son compatibles con los conmutadores EX9204, EX9208 y EX9214.
-
La propagación de etiquetas y la aplicación de políticas en el extremo de entrada no se admiten en los conmutadores EX9204, EX9208 y EX9214.
-
Los perfiles UFT GBP no son compatibles con los conmutadores EX9204, EX9208 y EX9214.
-
El número de etiquetas únicas para las plataformas EX4400 y QFX5120 está restringido a 1K.
-
Las
interface
coincidencias yVLAN
GBP no se admiten en los conmutadores EX4100. -
No se admite el etiquetado GBP basado en IP de multidifusión.
-
La GBP basada en IP no se aplica a los flujos de conmutación de capa 2 y la GBP basada en MAC no se aplica a los flujos de enrutamiento de capa 3 de acceso a acceso.
-
IPACL no se admite cuando se configura () GBP basada en
interface
puertos. -
La acción de revisión policial y recuento solo se admite para las entradas de política GBP basadas en MAC e IP.
-
La GBP basada en VLAN no es compatible con las interfaces lógicas de estilo de proveedor de servicios.
-
Los filtros de asignación de etiquetas GBP no admiten la opción de contador.
-
Los diferentes criterios de coincidencia de los filtros GBP (MAC, PORT & PORT + VLAN) no forman parte del mismo filtro.
GBP Junos OS versión 21.1R1 y posteriores
Asignación de SGT con un servidor RADIUS
En este ejemplo, configuramos SGT en un servidor RADIUS y luego usamos el control de acceso 802.1X en el EX4400 para recibirlos. Los servidores RADIUS se utilizan habitualmente en entornos de campus para el control de acceso y, por ejemplo, para controlar la asignación de VLAN.
Para acomodar el uso de SGT en el servidor RADIUS, necesitamos aprovechar el atributo específico del proveedor (VSA), tal como lo admite el marco de servicio AAA (estos VSA se llevan como parte del mensaje de respuesta de solicitud RADIUS estándar y proporcionar una extensión incorporada para manejar información específica de la implementación, como nuestros SGT). La sintaxis exacta del servidor RADIUS varía según si el esquema de autenticación está basado en MAC o EAP. Para los clientes basados en MAC, la configuración tiene el siguiente aspecto:
001094001199 Cleartext-Password := "001094001199" Juniper-Switching-Filter = "apply action gbp-tag 100"
Para los clientes basados en EAP, el SGT se inserta desde el servidor RADIUS en el momento de la autenticación. La configuración tiene el siguiente aspecto:
PermEmp01 Auth-Type = EAP, Cleartext-Password := "gbp" Juniper-Switching-Filter = "apply action gbp-tag 100"
A partir de Junos versión 21.1R1, los conmutadores EX4400 introducen una nueva condición de coincidencia para su uso con VXLAN-GBP que permite que el firewall reconozca las etiquetas SGT que pasa el servidor RADIUS e inserta en el encabezado VXLAN.
Puede ver cómo funciona esto en los siguientes ejemplos de código. Las políticas de firewall en GBP se enmarcan en función de las etiquetas GBP de origen y destino. Una etiqueta de origen es el campo de 16 bits del encabezado VXLAN del paquete entrante, mientras que la etiqueta de destino se deriva en el extremo del túnel de salida, según la asignación de etiqueta configurada.
Supongamos que tenemos un punto final de salida con la configuración que se muestra a continuación. A los paquetes de la dirección 00:01:02:03:04:10:10
MAC de origen se les asigna la etiqueta 100, y a los paquetes de la dirección 00:01:02:03:04:20:20
MAC de origen se les asigna 200.
set firewall family ethernet-switching filter assign_tag term tag100 from source-mac-address 00:01:02:03:04:10:10 set firewall family ethernet-switching filter assign_tag term tag100 then gbp-src-tag 100 set firewall family ethernet-switching filter assign_tag term tag200 from source-mac-address 00:01:02:03:04:20:20 set firewall family ethernet-switching filter assign_tag term tag200 then gbp-src-tag 200
Para los paquetes con una etiqueta GBP de 100 y una dirección MAC de destino de , la etiqueta (gbp-dst-tag) de grupo de 00:01:02:03:04:10:10
destino será 100 y coincidirá a término t10-100. Del mismo modo, para los paquetes con etiqueta GBP 100 y una dirección MAC de destino de , la etiqueta de grupo de 00:01:02:03:04:20:20
destino será 200 y coincidirá con el término t10-200.
set firewall family ethernet-switching filter gbp-policy term t10-100 from gbp-src-tag 100 set firewall family ethernet-switching filter gbp-policy term t10-100 from gbp-dst-tag 100 set firewall family ethernet-switching filter gbp-policy term t10-100 then accept set firewall family ethernet-switching filter gbp-policy term t10-200 from gbp-src-tag 100 set firewall family ethernet-switching filter gbp-policy term t10-200 from gbp-dst-tag 200 set firewall family ethernet-switching filter gbp-policy term t10-200 then discard
La misma asignación de etiqueta utilizada para asignar la dirección MAC de origen a la etiqueta de origen también se utiliza para asignar la dirección MAC de destino a la etiqueta de destino. Esto también es cierto para las asignaciones basadas en puertos.
Veamos otro ejemplo de código, esta vez con una etiqueta de origen GBP de 300 y con interfaz ge-0/0/30.0
de entrada de paquetes. Como puede ver a continuación, la etiqueta de origen GBP 300 está asignada y en dirección de salida, y 300 también es la etiqueta de grupo de destino GBP.
set firewall family ethernet-switching filter assign_tag term tag300 from interface ge-0/0/30.0 set firewall family ethernet-switching filter assign_tag term tag300 then gbp-src-tag 300
Tenga en cuenta que debe configurar el filtro de firewall GBP en el conmutador de salida, ya que no hay forma de que el conmutador de entrada sepa qué etiquetas de grupo se utilizan en el conmutador de salida. Además, debe habilitar VXLAN-GBP globalmente en el nodo de entrada, para que pueda realizar la búsqueda en las coincidencias y agregar SGT en el encabezado VXLAN, así como en el nodo de salida. Haga esto con el comando de configuración que se muestra aquí:
set chassis forwarding-options vxlan-gbp-profile
Antes de crear cualquier regla, puede ser útil organizar el esquema creando una tabla para todos los puntos de conexión (usuarios y dispositivos) y el valor SGT asignado. Aquí, mostramos una de esas tablas, cuyos valores se aplicarán más tarde en una matriz, que se puede usar para simplificar aún más la lógica y aclarar sus reglas.
Extremo |
Valor de SGT asignado |
---|---|
Empleado Permanente (PE) |
100 |
Contratista (CON) |
200 |
Personal de seguridad (SS) |
300 |
Cámara de seguridad (CAM) |
400 |
Servidor de ingeniería (ES) |
500 |
La relación entre el servidor RADIUS y los SGT, los encabezados de paquete EX4400 y VXLAN, y un filtro de firewall central para administrar la política de acceso, es tal que una matriz se convierte en una forma práctica de organizar los valores. En la tabla siguiente, enumeramos los roles de usuario en la primera columna y los tipos de dispositivos en la primera fila para crear una matriz de acceso. A cada rol de usuario y tipo de dispositivo se le asigna un SGT y la configuración de RADIUS se ha actualizado con la información.
En este ejemplo se usan tres tipos de empleados: empleado permanente (PE), contratista (CON) y personal de seguridad (SS). También utiliza dos tipos de recursos, Eng Server (ES) y cámara de seguridad (CAM). Usamos Y para indicar que se permite el acceso y N para mostrarlo cuando se bloquea el acceso. La tabla sirve como un recurso útil al crear las distintas reglas de firewall en la política y hace que la asignación de acceso sea simple y clara.
ES (SGT 500) | CAM (SGT 400) | PE (SGT 100) | CON (SGT 200) | SS (SGT 300) | |
---|---|---|---|---|---|
PE (SGT 100) | Y | N | Y | Y | N |
CON (SGT 200) | N | N | Y | N | N |
SS (SGT 300) | N | Y | N | N | Y |
Topología
En aras de la simplicidad, toda la configuración de este ejemplo se realiza en un único conmutador de la serie EX4400 de Juniper que ejecuta Junos OS versión 21.1R1. El conmutador está conectado a un servidor RADIUS para AAA. Este modificador funciona como salida en este ejemplo. Recuerde que para los SGT debe definir el firewall en el conmutador de salida, mientras que normalmente lo haría en la puerta de enlace VXLAN de entrada para la capa de acceso.
Requisitos
VXLAN-GBP es compatible con Junos OS versión 21.1R1 en los siguientes conmutadores: EX4400-24P, EX4400-24T, EX4400-48F, EX4400-48P y EX4400-48T. Consideremos un conmutador EX4400 en este ejemplo.
A partir de la versión 21.4R1 de Junos, VXLAN-GBP también es compatible con los siguientes conmutadores: QFX5120-32C, QFX5120-48T, QFX5120-48Y, QFX5120-48YM, EX4650 y EX4650-48Y-VC.
Configuración
Podemos resumir la secuencia de eventos subyacentes a la segmentación basada en VXLAN-GBP, presentada en los párrafos anteriores, de la siguiente manera:
- Los usuarios inician sesión en la red y son autenticados por el servidor RADIUS (en el que se configuran los SGT para todos los extremos).
- Mediante filtros de firewall, el EX4400 selecciona el tráfico en función de la autenticación 802.1X o la dirección MAC y, a continuación, asigna una etiqueta de grupo a las tramas coincidentes. (Para clientes autenticados DOT1X, no es necesaria la configuración de firewall estático). La mecánica de esto se realiza utilizando firewall, como se muestra aquí:
set firewall family ethernet-switching filter name term name from source-mac-address MAC-Addr
set firewall family ethernet-switching filter name term name then gbp-src-tag PE-GRP
- El tráfico etiquetado que pasa a través del EX4400 se evalúa sobre la base de valores SGT, nuevamente, utilizando la mecánica del filtro de firewall. Para que esto suceda, primero debe habilitar
chassis forwarding-options vxlan-gbp-profile
en el conmutador, luego usar lasgbp-dst-tag
condiciones y/ogbp-src-tag
hacer coincidir para escribir sus reglas de firewall e incluirlas en la política de enrutamiento en el conmutador de salida que usa para la microsegmentación GBP.
Configuración de un conmutador independiente Juniper EX4400 para VXLAN-GBP
Utilice los siguientes comandos para configurar la segmentación VXLAN-GBP en un entorno de espacio aislado. Normalmente, crearía las reglas de filtro de firewall en el conmutador que sirve como puerta de enlace VXLAN (de salida) para la capa de acceso, pero en aras de la simplicidad, estamos usando el mismo EX4400 independiente tanto para las reglas de filtro de firewall como para el servidor RADIUS (EAP, aquí). Los valores que usamos en este ejemplo son de las tablas anteriores.
Los comandos siguientes incluyen variables como nombres de perfil y direcciones IP, que deben adaptarse para que tengan sentido para su entorno de prueba.
- Configure el servidor RADIUS:
set groups dot1xgbp access radius-server 10.204.96.102 port 1812 set groups dot1xgbp access radius-server 10.204.96.102 secret “secret key" set groups dot1xgbp access profile radius_profile_dev12 authentication-order radius set groups dot1xgbp access profile radius_profile_dev12 radius authentication-server 10.204.96.102 set groups dot1xgbp access profile radius_profile_dev12 radius accounting-server 10.204.96.102 set groups dot1xgbp access profile radius_profile_dev12 accounting order radius
- Configure los puertos físicos para admitir la autenticación RADIUS:
set groups dot1xgbp protocols dot1x authenticator authentication-profile-name radius_profile_dev12 set groups dot1xgbp protocols dot1x authenticator interface xe-0/0/46.0 supplicant multiple set groups dot1xgbp protocols dot1x authenticator interface xe-0/0/46.0 mac-radius
- Configure las etiquetas SGT en el servidor RADIUS:
Contractor01 Auth-Type = EAP, Cleartext-Password := "gbp" Juniper-Switching-Filter = "apply action gbp-tag 100" Contractor01 Auth-Type = EAP, Cleartext-Password := "gbp" Juniper-Switching-Filter = "apply action gbp-tag 200" SecurityStaff01 Auth-Type = EAP, Cleartext-Password := "gbp" Juniper-Switching-Filter = "apply action gbp-tag 300" SecurityCam01 Auth-Type = EAP, Cleartext-Password := "gbp" Juniper-Switching-Filter = "apply action gbp-tag 400" EngServer01 Auth-Type = EAP, Cleartext-Password := "gbp" Juniper-Switching-Filter = "apply action gbp-tag 500"
- Habilite VXLAN-GBP en el conmutador:
set chassis forwarding-options vxlan-gbp-profile
- Cree reglas de filtro de firewall que aprovechen los SGT (utilizando valores organizados en la matriz):
set groups gbp-policy firewall family ethernet-switching filter gbp-policy term pe-to-pe from gbp-src-tag 100 set groups gbp-policy firewall family ethernet-switching filter gbp-policy term pe-to-pe from gbp-dst-tag 100 set groups gbp-policy firewall family ethernet-switching filter gbp-policy term pe-to-pe then accept set groups gbp-policy firewall family ethernet-switching filter gbp-policy term pe-to-pe then count PE-PE set groups gbp-policy firewall family ethernet-switching filter gbp-policy term pe-to-es from gbp-src-tag 100 set groups gbp-policy firewall family ethernet-switching filter gbp-policy term pe-to-es from gbp-dst-tag 500 set groups gbp-policy firewall family ethernet-switching filter gbp-policy term pe-to-es then accept set groups gbp-policy firewall family ethernet-switching filter gbp-policy term pe-to-es then count PE-ES set groups gbp-policy firewall family ethernet-switching filter gbp-policy term pe-to-cam from gbp-src-tag 100 set groups gbp-policy firewall family ethernet-switching filter gbp-policy term pe-to-cam from gbp-dst-tag 400 set groups gbp-policy firewall family ethernet-switching filter gbp-policy term pe-to-cam then discard set groups gbp-policy firewall family ethernet-switching filter gbp-policy term pe-to-cam then count PE-CAM set groups gbp-policy firewall family ethernet-switching filter gbp-policy term con-to-cam from gbp-src-tag 200 set groups gbp-policy firewall family ethernet-switching filter gbp-policy term con-to-cam from gbp-dst-tag 400 set groups gbp-policy firewall family ethernet-switching filter gbp-policy term con-to-cam then discard set groups gbp-policy firewall family ethernet-switching filter gbp-policy term con-to-cam then count CON-CAM set groups gbp-policy firewall family ethernet-switching filter gbp-policy term con-to-es from gbp-src-tag 200 set groups gbp-policy firewall family ethernet-switching filter gbp-policy term con-to-es from gbp-dst-tag 500 set groups gbp-policy firewall family ethernet-switching filter gbp-policy term con-to-es then discard set groups gbp-policy firewall family ethernet-switching filter gbp-policy term con-to-es then count CON-ES set groups gbp-policy firewall family ethernet-switching filter gbp-policy term ss-to-cam from gbp-src-tag 300 set groups gbp-policy firewall family ethernet-switching filter gbp-policy term ss-to-cam from gbp-dst-tag 400 set groups gbp-policy firewall family ethernet-switching filter gbp-policy term ss-to-cam then accept set groups gbp-policy firewall family ethernet-switching filter gbp-policy term ss-to-cam then count SS-CAM set groups gbp-policy firewall family ethernet-switching filter gbp-policy term ss-to-es from gbp-src-tag 300 set groups gbp-policy firewall family ethernet-switching filter gbp-policy term ss-to-es from gbp-dst-tag 500 set groups gbp-policy firewall family ethernet-switching filter gbp-policy term ss-to-es then discard set groups gbp-policy firewall family ethernet-switching filter gbp-policy term ss-to-es then count SS-ES set apply-groups gbp-policy
- Ejecute una comprobación de confirmación en Junos para comprobar que los comandos y las variables utilizadas son válidos. Cuando esté satisfecho con su configuración, confirme la configuración candidata para activarla en el dispositivo. Estos comandos se muestran a continuación. También puede revisar la configuración escribiendo
run show configuration
.commit check configuration check succeeds commit commit complete