ON THIS PAGE
Condiciones de coincidencia para valores de campos de bits o combinaciones comunes
Hacer coincidir en un único valor de campo de bits o alias de texto
Hacer coincidir con varios valores de campos de bits o alias de texto
Hacer coincidir en el operador lógico OR de dos valores de campos de bits
Hacer coincidir en el operador lógico AND de dos valores de campos de bits
Condiciones de coincidencia de filtro de Firewall basadas en valores de campos de bits
Condiciones de coincidencia para valores de campos de bits
Tabla 1enumera las condiciones de coincidencia de filtro de Firewall que se basan en si ciertos campos de bits de un paquete están establecidos o no. En las columnas segunda y tercera se muestran los tipos de tráfico que admite la condición de coincidencia.
Tabla 1: Condiciones de coincidencia de campos de bits y binarios para filtros de Firewall
Condición de coincidencia de campo de bits | Valores de coincidencia | Familias de protocolos para filtros estándar de cortafuegos sin estado | Familias de protocolos para filtros de servicio |
---|---|---|---|
† El Junos OS no comprueba automáticamente el primer bit de fragmento al hacer coincidir los indicadores TCP para el tráfico IPv4. Para comprobar únicamente el primer bit de fragmento para el tráfico IPv4, utilice la first-fragment condición coincidir. | |||
fragment-flags flags | Valores hexadecimales o alias de texto para el campo de indicadores de fragmentación de IP de tres bits del 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 inferior del campo de indicadores TCP de 8 bits del encabezado TCP. | family inet | family inet |
Condiciones de coincidencia para valores de campos de bits o combinaciones comunes
Tabla 2describe condiciones de coincidencia de filtro de firewall que se basan en si se han establecido o no determinados valores utilizados frecuentemente o combinaciones de campos de bits en un paquete.
Puede usar sinónimos de texto para especificar algunas coincidencias de campos de bits comunes. En el ejemplo anterior, puede especificar tcp-initial como la misma condición de coincidencia.
Algunas 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 está utilizando la interfaz de J-Web, seleccione el sinónimo en la lista adecuada.
Si utiliza la CLI, escriba un signo de interrogación (?) después de la from afirmación.
Tabla 2: Condiciones de coincidencia de campos de bits para combinaciones comunes
Condición coincidir | Descriptiva | Familias de protocolos para filtros estándar de cortafuegos sin estado | Familias de protocolos para filtros de servicio |
---|---|---|---|
first-fragment | Alias de texto para la condición de coincidencia de campo de bits fragment-offset 0, que indica el primer fragmento de un paquete fragmentado. | family inet | family inet |
is-fragment | Alias de texto para la condición de coincidencia de campo de bits fragment-offset 0 except, que indica un fragmento a la derecha de un paquete fragmentado. | family inet | family inet |
tcp-established | Alias para la condición de coincidencia de campo de bits tcp-flags "(ack | rst)", que indica una sesión TCP establecida, pero no el primer paquete de una conexión TCP. | family inet | — |
tcp-initial | Alias para la condición de coincidencia de campo de bits tcp-flags "(!ack & syn)", que indica el primer paquete de una conexión TCP, pero no una sesión TCP establecida. | family inet | — |
Operadores lógicos para valores de campos de bits
Tabla 3enumera los operadores lógicos que puede aplicar a los valores de campos de bits únicos al especificar condiciones de coincidencia de filtro de Firewall sin estado. Los operadores se enumeran por orden, de mayor a menor prioridad. Las operaciones son asociativas desde la izquierda, lo que significa que las operaciones se procesan de izquierda a derecha.
Tabla 3: Operadores lógicos de campos de bits
Orden de prioridad | Operador lógico de campo de bits | Descriptiva |
---|---|---|
1 | (complex-match-condition) | —La agrupación de la condición de coincidencia compleja se evalúa antes de que se aplique cualquier operador fuera de los paréntesis. |
2 | ! match-condition | Negación—una coincidencia se produce si la condición de coincidencia es falsa. |
3 | match-condition-1 & match-condition-2 | Lógico y—se produce una coincidencia si ambas condiciones de coincidencia son verdaderas. |
4 | match-condition-1 | match-condition-2 | Lógico o—se produce una coincidencia si ambas condiciones son verdaderas (true). |
Hacer coincidir en un único valor de campo de bits o alias de texto
Correspondiente a la fragment-flags y tcp-flags condiciones de coincidencia de bits, puede especificar condiciones de coincidencia de filtro de firewall en función de si un bit determinado del campo paquete está establecido o no se ha establecido.
Valor numérico para especificar un único bit—puede especificar una condición de coincidencia de campo de bits único utilizando un valor numérico que tenga un bit establecido. Dependiendo de 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 el RST bit en el campo de indicadores de TCP está establecido:
[edit firewall family inet filter filter_tcp_rst_number term term1 from]user@host# set tcp-flags 0x04Alias de texto para especificar un único—bit normalmente se especifica una condición de coincidencias de campo de bit única mediante el uso de un alias de“ ”texto entre comillas dobles ().
En el ejemplo siguiente, se produce una coincidencia si el RST bit en el campo de indicadores de TCP está establecido:
[edit firewall family inet filter filter_tcp_rst_alias term term1 from]user@host# set tcp-flags “rst”
Hacer coincidir con varios valores de campos de bits o alias de texto
Puede especificar una condición de coincidencia de filtro de firewall en función de si se ha establecido o no un conjunto determinado de bits en un campo de paquete.
Valores numéricos para especificar varios bits—de ajuste cuando se especifica un valor numérico cuya representación binaria tenga más de un bit de definición, el valor se trata como una operación and lógica de los bits establecidos.
En el ejemplo siguiente, las dos condiciones de coincidencia son las mismas. Una coincidencia se produce si uno de los bits 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 utilizar alias de texto para especificar algunas coincidencias comunes de campos de bits. Estas coincidencias se especifican como una palabra clave única.
En el ejemplo siguiente, el tcp-established condición, que es un alias de “(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
Coincidir con un valor de campo de bit negado
Para negar una coincidencia, anteponga un signo de exclamación al valor.
En el ejemplo siguiente, se produce una coincidencia si el RST bit del campo de indicadores de TCP está no establecida
Hacer coincidir en el operador lógico OR de dos valores de campos de bits
Puede utilizar el operador lógico OR (| o ,) para especificar que se produzca una coincidencia si un campo de bits coincide con uno de los dos valores de campos de bits especificados.
En el ejemplo siguiente, se produce una coincidencia si el paquete no es el paquete inicial en una sesión TCP:
En una sesión TCP, el indicador SYN sólo se establece en el paquete inicial enviado, mientras que el indicador ACK se establece en todos los paquetes enviados después del paquete inicial. En un paquete que no es el paquete inicial en una sesión TCP, no se establece el marcador SYN o se establece el indicador ACK.
Hacer coincidir en el operador lógico AND de dos valores de campos de bits
Puede utilizar el operador lógico AND (& o +) para especificar que se produzca una coincidencia si un campo de bits coincide con dos valores de campos de bits especificados.
En el ejemplo siguiente, se produce una coincidencia si el paquete es el paquete inicial en una sesión TCP:
En una sesión TCP, el indicador SYN sólo se establece en el paquete inicial enviado, mientras que el indicador 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 el indicador SYN y no se establece el indicador ACK.
Agrupar condiciones de coincidencia de campos de bits
Puede utilizar el notación lógica de agrupación para especificar que la condición de coincidencia compleja dentro de los paréntesis se evalúa antes de que se aplique cualquier operador fuera de los paréntesis.
En el ejemplo siguiente, se produce una coincidencia si el paquete es un TCP restablecido o si el paquete no es el paquete inicial en la sesión TCP:
En una sesión TCP, el indicador SYN sólo se establece en el paquete inicial enviado, mientras que el indicador ACK se establece en todos los paquetes enviados después del paquete inicial. En un paquete que no es el paquete inicial en una sesión TCP, no se establece el marcador SYN y se establece el campo ACK.