Erzwingen der HTTP-RFC-Konformität
NetScaler Web App Firewall prüft den eingehenden Datenverkehr auf HTTP-RFC-Konformität und legt jede Anforderung ab, die standardmäßig RFC-Verstöße aufweist. Es gibt jedoch bestimmte Szenarien, in denen die Appliance möglicherweise eine nicht RFC-Konformitätsanforderung Bypass oder blockieren muss. In solchen Fällen können Sie die Appliance so konfigurieren, dass solche Anfragen auf globaler oder Profilebene Bypass oder blockiert werden.
Blockieren oder Bypass Sie nicht RFC-konforme Anfragen auf globaler Ebene
Das HTTP-Modul identifiziert eine Anfrage als ungültig, wenn sie unvollständig ist und solche Anfragen nicht von der WAF bearbeitet werden können. Zum Beispiel fehlt eine eingehende HTTP-Anforderung, bei der ein Host-Header fehlt. Um solche ungültigen Anfragen zu blockieren oder zu Bypass, müssen Sie die Option malformedReqAction
in den globalen Einstellungen der Anwendungs-Firewall konfigurieren.
Der Parameter ‘malformedReqAction’ überprüft die eingehende Anforderung auf ungültige Inhaltslänge, ungültige Chunked-Anforderung, keine HTTP-Version und unvollständigen Header.
Hinweis:
Wenn Sie die Blockoption im Parameter
malformedReqAction
deaktivieren, umgeht die Appliance die gesamte App-Firewall-Verarbeitung für alle Nicht-RFC-Konformitätsanforderungen und leitet die Anforderungen an das nächste Modul weiter.
So blockieren oder Bypass Sie ungültige HTTP-Anfragen ohne RFC-Beschwerde mithilfe der Befehlszeilenschnittstelle
Um ungültige Anfragen zu blockieren oder zu Bypass, geben Sie den folgenden Befehl ein:
set appfw settings -malformedreqaction <action>
Beispiel:
set appfw settings –malformedReqAction block
So zeigen Sie fehlerhafte Anforderungsaktionseinstellungen an
Um die Einstellungen für fehlerhafte Anforderungsaktionen anzuzeigen, geben Sie den folgenden Befehl ein:
show appfw settings
Ausgang:
DefaultProfile: APPFW_BYPASS UndefAction: APPFW_BLOCK SessionTimeout: 900 LearnRateLimit: 400 SessionLifetime: 0 SessionCookieName: citrix_ns_id ImportSizeLimit: 134217728 SignatureAutoUpdate: OFF SignatureUrl:"https://s3.amazonaws.com/NSAppFwSignatures/SignaturesMapping.xml" CookiePostEncryptPrefix: ENC GeoLocationLogging: OFF CEFLogging: OFF EntityDecoding: OFF UseConfigurableSecretKey: OFF SessionLimit: 100000 MalformedReqAction: block log stats
Done
<!--NeedCopy-->
So blockieren oder Bypass Sie ungültige HTTP-Anfragen ohne RFC-Beschwerde mithilfe der NetScaler GUI
- Navigieren Sie zu Sicherheit > NetScaler Web App Firewall.
- Klicken Sie auf der Seite NetScaler Web App Firewall unter Einstellungen auf Engine-Einstellungen ändern.
- Wählen Sie auf der Seite NetScaler Web App Firewall-Einstellungen konfigurieren die Option Fehlerhafte Anforderung protokollieren als Blockieren, Log oder Statistik aus.
- Klicken Sie auf OK und auf Schließen.
Hinweis:
Wenn Sie die Auswahl der Blockaktion aufheben oder keine fehlerhafte Anforderungsaktion auswählen, umgeht die Appliance die Anforderung, ohne den Benutzer zu verweilen.
Blockieren oder Umgehen von nicht RFC-konformen Anforderungen auf Profilebene
Andere nicht RFC-konforme Anforderungen können so konfiguriert werden, dass sie auf Profilebene blockiert oder umgangen werden. Sie müssen das RFC-Profil entweder im Block- oder Bypass-Modus konfigurieren. Durch diese Konfiguration wird jeder ungültige Datenverkehr, der mit dem Web App Firewall-Profil übereinstimmt, entweder umgangen oder entsprechend blockiert. Das RFC-Profil überprüft die folgenden Sicherheitsüberprüfungen:
- Ungültige GWT-RPC-Anfragen
- Ungültige Kopfzeilen für Inhaltstypen
- Ungültige Multipart-Anfragen
- Ungültige JSON-Anfragen
- Doppelte Cookie-Namen-Wert-Paarprüf
Hinweis:
Wenn Sie das Profil
RFC
in den Modus “Bypass” setzen, müssen Sie sicherstellen, dass Sie die Transformationsoption in den HTML Cross-Site-Scripting-Einstellungen und in den Abschnitten HTML SQL Injection Settings deaktivieren. Wenn Sie dasRFC
-Profil im Bypass-Modus aktivieren und festlegen, zeigt die Appliance eine Warnmeldung an: “Site-übergreifende Skripte umwandeln” und “SQL-Sonderzeichen transformieren” sind beide derzeit eingeschaltet. Empfehlen Sie es auszuschalten, wenn es mit verwendet wirdAPPFW_RFC_BYPASS
.Wichtig:
Außerdem zeigt die Appliance einen Warnhinweis an: “Appfw-Sicherheitsprüfungen sind möglicherweise nicht auf Anfragen anwendbar, die gegen RFC-Prüfungen verstoßen, wenn dieses Profil festgelegt wird. Das Aktivieren einer Transformationseinstellung wird nicht empfohlen, da Anfragen möglicherweise teilweise transformiert werden, die RFC-Verstöße enthalten.
So konfigurieren Sie ein RFC-Profil im Web App Firewall-Profil mithilfe der Befehlszeilenschnittstelle
Geben Sie an der Eingabeaufforderung die folgenden Befehle ein:
set appfw profile <profile_name> -rfcprofile <rfcprofile_name
Beispiel
set appfw profile P1 -rfcprofile APPFW_RFC_BLOCK
Hinweis:
Standardmäßig ist das
RFC
-Profil im Blockmodus an das Web App Firewall-Profil gebunden.
So konfigurieren Sie ein RFC-Profil im Web App Firewall-Profil über die grafische Benutzeroberfläche
- Navigieren Sie zu Sicherheit > NetScaler Web App Firewall > Profile.
- Wählen Sie auf der Seite Profile ein Profil aus, und klicken Sie auf Bearbeiten.
- Klicken Sie auf der Seite Web App Firewall-Profil im Abschnitt Erweiterte Einstellungen auf Profileinstellungen.
- Stellen Sie im Abschnitt HTML-Einstellungen das
RFC
-Profil auf den ModusAPPFW_RFC_BYPASS
ein. Das System zeigt eine Warnmeldung an: Appfw Security checks enabled ist möglicherweise nicht für Anforderungen anwendbar, die gegen RFC-Prüfungen verstößt, wenn dieses Profil eingestellt ist. Das Aktivieren einer Transformationseinstellung wird nicht empfohlen, da Anfragen teilweise transformiert werden können, die RFC-Verletzungen enthalten.