Firewalls de estado
Descripción general de Junos Network Secure
Los enrutadores utilizan firewalls para rastrear y controlar el flujo de tráfico. Las PIC de servicios adaptables y multiservicios emplean un tipo de firewall denominado . A diferencia de un firewall que inspecciona paquetes de forma aislada, un firewall con estado proporciona una capa adicional de seguridad mediante el uso de información de estado derivada de comunicaciones pasadas y otras aplicaciones para tomar decisiones de control dinámico para nuevos intentos de comunicación.
En los enrutadores de la serie ACX, la configuración de firewall con estado solo se admite en los enrutadores para interiores ACX500.
Los firewalls con estado se agrupan en . Un flujo se identifica por las cinco propiedades siguientes:
Dirección de origen
Puerto de origen
Dirección de destino
Puerto de destino
Protocolo
Una conversación típica de protocolo de control de transmisión (TCP) o protocolo de datagramas de usuario (UDP) consta de dos flujos: el flujo de iniciación y el flujo de respondedor. Sin embargo, algunas conversaciones, como una conversación FTP, pueden constar de dos flujos de control y muchos flujos de datos.
Las reglas de firewall rigen si se permite establecer la conversación. Si se permite una conversación, se permiten todos los flujos dentro de la conversación, incluidos los flujos que se crean durante el ciclo de vida de la conversación.
Los firewalls con estado se configuran mediante una potente ruta de gestión de conversaciones basada en reglas. A consta de dirección, dirección de origen, puerto de origen, dirección de destino, puerto de destino, valor de protocolo IP y protocolo o servicio de aplicación. Además de los valores específicos que configure, puede asignar el valor a objetos, direcciones o puertos de regla, lo que les permite hacer coincidir cualquier valor any
de entrada. Por último, opcionalmente puede negar los objetos de regla, lo que anula el resultado de la coincidencia específica del tipo.
Las reglas de firewall son direccionales. Para cada conversación nueva, el software del enrutador comprueba que el flujo de iniciación coincida con la dirección especificada por la regla.
Se ordenan las reglas de firewall. El software comprueba las reglas en el orden en que las incluye en la configuración. La primera vez que el firewall descubre una coincidencia, el enrutador implementa la acción especificada por esa regla. Se ignoran las reglas que aún no están marcadas.
A partir de Junos OS versión 14.2, las tarjetas de interfaz MS-MPC y MS-MIC admiten tráfico IPv6 para el firewall de estado seguro de Junos Network.
Para obtener más información, consulte Configuración de reglas de firewall con estado.
- Compatibilidad con firewall de estado para protocolos de aplicación
- Comprobación de anomalías de firewall de estado
Compatibilidad con firewall de estado para protocolos de aplicación
Al inspeccionar los datos del protocolo de la aplicación, el firewall de AS o PIC multiservicios puede aplicar de forma inteligente las políticas de seguridad y permitir que solo fluya a través del firewall el tráfico de paquetes mínimo necesario.
Las reglas de firewall se configuran en relación con una interfaz. De forma predeterminada, el firewall con estado permite que todas las sesiones iniciadas desde los hosts detrás de la interfaz pasen a través del enrutador.
Las ALG de firewall con estado no son compatibles con los enrutadores ACX500.
Comprobación de anomalías de firewall de estado
El firewall de estado reconoce los siguientes eventos como anomalías y los envía al software IDS para su procesamiento:
Anomalías de IP:
La versión IP no es correcta.
El campo de longitud del encabezado IP es demasiado pequeño.
La longitud del encabezado IP se establece más grande que todo el paquete.
Suma de comprobación de encabezado incorrecta.
El campo de longitud total de IP es más corto que la longitud del encabezado.
El paquete tiene opciones de IP incorrectas.
Error de longitud de paquete del Protocolo de mensajes de control de Internet (ICMP).
Tiempo de vida (TTL) es igual a 0.
Anomalías de la dirección IP:
El origen del paquete IP es una difusión o multidifusión.
Ataque terrestre (IP de origen es igual a IP de destino).
Anomalías de fragmentación de IP:
Superposición de fragmentos IP.
Fragmento de IP perdido.
Error de longitud de fragmento IP.
La longitud del paquete IP es de más de 64 kilobytes (KB).
Pequeño fragmento de ataque.
Anomalías TCP:
Puerto TCP 0.
Número de secuencia TCP 0 y indicadores 0.
Número de secuencia TCP 0 y marcado FIN/PSH/RST establecidos.
Indicadores TCP con combinación incorrecta (TCP FIN/RST o SYN/(URG|FIN|RST).
Suma de comprobación TCP incorrecta.
Anomalías del UDP:
Puerto de origen o destino UDP 0.
Error en la comprobación de longitud del encabezado UDP.
Suma de comprobación UDP incorrecta.
Anomalías encontradas a través de comprobaciones TCP o UDP con estado:
SYN seguido de paquetes SYN-ACK sin ACK del iniciador.
SYN seguido de paquetes RST.
SYN sin SYN-ACK.
Primer paquete de flujo que no es SYN.
Errores inalcanzables ICMP para paquetes SYN.
Errores inalcanzables ICMP para paquetes UDP.
Paquetes descartados de acuerdo con las reglas de firewall de estado.
Los enrutadores ACX500 no admiten anomalías de fragmentación de IP.
Si emplea la detección de anomalías de estado junto con la detección sin estado, IDS puede proporcionar una alerta temprana para una amplia gama de ataques, incluidos los siguientes:
Exploración de puertos y sondeos de red TCP o UDP
Ataques de inundación SYN
Ataques basados en la fragmentación de IP, como teardrop, bonk y boink
Configuración de reglas de firewall con estado
Para configurar una regla de firewall con estado, incluya la rule rule-name
instrucción en el nivel de [edit services stateful-firewall]
jerarquía:
[edit services stateful-firewall] rule rule-name { match-direction (input | output | input-output); term term-name { from { application-sets set-name; applications [ application-names ]; destination-address (address | any-ipv4 | any-ipv6 | any-unicast) <except>; destination-address-range low minimum-value high maximum-value <except>; destination-prefix-list list-name <except>; source-address (address | any-ipv4 | any-ipv6 | any-unicast) <except>; source-address-range low minimum-value high maximum-value <except>; source-prefix-list list-name <except>; } then { (accept <skip-ids>| discard | reject); allow-ip-options [ values ]; syslog; } } }
Los enrutadores ACX500 no admiten aplicaciones ni conjuntos de aplicaciones en el nivel jerárquico [edit services stateful-firewall rule rule-name term term-name from
].
En enrutadores ACX500, para habilitar syslog, incluya la stateful-firewall-logs
instrucción CLI en el nivel de jerarquía [edit services service-set service-set-name syslog host local class
].
edit services stateful-firewall
la jerarquía no se admite en la serie SRX.
Cada regla de firewall con estado consta de un conjunto de términos, similar a un filtro configurado en el [edit firewall]
nivel de jerarquía. Un término consiste en lo siguiente:
from
instrucción: especifica las condiciones de coincidencia y las aplicaciones que se incluyen y excluyen. Lafrom
instrucción es opcional en las reglas de firewall con estado.then
instrucción: especifica las acciones y los modificadores de acciones que debe realizar el software del enrutador. Lathen
instrucción es obligatoria en las reglas de firewall con estado.
Los enrutadores de la serie ACX500 no admiten lo siguiente al configurar reglas de firewall con estado:
match-direction
(output | input-output)post-service-filter
en el nivel de jerarquía de entrada del servicio de interfaz.Dirección de origen y dirección de destino IPv6.
application-sets
, ,application
allow-ip-options
en el nivel jerárquico [edit services stateful-firewall
].Puertas de enlace de la capa de aplicación (ALG).
Encadenamiento de servicios dentro de la tarjeta de interfaces modulares multiservicios (MS-MIC) y con servicios en línea (-si).
Clase de servicio.
No se admiten los siguientes
show services stateful-firewall
comandos de CLI:show services stateful-firewall conversations
—Mostrar conversacionesshow services stateful-firewall flow-analysis
—Mostrar entradas de tabla de flujoshow services stateful-firewall redundancy-statistics
—Mostrar estadísticas de redundanciashow services stateful-firewall sip-call
—Mostrar información de llamadas SIPshow services stateful-firewall sip-register
—Mostrar información de registro SIPshow services stateful-firewall subscriber-analysis
: muestra entradas de tabla de suscriptores
En las secciones siguientes se explica cómo configurar los componentes de las reglas de firewall con estado:
- Configuración de la dirección de coincidencia para reglas de firewall de estado
- Configuración de condiciones de coincidencia en reglas de firewall con estado
- Configuración de acciones en reglas de firewall con estado
Configuración de la dirección de coincidencia para reglas de firewall de estado
Cada regla debe incluir una match-direction
instrucción que especifique la dirección en la que se aplica la coincidencia de reglas. Para configurar dónde se aplica la coincidencia, incluya la match-direction
instrucción en el nivel de [edit services stateful-firewall rule rule-name]
jerarquía:
[edit services stateful-firewall rule rule-name] match-direction (input | output | input-output);
Los enrutadores de la serie ACX500 no admiten match-direction (output | input-output)
archivos .
Si configura match-direction input-output
, las sesiones iniciadas desde ambas direcciones podrían coincidir con esta regla.
La dirección de coincidencia se usa con respecto al flujo de tráfico a través del AS o la PIC multiservicios. Cuando se envía un paquete al PIC, la información de dirección se lleva junto con él.
Con un conjunto de servicios de interfaz, la dirección del paquete viene determinada por si un paquete entra o sale de la interfaz en la que se aplica el conjunto de servicios.
Con un conjunto de servicios del próximo salto, la dirección del paquete viene determinada por la interfaz usada para enrutar el paquete al AS o a la PIC multiservicio. Si se utiliza la interfaz interna para enrutar el paquete, se ingresará la dirección del paquete. Si se utiliza la interfaz externa para dirigir el paquete a la PIC, se generará la dirección del paquete. Para obtener más información sobre las interfaces internas y externas, consulte Configuración de conjuntos de servicios para aplicarlos a interfaces de servicios.
En el PIC, se realiza una búsqueda de flujo. Si no se encuentra ningún flujo, se realiza el procesamiento de reglas. Las reglas de este conjunto de servicios se consideran en secuencia hasta que se encuentra una coincidencia. Durante el procesamiento de reglas, la dirección del paquete se compara con las instrucciones de la regla. Solo se consideran las reglas con información de dirección que coincida con la dirección del paquete. La mayoría de los paquetes dan lugar a la creación de flujos bidireccionales.
Configuración de condiciones de coincidencia en reglas de firewall con estado
Para configurar condiciones de coincidencia de firewall con estado, incluya la from
instrucción en el nivel de [edit services stateful-firewall rule rule-name term term-name]
jerarquía:
[edit services stateful-firewall rule rule-name term term-name] from { application-sets set-name; applications [ application-names ]; destination-address (address | any-ipv4 | any-ipv6 | any-unicast) <except>; destination-address-range low minimum-value high maximum-value <except>; destination-prefix-list list-name <except>; source-address (address | any-ipv4 | any-ipv6 | any-unicast) <except>; source-address-range low minimum-value high maximum-value <except>; source-prefix-list list-name <except>; }
Los enrutadores ACX500 no admiten aplicaciones ni conjuntos de aplicaciones en el nivel jerárquico [edit services stateful-firewall rule rule-name term term-name from
].
La dirección de origen y la dirección de destino pueden ser IPv4 o IPv6.
Puede usar la dirección de origen o la dirección de destino como condición de coincidencia, de la misma manera que configuraría un filtro de firewall; para obtener más información, consulte la Guía del usuario de directivas de enrutamiento, filtros de firewall y políticas de tráfico. Puede utilizar los valores any-unicast
comodín , que indican que coinciden todas las direcciones de unidifusión, , que indican que coinciden todas las direcciones IPv4 o any-ipv6
, any-ipv4
que indican que coinciden todas las direcciones IPv6.
Como alternativa, puede especificar una lista de prefijos de origen o destino configurando la instrucción en el [edit policy-options]
nivel de jerarquía y, a continuación, incluyendo la instrucción o la instrucción en la source-prefix-list
prefix-list
destination-prefix-list
regla de firewall con estado. Para obtener un ejemplo, consulte Ejemplos: Configuración de reglas de firewall con estado.
Si omite el término, el from
firewall con estado acepta todo el tráfico y los controladores de protocolo predeterminados surten efecto:
El protocolo de datagramas de usuario (UDP), el protocolo de control de transmisión (TCP) y el protocolo de mensajes de control de Internet (ICMP) crean un flujo bidireccional con un flujo inverso previsto.
IP crea un flujo unidireccional.
También puede incluir definiciones de protocolo de aplicación que haya configurado en el nivel de jerarquía; para obtener más información, consulte Configuración de propiedades de la[edit applications]
aplicación.
Para aplicar una o más definiciones de protocolo de aplicación específicas, incluya la
applications
instrucción en el nivel de[edit services stateful-firewall rule rule-name term term-name from]
jerarquía.Para aplicar uno o más conjuntos de definiciones de protocolo de aplicación que haya definido, incluya la
application-sets
instrucción en el nivel de[edit services stateful-firewall rule rule-name term term-name from]
jerarquía.Nota:Si incluye una de las instrucciones que especifica los protocolos de aplicación, el enrutador deriva información de puerto y protocolo de la configuración correspondiente en el
[edit applications]
nivel de jerarquía; no puede especificar estas propiedades como condiciones coincidentes.
Configuración de acciones en reglas de firewall con estado
Para configurar acciones de firewall con estado, incluya la then
instrucción en el nivel de [edit services stateful-firewall rule rule-name term term-name]
jerarquía:
[edit services stateful-firewall rule rule-name term term-name] then { (accept | discard | reject); allow-ip-options [ values ]; syslog; }
Debe incluir una de las siguientes acciones:
accept
: el paquete se acepta y se envía a su destino.accept skip-ids
—El paquete se acepta y se envía a su destino, pero se omite el procesamiento de reglas IDS configurado en un MS-MPC.discard
: el paquete no se acepta y no se procesa más.reject
: no se acepta el paquete y se devuelve un mensaje de rechazo; UDP envía un código ICMP inalcanzable y TCP envía RST. Los paquetes rechazados se pueden registrar o muestrear.
Los enrutadores interiores ACX500 no admiten la acción accept skip-ids
.
Opcionalmente, puede configurar el firewall para que registre información en el servicio de registro del sistema incluyendo la syslog
instrucción en el nivel de [edit services stateful-firewall rule rule-name term term-name then]
jerarquía. Esta instrucción anula cualquier syslog
configuración incluida en el conjunto de servicios o en la configuración predeterminada de la interfaz.
Configuración del manejo de opciones IP
Opcionalmente, puede configurar el firewall para inspeccionar la información del encabezado IP incluyendo la allow-ip-options
instrucción en el nivel de [edit services stateful-firewall rule rule-name term term-name then]
jerarquía. Al configurar esta instrucción, todos los paquetes que coinciden con los criterios especificados en la from
instrucción se someten a criterios coincidentes adicionales. Un paquete sólo se acepta cuando todos sus tipos de opciones IP están configurados como valores en la allow-ip-options
instrucción. Si no configura allow-ip-options
, sólo se aceptarán paquetes sin opciones de encabezado IP.
Los enrutadores interiores ACX500 no admiten la configuración de allow-ip-options
la instrucción.
La inspección adicional de la opción de encabezado IP solo se aplica a las acciones de accept
firewall con reject
estado. Esta configuración no tiene ningún efecto en la discard
acción. Cuando falla la inspección del encabezado IP, no se envían tramas rechazadas; En este caso, la reject
acción tiene el mismo efecto que discard
.
Si el firewall con estado acepta un paquete de opción IP, la traducción de direcciones de red (NAT) y el servicio de detección de intrusiones (IDS) se aplican de la misma manera que a los paquetes sin encabezados de opción IP. La configuración de la opción IP solo aparece en las reglas de firewall con estado; NAT se aplica a paquetes con o sin opciones IP.
Cuando se descarta un paquete porque no pasa la inspección de la opción IP, este evento de excepción genera mensajes de registro del sistema y del evento IDS. El tipo de evento depende del primer campo de opción IP rechazado.
En la tabla 1 se enumeran los valores posibles de la allow-ip-options
instrucción. Puede incluir un rango o conjunto de valores numéricos, o una o varias de las opciones IP predefinidas. Puede introducir el nombre de la opción o su equivalente numérico. Para obtener más información, consulte http://www.iana.org/assignments/ip-parameters.
Nombre de la opción IP |
Valor numérico |
Comentario |
---|---|---|
|
|
Cualquier opción de IP |
|
|
– |
|
|
– |
|
|
– |
|
|
– |
|
|
– |
|
|
– |
|
|
– |
Ver también
Configuración de conjuntos de reglas de firewall con estado
La rule-set
instrucción define una colección de reglas de firewall con estado que determinan qué acciones realiza el software del enrutador en los paquetes del flujo de datos. Para definir cada regla, se especifica un nombre de regla y se configuran los términos. A continuación, especifique el orden de las reglas incluyendo la rule-set
instrucción en el [edit services stateful-firewall]
nivel de jerarquía con una rule
instrucción para cada regla:
[edit services stateful-firewall] rule-set rule-set-name { rule rule-name; }
El software del enrutador procesa las reglas en el orden en que se especifican en la configuración. Si un término de una regla coincide con el paquete, el enrutador realiza la acción correspondiente y el procesamiento de la regla se detiene. Si ningún término de una regla coincide con el paquete, el procesamiento continúa con la siguiente regla del conjunto de reglas. Si ninguna de las reglas coincide con el paquete, el paquete se descarta de forma predeterminada.
Ejemplos: configuración de reglas de firewall con estado
En el ejemplo siguiente se muestra una configuración de firewall con estado que contiene dos reglas, una para la coincidencia de entrada en un conjunto de aplicaciones especificado y la otra para la coincidencia de salida en una dirección de origen especificada:
[edit services] stateful-firewall { rule Rule1 { match-direction input; term 1 { from { application-sets Applications; } then { accept; } } term accept { then { accept; } } } rule Rule2 { match-direction output; term Local { from { source-address { 10.1.3.2/32; } } then { accept; } } } }
El ejemplo siguiente tiene una sola regla con dos términos. El primer término rechaza todo el tráfico que se origina en my-application-group
la dirección de origen especificada y proporciona un registro detallado del sistema de los paquetes rechazados. El segundo término acepta el tráfico del Protocolo de transferencia de hipertexto (HTTP) desde cualquier persona a la dirección de destino especificada.
[edit services stateful-firewall] rule my-firewall-rule { match-direction input-output; term term1 { from { source-address 10.1.3.2/32; application-sets my-application-group; } then { reject; syslog; } } term term2 { from { destination-address 10.2.3.2/32; applications http; } then { accept; } } }
En el ejemplo siguiente se muestra el uso de listas de prefijos de origen y destino. Esto requiere dos elementos de configuración independientes.
La lista de prefijos se configura en el nivel de [edit policy-options]
jerarquía:
[edit] policy-options { prefix-list p1 { 10.1.1.1/32; 10.2.2.0/24; } prefix-list p2 { 10.3.3.3/32; 10.4.4.0/24; } }
Haga referencia a la lista de prefijos configurados en la regla de firewall con estado:
[edit] services { stateful-firewall { rule r1 { match-direction input; term t1 { from { source-prefix-list { p1; } destination-prefix-list { p2; } } then { accept; } } } } }
Esto equivale a la siguiente configuración:
[edit] services { stateful-firewall { rule r1 { match-direction input; term t1 { from { source-address { 10.1.1.1/32; 10.2.2.0/24; } destination-address { 10.3.3.3/32; 10.4.4.0/24; } } then { accept; } } } } }
Puede utilizar el calificador con las listas de prefijos, como en el except
ejemplo siguiente. En este caso, el calificador se aplica a todos los prefijos incluidos en la except
lista p2
de prefijos.
[edit] services { stateful-firewall { rule r1 { match-direction input; term t1 { from { source-prefix-list { p1; } destination-prefix-list { p2 except; } } then { accept; } } } } }
Para obtener ejemplos adicionales que combinan la configuración de firewall con estado con otros servicios y con tablas de enrutamiento y reenvío de red privada virtual (VPN) (VRF), consulte los ejemplos de configuración.
Puede definir el conjunto de servicios y asignarlo como estilo de interfaz o estilo de salto siguiente.
Ver también
Ejemplo: direcciones BOOTP y de difusión
En el ejemplo siguiente se admiten el protocolo de arranque (BOOTP) y las direcciones de difusión:
[edit applications] application bootp { application-protocol bootp; protocol udp; destination-port 67; } [edit services] stateful-firewall bootp-support { rule bootp-allow { direction input; term bootp-allow { from { destination-address { any-unicast; 255.255.255.255; } application bootp; } then { accept; } } } }
Ejemplo: configuración de servicios de capa 3 y el SDK de servicios en dos PIC
Puede configurar el paquete de servicios de capa 3 y el SDK de servicios en dos PIC. Para este ejemplo, debe configurar un cliente FTP o HTTP y un servidor. En esta configuración, el lado del cliente de la interfaz del enrutador es ge-1/2/2.1 y el lado del servidor de la interfaz del enrutador es ge-1/1/0.48. Esta configuración habilita la traducción de direcciones de red (NAT) con firewall de estado (SFW) en la PIC de uKernel e identificación de aplicaciones (APPID), lista de acceso consciente de aplicaciones (AACL) y detección y prevención de intrusiones (IDP) en la PIC del SDK de servicios para tráfico FTP o HTTP.
El SDK de servicios aún no admite NAT. Cuando se requiere NAT, puede configurar el paquete de servicios de capa 3 para implementar NAT junto con el SDK de servicios, como APPID, AACL o IDP.
La funcionalidad IDP está en desuso para la serie MX para Junos OS versión 17.1R1 y superior.
Para implementar el paquete de servicios de capa 3 y el SDK de servicios en dos PIC:
Ejemplo: enrutamiento y reenvío virtual (VRF) y configuración de servicios
En el ejemplo siguiente se combinan el enrutamiento y reenvío virtual (VRF) y la configuración de servicios:
[edit policy-options] policy-statement test-policy { term t1 { then reject; } } [edit routing-instances] test { interface ge-0/2/0.0; interface sp-1/3/0.20; instance-type vrf; route-distinguisher 10.58.255.1:37; vrf-import test-policy; vrf-export test-policy; routing-options { static { route 0.0.0.0/0 next-table inet.0; } } } [edit interfaces] ge-0/2/0 { unit 0 { family inet { service { input service-set nat-me; output service-set nat-me; } } } } sp-1/3/0 { unit 0 { family inet; } unit 20 { family inet; service-domain inside; } unit 21 { family inet; service-domain outside; } [edit services] stateful-firewall { rule allow-any-input { match-direction input; term t1 { then accept; } } } nat { pool hide-pool { address 10.58.16.100; port automatic; } rule hide-all-input { match-direction input; term t1 { then { translated { source-pool hide-pool; translation-type source napt-44; } } } } } service-set nat-me { stateful-firewall-rules allow-any-input; nat-rules hide-all-input; interface-service { service-interface sp-1/3/0.20; } } }
Tabla de historial de cambios
La compatibilidad con las funciones viene determinada por la plataforma y la versión que esté utilizando. Utilice el Explorador de características para determinar si una característica es compatible con su plataforma.
accept skip-ids
—El paquete se acepta y se envía a su destino, pero se omite el procesamiento de reglas IDS configurado en un MS-MPC.