Condiciones de coincidencia del filtro de firewall basadas en valores de campo de bits
Condiciones de coincidencia para valores de campo de bits
Tabla 1 enumera las condiciones de coincidencia del filtro de firewall que se basan en si ciertos campos de bits de un paquete están o no establecidos. En la segunda y tercera columnas se enumeran los tipos de tráfico para los que se admite la condición de coincidencia.
Condición de coincidencia de campo de bits |
Valores de coincidencia |
Familias de protocolos para filtros estándar de firewall sin estado |
Familias de protocolos para filtros de servicio |
|---|---|---|---|
fragment-flags flags |
Valores hexadecimales o alias de texto para el campo de indicadores de fragmentación DE IP de tres bits en el encabezado IP. |
family inet |
family inet |
fragment-offset value |
Valores hexadecimales o alias de texto para el campo de desplazamiento de fragmento de 13 bits en el encabezado IP. |
family inet |
family inet |
tcp-flags value† |
Valores hexadecimales o alias de texto para los 6 bits de orden bajo del campo de indicadores TCP de 8 bits en el encabezado TCP. |
family inetfamily inet6family vplsfamily bridge |
family inetfamily inet6 |
† Junos OS no comprueba automáticamente el primer bit de fragmento cuando coincide con indicadores TCP para tráfico IPv4. Para comprobar el primer bit de fragmento solo para el tráfico IPv4, utilice la condición de first-fragment coincidencia. |
|||
Condiciones de coincidencia para valores o combinaciones comunes de campo de bits
Tabla 2 describe condiciones de coincidencia de filtro de firewall que se basan en si ciertos valores o combinaciones de campos de bits de uso común en un paquete están o no establecidos.
Puede usar sinónimos de texto para especificar algunas coincidencias de campo de bits comunes. En el ejemplo anterior, puede especificar tcp-initial como la misma condición de coincidencia.
Algunas de las condiciones de coincidencia de rango numérico y campo de bits le permiten especificar un sinónimo de texto. Para obtener una lista completa de sinónimos:
Si utiliza la interfaz J-Web, seleccione el sinónimo de la lista adecuada.
Si usa la CLI, escriba un signo de interrogación (?) después de la from instrucción.
Condición de coincidencia |
Descripción |
Familias de protocolos para filtros estándar de firewall sin estado |
Familias de protocolos para filtros de servicio |
|---|---|---|---|
first-fragment |
Alias de texto para la condición fragment-offset 0de coincidencia de campo de bits, que indica el primer fragmento de un paquete fragmentado. |
family inet |
family inet |
is-fragment |
Alias de texto para la condición fragment-offset 0 exceptde coincidencia de campo de bits, que indica un fragmento final de un paquete fragmentado. |
family inet |
family inet |
tcp-established |
Alias para la condición tcp-flags "(ack | rst)"de coincidencia de campo de bits, que indica una sesión TCP establecida, pero no el primer paquete de una conexión TCP. |
family inetfamily inet6 |
— |
tcp-initial |
Alias para la condición tcp-flags "(!ack & syn)"de coincidencia de campo de bits, que indica el primer paquete de una conexión TCP, pero no una sesión TCP establecida. |
family inetfamily inet6 |
— |
Operadores lógicos para valores de campo de bits
Tabla 3 enumera los operadores lógicos que puede aplicar a valores de campo de bit único cuando se especifican condiciones de coincidencia de filtro de firewall sin estado. Los operadores se enumeran en orden, desde la prioridad más alta hasta la más baja. Las operaciones son asociativas a la izquierda, lo que significa que las operaciones se procesan de izquierda a derecha.
Orden de precedencia |
Operador lógico de campo de bits |
Descripción |
|---|---|---|
1 |
(complex-match-condition) |
Agrupación: la condición de coincidencia compleja se evalúa antes de aplicar cualquier operador fuera de los paréntesis. |
2 |
! match-condition |
Negación: se produce una coincidencia si la condición de coincidencia es false. |
3 |
match-condition-1 & match-condition-2o dematch-condition-1 + match-condition-2 |
AND lógica: se produce una coincidencia si ambas condiciones de coincidencia son verdaderas. |
4 |
match-condition-1 | match-condition-2o dematch-condition-1 , match-condition-2 |
OR lógica: se produce una coincidencia si cualquiera de las condiciones de coincidencia es verdadera. |
Coincidencia en un valor de campo de bits o un alias de texto
Para las fragment-flags condiciones de coincidencia tcp-flags de bits y, puede especificar condiciones de coincidencia de filtro de firewall según si un bit determinado en el campo de paquete está establecido o no.
Valor numérico para especificar un solo bit: puede especificar una condición de coincidencia de campo de bits único mediante un valor numérico que tenga establecido un bit. Según la condición de coincidencia, puede especificar un valor decimal, un valor binario o un valor hexadecimal. Para especificar un valor binario, especifique el número con el prefijo b. Para especificar un valor hexadecimal, especifique el número con el prefijo 0x.
En el ejemplo siguiente, se produce una coincidencia si se establece el RST bit en el campo de indicadores TCP:
[edit firewall family inet filter filter_tcp_rst_number term term1 from] user@host# set tcp-flags 0x04
Alias de texto para especificar un solo bit: generalmente se especifica una condición de coincidencia de campo de bits único mediante el uso de un alias de texto incluido entre comillas dobles (" ").
En el ejemplo siguiente, se produce una coincidencia si se establece el RST bit en el campo de indicadores TCP:
[edit firewall family inet filter filter_tcp_rst_alias term term1 from] user@host# set tcp-flags “rst”
Coincidencia en varios valores de campo de bits o alias de texto
Puede especificar una condición de coincidencia de filtro de firewall según si se ha establecido un conjunto determinado de bits en un campo de paquete.
Valores numéricos para especificar varios bits de conjunto: cuando se especifica un valor numérico cuya representación binario tiene más de un bit establecido, el valor se trata como un Y lógico de los bits set.
En el ejemplo siguiente, las dos condiciones de coincidencia son las mismas. Se produce una coincidencia si el bit 0x01 o 0x02 no está establecido:
[edit firewall family inet filter reset_or_not_initial_packet term term5 from] user@host# set tcp-flags “!0x3” user@host# set tcp-flags “!(0x01 & 0x02)”
Alias de texto que especifican coincidencias de campos de bits comunes: puede usar alias de texto para especificar algunas coincidencias de campo de bits comunes. Estas coincidencias se especifican como una sola palabra clave.
En el ejemplo siguiente, la tcp-established condición, que es un alias para “(ack | rst)”, especifica que se produce una coincidencia en paquetes TCP distintos del primer paquete de una conexión:
[edit firewall family inet filter reset_or_not_initial_packet term term6 from] user@host# set tcp-established
Coincidencia en un valor de campo de bits denegado
Para negar una coincidencia, precede al valor con un punto de exclamación.
En el ejemplo siguiente, se produce una coincidencia si se establece el RST bit en el campo de indicadores TCP:
[edit firewall family inet filter filter_tcp_rst term term1 from] user@host# set tcp-flags “!rst”
Coincidencia en el OR lógico de dos valores de campo de bits
Puede usar ( | o ,) para especificar que se produce una coincidencia si un campo de bits coincide con cualquiera de los dos valores de campo de bits especificados.
En el ejemplo siguiente, se produce una coincidencia si el paquete no es el paquete inicial de una sesión TCP:
[edit firewall family inet filter not_initial_packet term term3 from] user@host# set tcp-flags "!syn | ack"
En una sesión TCP, la marca SYN solo se establece en el paquete inicial enviado, mientras que la marca ACK se establece en todos los paquetes enviados después del paquete inicial. En un paquete que no es el paquete inicial de una sesión TCP, no se establece la marca SYN o se establece la marca ACK.
Coincidencia en la Y lógica de dos valores de campo de bits
Puede usar ( & o +) para especificar que se produce una coincidencia si un campo de bits coincide con ambos de los dos valores de campo de bits especificados.
En el ejemplo siguiente, se produce una coincidencia si el paquete es el paquete inicial en una sesión TCP:
[edit firewall family inet filter initial_packet term term2 from] user@host# set tcp-flags “syn & !ack”
En una sesión TCP, la marca SYN solo se establece en el paquete inicial enviado, mientras que la marca ACK se establece en todos los paquetes enviados después del paquete inicial. En un paquete que es un paquete inicial en una sesión TCP, se establece la marca SYN y no se establece la marca ACK.
Condiciones de coincidencia de campo de bits de agrupación
Puede usar la para especificar que la condición de coincidencia compleja dentro de los paréntesis se evalúa antes de aplicar cualquier operador fuera de los paréntesis.
En el ejemplo siguiente, se produce una coincidencia si el paquete es un restablecimiento TCP o si el paquete no es el paquete inicial en la sesión TCP:
[edit firewall family inet filter reset_or_not_initial_packet term term4 from] user@host# set tcp-flags “!(syn & !ack) | rst”
En una sesión TCP, la marca SYN solo se establece en el paquete inicial enviado, mientras que la marca ACK se establece en todos los paquetes enviados después del paquete inicial. En un paquete que no es el paquete inicial de una sesión TCP, la marca SYN no está establecida y el campo ACK está establecido.
