Profileinstellungen der Webanwendungs-Firewall
Im Folgenden sind die Profileinstellungen aufgeführt, die Sie auf der Appliance konfigurieren müssen.
Geben Sie in der Befehlszeile Folgendes ein:
add appfw profile <name> [-invalidPercentHandling <invalidPercentHandling>] [-checkRequestHeaders ( ON | OFF )] [-URLDecodeRequestCookies ( ON | OFF )] [-optimizePartialReqs ( ON | OFF )] [-errorURL <expression>] [-logEveryPolicyHit ( ON | OFF )] [-stripHtmlComments <stripHtmlComments>] [-stripXmlComments ( none | all )] [-postBodyLimitSignature <positive_integer>][-fileUploadMaxNum <positive_integer>][-canonicalizeHTMLResponse ( ON | OFF )][-percentDecodeRecursively ( ON | OFF )] [-multipleHeaderAction <multipleHeaderAction> ...][-inspectContentTypes <inspectContentTypes> ...][-semicolonFieldSeparator ( ON | OFF )] [-fieldScan ( ON | OFF )] [-fieldScanLimit <positive_integer>] [-JSONFieldScan ( ON | OFF )] [-JSONFieldScanLimit <positive_integer>] [-messageScan ( ON | OFF )] [-messageScanLimit <positive_integer>] [-JSONMessageScan ( ON | OFF )] [-JSONMessageScanLimit
<positive_integer>] [-messageScanLimitContentTypes <messageScanLimitContentTypes> ]
<!--NeedCopy-->
InvalidPercentHandling — Konfiguriert die Methode für den Umgang mit prozentkodierten Namen und Werten.
asp_mode - Entfernt und analysiert ungültige Prozent für das Parsen.
Beispiel፦ curl –v “http://<vip>/forms/login.html?field=sel%zzect -> Invalid percent encoded char(%zz)
wird entfernt und der Rest des Inhalts wird überprüft und Maßnahmen für die SQLInjection-Überprüfung ergriffen.
secure_mode - Wir erkennen den ungültigen prozentualen codierten Wert und ignorieren ihn.
Beispiel፦ curl –v “http://<vip>/forms/login.html?field=sel%zzect -> Invalid percent encoded char(%zz)
wird erkannt, Zähler werden inkrementiert und der Inhalt wird so wie er ist an den Server weitergegeben.
apache_mode - Dieser Modus funktioniert ähnlich wie der sichere Modus.
Hinweis:
Ab Release 13.1 Build 45.x ist die Funktion
apache_mode
veraltet.
Mögliche Werte: apache_mode, asp_mode, secure_mode
Standardwert: secure_mode
Beispiel:
add appfw profile profile1 [-invalidPercentHandling secure_mode] [-checkRequestHeaders ON] [-URLDecodeRequestCookies OFF] [-optimizePartialReqs OFF]
OptimizePartialReqs — Bei AUS/AN (ohne sicheres Objekt) sendet eine NetScaler-Appliance die Teilanforderung an den Back-End-Server. Diese teilweise Antwort wurde an den Kunden zurückgesendet. OptimizePartialReqs ist sinnvoll, wenn das Safe-Objekt konfiguriert ist. Die Appliance sendet Anfragen nach vollständiger Antwort vom Server, wenn sie AUS ist, und fordert nur eine teilweise Antwort an, wenn sie EIN ist.
EIN - Teilweise Anfragen des Clients führen zu teilweisen Anfragen an den Back-End-Server. OFF — Teilanfragen des Clients werden in vollständige Anfragen an den Backend-Server umgewandelt.
Mögliche Werte: ON, OFF Standardwert: ON
URLDecodeRequestCookies. Wenn die Option checkRequestHeaders
aktiviert ist, werden Cookies auf Sicherheitsüberprüfungen überprüft (SQL, Cross-Site, CMD-Injection). Wenn URLDecodeRequestCookies
aktiviert ist, werden die Cookies URL-dekodiert und dann überprüft.
Mögliche Werte: ON, OFF Standardwert: OFF
Unterschrift Post Body Limit (Byte). Schränkt die auf Signaturen untersuchte Anforderungsnutzlast (in Byte) mit dem Speicherort ein, der als “HTTP_POST_BODY” angegeben ist.
Standardwert: 8096 Mindestwert: 0 Maximalwert: 4294967295
Post-Body-Limit (Byte). Schränkt die von der Web Application Firewall überprüfte Anforderungsnutzlast (in Byte) ein.
Standardwert: 20000000 Minimalwert: 0 Maximalwert: 10 GB
Weitere Informationen zur Sicherheitseinstellung und ihrer GUI-Prozedur finden Sie unter Konfigurieren des Web App Firewall App-Firewall-Profils.
postBodyLimitAction. PostBodyLimit akzeptiert Fehlereinstellungen, wenn Sie die maximal zulässige Größe des HTTP-Bodys angeben. Um Fehlereinstellungen zu berücksichtigen, müssen Sie eine oder mehrere Post-Body Limit-Aktionen konfigurieren. Die Konfiguration ist auch für Anfragen anwendbar, bei denen der Übertragungscodierungs-Header in Chunked ist.
set appfw profile <profile_name> -PostBodyLimitAction block log stats
Wo, Block - Diese Aktion blockiert eine Verbindung, die gegen die Sicherheitsprüfung verstößt und basiert auf der maximalen Größe des konfigurierten HTTP-Body (Post-Body-Limit). Sie müssen die Option immer aktivieren.
Log - Protokollieren Sie Verstöße gegen diese Sicherheitsprüfung.
Statistiken - Generieren Sie Statistiken für diese Sicherheitsüberprüfung.
Hinweis:
Das Protokollformat für die Aktion “Post-Body-Limit” wurde nun geändert, um dem standardmäßigen Audit-Logging-Format zu folgen, zum Beispiel:
ns.log.4.gz:Jun 25 1.1.1.1. <local0.info> 10.101.10.100 06/25/2020:10:10:28 GMT 0-PPE-0 : default APPFW APPFW_POSTBODYLIMIT 1506 0 : <Netscaler IP> 4234-PPE0 - testprof ><URL> Request post body length(<Post Body Length>) exceeds post body limit.
InspectQueryContentTypes Prüfen Sie Anforderungs- und Webformulare für injizierte SQL- und Cross-Site-Skripts für die folgenden Inhaltstypen.
set appfw profile p1 -inspectQueryContentTypes HTML XML JSON OTHER
Mögliche Werte: HTML, XML, JSON, OTHER
Standardmäßig ist dieser Parameter als “InspectQueryContentTypes: HTML JSON OTHER” für einfache und erweiterte appfw-Profile festgelegt.
Beispiel für Inspect-Abfrage-Inhaltstyp als XML:
> set appfw profile p1 -type XML
Warning: HTML, JSON checks except “InspectQueryContentTypes” & “Infer Content-Type XML Payload Action” will not be applicable when profile type is not HTML or JSON respectively.
<!--NeedCopy-->
Beispiel für Inspect-Abfrage-Inhaltstyp als HTML:
> set appfw profile p1 -type HTML
Warning: XML, JSON checks except “InspectQueryContentTypes” & “Infer Content-Type XML Payload Action” will not be applicable when profile type is not XML or JSON respectively
Done
<!--NeedCopy-->
Beispiel für Inspect-Abfrage-Inhaltstyp als JSON:
> set appfw profile p1 -type JSON
Warning: HTML, XML checks except “InspectQueryContentTypes” & “Infer Content-Type XML Payload Action will not be applicable when profile type is not HTML or XML respectively
Done
<!--NeedCopy-->
errorUrl Ausdruck. Die URL, die die NetScaler Web App Firewall als Fehler-URL verwendet. Maximale Länge: 2047.
Hinweis:
Wenn die Fehler-URL mit der Signatur-URL vergleichbar ist, setzt die Appliance die Verbindung zurück, um Verletzungen in einer angeforderten URL zu blockieren.
LogEveryPolicyHit - Protokolliert jede Profilübereinstimmung, unabhängig von den Ergebnissen der Sicherheitsüberprüfungen. Mögliche Werte: ON, OFF. Standardwert: OFF.
stripXMLComments - Entfernen Sie XML-Kommentare, bevor Sie eine Webseite weiterleiten, die von einer geschützten Website als Antwort auf eine Benutzeranfrage gesendet wurde. Mögliche Werte: none, all, exclude_script_tag. Standardwert: keiner
postbodyLimitSignature - Maximal zulässige HTTP-Post-Body-Größe für die Signaturprüfung für den Ort HTTP_POST_BODY in den Signaturen, in Byte. Die Wertänderungen können sich auf das CPU- und Latenzprofil auswirken. Standardwert: 2048. Minimaler Wert: 0 Maximalwert: 4294967295
FileUploadMaxNum - Maximal zulässige Anzahl von Datei-Uploads pro Anforderung zum Einreichen von Formularen. Die Maximaleinstellung (65535) ermöglicht eine unbegrenzte Anzahl von Uploads. Standardwert: 65535 Mindestwert: 0 Maximalwert: 65535
FieldScan — Prüfen Sie das konfigurierte Limit für jeden Feldwert in den HTML-Anfragen.
FieldScanLimit - Geben Sie die Anzahl der Byte ein, die die Web App Firewall für jeden Feldwert in HTML-Anfragen überprüft.
Default Value: 2 KB
Maximum Limit - 8 KB
JSONFieldScan — Überprüfen Sie das konfigurierte Limit für jeden Feldwert in JSON-Anfragen.
JSONFieldScanLimit — Geben Sie die Anzahl der Byte ein, die die Web App Firewall für jeden Feldwert in JSON-Anfragen überprüft.
Default Value: 2 KB
Maximum Limit - 8 KB
MessageScan — Überprüfen Sie das konfigurierte Limit für jede Nutzlast in den HTML-Anfragen.
MessageScanLimit - Geben Sie die Anzahl der Byte ein, die die Web App Firewall für jede Nutzlast in den HTML-Anfragen überprüft.
Default Value: 1 MB
Maximum Limit - 8 MB
JsonMessageScan — Überprüfen Sie das konfigurierte Limit für jede Nutzlast in den JSON-Anfragen.
JsonMessageScanLimit — Geben Sie die Anzahl der Byte ein, die die Web App Firewall für jede Nutzlast in den JSON-Anfragen überprüft.
Default Value: 1 MB
Maximum Limit - 8 MB
messagesCanLimitContentTypes — Wählen Sie eine der folgenden Optionen aus:
- Form-Data – Select to inspect the payload for the HTML requests.
- Json - Select to inspect the payload for the JSON requests.
CanonicalizeHTMLResponse - Führen Sie eine HTML-Entitätscodierung für alle Sonderzeichen in Antworten durch, die von Ihren geschützten Websites gesendet werden. Mögliche Werte: ON, OFF Standardwert: ON
PercentDecodeRecursive - Konfigurieren Sie, ob die Anwendungsfirewall prozentuale rekursive Dekodierung verwenden soll. Mögliche Werte: ON, OFF Standardwert: ON
MultipleHeaderAction - Eine oder mehrere Aktionen mit mehreren Headern. Verfügbare Einstellungen funktionieren wie folgt:
- Blockieren. Blockieren Sie Verbindungen, die mehrere Header haben.
- Loggen. Protokollieren Sie Verbindungen, die mehrere Header haben.
- KeepLast. Behalten Sie nur den letzten Header bei, wenn mehrere Header vorhanden sind.
inspectContentTypes — Eine oder mehrere InspectContentType Listen.
- application/x-www-form-urlencoded
- multipart/form-data
- text/x-gwt-rpc
Mögliche Werte: keine, application/x-www-form-urlencoded, multipart/form-data, text/x-gwt-rpc
SemicolonFieldSeparator - Erlaubt ‘;’ als Formularfeldtrennzeichen in URL-Abfragen und POST-Formularkörpern. Mögliche Werte: ON, OFF Standardwert: OFF