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 dieses Themas definiert die Operatoren, die Sie verwenden können, und enthält eine Definition. Im zweiten Abschnitt sind die Operatoren aufgeführt, die Sie mit bestimmten Qualifizierern 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, NEU
Diese Operatoren testen auf exakte Übereinstimmungen. Sie unterscheiden zwischen Groß- und Kleinschreibung („cmd.exe“ ist NICHT GLEICH „cMd.exe“). Diese Operatoren sind nützlich, um Berechtigungen zu erstellen, um bestimmte Zeichenketten zuzulassen, die einer exakten Syntax entsprechen, andere Zeichenfolgen jedoch auszuschließen.
-
GT
Dieser Operator wird für numerische Vergleiche verwendet. Es wird für die Länge der URLs und Abfragezeichenfolgen verwendet.
-
ENTHÄLT, NICHT ENTHÄLT
Diese Operatoren führen Prüfungen anhand des angegebenen Qualifizierers durch, um festzustellen, ob die angegebene Zeichenfolge im Qualifizierer enthalten ist. Bei diesen Operatoren wird nicht zwischen Groß- und Kleinschreibung unterschieden.
-
EXISTIERT, NICHT EXISTIERT
Diese Operatoren prüfen, ob ein bestimmter Qualifizierer vorhanden ist. Diese Operatoren können beispielsweise auf HTTP-Header angewendet werden, um festzustellen, ob ein bestimmter HTTP-Header existiert oder ob die URL-Abfrage existiert.
-
INHALT
Dieser Operator prüft, ob der Qualifizierer existiert und ob er Inhalt hat (d. h. ob ein Header existiert und ob ihm ein Wert zugeordnet ist, unabhängig vom 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 Qualifizierer und listet dann den zugehörigen Operator und Operanden auf, beschreibt die Aktion, die der Ausdruck ausführt, und enthält ein Beispiel.
-
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 auf 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. (Beinhaltet URL und URL-Abfrage.) Beispiel: URL ENTHÄLT ‘ZZZ’
-
URL LENE
Operator: GT Operanden: Erforderlich: Länge (als Ganzzahlwert) Aktionen: Vergleicht die Länge der eingehenden URL mit der konfigurierten Länge. (Beinhaltet URL und URL-Abfrage.) Beispiel: URLEN GT 60
-
URL-ABFRAGE
Operator: CONTAINS, NOTCONTAINS Operanden: Erforderlich: Eine beliebige Zeichenfolge (in Anführungszeichen). Optional: Längen- und Offset -Aktionen: Überprü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 beginnen soll. Beispiel: URLQUERY ENTHÄLT ‘ZZZ’
-
URL-ABFRAGE 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-TOKEN
Operator: EQ, NEQ Operanden: Erforderlich: URL-Token (Unterstützte URL-Token =, +,%,! , &,?). Aktionen: Vergleicht die eingehende URL mit dem Vorhandensein konfigurierter Token. Vor dem Fragezeichen muss ein umgekehrter 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 Anfrage mit der konfigurierten HTTP-Version. Beispiel: VERSION EQ HTTP/1.1
Header
-
Operator: EXISTS, NOTEXISTS Operanden: Keine Aktionen: Untersucht die eingehende Anfrage auf das Vorhandensein des HTTP-Headers. Beispiel: Header-Cookie EXISTS
-
Operator: CONTAINS, NOTCONTAINS Operanden: Erforderlich: Eine beliebige Zeichenfolge (in Anführungszeichen). Optional: Längen- und Offset -Aktionen: Überprüft die eingehende Anfrage auf das Vorhandensein eines konfigurierten Musters in dem spezifischen Header. Wird ähnlich wie CONTENTS verwendet. Wenn keine Option angegeben ist, wird der gesamte HTTP-Header-Wert nach dem Muster verwendet. Wenn Optionen vorhanden sind, wird nur die Länge des Headers nach dem Muster verwendet. Der Offset wird verwendet, um anzugeben, von wo aus die Suche nach dem Muster beginnen soll. Beispiel: Header-Cookie ENTHÄLT „&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-Header-Wert verwendet. Wenn Optionen vorhanden sind, wird nur die Länge des Headers ab dem Offset verwendet. Beispiel: Inhalt des Headers User-Agent
-
SOURCEIP
- Operator: EQ, NEQ
- Operanden: Erforderlich: IP-Adresse
- Optional: Subnetzmaske Aktionen
- Überprüft die Quell-IP-Adresse in der eingehenden Anfrage anhand der konfigurierten IP-Adresse. Wenn die optionale Subnetzmaske angegeben ist, wird die eingehende Anfrage anhand der konfigurierten IP-Adresse und Subnetzmaske verifiziert. 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 Anfrage anhand der konfigurierten IP-Adresse. Wenn die optionale Subnetzmaske angegeben ist, wird die eingehende Anfrage anhand der konfigurierten IP-Adresse und Subnetzmaske verifiziert. Beispiel: Sourceip EQ 192.168.100.0 -netmask 255.255.255.0
-
SOURCEPORT
- Operator: EQ, NEQ
- Operanden: Erforderlich:
- Portnummer Optional: Portbereich Aktionen
- Vergleicht die Quellportnummer in der eingehenden Anfrage mit der konfigurierten Portnummer. Beispiel: SOURCEPORT EQ 10—20
-
DESTPORT
- Operator: EQ, NEQ
- Operanden: Erforderlich:
- Portnummer Optional: Portbereich Aktionen
- Vergleicht die Zielportnummer in der eingehenden Anfrage mit der konfigurierten Portnummer. Beispiel: DESTPORT NEQ 80
-
CLIENT.SSL.VERSION
Operator: EQ, NEQ Operanden: Erforderlich: SSL-Version Aktionen: Prü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: Prü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 die Schlüsselstärke der verwendeten Chiffre. Beispiel: CLIENT.CIPHER.BITS GE 40
-
CLIENT.CERT
Operator: EXISTS, NOTEXISTS Operanden: none Aktionen: Überprüft, ob der Client während des SSL-Handshakes ein gültiges Zertifikat gesendet hat. Beispiel: CLIENT.CERT EXISTS
-
CLIENT.CERT.VERSION
Operator: EQ, NEQ, GE, LE, GT, LT Operanden: Version des Client-Zertifikats Aktionen: Prüft die Version des Client-Zertifikats. Beispiel: CLIENT.CERT.VERSION EQ 2
-
CLIENT.CERT.SERIALNUMBER
Operator: EQ, NEQ Operanden: Erforderlich: Seriennummer des Client-Zertifikats Aktionen: Prüft die Seriennummer des Client-Zertifikats. Die Seriennummer wird als Zeichenfolge behandelt. Beispiel: CLIENT.CERT.SER IALNUMBER EQ 2343323
-
CLIENT.CERT.SIGALGO
Operator: EQ, NEQ Operanden: Erforderlich: Signaturalgorithmus für das Client-Zertifikat. Aktionen: Überprüft den im Client-Zertifikat verwendeten Signaturalgorithmus. Beispiel: CLIENT.CERT.SIGALGO EQ MD5 mit RSA-Verschlüsselung
-
CLIENT.CERT.SUBJECT
Operator: CONTAINS, NOTCONTAINS Operanden: Erforderlich: Betreff des Client-Zertifikats Optional: Länge, Offset Aktionen: Prüft das Betrefffeld des Client-Zertifikats. Beispiel: CLIENT.CERT.SUBJECT ENTHÄLT CN= Access_Gateway
-
CLIENT.CERT.ISSUER
- Operator: CONTAINS, NOTCONTAINS
- Operanden: Erforderlich: Aussteller des Client-Zertifikats Optional
- Länge, Offset Aktionen: Prüft das Ausstellerfeld des Client-Zertifikats. Beispiel: CLIENT.CERT.ISSUER ENTHÄLT O=Verisign
-
CLIENT.CERT.VALIDFROM
Operator: EQ, NEQ, GE, LE, GT, LT Operanden: Erforderlich: Datumsaktionen: Prüft das Datum, ab dem das Client-Zertifikat gültig ist. Gültige Datumsformate sind: Di, 05. November 1994 08:12:31 GMT Dienstag, 05-Nov-94 08:12:31 GMT Dienstag, 14. November, 08:12:31 1994 Beispiel: CLIENT.CERT.VALIDFROM GE ‘Dienstag, 14. November 08:12:31 1994’
-
CLIENT.CERT.VALIDTO
Operator: EQ, NEQ, GE, LE, GT, LT Operanden: Erforderlich: Datumsaktionen: Prüft das Datum, bis zu dem das Client-Zertifikat gültig ist. Gültige Datumsformate sind: Di, 05. November 1994 08:12:31 GMT Dienstag, 05-Nov-94 08:12:31 GMT Dienstag, 14. November, 08:12:31 1994 Beispiel: CLIENT.CERT.VALIDTO GE ‘Dienstag, 14. November 08:12:31 1994’