Usar operadores y operandos en expresiones de directiva
Un operador es un símbolo que identifica la operación (matemática, booleana o relacional, por ejemplo) que manipula uno o más objetos u operandos. La primera sección de este tema define los operadores que puede utilizar y proporciona una definición. La segunda sección enumera los operadores que puede utilizar con calificadores específicos, como método, URL y consulta.
Operadores y definiciones
En esta sección se definen los operadores que se pueden utilizar al crear una expresión de directiva y se proporciona una descripción del operador.
-
==,! =, EQ, NEQ
Estos operadores prueban coincidencias exactas. Son sensibles a mayúsculas y minúsculas (‘‘cmd.exe’’ NOT EQUAL a ‘‘cmd.exe’’). Estos operadores son útiles para crear permisos para permitir cadenas concretas que cumplan una sintaxis exacta, pero para excluir otras cadenas.
-
GT
Este operador se utiliza para comparaciones numéricas; se utiliza en la longitud de las URL y cadenas de consulta.
-
CONTAINS, NO CONTAINS
Estos operadores realizan comprobaciones con respecto al calificador especificado para determinar si la cadena especificada está contenida en el calificador. Estos operadores no distinguen entre mayúsculas y minúsculas.
-
EXISTE, NOTEXISTS
Estos operadores comprueban la existencia de un calificador particular. Por ejemplo, estos operadores se pueden aplicar a encabezados HTTP para determinar si existe un encabezado HTTP determinado o si existe la consulta de URL.
-
INDICE (continuación)
Este operador comprueba si el calificador existe y si tiene contenido (es decir, si existe o no un encabezado y tiene un valor asociado con él, sin importar cuál sea el valor).
Calificadores, Operadores, Operandos, Acciones y Ejemplos
Esta sección muestra los parámetros que puede utilizar para operadores y operandos. Cada elemento comienza con el calificador y, a continuación, muestra el operador y el operando asociados, describe la acción que llevará a cabo la expresión y proporciona un ejemplo.
-
Método
Operador: EQ, NEQ Operandos: Requerido:
- Métodos HTTP estándar
- Métodos admitidos
- GET, HEAD, POST, PUT, DELETE OPTIONS, TRACE, CONNECT Acciones: Verifica el método de solicitud entrante al método configurado. Ejemplo: Método EQ GET
dirección URL
-
Operador: EQ, NEQ Operandos: Requerido: URL (Formato:/[prefijo] [*] [.sufijo]) Acciones: Verifica la URL entrante con la URL configurada. Ejemplo: URL EQ/foo*.asp URL EQ /foo * URL EQ /*.asp URL EQ /foo.asp
-
Operador: CONTAINS, NOTCONTAINS Operandos: Requerido: Cualquier cadena (entre comillas) Acciones: Verifica la URL entrante para la presencia del patrón configurado. (Incluye URL y consulta de URL). Ejemplo: URL CONTAINS ‘ZZZ’
-
URL LEN
Operador: Operandos GT: Requerido: Longitud (como valor entero) Acciones: Compara la longitud de la URL entrante con la longitud configurada. (Incluye URL y consulta de URL). Ejemplo: URLLEN GT 60
-
CONSULTA URL
Operador: CONTAINS, NOTCONTAINS Operandos: Requerido: Cualquier cadena (entre comillas). Opcional: Acciones de longitud y desplazamiento: Verifica la consulta de URL entrante para detectar la presencia del patrón configurado. Se utiliza de forma similar a CONTENIDO. Si no se especifica ninguna opción, se utiliza la consulta de URL completa después del patrón. Si las opciones están presentes, solo la longitud de la consulta después de utilizar el patrón. El desplazamiento se utiliza para indicar desde dónde iniciar la búsqueda del patrón. Ejemplo: URLQUERY CONTAINS ‘ZZZ’
-
URL QUERY LEN
Operador: Operandos GT: Requerido: Longitud (como valor entero) Acciones: Compara la longitud de consulta de URL entrante con la longitud configurada. Ejemplo: URLQUERYLN GT 60
-
URL TOKENS
Operador: EQ, NEQ Operandos: Requerido: Tokens de URL (tokens de URL admitidos =, +,%,!, &,?). Acciones: Compara la URL entrante para la presencia de tokens configurados. Se debe introducir una barra diagonal inversa (\) delante del signo de interrogación. Ejemplo: URLTOKENS EQ ‘% , +, &, \?’
-
VERSION
Operador: EQ, NEQ Operandos: Requerido: Versiones HTTP estándar. Cadenas de versión HTTP válidas HTTP/1.0, HTTP/1.1 Acciones: Compara la versión HTTP de la solicitud entrante con la versión HTTP configurada. Ejemplo: VERSION EQ HTTP/1.1
Encabezado
-
Operador: EXISTS, NOTEXISTS Operandos: Ninguna Acciones: Examina la solicitud entrante para la presencia del encabezado HTTP. Ejemplo: La cookie de encabezado EXISTE
-
Operador: CONTAINS, NOTCONTAINS Operandos: Requerido: Cualquier cadena (entre comillas). Opcional: Acciones de longitud y desplazamiento: Verifica la solicitud entrante para la presencia de un patrón configurado en el encabezado específico. Se utiliza de forma similar a CONTENIDO. Si no se especifica ninguna opción, se utiliza el valor del encabezado HTTP entero después del patrón. Si las opciones están presentes, solo se utiliza la longitud del encabezado después del patrón. El desplazamiento se utiliza para indicar desde dónde iniciar la búsqueda del patrón. Ejemplo: Cookie de encabezado CONTAINS “&sid”
-
Operador: CONTENT Operandos: Opcional: Longitud y desplazamiento Acciones: Utiliza el contenido del encabezado HTTP. Si no se especifica ninguna opción, se utiliza el valor completo del encabezado HTTP. Si hay opciones disponibles, solo se utiliza la longitud del encabezado empezando por el desplazamiento. Ejemplo: Contenido del agente de usuario de encabezado
-
SOURCEIP
Operador: EQ, NEQ Operandos: Requerido: Dirección IP Opcional: Máscara de subred Acciones: Verifica la dirección IP de origen en la solicitud entrante contra la dirección IP configurada. Si se especifica la máscara de subred opcional, la solicitud entrante se verifica con la dirección IP y la máscara de subred configuradas. Ejemplo: Sourceip EQ 192.168.100.0 -netmask 255.255.255.0
-
DESTIP
Operador: EQ, NEQ Operandos: Requerido: Dirección IP Opcional: Máscara de subred Acciones: Verifica la dirección IP de destino en la solicitud entrante contra la dirección IP configurada. Si se especifica la máscara de subred opcional, la solicitud entrante se verifica con la dirección IP y la máscara de subred configuradas. Ejemplo: Sourceip EQ 192.168.100.0 -netmask 255.255.255.0
-
SOURCEPORT
Operador: EQ, NEQ Operandos: Requerido: Número de puerto Opcional: Intervalo de puertos Acciones: Verifica el número de puerto de origen en la solicitud entrante contra el número de puerto configurado. Ejemplo: SOURCEPORT EQ 10-20
-
DESTPORT
Operador: EQ, NEQ Operandos: Requerido: Número de puerto Opcional: Intervalo de puertos Acciones: Verifica el número de puerto de destino en la solicitud entrante contra el número de puerto configurado. Ejemplo: DESTPORT NEQ 80
-
CLIENT.SSL.VERSIÓN
Operador: EQ, NEQ Operandos: Requerido: Versión SSL Acciones: Comprueba la versión de la versión SSL o TLS utilizada en la conexión segura. Ejemplo: CLIENT.SSL.VERSION EQ SSLV3
-
CLIENT.CIPHER.TIPO
Operador: EQ, NEQ Operandos: Requerido: Tipo de cifrado de cliente Acciones: Comprueba el tipo de cifrado que se está utilizando (exportar o no exportar). Ejemplo: CLIENT.CIPHER.TYPE EQ EXPORT
-
CLIENT.CIPHER.BITS
Operador: EQ, NEQ, GE, LE, GT, LT Operandos: Requerido: Bits de cifrado de cliente Acciones: Comprueba la fortaleza clave del cifrado que se está utilizando. Ejemplo: CLIENT.CIPHER.BITS GE 40
-
CLIENT.CERT
Operador: EXISTS, NOTEXISTS Operandos: None Acciones: Comprueba si el cliente envió o no un certificado válido durante el protocolo de enlace SSL. Ejemplo: CLIENT.CERT EXISTS
-
CLIENT.CERT.VERSIÓN
Operador: EQ, NEQ, GE, LE, GT, LT Operandos: Versión de certificado de cliente Acciones: Comprueba la versión del certificado de cliente. Ejemplo: CLIENT.CERT.VERSION EQ 2
-
CLIENT.CERT.NÚMERO DE SERIE
Operador: EQ, NEQ Operandos: Requerido: Número de serie del certificado del cliente Acciones: Comprueba el número de serie del certificado del cliente. El número de serie se trata como una cadena. Ejemplo: CLIENT.CERT.SER IALNUMBER EQ 2343323
-
CLIENT.CERT.SIGALGO
Operador: EQ, NEQ Operandos: Requerido: Algoritmo de firma de certificado de cliente. Acciones: Comprueba el algoritmo de firma utilizado en el certificado de cliente. Ejemplo: CLIENT.CERT.SIGALGO EQ MD5withRSAEncryption
-
CLIENT.CERT.Sujeto
Operador: CONTAINS, NOTCONTAINS Operandos: Requerido: Asunto del certificado de cliente Opcional: Longitud, desplazamiento Acciones: Comprueba el campo de asunto del certificado de cliente. Ejemplo: CLIENT.CERT.SUJECT CONTAINS CN= Access_Gateway
-
CLIENT.CERT.ISSUER
Operador: CONTAINS, NOTCONTAINS Operandos: Requerido: Emisor de certificado de cliente Opcional: Longitud, compensación Acciones: Comprueba el campo emisor del certificado de cliente. Ejemplo: CLIENT.CERT.ISERT CONTAINS O = VeriSign
-
CLIENT.CERT.VALIDFDE
Operador: EQ, NEQ, GE, LE, GT, LT Operandos: Requerido: Fecha Acciones: Comprueba la fecha a partir de la cual el certificado de cliente es válido.Los formatos de fecha válidos son: Tue, 05 Nov 1994 08:12:31 GMT Tuesday, 05-Nov-94 08:12:31 GMT Tue Nov 14 08:12:31 1994 Ejemplo: CLIENT.CERT.VALIDFY GE ‘Tue Nov 14 08:12:31 1994’
-
CLIENT.CERT.VALIDA
Operador: EQ, NEQ, GE, LE, GT, LT Operandos: Requerido: Fecha Acciones: Comprueba la fecha hasta la que el certificado de cliente es válido.Los formatos de fecha válidos son: Tue, 05 Nov 1994 08:12:31 GMT Tuesday, 05-Nov-94 08:12:31 GMT Tue Nov 14 08:12:31 1994 Ejemplo: CLIENT.CERT.VALIDTO GE ‘Tue Nov 14 08:12:31 1994’