Site-übergreifende HTML-Skriptprüfung
Die HTML Cross-Site Scripting-Prüfung untersucht sowohl die Header als auch die POST-Texte von Benutzeranfragen auf mögliche Cross-Site-Scripting-Angriffe. Wenn es ein seitenübergreifendes Skript findet, modifiziert (transformiert) es entweder die Anfrage, um den Angriff unschädlich zu machen, oder blockiert die Anfrage.
Hinweis:
Die Prüfung von HTML Cross-Site Scripting (Cross-Site-Scripting) funktioniert nur für den Inhaltstyp, die Inhaltslänge usw. Stellen Sie außerdem sicher, dass die Option “CheckRequestHeaders” in Ihrem Web Application Firewall Profil aktiviert ist.
Sie können den Missbrauch der Skripts auf Ihren geschützten Sites verhindern, indem Sie die HTML Cross-Site Scripting-Skripts verwenden, die gegen dieselbe Ursprungsregelverstoßen, die besagt, dass Skripts auf keinem Server, sondern auf dem Server, auf dem sie sich befinden, zugreifen oder diese ändern dürfen. Jedes Skript, das gegen dieselbe Ursprungsregel verstößt, wird als siteübergreifendes Skript bezeichnet, und die Praxis, Skripts zum Zugriff auf oder Ändern von Inhalten auf einem anderen Server zu verwenden, wird als siteübergreifende Skripts bezeichnet. Der Grund, warum Cross-Site Scripting ein Sicherheitsproblem darstellt, besteht darin, dass ein Webserver, der Cross-Site Scripting ermöglicht, mit einem Skript angegriffen werden kann, das sich nicht auf diesem Webserver befindet, sondern auf einem anderen Webserver, z. B. einem, der dem Angreifer gehört und von diesem kontrolliert wird.
Leider verfügen viele Unternehmen über eine große installierte Basis von Webinhalten mit Javascript, die gegen dieselbe Ursprungsregel verstoßen. Wenn Sie die HTML Cross-Site Scripting-Prüfung auf einer solchen Site aktivieren, müssen Sie die entsprechenden Ausnahmen generieren, damit die Prüfung keine legitimen Aktivitäten blockiert.
Die Web App Firewall bietet verschiedene Aktionsoptionen für die Implementierung von HTML Cross-Site Scripting Schutz. Zusätzlich zu den Aktionen Blockieren, Protokollieren, Statistiken und Lernen haben Sie auch die Möglichkeit, Site-übergreifende Skripte zu transformieren, um einen Angriff unschädlich zu machen, indem die Entität die Script-Tags in der gesendeten Anforderung codiert. Sie können den Parameter Vollständige URLs für Cross-Site Scripting überprüfen konfigurieren, um anzugeben, ob Sie nicht nur die Abfrageparameter, sondern die gesamte URL überprüfen möchten, um einen Cross-Site-Scripting-Angriff zu erkennen. Sie können den Parameter InspectQueryContentTypes so konfigurieren, dass der Teil der Anforderungsabfrage auf den Cross-Site-Scripting-Angriff auf die spezifischen Inhaltstypen überprüft wird.
Sie können Entspannungen einsetzen, um Fehlalarme zu vermeiden. Die Lernengine der Web App Firewall kann Empfehlungen zum Konfigurieren von Relaxationsregeln enthalten.
Um einen optimierten HTML Cross-Site Scripting-Schutz für Ihre Anwendung zu konfigurieren, konfigurieren Sie eine der folgenden Aktionen:
- Blockieren— Wenn Sie Block aktivieren, wird die Blockaktion ausgelöst, wenn die websiteübergreifenden Scripting-Tags in der Anforderung erkannt werden.
- Log— Wenn Sie die Protokollfunktion aktivieren, generiert die HTML-Site-Scripting-Prüfung Protokollmeldungen, die die Aktionen angeben, die ausgeführt werden. Wenn Block deaktiviert ist, wird für jeden Header oder jedes Formularfeld, in dem die Cross-Site-Scripting-Verletzung erkannt wurde, eine separate Protokollnachricht generiert. Allerdings wird nur eine Nachricht generiert, wenn die Anforderung blockiert wird. In ähnlicher Weise wird eine Protokollnachricht pro Anforderung für den Transformationsvorgang generiert, auch wenn Cross-Site-Scripting-Tags in mehrere Felder umgewandelt werden. Sie können die Protokolle überwachen, um festzustellen, ob Antworten auf legitime Anfragen blockiert werden. Ein starker Anstieg der Anzahl der Protokollmeldungen kann auf Versuche hinweisen, einen Angriff zu starten.
- Statistiken— Wenn diese Option aktiviert ist, sammelt die Statistikfunktion Statistiken zu Verstößen und Protokollen. Ein unerwarteter Anstieg im Statistikzähler deutet möglicherweise darauf hin, dass Ihre Anwendung angegriffen wird. Wenn legitime Anfragen blockiert werden, müssen Sie möglicherweise die Konfiguration erneut aufrufen, um zu prüfen, ob Sie die neuen Entspannungsregeln konfigurieren oder die vorhandenen ändern müssen.
- Lernen— Wenn Sie sich nicht sicher sind, welche Entspannungsregeln für Ihre Anwendung am besten geeignet sind, können Sie die Lernfunktion verwenden, um basierend auf den erlernten Daten Empfehlungen für HTML-Site-Scripting-Regeln zu generieren. Die Web App Firewall Learning Engine überwacht den Datenverkehr und gibt auf der Grundlage der beobachteten Werte Lernempfehlungen ab. Um einen optimalen Nutzen zu erzielen, ohne die Leistung zu beeinträchtigen, sollten Sie die Lernoption möglicherweise für kurze Zeit aktivieren, um ein repräsentatives Beispiel der Regeln zu erhalten, und dann die Regeln bereitstellen und das Lernen deaktivieren.
-
Siteübergreifende Skripts transformieren— Wenn diese Option aktiviert ist, nimmt die Web App Firewall folgende Änderungen an Anforderungen vor, die mit der Prüfung für HTML Cross-Site Scripting übereinstimmen:
- Linke eckige Klammer (<) zum Äquivalent der HTML-Zeichenentität (<)
- Rechtwinklige Klammer (>) zu HTML-Zeichenentitätsäquivalent (>)
Dadurch wird sichergestellt, dass Browser keine unsicheren HTML-Tags wie <script>
z. B. interpretieren und dadurch schädlichen Code ausführen. Wenn Sie sowohl die Prüfung der Anforderungsheader als auch die Transformation aktivieren, werden alle Sonderzeichen in Anforderungsheadern ebenfalls geändert. Wenn die Skripts auf Ihrer geschützten Site Cross-Site-Scripting-Funktionen enthalten, Ihre Site jedoch nicht darauf angewiesen ist, dass diese Skripts ordnungsgemäß funktionieren, können Sie das Blockieren sicher deaktivieren und die Transformation aktivieren. Diese Konfiguration stellt sicher, dass kein legitimer Webverkehr blockiert wird, während potenzielle Cross-Site-Scripting-Angriffe gestoppt werden.
- Prüfen Sie die vollständigen URLs für Cross-Site Scripting. Wenn die Überprüfung vollständiger URLs aktiviert ist, untersucht die Web App Firewall ganze URLs auf HTML-Site-Scripting-Angriffe, anstatt nur die Abfrageteile der URLs zu überprüfen.
- Markieren Sie Header der Anforderung. Wenn die Headerüberprüfung anfordern aktiviert ist, untersucht die Web App Firewall die Header von Anfragen für websiteübergreifende HTML-Scripting-Angriffe, anstatt nur URLs. Wenn Sie die GUI verwenden, können Sie diesen Parameter auf der Registerkarte “Einstellungen” des Web App Firewall-Profils aktivieren.
- InspectQueryContentTypes. Wenn Abfrageprüfung anfordern konfiguriert ist, untersucht die App Firewall die Abfrage von Anforderungen für Cross-Site-Scripting-Angriffe auf die spezifischen Inhaltstypen. Wenn Sie die GUI verwenden, können Sie diesen Parameter auf der Registerkarte “Einstellungen” des App Firewall-Profils konfigurieren.
Wichtig:
Im Rahmen der Streaming-Änderungen wurde die Web App Firewall Verarbeitung der Cross-Site-Scripting-Tags geändert. Diese Änderung gilt ab 11.0 Builds. Diese Änderung ist auch für die Erweiterungs-Builds von 10.5.e relevant, die das Streaming auf Anforderungsseite unterstützen. In früheren Versionen wurde das Vorhandensein einer offenen Klammer (<) oder einer schließenden Klammer (>) oder beiden (<>) als Cross-Site-Scripting-Verletzung gekennzeichnet. Das Verhalten wurde in den Builds geändert, die Unterstützung für das Streaming auf der Anforderungsseite beinhalten Nur das Zeichen in der engen Klammer (>) wird nicht mehr als Angriff betrachtet. Anfragen werden auch dann geblockt, wenn ein Zeichen in offener Klammer (<) vorhanden ist, und werden als Angriff betrachtet. Der Cross-Site-Scripting-Angriff wird markiert.
Site-übergreifendes Scripting Feinkörnige
Die Web App Firewall bietet Ihnen die Möglichkeit, ein bestimmtes Formularfeld, einen Header oder ein Cookie von der websiteübergreifenden Überprüfung des Scripting auszunehmen. Sie können die Prüfung für eines oder mehrere dieser Felder vollständig Bypass, indem Sie die Entspannungsregeln konfigurieren.
Mit der Web App Firewall können Sie durch Feinabstimmung der Entspannungsregeln strengere Sicherheit implementieren. Eine Anwendung erfordert möglicherweise die Flexibilität, um bestimmte Muster zuzulassen, aber die Konfiguration einer Entspannungsregel zur Bypass der Sicherheitsüberprüfung könnte die Anwendung anfällig für Angriffe machen, da das Zielfeld von der Überprüfung auf Cross-Site-Scripting-Angriffsmuster ausgenommen ist. Cross-Site-Scripting Die feinkörnige Entspannung bietet die Möglichkeit, bestimmte Attribute, Tags und Muster zuzulassen. Der Rest der Attribute, Tags und Muster ist gesperrt. Beispielsweise verfügt die Web App Firewall derzeit über einen Standardsatz von mehr als 125 verweigerten Mustern. Da Hacker diese Muster bei standortübergreifenden Skript-Angriffen verwenden können, kennzeichnet die Web App Firewall sie als potenzielle Bedrohungen. Sie können ein oder mehrere Muster lockern, die für den jeweiligen Standort als sicher gelten. Der Rest der potenziell gefährlichen Cross-Site-Scripting-Muster wird weiterhin auf den Zielort überprüft und löst weiterhin die Verstöße gegen die Sicherheitsüberprüfung aus. Sie haben jetzt eine viel strengere Kontrolle.
Die in Relaxationen verwendeten Befehle verfügen über optionale Parameter für Werttyp und Wertausdruck. Der Werttyp kann leer gelassen werden oder Sie haben die Möglichkeit, Tag oder Attribut oder Musterauszuwählen. Wenn Sie den Werttyp leer lassen, wird das konfigurierte Feld der angegebenen URL von der Cross-Site Scripting-Prüfung ausgenommen. Wenn Sie einen Werttyp auswählen, müssen Sie einen Wertausdruck angeben. Sie können angeben, ob der Wertausdruck ein regulärer Ausdruck oder eine literale Zeichenfolge ist. Wenn die Eingabe mit der Liste “Zulässig” und “Verweigert” abgeglichen wird, werden nur die in den Entspannungsregeln konfigurierten angegebenen Ausdrücke ausgenommen.
Die Web App Firewall verfügt über die folgenden integrierten Listen für das Cross-Site Scripting:
- Cross-Site Scripting Zulässige Attribute: Es sind 52 standardmäßig zulässige Attribute wie abbr, accesskey, align, alt, axis, bgcolor, border, cell padding, cellabstand, char, charoff, charset und so weiter
- Cross-Site Scripting Zulässige Tags: Es sind 47 Standard-Tags zulässig, z. B. address, basefont, bgsound, big, blockquote, bg, br, caption, center, **cite, **dd, del und so weiter
- Cross-Site Scripting Denied Patterns: Es gibt 129 Standardeinstellungen für verweigerte Muster, wie FSCommand, Javascript:, onAbort, onActivate und so weiter
Warnung
Die Aktionsadressen der Web App Firewall sind reguläre Ausdrücke. Beim Konfigurieren von siteübergreifenden HTML-Relaxationsregeln für Skripts können Sie Nameund Value Expression als Literal oder RegEx angeben. Reguläre Ausdrücke sind leistungsstark. Vor allem, wenn Sie mit regulären Ausdrücken im PCRE-Format nicht genau vertraut sind, überprüfen Sie alle regulären Ausdrücke, die Sie schreiben. Stellen Sie sicher, dass sie genau die Regel definieren, die Sie als Ausnahme hinzufügen möchten, und sonst nichts. Die unvorsichtige Verwendung von Platzhaltern und insbesondere des Punkt-Sternchen-Metazeichens (.*) oder der Platzhalterkombination kann zu Ergebnissen führen, die Sie nicht möchten, z. B. das Blockieren des Zugriffs auf Webinhalte, die Sie nicht blockieren wollten, oder das Zulassen eines Angriffs, den die HTML Cross-Site Scripting Prüfung sonst blockiert hätte.
Zu berücksichtigende Punkte:
- Der Wertausdruck ist ein optionales Argument. Ein Feldname hat möglicherweise keinen Wertausdruck.
- Ein Feldname kann an Ausdrücke mit mehreren Werten gebunden werden.
- Wertausdrücken muss ein Werttyp zugewiesen werden. Der Cross-Site Scripting -Werttyp kann sein: 1) Tag, 2) Attribut oder 3) Muster.
- Sie können mehrere Entspannungsregeln pro Feldname/URL-Kombination festlegen
- Die Namen der Formularfelder und die Aktionsadressen unterscheiden nicht zwischen Groß- und Kleinschreibung
Konfigurieren der HTML-Site-Scripting-Prüfung über die Befehlszeile
So konfigurieren Sie HTML Cross-Site Scripting, überprüfen Sie Aktionen und andere Parameter mithilfe der Befehlszeile
Wenn Sie die Befehlszeilenschnittstelle verwenden, können Sie die folgenden Befehle eingeben, um die HTML Cross-Site Scripting Check zu konfigurieren:
- setze appfw-Profilthema .
<name> -crossSiteScriptingAction (([block] [learn] [log] [stats]) | [**none**])
- [appfw-Profilthema festlegen.
<name> **-crossSiteScriptingTransformUnsafeHTML** (ON | OFF)
- setze appfw-Profilthema.
<name> -crossSiteScriptingCheckCompleteURLs (ON | OFF)
- setze appfw-Profilthema.
-
Site-übergreifende HTML-Skriptprüfung
Die HTML Cross-Site Scripting-Prüfung untersucht sowohl die Header als auch die POST-Texte von Benutzeranfragen auf mögliche Cross-Site-Scripting-Angriffe. Wenn es ein seitenübergreifendes Skript findet, modifiziert (transformiert) es entweder die Anfrage, um den Angriff unschädlich zu machen, oder blockiert die Anfrage.
Hinweis:
Die Prüfung von HTML Cross-Site Scripting (Cross-Site-Scripting) funktioniert nur für den Inhaltstyp, die Inhaltslänge usw. Stellen Sie außerdem sicher, dass die Option “CheckRequestHeaders” in Ihrem Web Application Firewall Profil aktiviert ist.
Sie können den Missbrauch der Skripts auf Ihren geschützten Sites verhindern, indem Sie die HTML Cross-Site Scripting-Skripts verwenden, die gegen dieselbe Ursprungsregelverstoßen, die besagt, dass Skripts auf keinem Server, sondern auf dem Server, auf dem sie sich befinden, zugreifen oder diese ändern dürfen. Jedes Skript, das gegen dieselbe Ursprungsregel verstößt, wird als siteübergreifendes Skript bezeichnet, und die Praxis, Skripts zum Zugriff auf oder Ändern von Inhalten auf einem anderen Server zu verwenden, wird als siteübergreifende Skripts bezeichnet. Der Grund, warum Cross-Site Scripting ein Sicherheitsproblem darstellt, besteht darin, dass ein Webserver, der Cross-Site Scripting ermöglicht, mit einem Skript angegriffen werden kann, das sich nicht auf diesem Webserver befindet, sondern auf einem anderen Webserver, z. B. einem, der dem Angreifer gehört und von diesem kontrolliert wird.
Leider verfügen viele Unternehmen über eine große installierte Basis von Webinhalten mit Javascript, die gegen dieselbe Ursprungsregel verstoßen. Wenn Sie die HTML Cross-Site Scripting-Prüfung auf einer solchen Site aktivieren, müssen Sie die entsprechenden Ausnahmen generieren, damit die Prüfung keine legitimen Aktivitäten blockiert.
Die Web App Firewall bietet verschiedene Aktionsoptionen für die Implementierung von HTML Cross-Site Scripting Schutz. Zusätzlich zu den Aktionen Blockieren, Protokollieren, Statistiken und Lernen haben Sie auch die Möglichkeit, Site-übergreifende Skripte zu transformieren, um einen Angriff unschädlich zu machen, indem die Entität die Script-Tags in der gesendeten Anforderung codiert. Sie können den Parameter Vollständige URLs für Cross-Site Scripting überprüfen konfigurieren, um anzugeben, ob Sie nicht nur die Abfrageparameter, sondern die gesamte URL überprüfen möchten, um einen Cross-Site-Scripting-Angriff zu erkennen. Sie können den Parameter InspectQueryContentTypes so konfigurieren, dass der Teil der Anforderungsabfrage auf den Cross-Site-Scripting-Angriff auf die spezifischen Inhaltstypen überprüft wird.
Sie können Entspannungen einsetzen, um Fehlalarme zu vermeiden. Die Lernengine der Web App Firewall kann Empfehlungen zum Konfigurieren von Relaxationsregeln enthalten.
Um einen optimierten HTML Cross-Site Scripting-Schutz für Ihre Anwendung zu konfigurieren, konfigurieren Sie eine der folgenden Aktionen:
- Blockieren— Wenn Sie Block aktivieren, wird die Blockaktion ausgelöst, wenn die websiteübergreifenden Scripting-Tags in der Anforderung erkannt werden.
- Log— Wenn Sie die Protokollfunktion aktivieren, generiert die HTML-Site-Scripting-Prüfung Protokollmeldungen, die die Aktionen angeben, die ausgeführt werden. Wenn Block deaktiviert ist, wird für jeden Header oder jedes Formularfeld, in dem die Cross-Site-Scripting-Verletzung erkannt wurde, eine separate Protokollnachricht generiert. Allerdings wird nur eine Nachricht generiert, wenn die Anforderung blockiert wird. In ähnlicher Weise wird eine Protokollnachricht pro Anforderung für den Transformationsvorgang generiert, auch wenn Cross-Site-Scripting-Tags in mehrere Felder umgewandelt werden. Sie können die Protokolle überwachen, um festzustellen, ob Antworten auf legitime Anfragen blockiert werden. Ein starker Anstieg der Anzahl der Protokollmeldungen kann auf Versuche hinweisen, einen Angriff zu starten.
- Statistiken— Wenn diese Option aktiviert ist, sammelt die Statistikfunktion Statistiken zu Verstößen und Protokollen. Ein unerwarteter Anstieg im Statistikzähler deutet möglicherweise darauf hin, dass Ihre Anwendung angegriffen wird. Wenn legitime Anfragen blockiert werden, müssen Sie möglicherweise die Konfiguration erneut aufrufen, um zu prüfen, ob Sie die neuen Entspannungsregeln konfigurieren oder die vorhandenen ändern müssen.
- Lernen— Wenn Sie sich nicht sicher sind, welche Entspannungsregeln für Ihre Anwendung am besten geeignet sind, können Sie die Lernfunktion verwenden, um basierend auf den erlernten Daten Empfehlungen für HTML-Site-Scripting-Regeln zu generieren. Die Web App Firewall Learning Engine überwacht den Datenverkehr und gibt auf der Grundlage der beobachteten Werte Lernempfehlungen ab. Um einen optimalen Nutzen zu erzielen, ohne die Leistung zu beeinträchtigen, sollten Sie die Lernoption möglicherweise für kurze Zeit aktivieren, um ein repräsentatives Beispiel der Regeln zu erhalten, und dann die Regeln bereitstellen und das Lernen deaktivieren.
-
Siteübergreifende Skripts transformieren— Wenn diese Option aktiviert ist, nimmt die Web App Firewall folgende Änderungen an Anforderungen vor, die mit der Prüfung für HTML Cross-Site Scripting übereinstimmen:
- Linke eckige Klammer (<) zum Äquivalent der HTML-Zeichenentität (<)
- Rechtwinklige Klammer (>) zu HTML-Zeichenentitätsäquivalent (>)
Dadurch wird sichergestellt, dass Browser keine unsicheren HTML-Tags wie <!JEKYLL@5140@0>z. B. interpretieren und dadurch schädlichen Code ausführen. Wenn Sie sowohl die Prüfung der Anforderungsheader als auch die Transformation aktivieren, werden alle Sonderzeichen in Anforderungsheadern ebenfalls geändert. Wenn die Skripts auf Ihrer geschützten Site Cross-Site-Scripting-Funktionen enthalten, Ihre Site jedoch nicht darauf angewiesen ist, dass diese Skripts ordnungsgemäß funktionieren, können Sie das Blockieren sicher deaktivieren und die Transformation aktivieren. Diese Konfiguration stellt sicher, dass kein legitimer Webverkehr blockiert wird, während potenzielle Cross-Site-Scripting-Angriffe gestoppt werden.
- Prüfen Sie die vollständigen URLs für Cross-Site Scripting. Wenn die Überprüfung vollständiger URLs aktiviert ist, untersucht die Web App Firewall ganze URLs auf HTML-Site-Scripting-Angriffe, anstatt nur die Abfrageteile der URLs zu überprüfen.
- Markieren Sie Header der Anforderung. Wenn die Headerüberprüfung anfordern aktiviert ist, untersucht die Web App Firewall die Header von Anfragen für websiteübergreifende HTML-Scripting-Angriffe, anstatt nur URLs. Wenn Sie die GUI verwenden, können Sie diesen Parameter auf der Registerkarte “Einstellungen” des Web App Firewall-Profils aktivieren.
- InspectQueryContentTypes. Wenn Abfrageprüfung anfordern konfiguriert ist, untersucht die App Firewall die Abfrage von Anforderungen für Cross-Site-Scripting-Angriffe auf die spezifischen Inhaltstypen. Wenn Sie die GUI verwenden, können Sie diesen Parameter auf der Registerkarte “Einstellungen” des App Firewall-Profils konfigurieren.
Wichtig:
Im Rahmen der Streaming-Änderungen wurde die Web App Firewall Verarbeitung der Cross-Site-Scripting-Tags geändert. Diese Änderung gilt ab 11.0 Builds. Diese Änderung ist auch für die Erweiterungs-Builds von 10.5.e relevant, die das Streaming auf Anforderungsseite unterstützen. In früheren Versionen wurde das Vorhandensein einer offenen Klammer (<) oder einer schließenden Klammer (>) oder beiden (<>) als Cross-Site-Scripting-Verletzung gekennzeichnet. Das Verhalten wurde in den Builds geändert, die Unterstützung für das Streaming auf der Anforderungsseite beinhalten Nur das Zeichen in der engen Klammer (>) wird nicht mehr als Angriff betrachtet. Anfragen werden auch dann geblockt, wenn ein Zeichen in offener Klammer (<) vorhanden ist, und werden als Angriff betrachtet. Der Cross-Site-Scripting-Angriff wird markiert.
Site-übergreifendes Scripting Feinkörnige
Die Web App Firewall bietet Ihnen die Möglichkeit, ein bestimmtes Formularfeld, einen Header oder ein Cookie von der websiteübergreifenden Überprüfung des Scripting auszunehmen. Sie können die Prüfung für eines oder mehrere dieser Felder vollständig Bypass, indem Sie die Entspannungsregeln konfigurieren.
Mit der Web App Firewall können Sie durch Feinabstimmung der Entspannungsregeln strengere Sicherheit implementieren. Eine Anwendung erfordert möglicherweise die Flexibilität, um bestimmte Muster zuzulassen, aber die Konfiguration einer Entspannungsregel zur Bypass der Sicherheitsüberprüfung könnte die Anwendung anfällig für Angriffe machen, da das Zielfeld von der Überprüfung auf Cross-Site-Scripting-Angriffsmuster ausgenommen ist. Cross-Site-Scripting Die feinkörnige Entspannung bietet die Möglichkeit, bestimmte Attribute, Tags und Muster zuzulassen. Der Rest der Attribute, Tags und Muster ist gesperrt. Beispielsweise verfügt die Web App Firewall derzeit über einen Standardsatz von mehr als 125 verweigerten Mustern. Da Hacker diese Muster bei standortübergreifenden Skript-Angriffen verwenden können, kennzeichnet die Web App Firewall sie als potenzielle Bedrohungen. Sie können ein oder mehrere Muster lockern, die für den jeweiligen Standort als sicher gelten. Der Rest der potenziell gefährlichen Cross-Site-Scripting-Muster wird weiterhin auf den Zielort überprüft und löst weiterhin die Verstöße gegen die Sicherheitsüberprüfung aus. Sie haben jetzt eine viel strengere Kontrolle.
Die in Relaxationen verwendeten Befehle verfügen über optionale Parameter für Werttyp und Wertausdruck. Der Werttyp kann leer gelassen werden oder Sie haben die Möglichkeit, Tag oder Attribut oder Musterauszuwählen. Wenn Sie den Werttyp leer lassen, wird das konfigurierte Feld der angegebenen URL von der Cross-Site Scripting-Prüfung ausgenommen. Wenn Sie einen Werttyp auswählen, müssen Sie einen Wertausdruck angeben. Sie können angeben, ob der Wertausdruck ein regulärer Ausdruck oder eine literale Zeichenfolge ist. Wenn die Eingabe mit der Liste “Zulässig” und “Verweigert” abgeglichen wird, werden nur die in den Entspannungsregeln konfigurierten angegebenen Ausdrücke ausgenommen.
Die Web App Firewall verfügt über die folgenden integrierten Listen für das Cross-Site Scripting:
- Cross-Site Scripting Zulässige Attribute: Es sind 52 standardmäßig zulässige Attribute wie abbr, accesskey, align, alt, axis, bgcolor, border, cell padding, cellabstand, char, charoff, charset und so weiter
- Cross-Site Scripting Zulässige Tags: Es sind 47 Standard-Tags zulässig, z. B. address, basefont, bgsound, big, blockquote, bg, br, caption, center, **cite, **dd, del und so weiter
- Cross-Site Scripting Denied Patterns: Es gibt 129 Standardeinstellungen für verweigerte Muster, wie FSCommand, Javascript:, onAbort, onActivate und so weiter
Warnung
Die Aktionsadressen der Web App Firewall sind reguläre Ausdrücke. Beim Konfigurieren von siteübergreifenden HTML-Relaxationsregeln für Skripts können Sie Nameund Value Expression als Literal oder RegEx angeben. Reguläre Ausdrücke sind leistungsstark. Vor allem, wenn Sie mit regulären Ausdrücken im PCRE-Format nicht genau vertraut sind, überprüfen Sie alle regulären Ausdrücke, die Sie schreiben. Stellen Sie sicher, dass sie genau die Regel definieren, die Sie als Ausnahme hinzufügen möchten, und sonst nichts. Die unvorsichtige Verwendung von Platzhaltern und insbesondere des Punkt-Sternchen-Metazeichens (.*) oder der Platzhalterkombination kann zu Ergebnissen führen, die Sie nicht möchten, z. B. das Blockieren des Zugriffs auf Webinhalte, die Sie nicht blockieren wollten, oder das Zulassen eines Angriffs, den die HTML Cross-Site Scripting Prüfung sonst blockiert hätte.
Zu berücksichtigende Punkte:
- Der Wertausdruck ist ein optionales Argument. Ein Feldname hat möglicherweise keinen Wertausdruck.
- Ein Feldname kann an Ausdrücke mit mehreren Werten gebunden werden.
- Wertausdrücken muss ein Werttyp zugewiesen werden. Der Cross-Site Scripting -Werttyp kann sein: 1) Tag, 2) Attribut oder 3) Muster.
- Sie können mehrere Entspannungsregeln pro Feldname/URL-Kombination festlegen
- Die Namen der Formularfelder und die Aktionsadressen unterscheiden nicht zwischen Groß- und Kleinschreibung
Konfigurieren der HTML-Site-Scripting-Prüfung über die Befehlszeile
So konfigurieren Sie HTML Cross-Site Scripting, überprüfen Sie Aktionen und andere Parameter mithilfe der Befehlszeile
Wenn Sie die Befehlszeilenschnittstelle verwenden, können Sie die folgenden Befehle eingeben, um die HTML Cross-Site Scripting Check zu konfigurieren:
- setze appfw-Profilthema .
- <!JEKYLL@5140@1>
- [appfw-Profilthema festlegen.
- <!JEKYLL@5140@2>
- setze appfw-Profilthema.
- <!JEKYLL@5140@3>
- setze appfw-Profilthema.