EN ESTA PÁGINA
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 adaptativos y multiservicios emplean un tipo de firewall llamado . A diferencia de un firewall que inspecciona paquetes de forma aislada, un firewall de 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 interiores ACX500.
Los firewalls de 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 sobre protocolo de control de transmisión (TCP) o protocolo de datagramas de usuario (UDP) consta de dos flujos: el flujo de inicio y el flujo de respuesta. 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 manejo de conversaciones basada en reglas. A se compone de la dirección, la dirección de origen, el puerto de origen, la dirección de destino, el puerto de destino, el valor del protocolo IP y el protocolo o servicio de la aplicación. Además de los valores específicos que configure, puede asignar el valor any a objetos, direcciones o puertos de regla, lo que les permite coincidir con cualquier valor de entrada. Por último, opcionalmente puede negar los objetos de regla, lo que niega el resultado de la coincidencia específica del tipo.
Las reglas del firewall son direccionales. Para cada conversación nueva, el software del enrutador comprueba el flujo de inicio que coincide con la dirección especificada por la regla.
Las reglas del firewall están ordenadas. El software comprueba las reglas en el orden en que se incluyen 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 se han marcado.
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 inspección de estado Junos Network Secure.
Para obtener más información, consulte Configurar reglas de firewall de inspección de estado.
- Soporte de firewall de inspección de estado para protocolos de aplicación
- Comprobación de anomalías del firewall de inspección de estado
Soporte de firewall de inspección de estado para protocolos de aplicación
Mediante la inspección de los datos del protocolo de aplicación, el firewall de PIC de AS o multiservicios puede aplicar políticas de seguridad de manera inteligente y permitir que solo el tráfico de paquetes mínimo requerido fluya a través del firewall.
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 por el enrutador.
Los ALG de firewall de estado no son compatibles con enrutadores ACX500.
Comprobación de anomalías del firewall de inspección de estado
El firewall con 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 de 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 la IP es más corto que la longitud del encabezado.
El paquete tiene opciones IP incorrectas.
Error de longitud de paquete del Protocolo de mensajes de control de Internet (ICMP).
El tiempo de vida (TTL) es igual a 0.
Anomalías de la dirección IP:
El origen de paquetes IP es una difusión o multidifusión.
Ataque terrestre (IP de origen igual a IP de destino).
Anomalías de fragmentación IP:
Superposición de fragmentos IP.
Fragmento IP perdido.
Error de longitud de fragmento IP.
La longitud del paquete IP es de más de 64 kilobytes (KB).
Ataque de fragmentos diminutos.
Anomalías de TCP:
Puerto TCP 0.
Número de secuencia TCP 0 y marcas 0.
Número de secuencia TCP 0 y marcas FIN/PSH/RST establecidas.
Indicadores TCP con combinación incorrecta (TCP, FIN/RST o SYN/(URG|FIN|RST).
Suma de comprobación TCP incorrecta.
Anomalías de UDP:
Puerto de origen o destino UDP 0.
Error en la comprobación de la longitud del encabezado UDP.
Suma de comprobación UDP incorrecta.
Anomalías detectadas mediante comprobaciones de 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 no SYN.
Errores ICMP inalcanzables para paquetes SYN.
Errores ICMP inalcanzables para paquetes UDP.
Paquetes caídos de acuerdo con las reglas del firewall de estado.
Los enrutadores ACX500 no admiten anomalías de fragmentación IP.
Si emplea la detección de anomalías con estado junto con la detección sin estado, IDS puede proporcionar una alerta temprana para una amplia gama de ataques, incluidos los siguientes:
Sondas de red TCP o UDP y escaneo de puertos
Ataques de inundación SYN
Ataques basados en fragmentación de IP, como teardrop, bonk y boink
Configuración de reglas de firewall de inspección de 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:
frominstrucción: especifica las condiciones de coincidencia y las aplicaciones que se incluyen y excluyen. Lafrominstrucción es opcional en las reglas de firewall con estado.theninstrucción: especifica las acciones y los modificadores de acción que debe realizar el software del enrutador. Latheninstrucción es obligatoria en las reglas de firewall con estado.
Los enrutadores serie ACX500 no admiten lo siguiente al configurar reglas de firewall con estado:
match-direction(output | input-output)post-service-filteren el nivel de jerarquía de entrada del servicio de interfaz.Dirección de origen y destino IPv6.
application-sets,application,allow-ip-optionsen el nivel de jerarquía [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-firewallcomandos de CLI:show services stateful-firewall conversations—Mostrar conversacionesshow services stateful-firewall flow-analysis—Muestra las entradas de la tabla de flujoshow services stateful-firewall redundancy-statistics—Mostrar estadísticas de redundanciashow services stateful-firewall sip-call—Mostrar información de llamada SIPshow services stateful-firewall sip-register—Mostrar información de registro SIPshow services stateful-firewall subscriber-analysis—Mostrar entradas de tabla de suscriptores
En las siguientes secciones, 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 inspección de estado
- Configuración de condiciones de coincidencia en reglas de firewall de inspección de estado
- Configuración de acciones en reglas de firewall de inspección de estado
Configuración de la dirección de coincidencia para reglas de firewall de inspección de estado
Cada regla debe incluir una match-direction instrucción que especifique la dirección en la que se aplica la coincidencia de regla. 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 serie ACX500 no admiten match-direction (output | input-output).
Si configura match-direction input-output, es posible que las sesiones iniciadas desde ambas direcciones coincidan con esta regla.
La dirección de coincidencia se utiliza con respecto al flujo de tráfico a través del AS o la PIC de multiservicios. Cuando se envía un paquete a la PIC, la información de dirección se transporta 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 servicio de salto siguiente, la dirección del paquete viene determinada por la interfaz usada para enrutar el paquete al AS o a la PIC de multiservicios. Si se usa la interfaz interna para enrutar el paquete, se ingresa la dirección del paquete. Si se utiliza la interfaz externa para dirigir el paquete a la PIC, se emite la dirección del paquete. Para obtener más información sobre las interfaces internas y externas, consulte Configuración de conjuntos de servicios que se aplicarán a interfaces de servicios.
En la PIC, se realiza una búsqueda de flujo. Si no se encuentra ningún flujo, se procesa la regla. 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 direcciones de las reglas. Solo se tienen en cuenta las reglas con información de dirección que coincida con la dirección del paquete. La mayoría de los paquetes dan como resultado la creación de flujos bidireccionales.
Configuración de condiciones de coincidencia en reglas de firewall de inspección de 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 utilizar 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 políticas de enrutamiento, filtros de firewall y agentes de policía de tráfico. Puede utilizar los valores any-unicastcomodín , que indican que coinciden con todas las direcciones de unidifusión, any-ipv4, que indican que coinciden con todas las direcciones IPv4 o any-ipv6, que indican que coinciden con todas las direcciones IPv6.
Como alternativa, puede especificar una lista de prefijos de origen o destino configurando la prefix-list instrucción en el [edit policy-options] nivel de jerarquía y, a continuación, incluyendo la destination-prefix-list instrucción o la source-prefix-list instrucción en la regla de firewall con estado. Para obtener un ejemplo, consulte Ejemplos: configuración de reglas de firewall de inspección de estado.
Si omite el término, el firewall con estado acepta todo el from 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 Configurar propiedades de la[edit applications] aplicación.
Para aplicar una o varias definiciones de protocolo de aplicación específicas, incluya la
applicationsinstrucción en el nivel de[edit services stateful-firewall rule rule-name term term-name from]jerarquía.Para aplicar uno o varios conjuntos de definiciones de protocolo de aplicación que haya definido, incluya la
application-setsinstrucció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 jerárquico; no puede especificar estas propiedades como condiciones de coincidencia.
Configuración de acciones en reglas de firewall de inspección de 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 de IDS configurado en una MS-MPC.discard—El paquete no se acepta y no se procesa más.reject—El paquete no se acepta 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 registrar información en el recurso 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 de IP
Si lo desea, 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. Cuando configure esta instrucción, todos los paquetes que coincidan con los criterios especificados en la from instrucción se someten a criterios de coincidencia adicionales. Un paquete solo se acepta cuando todos sus tipos de opción IP están configurados como valores en la allow-ip-options instrucción. Si no configura allow-ip-options, solo se aceptan paquetes sin opciones de encabezado IP.
Los enrutadores interiores ACX500 no admiten la instrucción de allow-ip-options configuración.
La inspección adicional de la opción de encabezado IP solo se aplica a las acciones de accept firewall de estado y reject de estado. Esta configuración no tiene ningún efecto sobre la discard acción. Cuando se produce un error en la inspección del encabezado IP, no se envían las tramas de rechazo; 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, Traducción de direcciones de red (TDR) y 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; TDR 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 de eventos de IDS. El tipo de evento depende del primer campo de opción IP rechazado.
En la tabla 1 se enumeran los valores posibles para la allow-ip-options instrucción. Puede incluir un rango o un conjunto de valores numéricos, o una o más de las configuraciones de opción 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 de inspección de 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 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, este se descarta de forma predeterminada.
Ejemplos: Configuración de reglas de firewall de inspección de estado
En el siguiente ejemplo, se muestra una configuración de firewall con estado que contiene dos reglas, una para la coincidencia de entradas en un conjunto de aplicaciones especificado y la otra para la coincidencia de salidas 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 siguiente ejemplo tiene una única 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 [edit policy-options] nivel de 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 es equivalente 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 usar el except calificador con las listas de prefijos, como en el ejemplo siguiente. En este caso, el calificador se aplica a todos los prefijos incluidos en la except lista p2de 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 como estilo de salto siguiente.
Ver también
Ejemplo: BOOTP y direcciones de difusión
El siguiente ejemplo admite 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 Services SDK en dos PIC
Puede configurar el paquete de servicio 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 (TDR) con firewall con estado (SFW) en la PIC de uKernel e identificación de aplicaciones (APPID), lista de acceso con reconocimiento de aplicaciones (AACL) y detección y prevención de intrusiones (DPI) en la PIC del SDK de servicios para tráfico FTP o HTTP.
Services SDK aún no admite TDR. Cuando se requiere TDR, puede configurar el paquete de servicio de capa 3 para implementar TDR junto con el SDK de servicios, como APPID, AACL o DPI.
La funcionalidad DPI está en desuso para la serie MX para Junos OS versión 17.1R1 y posteriores.
Para implementar el paquete de servicio de capa 3 y el SDK de servicios en dos PIC:
Ejemplo: enrutamiento y reenvío virtual (VRF) y configuración de servicio
En el siguiente ejemplo, 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 de la función depende de la plataforma y la versión que utilice. 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 de IDS configurado en una MS-MPC.