Verwenden von Operatoren und Operanden in Richtlinienausdrücken
Ein Operator ist ein Symbol, das die Operation (z. B. mathematisch, boolesch oder relational) identifiziert, die ein oder mehrere Objekte oder Operanden manipuliert. Der erste Abschnitt in diesem Thema definiert die Operatoren, die Sie verwenden können, und enthält eine Definition. Der zweite Abschnitt listet die Operatoren auf, die Sie mit bestimmten Kriterien wie Methode, URL und Abfrage verwenden können.
Operatoren und Definitionen
Dieser Abschnitt definiert die Operatoren, die Sie beim Erstellen eines Richtlinienausdrucks verwenden können, und enthält eine Beschreibung des Operators.
-
==, !=, EQ, NEQ
Diese Operatoren testen auf genaue Übereinstimmungen. Dabei wird zwischen Groß- und Kleinschreibung unterschieden (“cmd.exe” ist NICHT GLEICH “cMd.exe”). Diese Operatoren eignen sich zum Erstellen von Berechtigungen, um bestimmte Zeichenfolgen zuzulassen, die einer genauen Syntax entsprechen, aber andere Zeichenfolgen auszuschließen.
-
GT
Dieser Operator wird für numerische Vergleiche verwendet; er wird für die Länge der URLs und Abfragezeichenfolgen verwendet.
-
CONTAINS, NOTCONTAINS
Diese Operatoren führen Prüfungen mit dem angegebenen Qualifier durch, um festzustellen, ob die angegebene Zeichenfolge im Qualifier enthalten ist. Bei diesen Operatoren wird die Groß-/Kleinschreibung nicht beachtet.
-
EXISTS, NOTEXISTS
Diese Operatoren prüfen, ob ein bestimmter Qualifikator vorhanden ist. Diese Operatoren können beispielsweise auf HTTP-Header angewendet werden, um festzustellen, ob ein bestimmter HTTP-Header vorhanden ist oder ob die URL-Abfrage vorhanden ist.
-
CONTENTS
Dieser Operator prüft, ob der Qualifier vorhanden ist und ob er Inhalt hat (d. h., ob ein Header vorhanden ist oder nicht und mit ihm ein Wert verknüpft ist, unabhängig von welchem Wert).
Qualifizierer, Operatoren, Operanden, Aktionen und Beispiele
Dieser Abschnitt zeigt die Parameter, die Sie für Operatoren und Operanden verwenden können. Jedes Element beginnt mit dem Qualifier und listet dann den zugehörigen Operator und Operanden auf, beschreibt die Aktion, die der Ausdruck ausführen soll, und stellt ein Beispiel dar.
-
Methode
Operator: EQ, NEQ Operanden: Erforderlich:
- Standard-HTTP-Methoden
- Unterstützte Methoden
- GET, HEAD, POST, PUT, DELETE OPTIONS, TRACE, CONNECT Aktionen: Überprüft die eingehende Anforderungsmethode an die konfigurierte Methode. Beispiel: Methode EQ GET
URL
-
Operator: EQ, NEQ Operanden: Erforderlich: URL (Format: /[prefix][*][.suffix]) Aktionen: Überprüft die eingehende URL mit der konfigurierten URL. Example: URL EQ / foo*.asp URL EQ /foo* URL EQ /*.asp URL EQ /foo.asp
-
Operator: CONTAINS, NOTCONTAINS Operanden: Erforderlich: Beliebige Zeichenfolge (in Anführungszeichen) Aktionen: Überprüft die eingehende URL auf das Vorhandensein des konfigurierten Musters. (Enthält URL- und URL-Abfrage.) Beispiel: URL CONTAINS ‘ZZZ’
-
URL Len
Operator: GT Operanden: Erforderlich: Länge (als Ganzzahlwert) Aktionen: Vergleicht die eingehende URL-Länge mit der konfigurierten Länge. (Enthält URL- und URL-Abfrage.) Beispiel: URLLEN GT 60
-
URL-Abfrage
Operator: CONTAINS, NOTCONTAINS Operanden: Erforderlich: Beliebige Zeichenfolge (in Anführungszeichen). Optional: Länge und Offset Aktionen: Prüft die eingehende URL-Abfrage auf das Vorhandensein des konfigurierten Musters. Wird ähnlich wie CONTENTS verwendet. Wenn keine Option angegeben ist, wird die gesamte URL-Abfrage nach dem Muster verwendet. Wenn Optionen vorhanden sind, wird nur die Länge der Abfrage nach dem Muster verwendet. Der Offset wird verwendet, um anzugeben, von wo aus die Suche nach dem Muster gestartet werden soll. Beispiel: URLQUERY CONTAINS ‘ZZZ’
-
URL QUERY LEN
Operator: GT Operanden: Erforderlich: Länge (als Ganzzahlwert) Aktionen: Vergleicht die Länge der eingehenden URL-Abfrage mit der konfigurierten Länge. Beispiel: URLQUERYLN GT 60
-
URL TOKENS
Operator: EQ, NEQ Operanden: Erforderlich: URL-Token (Unterstützte URL-Token =, +,%,!, &,?). Aktionen: Vergleicht die eingehende URL für das Vorhandensein von konfigurierten Token. Vor dem Fragezeichen muss ein Schrägstrich () eingegeben werden. Beispiel: URLTOKENS EQ ‘%, +, &, \?’
-
VERSION
Operator: EQ, NEQ Operanden: Erforderlich: Standard-HTTP-Versionen. Gültige HTTP-Versionszeichenfolgen HTTP/1.0, HTTP/1.1 Aktionen: Vergleicht die HTTP-Version der eingehenden Anforderung mit der konfigurierten HTTP-Version. Beispiel: VERSION EQ HTTP/1.1
Überschrift
-
Operator: EXISTS, NOTEXISTS Operanden: Keine Aktionen: Überprüft die eingehende Anforderung auf das Vorhandensein des HTTP-Headers. Beispiel: Header Cookie EXISTS
-
Operator: CONTAINS, NOTCONTAINS Operanden: Erforderlich: Beliebige Zeichenfolge (in Anführungszeichen). Optional: Länge und Offset Aktionen: Prüft die eingehende Anforderung auf das Vorhandensein eines konfigurierten Musters in der jeweiligen Kopfzeile. Wird ähnlich wie CONTENTS verwendet. Wenn keine Option angegeben ist, wird der gesamte HTTP-Header-Wert nach der Verwendung des Musters verwendet. Wenn Optionen vorhanden sind, wird nur die Länge der Kopfzeile nach der Verwendung des Musters verwendet. Der Offset wird verwendet, um anzugeben, von wo aus die Suche nach dem Muster gestartet werden soll. Example: Header Cookie CONTAINS “&sid”
-
Operator: CONTENTS Operanden: Optional: Länge und Offset Aktionen: Verwendet den Inhalt des HTTP-Headers. Wenn keine Option angegeben ist, wird der gesamte HTTP-Headerwert verwendet. Wenn Optionen vorhanden sind, wird nur die Länge des Kopfes verwendet, beginnend mit dem Offset. Example: Header User-Agent CONTENTS
-
SOURCEIP
Operator: EQ, NEQ Operanden: Erforderlich: IP-Adresse Optional: Subnetzmaske Aktionen: Überprüft die Quell-IP-Adresse in der eingehenden Anforderung mit der konfigurierten IP-Adresse. Wenn die optionale Subnetzmaske angegeben wird, wird die eingehende Anforderung anhand der konfigurierten IP-Adresse und Subnetzmaske überprüft. Beispiel: Sourceip EQ 192.168.100.0 -netmask 255.255.255.0
-
DESTIP
Operator: EQ, NEQ Operanden: Erforderlich: IP-Adresse Optional: Subnetzmaske Aktionen: Überprüft die Ziel-IP-Adresse in der eingehenden Anforderung mit der konfigurierten IP-Adresse. Wenn die optionale Subnetzmaske angegeben wird, wird die eingehende Anforderung anhand der konfigurierten IP-Adresse und Subnetzmaske überprüft. Beispiel: Sourceip EQ 192.168.100.0 -netmask 255.255.255.0
-
SOURCEPORT
Operator: EQ, NEQ Operanden: Erforderlich: Portnummer Optional: Portbereich Aktionen: Überprüft die Quellportnummer in der eingehenden Anforderung mit der konfigurierten Portnummer. Beispiel: SOURCEPORT EQ 10-20
-
DESTPORT
Operator: EQ, NEQ Operanden: Erforderlich: Portnummer Optional: Portbereich Aktionen: Überprüft die Zielportnummer in der eingehenden Anforderung mit der konfigurierten Portnummer. Beispiel: DESTPORT NEQ 80
-
CLIENT.SSL.VERSION
Operator: EQ, NEQ Operanden: Erforderlich: SSL-Version Aktionen: Überprüft die Version der SSL- oder TLS-Version, die in der sicheren Verbindung verwendet wird. Beispiel: CLIENT.SSL.VERSION EQ SSLV3
-
CLIENT.CIPHER.TYPE
Operator: EQ, NEQ Operanden: Erforderlich: Client-Verschlüsselungstyp Aktionen: Überprüft den Typ der verwendeten Chiffre (Export oder Nicht-Export). Beispiel: CLIENT.CIPHER.TYPE EQ EXPORT
-
CLIENT.CIPHER.BITS
Operator: EQ, NEQ, GE, LE, GT, LT Operanden: Erforderlich: Client-Verschlüsselungsbits Aktionen: Prüft auf die Schlüsselstärke der verwendeten Chiffre. Beispiel: CLIENT.CIPHER.BITS GE 40
-
CLIENT.CERT
Operator: EXISTS, NOTEXISTS Operanden: none Aktionen: Prüft, ob der Client während des SSL-Handshake ein gültiges Zertifikat gesendet hat. Beispiel: CLIENT.CERT EXISTS
-
CLIENT.CERT.VERSION
Operator: EQ, NEQ, GE, LE, GT, LT Operanden: Clientzertifikatversion Aktionen: Überprüft die Version des Clientzertifikats. Beispiel: CLIENT.CERT.VERSION EQ 2
-
CLIENT.CERT.SERIALNUMBER
Operator: EQ, NEQ Operanden: Erforderlich: Seriennummer des Clientzertifikats Aktionen: Prüft die Seriennummer des Clientzertifikats. Die Seriennummer wird als Zeichenfolge behandelt. Beispiel: CLIENT.CERT.SER IALNUMBER EQ 2343323
-
CLIENT.CERT.SIGALGO
Operator: EQ, NEQ Operanden: Erforderlich: Clientzertifikatsignaturalgorithmus. Aktionen: Überprüft den Signaturalgorithmus, der im Clientzertifikat verwendet wird. Example: CLIENT.CERT.SIGALGO EQ md5WithRSAEncryption
-
CLIENT.CERT.SUBJECT
Operator: CONTAINS, NOTCONTAINS Operands: Required: Client certificate subject Optional: Length, offset Actions: Checks the subject field of the client certificate. Beispiel: CLIENT.CERT.SUBJECT CONTAINS CN= Access_Gateway
-
CLIENT.CERT.ISSUER
Operator: CONTAINS, NOTCONTAINS Operands: Required: Client certificate issuer Optional: Length, offset Actions: Checks the issuer field of the client certificate. Example: CLIENT.CERT.ISSUER CONTAINS O=VeriSign
-
CLIENT.CERT.VALIDFROM
Operator: EQ, NEQ, GE, LE, GT, LT Operands: Required: Date Actions: Checks the date from which the client certificate is valid. Valid date formats are: 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
Operator: EQ, NEQ, GE, LE, GT, LT Operands: Required: Date Actions: Checks the date until which the client certificate is valid. Valid date formats are: 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’