Citrix ADC

Websiteübergreifende HTML-Skripterstellung

Die Prüfung HTML Cross-Site Scripting (Cross-Site Scripting) untersucht sowohl die Header als auch die POST-Texte von Benutzeranfragen auf mögliche Cross-Site-Scripting-Angriffe. Wenn es ein siteübergreifendes Skript findet, ändert es entweder die Anforderung (transformiert), um den Angriff harmlos zu machen, oder blockiert die Anforderung.

Hinweis:

Die HTML Cross-Site Scripting (Cross-Site Scripting) -Prüfung funktioniert nur für Inhaltstyp, Inhaltslänge und so weiter. Es funktioniert nicht für das Cookie. 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 Websites verhindern, indem Sie die HTML Cross-Site Scripting-Skripts verwenden, die gegendieselbe 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 ist, ist, 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 befindet, z. B. einem, der vom Angreifer gehört und kontrolliert wird.

很遗憾,您有Unternehmen一张große installierte Basis von JavaScript-verbesserten Webinhalten, die gegen dieselbe Ursprungsregel verstößt. 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 legitime Aktivitäten nicht blockiert.

Die Web App Firewall bietet verschiedene Aktionsoptionen für die Implementierung von HTML Cross-Site Scripting Schutz. Zusätzlich zu den AktionenBlockieren,Protokollieren,StatistikenundLernenhaben Sie auch die Möglichkeit,siteübergreifende Skripts zu transformieren, um einen Angriff durch Entitäten harmlos zu machen, die die Skript-Tags in der übermittelten Anforderung codiert. Sie können “Vollständige URLs für Cross-Site-Scripting-Parameter prüfen” konfigurieren, um anzugeben, ob Sie nicht nur die Abfrageparameter, sondern die gesamte URL überprüfen möchten, um Cross-Site-Scripting-Angriffe zu erkennen. Sie können den ParameterInspectQueryContentTypesso konfigurieren, dass der Anforderungsabfrageteil auf den Cross-Site-Scripting-Angriff auf die spezifischen Content-Typen untersucht wird.

Sie können Entspannungen bereitstellen, 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:

  • Block— Wenn Sie Block aktivieren, wird die Blockaktion ausgelöst, wenn die siteübergreifenden Skript-Tags in der Anforderung erkannt werden.
  • Log— Wenn Sie die Protokollfunktion aktivieren, werden bei der Prüfung Cross-Site Scripting Protokollmeldungen generiert, die die ausgeführten Aktionen angeben. Wenn der Block deaktiviert ist, wird für jedes Kopf- oder Formularfeld, in dem die Cross-Site-Scripting-Verletzung erkannt wurde, eine separate Protokollmeldung generiert. Allerdings wird nur eine Nachricht generiert, wenn die Anforderung blockiert wird. In ähnlicher Weise wird eine Protokollnachricht pro Anfrage für den Transformationsvorgang generiert, selbst 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. Eine große Zunahme der Anzahl von Protokollmeldungen kann auf Versuche hinweisen, einen Angriff zu starten.
  • Statistiken— Wenn diese Option aktiviert ist, sammelt die Statistikfunktion Statistiken über Verstöße und Protokolle. 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 festzustellen, ob Sie neue Relaxationsregeln konfigurieren oder die vorhandenen ändern müssen.
  • Lernen— Wenn Sie nicht sicher sind, welche Relaxationsregeln ideal für Ihre Anwendung geeignet sind, können Sie mit der Lernfunktion HTML Cross-Site-Skripting-Regelempfehlungen basierend auf den erlernten Daten generieren. Die Web App Firewall Learning Engine überwacht den Datenverkehr und bietet Lernempfehlungen basierend auf den beobachteten Werten. Um den optimalen Nutzen zu erzielen, ohne die Leistung zu beeinträchtigen, sollten Sie die Lernoption 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:
    • 的左翼eckige克拉墨(<)祖茂堂HTML-Zeichenelement Aquivalent (<)
    • Rechtwinklige Klammer (>) zu HTML-Zeichenentität Äquivalent (>)

Dies stellt sicher, dass Browser keine unsicheren HTML-Tags interpretieren und dadurch bösartigen Code ausführen.