Hinzufügen von Signaturregelmustern
Sie können ein Muster hinzufügen oder ein vorhandenes Muster ändern, um eine Zeichenfolge oder einen Ausdruck anzugeben, der einen Angriff kennzeichnet, sofern die Signatur übereinstimmt. Um die Muster zu erkennen, die ein Angriff aufweist, können Sie die Protokolle auf Ihrem Webserver überprüfen. Sie können ein Tool verwenden, um Verbindungsdaten in Echtzeit zu beobachten, oder die Zeichenfolge oder den Ausdruck aus einem Bericht eines Drittanbieters über den Angriff abrufen.
- Wichtig
Ein neues Muster, das Sie einer Signaturregel hinzufügen, steht in einer UND-Beziehung zu den vorhandenen Mustern. Fügen Sie einer vorhandenen Signaturregel kein Muster hinzu, wenn Sie nicht möchten, dass ein potenzieller Angriff alle Muster mit der Signatur übereinstimmen muss.
Jedes Muster kann aus einer einfachen Zeichenfolge, einem regulären Ausdruck im PCRE-Format oder dem integrierten SQL-Injection- oder Cross-Site-Scripting-Muster bestehen. Bevor Sie versuchen, ein Muster hinzuzufügen, das auf einem regulären Ausdruck basiert, müssen Sie sicherstellen, dass Sie reguläre Ausdrücke im PCRE-Format verstehen. PCRE-Ausdrücke sind komplex und leistungsstark. Wenn Sie nicht verstehen, wie sie funktionieren, können Sie unbeabsichtigt ein Muster erstellen, das mit etwas übereinstimmt, das Sie nicht wollten ( falsch positiv), oder das nicht mit etwas übereinstimmt, das Sie wollten ( falsch negativ).
Benutzerdefiniertes Signaturmuster für nicht standardmäßige Inhaltstypen
Die NetScaler Web App Firewall (WAF) unterstützt jetzt einen neuen Standort für die Überprüfung kanonischer Inhalte. Standardmäßig blockiert WAF keine codierte Nutzlast mit nicht standardmäßigen Inhaltstypen. Wenn diese Inhaltstypen auf der Whitelist stehen und keine konfigurierte Aktion angewendet wird, filtert die SQL- und Cross-Site-Scripting-Schutzprüfung keine SQL- oder Cross-Site-Scripting-Angriffe in den codierten Payloads. Um das Problem zu lösen, kann ein Benutzer mit diesem neuen Speicherort (HTTP_CANON_POST_BODY) eine benutzerdefinierte Signaturregel erstellen, die die codierten Payloads auf nicht standardmäßige Inhaltstypen untersucht. Wenn es einen SQL- oder Cross-Site-Scripting-Angriff gibt, blockiert sie den Datenverkehr nach der Kanonisierung des Beitragstextes.
Hinweis:
Diese Unterstützung gilt nur für HTTP-Anfragen.
Wenn Sie mit regulären Ausdrücken im PCRE-Format noch nicht vertraut sind, können Sie die folgenden Ressourcen verwenden, um die Grundlagen zu erlernen oder Hilfe bei bestimmten Problemen zu erhalten:
- “Mastering Regular Expressions,” Third Edition. Copyright (c) 2006 von Jeffrey Friedl. O’Reilly Media, ISBN: 9780596528126.
- “Regular Expressions Cookbook”. Copyright (c) 2009 von Jan Goyvaerts und Steven Levithan. O’Reilly Media, ISBN: 9780596520687
- PCRE-Hauptseite/Spezifikation
- PCRE Man Page/Spezifikation
- Wikipedia-PCRE-Eintrag
- PCRE-Mailingliste
Wenn Sie Nicht-ASCII-Zeichen in einem regulären Ausdruck im PCRE-Format codieren müssen, unterstützt die NetScaler-Plattform die Kodierung von hexadezimalen UTF-8-Codes. Weitere Informationen finden Sie unter PCRE-Zeichenkodierungsformat.
Ein Signaturregelmuster konfigurieren
Wenn Sie eine Signatur bearbeiten, können Sie das Regelmuster hinzufügen oder bearbeiten. Informationen zum Hinzufügen oder Ändern der Signaturregeln finden Sie unter Signaturen bearbeiten, um Regeln hinzuzufügen oder zu ändern.
-
Typ — Wählen Sie den Verbindungstyp aus, dem das Muster entsprechen soll.
- Anfrage — Sie entspricht den Anforderungselementen oder Funktionen wie eingefügtem SQL-Code, Angriffen auf Webformulare, seitenübergreifende Skripts oder unangemessene URLs.
- Antwort — Sie entspricht den Antwortelementen oder Funktionen wie Kreditkartennummern oder Tresor-Objekten.
-
Standort — Wählen Sie einen Bereich aus, der mit diesem Muster untersucht werden soll. In diesem Bereich wird beschrieben, welche Elemente der HTTP-Anfrage oder -Antwort auf dieses Muster untersucht werden sollen. Basierend auf dem ausgewählten Mustertyp werden die Optionen in der Bereichsliste angezeigt. Sie hängen vom ausgewählten Mustertyp ab.
Für den Anforderungsmustertyp werden Elemente angezeigt, die für HTTP-Anfragen relevant sind.
- HTTP_ANY. Alle Teile der HTTP-Verbindung.
-
HTTP_COOKIE. Alle Cookies in den HTTP-Anforderungsheadern nach allen Cookie-Transformationen werden durchgeführt.
- Hinweis
-
Sucht nicht nach den “Set-Cookie:”-Headern der HTTP-Antwort.
-
HTTP_FORM_FIELD. Formularfelder und ihr Inhalt nach URL-Dekodierung, prozentualer Dekodierung und Entfernung überschüssiger Leerzeichen. Sie können das
<Location>
Tag verwenden, um die Liste der zu durchsuchenden Formularfeldnamen weiter einzuschränken. - HTTP-HEADER. Die Wertanteile des HTTP-Headers nach allen Cross-Site Scripting- oder URL-Dekodierungstransformationen.
- HTTP_METHOD. Die HTTP-Anforderungsmethode.
- HTTP_URL. Der Wertanteil der URL in den HTTP-Headern, ohne Abfrage- oder Fragmentports, nach der Konvertierung in den UTF-*-Zeichensatz, der URL-Dekodierung, dem Entfernen von Leerzeichen und der Konvertierung relativer URLs in absolute URLs. Beinhaltet keine Dekodierung von HTML-Entitäten.
- HTTP_ORIGIN_URL. Die Quell-URL eines Webformulars.
- HTTP_POST_BODY. Der HTTP-Posttext und die darin enthaltenen Webformulardaten.
- HTTP_RAW_COOKIE. Alle HTTP-Anforderungs-Cookies, einschließlich des Namensteils “Cookie:”. Hinweis: Sucht nicht nach den “Set-Cookie:”-Headern der HTTP-Antwort.
- HTTP_RAW_HEADER. Der gesamte HTTP-Header mit einzelnen Headern, die durch Zeilenvorschubzeichen (\ n) oder Carrie-Return-/Zeilenvorschubzeichenfolgen (\ r\ n) getrennt sind.
Für den Antworttyp werden Elemente angezeigt, die für HTTP-Antworten relevant sind.
- HTTP_RAW_RESP_HEADER. Der gesamte Antwortheader, einschließlich der Namens- und Wertteile des Antwortheaders nach Abschluss der URL-Transformation, und der vollständige Antwortstatus. Wie bei HTTP_RAW_HEADER werden einzelne Header durch Zeilenvorschubzeichen (\ n) oder Wagenrücklauf/Zeilenvorschub-Zeichenketten (\r\n) getrennt.
-
HTTP_RAW_SET_COOKIE. Der gesamte Set-Cookie-Header, nachdem alle URL-Transformationen durchgeführt wurden
Hinweis:
Durch die URL-Transformation können sowohl die Domain- als auch die Pfadteile des Set-Cookie-Headers geändert werden.
- HTTP_RAW_URL. Die gesamte Anforderungs-URL, bevor irgendwelche URL-Transformationen durchgeführt werden, einschließlich aller Abfrage- oder Fragmentteile.
- HTTP_RESP_HEADER. Der Werteteil der vollständigen Antwortheader, nachdem alle URL-Transformationen durchgeführt wurden.
- HTTP_RESP_BODY. Der HTTP-Antworttext
- HTTP_SET_COOKIE. Alle “Set-Cookie”-Header in den HTTP-Antwortheadern.
- HTTP_STATUS_CODE. Der HTTP-Statuscode.
- HTTP_STATUS_MESSAGE. Die HTTP-Statusmeldung.
Wenn Sie eine Option aus der Bereichsliste auswählen, werden die Optionen für den ausgewählten Bereich dynamisch geändert.
- Any. Prüft Feldnamen oder URLs.
- Wörtlich. Prüft Feldnamen oder URLs, die eine literale Zeichenfolge enthalten. Nachdem Sie Literal ausgewählt haben, wird ein Textfeld angezeigt. Geben Sie die gewünschte Literalzeichenfolge in das Textfeld ein.
- PCRE. Prüft Feldnamen oder URLs, die einem regulären Ausdruck im PCRE-Format entsprechen. Nachdem Sie diese Option ausgewählt haben, wird das Fenster für reguläre Ausdrücke angezeigt. Geben Sie den regulären Ausdruck in das Fenster ein. Sie können die Regex-Token verwenden, um häufig verwendete reguläre Ausdruckselemente am Cursor einzufügen, oder Sie können auf Regex-Editor klicken, um das Dialogfeld Editor für reguläre Ausdrücke anzuzeigen, das Sie bei der Erstellung des gewünschten regulären Ausdrucks unterstützt.
- Expression. Prüft Feldnamen oder URLs, die einem NetScaler-Standardausdruck entsprechen.
-
Muster — Ein Muster ist eine literale Zeichenfolge oder ein regulärer Ausdruck im PCRE-Format, der das Muster definiert, dem Sie entsprechen möchten. Wählen Sie den Spieltyp aus der Liste aus.
- Wörtlich. Eine Literalzeichenfolge.
-
PCRE. Ein regulärer Ausdruck im PCRE-Format.
Hinweis
Wenn Sie PCRE wählen, werden die Tools für reguläre Ausdrücke unter dem Musterfenster aktiviert. Diese Tools sind für die meisten anderen Mustertypen nicht nützlich.
-
Expression. Ein Ausdruck in der NetScaler-Standardausdruckssprache ist dieselbe Ausdruckssprache für die Erstellung von Web App Firewall-Richtlinien auf der NetScaler-Appliance. Obwohl die NetScaler Expressions Language ursprünglich für Richtlinienregeln entwickelt wurde, ist sie eine hochflexible Allzwecksprache, die auch zur Definition eines Signaturmusters verwendet werden kann.
Wenn Sie Expression wählen, wird der NetScaler Expression Editor unter dem Pattern-Fenster angezeigt. Weitere Informationen zum Ausdrucks-Editor und Anweisungen zur Verwendung finden Sie unter So fügen Sie eine Firewallregel (Ausdruck) mithilfe des Dialogfelds Ausdruck hinzufügen hinzu
-
SQL-Einschleusung. Weist die Web App Firewall an, am angegebenen Ort nach injiziertem SQL zu suchen.
-
CrossSiteScripting. Weist die Web App Firewall an, am angegebenen Ort nach Cross-Site-Skripten zu suchen.
-
CommandInjection. Weist die NetScaler Web App Firewall an, nach injizierten bösartigen Befehlen am angegebenen Ort zu suchen.
-
SQLInjectionGrammar. Weist die NetScaler Web App Firewall an, an der angegebenen Stelle nach injizierter SQL-Grammatik zu suchen. Vor allem, wenn häufig verwendete Wörter wie
Select
undFrom
in einer HTTP-Anfrage verwendet werden. - CommandInjectionGrammar. Weist die NetScaler Web App Firewall an, an der angegebenen Stelle nach injizierter bösartiger Befehlsgrammatik zu suchen. Insbesondere, wenn ein häufig verwendetes Wort wie “Exit” in einer HTTP-Anfrage verwendet wird.
Wenn Sie weitere Einstellungen konfigurieren möchten, geben Sie Folgendes an:
- Offset. Die Anzahl der Zeichen, die übersprungen werden müssen, bevor mit der Übereinstimmung nach diesem Muster begonnen wird. Sie verwenden dieses Feld, um mit der Untersuchung einer Zeichenfolge an einer anderen Stelle als dem ersten Zeichen zu beginnen.
- Tiefe. Wie viele Zeichen vom Startpunkt aus auf Übereinstimmungen untersucht werden sollen. Sie verwenden dieses Feld, um die Suche nach einer großen Zeichenfolge auf eine bestimmte Anzahl von Zeichen zu beschränken.
- Minimale Länge. Die zu durchsuchende Zeichenfolge muss mindestens die angegebene Anzahl von Byte lang sein. Kürzere Saiten sind nicht aufeinander abgestimmt.
- Maximale Länge. Die zu suchende Zeichenfolge darf nicht länger als die angegebene Anzahl von Byte sein. Längere Zeichenketten werden nicht gefunden.
-
Suchmethode. Ein beschriftetes Kontrollkästchen
fastmatch
. Sie können die Optionfastmatch
nur für ein literales Muster aktivieren, um die Leistung zu verbessern.
Hinweis
Bis Sie im Bereich Signaturregelmuster auf OK klicken, werden Ihre Änderungen nicht gespeichert. Schließen Sie eines dieser Dialogfelder nicht, ohne auf OK zu klicken, es sei denn, Sie möchten die Änderungen verwerfen.