ADC

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

  1. Navigieren Sie zu Sicherheit > NetScaler Web App Firewall.
  2. Klicken Sie auf der Seite NetScaler Web App Firewall unter Einstellungen auf Engine-Einstellungen ändern.
  3. Wählen Sie auf der Seite NetScaler Web App Firewall-Einstellungen konfigurieren die Option Fehlerhafte Anforderung protokollieren als Blockieren, Log oder Statistik aus.
  4. 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 das RFC-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 wird APPFW_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

  1. Navigieren Sie zu Sicherheit > NetScaler Web App Firewall > Profile.
  2. Wählen Sie auf der Seite Profile ein Profil aus, und klicken Sie auf Bearbeiten.
  3. Klicken Sie auf der Seite Web App Firewall-Profil im Abschnitt Erweiterte Einstellungen auf Profileinstellungen.
  4. Stellen Sie im Abschnitt HTML-Einstellungen das RFC-Profil auf den Modus APPFW_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.
Erzwingen der HTTP-RFC-Konformität