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 )]
Beispiel:
add appfw profile profile1 [-invalidPercentHandling secure_mode] [-checkRequestHeaders ON] [-URLDecodeRequestCookies OFF] [-optimizePartialReqs OFF]
Hierbei gilt:
InvalidPercentHandling — Konfiguriert die Methode für den Umgang mit prozentkodierten Namen und Werten.
Verfügbare Einstellungen funktionieren wie folgt:
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
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.
Verfügbare Einstellungen lauten wie folgt:
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
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