Gateway

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.

  • ==, ! =, ÉQ, NOUVEAU

    Ces opérateurs testent les correspondances exactes. Ils distinguent les majuscules et minuscules (« cmd.exe » n’est PAS ÉGAL à « cMd.exe »). Ces opérateurs sont utiles pour créer des autorisations afin d’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 qualificatif spécifié pour déterminer si la chaîne spécifiée est contenue dans le qualificatif. Ces opérateurs ne font pas la distinction entre majuscules et minuscules.

  • 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 d’URL existe.

  • CONTENTS

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

Qualificateurs, 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 qualificatif, puis répertorie l’opérateur et l’opérande associés, décrit l’action exécutée par l’expression et fournit un exemple.

  • Méthode

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

    • Méthodes HTTP standard
    • Méthodes prises en charge
    • Actions GET, HEAD, POST, PUT, DELETE OPTIONS, TRACE, CONNECT : Vérifie la méthode de demande entrante par rapport à la méthode configurée. Exemple : Méthode EQ GET

Adresse URL

  • Opérateur : EQ, NEQ Opérandes : 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 : n’importe quelle chaîne (entre guillemets) Actions : Vérifie la présence du modèle configuré dans l’URL entrante. (Comprend une URL et une requête d’URL.) Exemple : L’URL CONTIENT « ZZZ »

  • URL LEN

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

  • REQUÊTE URL

    Opérateur : CONTAINS, NOTCONTAINS Opérandes : Obligatoire : n’importe quelle chaîne (entre guillemets). Facultatif : Actions de longueur et de décalage :

    vérifie la présence du modèle configuré dans la requête URL entrante. Utilisé de la même manière que CONTENTS. Si aucune option n’est spécifiée, l’intégralité de 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 le modèle est utilisée. Le décalage est utilisé pour indiquer d’où commencer la recherche du motif. Exemple : URLQUERY CONTIENT « ZZZ »

  • REQUÊTE URL LEN

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

  • JETONS D’URL

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

  • VERSION

    Opérateur : EQ, NEQ Opérandes : Obligatoire : versions HTTP standard. Chaînes de version HTTP valides HTTP/1.0, HTTP/1.1 Actions : compare la version HTTP de la demande entrante avec la version HTTP configurée. Exemple : VERSION EQ HTTP/1.1

En-tête

  • Opérateur : EXISTS, NOTEXISTS Opérandes : Aucune Actions : examine la demande entrante pour détecter la présence de l’en-tête HTTP. Exemple : le cookie d’en-tête EXISTE

  • Opérateur : CONTAINS, NOTCONTAINS Opérandes : Obligatoire : n’importe quelle chaîne (entre guillemets). Facultatif : Actions de longueur et de décalage : vérifie la présence d’un modèle configuré dans l’en-tête spécifique de la demande entrante. Utilisé de la même manière que CONTENTS. Si aucune option n’est spécifiée, la valeur complète de l’en-tête HTTP après le modèle est utilisée. 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 d’où commencer la recherche du motif. Exemple : le cookie d’en-tête CONTIENT « &sid »

  • Opérateur : TABLE DES MATIÈRES 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 complète de l’en-tête HTTP est utilisée. Si des options sont présentes, seule la longueur de l’en-tête à partir du décalage est utilisée. Exemple : contenu de l’en-tête User-Agent

  • SOURCEIP

    Opérateur : EQ, NEQ Opérandes : Obligatoire : adresse IP Facultatif : masque de sous-réseau Actions : Vérifie l’adresse IP source de 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 et au masque de sous-réseau configurés. Exemple : Sourceip EQ 192.168.100.0 -netmask 255.255.255.0

  • DESTIP

    Opérateur : EQ, NEQ Opérandes : 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 et au masque de sous-réseau configurés. Exemple : Sourceip EQ 192.168.100.0 -netmask 255.255.255.0

  • SOURCEPORT

    Opérateur : EQ, NEQ Opérandes : 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

  • DESTPORT

    Opérateur : EQ, NEQ Opérandes : 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, NEQ Opérandes : 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, NEQ Opérandes : Obligatoire : type de chiffrement client Actions : Vérifie le type de 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 : Obligatoire : bits de chiffrement du client Actions : Vérifie la force de la clé du chiffrement utilisé. Exemple : CLIENT.CIPHER.BITS GE 40

  • CLIENT.CERT

    Opérateur : EXISTS, NOTEXISTS Opérandes : aucun Actions : Vérifie si le client a envoyé un certificat valide lors de la prise de contact 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, NEQ Opérandes : 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, NEQ Opérandes : Obligatoire : algorithme de signature du 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 : CONTAINS, NOTCONTAINS Opérandes : Obligatoire : Émetteur du 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 : Obligatoire : Date Actions : Vérifie la date à partir de laquelle le certificat client est valide. Les formats de date valides sont les suivants : Tue, 05 Nov 1994 08:12:31 GMT Tuesday, 05-Nov-94 08:12:31 GMT Tue Nov 14 08:12:31 1994 Example: CLIENT.CERT.VALIDFROM GE ‘Tue 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 : Tue, 05 Nov 1994 08:12:31 GMT Tuesday, 05-Nov-94 08:12:31 GMT Tue Nov 14 08:12:31 1994 Example: CLIENT.CERT.VALIDTO GE ‘Tue Nov 14 08:12:31 1994’

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