Utilisation d’opérateurs et d’opérandes dans les expressions de stratégie

Un opérateur est un symbole qui identifie l’opération (mathématique, booléenne ou relationnelle, par exemple) qui manipule un ou plusieurs objets ou opérandes. La première section de cette rubrique définit les opérateurs que vous pouvez utiliser et fournit une définition. La deuxième section répertorie les opérateurs que vous pouvez utiliser avec des qualificatifs spécifiques, tels que la méthode, l’URL et la requête.

Opérateurs et définitions

Cette section définit les opérateurs que vous pouvez utiliser lors de la création d’une expression de stratégie et fournit une description de l’opérateur.

  • ==, !=, EQ, NEQ

    Ces opérateurs testent les correspondances exactes. Ils sont sensibles à la casse (« cmd.exe » “n’est PAS EQUAL à” “« Cmd.exe » “). Ces opérateurs sont utiles pour créer des autorisations pour autoriser des chaînes particulières répondant à une syntaxe exacte, mais pour exclure d’autres chaînes.

  • GT

    Cet opérateur est utilisé pour les comparaisons numériques ; il est utilisé sur la longueur des URL et des chaînes de requête.

  • CONTAINS, NOTCONTAINS

    Ces opérateurs effectuent des vérifications par rapport au qualificateur spécifié pour déterminer si la chaîne spécifiée est contenue dans le qualificateur. Ces opérateurs ne sont pas sensibles à la casse.

  • EXISTS, NOTEXISTS

    Ces opérateurs vérifient l’existence d’un qualificatif particulier. Par exemple, ces opérateurs peuvent être appliqués aux en-têtes HTTP pour déterminer si un en-tête HTTP particulier existe ou si la requête URL existe.

  • CONTENTS

    Cet opérateur vérifie si le qualificateur existe et s’il a du contenu (c’est-à-dire s’il existe ou non un en-tête et a une valeur qui lui est associée, quelle que soit la valeur).

Qualificatifs, opérateurs, opérandes, actions et exemples

Cette section présente les paramètres que vous pouvez utiliser pour les opérateurs et les opérandes. Chaque élément commence par le qualificateur, puis répertorie l’opérateur et l’opérande associés, décrit l’action que l’expression effectuera et fournit un exemple.

  • Method

    Opérateur : EQ, NEQ Opérandes : Obligatoire :

    • Méthodes HTTP standard
    • Méthodes prises en charge
    • GET, HEAD, POST, PUT, DELETE OPTIONS, TRACE, CONNECT Actions : vérifie la méthode de requête entrante à la méthode configurée. Exemple : Method EQ GET

URL

  • Opérateur : EQ, Opérandes NEQ : Obligatoire : URL (Format : / [prefix] [*] [.suffix]) Actions : Vérifie l’URL entrante avec l’URL configurée. Exemple : URL EQ / foo * .asp URL EQ /foo * URL EQ / * .asp URL EQ /foo.asp

  • Opérateur : CONTAINS, NOTCONTAINS Opérandes : Obligatoire : Toute chaîne (entre guillemets) Actions : Vérifie l’URL entrante pour la présence du motif configuré. (Inclut l’URL et la requête URL.) Exemple : URL CONTAINS ‘ZZZ’

  • URL LEN

    Opérateur : GT Opérandes : Obligatoire : Longueur (en tant que valeur entière) Actions : Compare la longueur de l’URL entrante avec la longueur configurée. (Inclut l’URL et la requête URL.) Exemple : URLLEN GT 60

  • QUERQUEY URL

    Opérateur : CONTAINS, NOTCONTAINS Opérandes : Obligatoire : Toute chaîne (entre guillemets). Facultatif : Actions de longueur et de décalage : vérifie la requête d’URL entrante pour la présence du motif configuré. Utilisé de la même manière que CONTENTS. Si aucune option n’est spécifiée, toute la requête URL après le modèle est utilisée. Si des options sont présentes, seule la longueur de la requête après l’utilisation du motif. Le décalage est utilisé pour indiquer où commencer la recherche du motif. Exemple : URLQUERY CONTAINS ‘ZZZ’

  • URL QUERY LEN

    Opérateur : Opérandes GT : Obligatoire : Longueur (en tant que valeur entière) Actions : Compare la longueur de requête d’URL entrante avec la longueur configurée. Exemple : URLQUERYLN GT 60

  • URL TOKENS

    Opérateur : égaliseur, opérandes NEQ : Obligatoire : jetons d’URL (jetons d’URL pris en charge =, +,%,! , &,?). Actions : Compare l’URL entrante pour la présence de jetons configurés. Une barre oblique arrière () doit être saisie devant le point d’interrogation. Exemple : EQ URLTOKENS ‘%, +, &,?’

  • VERSION

    Opérateur : EQ, Opérandes NEQ : Obligatoire : Versions HTTP standard. Chaînes de version HTTP valides HTTP/1.0, HTTP/1.1 Actions : Compare la version HTTP de la requête entrante avec la version HTTP configurée. Exemple : VERSION EQ HTTP/1.1

Header

  • Opérateur : EXISTS, NOTEXISTS Opérandes : Aucune Actions : Examine la requête entrante pour la présence de l’en-tête HTTP. Exemple : Header Cookie EXISTS

  • Opérateur : CONTAINS, NOTCONTAINS Opérandes : Obligatoire : Toute chaîne (entre guillemets). Facultatif : Actions de longueur et de décalage : vérifie la demande entrante pour la présence d’un motif configuré dans l’en-tête spécifique. Utilisé de la même manière que CONTENTS. Si aucune option n’est spécifiée, la valeur d’en-tête HTTP entière après l’utilisation du modèle. Si des options sont présentes, seule la longueur de l’en-tête après le motif est utilisée. Le décalage est utilisé pour indiquer où commencer la recherche du motif. Exemple : Header Cookie CONTAINS “&sid”

  • Opérateur : CONTENTS Opérandes : Facultatif : Longueur et décalage Actions : Utilise le contenu de l’en-tête HTTP. Si aucune option n’est spécifiée, la valeur d’en-tête HTTP entière est utilisée. Si des options sont présentes, seule la longueur de l’en-tête commençant par le décalage est utilisée. Exemple : Header User-Agent CONTENTS

  • SOURCEIP

    Opérateur : EQ, Opérandes NEQ : Obligatoire : Adresse IP Facultatif : Masque de sous-réseau Actions : Vérifie l’adresse IP source dans la requête entrante par rapport à l’adresse IP configurée. Si le masque de sous-réseau facultatif est spécifié, la demande entrante est vérifiée par rapport à l’adresse IP configurée et au masque de sous-réseau. Exemple : Sourceip EQ 192.168.100.0 -netmask 255.255.255.0

  • DESTIP

    Opérateur : EQ, Opérandes NEQ : Obligatoire : Adresse IP Facultatif : Masque de sous-réseau Actions : Vérifie l’adresse IP de destination dans la demande entrante par rapport à l’adresse IP configurée. Si le masque de sous-réseau facultatif est spécifié, la demande entrante est vérifiée par rapport à l’adresse IP configurée et au masque de sous-réseau. Exemple : Sourceip EQ 192.168.100.0 -netmask 255.255.255.0

  • SOURCEPORT

    Opérateur : EQ, Opérandes NEQ : Obligatoire : Numéro de port Facultatif : Plage de ports Actions : Vérifie le numéro de port source dans la demande entrante par rapport au numéro de port configuré. Exemple : SOURCEPORT EQ 10-20

  • DÉSTORT

    Opérateur : EQ, Opérandes NEQ : Obligatoire : Numéro de port Facultatif : Plage de ports Actions : Vérifie le numéro de port de destination dans la demande entrante par rapport au numéro de port configuré. Exemple : DESTPORT NEQ 80

  • CLIENT.SSL.VERSION

    Opérateur : EQ, Opérandes NEQ : Obligatoire : Version SSL Actions : Vérifie la version de la version SSL ou TLS utilisée dans la connexion sécurisée. Exemple : CLIENT.SSL.VERSION EQ SSLV3

  • CLIENT.CIPHER.TYPE

    Opérateur : EQ, Opérandes NEQ : Obligatoire : Type de chiffrement client Actions : Vérifie le type du chiffrement utilisé (export ou non-export). Exemple : CLIENT.CIPHER.TYPE EQ EXPORT

  • CLIENT.CIPHER.BITS

    Opérateur : EQ, NEQ, GE, LE, GT, LT Opérandes : Requis : bits de chiffrement client Actions : Vérifie la force de clé du chiffrement utilisé. Exemple : CLIENT.CIPHER.BITS GE 40

  • CLIENT.CERT

    Opérateur : EXISTS, NOTEXISTS Opérandes : none Actions : Vérifie si le client a envoyé ou non un certificat valide pendant la poignée de main SSL. Exemple : CLIENT.CERT EXISTS

  • CLIENT.CERT.VERSION

    Opérateur : EQ, NEQ, GE, LE, GT, LT Opérandes : Version du certificat client Actions : Vérifie la version du certificat client. Exemple : CLIENT.CERT.VERSION EQ 2

  • CLIENT.CERT.SERIALNUMBER

    Opérateur : EQ, Opérandes NEQ : Obligatoire : Numéro de série du certificat client Actions : Vérifie le numéro de série du certificat client. Le numéro de série est traité comme une chaîne. Exemple : CLIENT.CERT.SER IALNUMBER EQ 2343323

  • CLIENT.CERT.SIGALGO

    Opérateur : EQ, Opérandes NEQ : Obligatoire : algorithme de signature de certificat client. Actions : vérifie l’algorithme de signature utilisé dans le certificat client. Exemple : CLIENT.CERT.SIGALGO EQ md5WithRSAEncryption

  • CLIENT.CERT.SUBJECT

    Opérateur : CONTAINS, NOTCONTAINS Opérandes : Obligatoire : Objet du certificat client Facultatif : Longueur, décalage Actions : Vérifie le champ objet du certificat client. Exemple : CLIENT.CERT.SUBJECT CONTAINS CN= Access_Gateway

  • CLIENT.CERT.ISSUER

    Opérateur : CONTINENT, NOTCONTAINS Opérandes : Obligatoire : émetteur de certificat client Facultatif : Longueur, décalage Actions : Vérifie le champ émetteur du certificat client. Exemple : CLIENT.CERT.ISSUER CONTAINS O=VeriSign

  • CLIENT.CERT.VALIDFROM

    Opérateur : EQ, NEQ, GE, LE, GT, LT Opérandes : Requis : Date Actions : Vérifie la date à partir de laquelle le certificat client est valide.Les formats de date valides sont les suivants : Mar, 05 Nov 1994 08:12:31 GMT Mardi, 05-Nov-94 08:12:31 GMT Mar Nov 14 08:12:31 1994 Exemple : CLIENT.CERT.VALIDFROM GE ‘Mar Nov 14 08:12:31 1994’

  • CLIENT.CERT.VALIDTO

    Opérateur : EQ, NEQ, GE, LE, GT, LT Opérandes : Obligatoire : Date Actions : Vérifie la date jusqu’à laquelle le certificat client est valide.Les formats de date valides sont les suivants : Mar, 05 Nov 1994 08:12:31 GMT Mardi, 05-Nov-94 08:12:31 GMT Mar Nov 14 08:12:31 1994 Exemple : CLIENT.CERT.VALIDto GE ‘Mar Nov 14 08:12:31 1994’

Utilisation d’opérateurs et d’opérandes dans les expressions de stratégie