Uso de 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 o 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 política 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’’ NO ES 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.

  • CONTIENE, NO CONTIENE

    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

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 CONTIENE ‘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 CONTIENE ‘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

  • TOKENS de URL

    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: EQ URLTOKINS ‘%, +, &,? ‘

  • VERSIÓN

    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 CONTIENE “&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

  • PUERTO FUENTE

    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

  • DESPORT

    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.TYPE

    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 CONTIENE CN= Access_Gateway

  • CLIENT.CERT.EMISOR

    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 CONTIENE 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’