ADC

Überprüfung des JSON-Site-Scripting-Schutzes

Wenn eine eingehende JSON-Nutzlast schädliche Cross-Site-Scripting-Daten enthält, blockiert WAF die Anforderung. Die folgenden Verfahren erklären, wie Sie dies über CLI- und GUI-Schnittstellen konfigurieren können.

Konfigurieren des JSON-Site-Scripting-Schutzes

Um den JSON-Site-Scripting-Schutz zu konfigurieren, müssen Sie die folgenden Schritte ausführen:

  1. Fügen Sie das Anwendungsfirewall-Profil als JSON hinzu.
  2. Konfigurieren der JSON-Site-Scripting-Aktion zum Blockieren schädlicher Nutzdaten für Cross-Site Scripting

Anwendungs-Firewall-Profil vom Typ JSON hinzufügen

Sie müssen zuerst ein Profil erstellen, das angibt, wie die Anwendungsfirewall Ihre JSON-Webinhalte vor siteübergreifenden JSON-Skripting-Angriffen schützen muss.

Geben Sie in der Befehlszeile Folgendes ein:

add appfw profile -type (HTML | XML | JSON)

Hinweis:

Wenn Sie den Profiltyp auf JSON festlegen, sind andere Prüfungen wie HTML oder XML nicht anwendbar.

Beispiel

add appfw profile profile1 –type JSON

Beispielausgabe für JSON-Site-Scripting-Verletzung

JSONcross-site scriptingAction: block log stats Payload: {"username":"X","password":"xyz"} Log message: Aug 19 06:57:33  10.106.102.21 08/19/2019:06:57:33 GMT 0-PPE-0 : default APPFW APPFW_JSON_cross-site scripting 58 0 : 10.102.1.98 12-PPE0 - profjson http://10.106.102.24/ Cross-site script check failed for object value(with violation="Bad URL: jAvAsCrIpT:alert(1)") starting at offset(12).  Counters 1 357000 1 as_viol_json_xss 3 0 1 as_log_json_xss 5 0 1 as_viol_json_xss_profile appfw__(profjson) 7 0 1 as_log_json_xss_profile appfw__(profjson) 

Konfigurieren der Aktion “JSON-Site-Scripting”

Sie müssen eine oder mehrere JSON-Site-Scripting-Aktionen konfigurieren, um Ihre Anwendung vor JSON-Cross-Site Scripting-Angriffen zu schützen. Geben Sie in der Befehlszeile Folgendes ein:

set appfw profile - JSONcross-site scriptingAction [block] [log] [stats] [none]

Beispiel

设置profile1 -JSO appfw概要文件Ncross-site scriptingAction block

Die verfügbaren Cross-Site-Scripting-Aktionen sind: Blockieren — Verbindungen blockieren, die diese Sicherheitsüberprüfung verletzen. Log - Protokollieren Sie Verstöße gegen diese Sicherheitsprüfung. Statistiken - Generieren Sie Statistiken für diese Sicherheitsüberprüfung. Keine — Deaktiviert alle Aktionen für diese Sicherheitsüberprüfung.

Hinweis: Um eine oder mehrere Aktionen zu aktivieren, geben Sie “set appfw profile - JsonCross-Site ScriptingAction” ein, gefolgt von den zu aktivierenden Aktionen.

Beispiel

set appfw profile profile1 -JSONSQLInjectionAction block log stat

Konfigurieren Sie den JSON Cross Site Scripting (Cross-Site Scripting) -Schutz mithilfe der GUI

Gehen Sie wie folgt vor, um die Schutzeinstellungen für Cross Site Scripting (Cross-Site Scripting) festzulegen.

  1. Navigieren Sie im Navigationsbereich zuSicherheit>Profile.
  2. Klicken Sie auf der SeiteProfile汪汪汪Hinzufügen.
  3. Klicken Sie auf derNetScaler Web App Firewall-ProfilseiteunterErweiterteEinstellungen auf Sicherheitsprüfungen.
  4. Wechseln Sie im AbschnittSicherheitsüberprüfungenzu den Einstellungen fürJSON-Site-Scripting (Cross-Site-Scripting).
  5. Klicken Sie neben dem Kontrollkästchen auf das Symbol der ausführbaren

    Sicherheitsüberprüfung für JSON-Site-Scripting

  6. Klicken Sie aufAktionseinstellungen,嗯Seite死去JSON-Site-Scripting-Einstellungen汪汪汪zurufen.
  7. Wählen Sie die Site-übergreifenden JSON-Skripting-Aktionen aus
  8. Klicken Sie aufOK.

    Sicherheitsüberprüfung für JSON-Site-Scripting

  9. Klicken Sie auf der SeiteNetScaler Web App Firewall ProfileunterErweiterte Einstellungen汪汪汪Entspannungsregeln.
  10. Wählen Sie im AbschnittEntspannungsregelndie JSON-Site-Scripting-Einstellungen aus und klicken Sie aufBearbeiten.

    Sicherheitsüberprüfung für JSON-Site-Scripting

  11. Klicken Sie auf der SeiteJSON-Site Scripting Relaxation Rule汪汪汪Hinzufügen, um eine Relaxationsregel für JSON-Site Scripting hinzuzufügen.
  12. Geben Sie die URL ein, an die die Anfrage gesendet werden muss. Alle an diese URL gesendeten Anfragen werden nicht blockiert.
  13. Klicken Sie aufErstellen.

    Sicherheitsüberprüfung für JSON-Site-Scripting

Konfigurieren Sie feinkörnige Entspannung für JSON-basiertes Cross-Site Scripting

Die Web App Firewall bietet Ihnen die Möglichkeit, einen bestimmten JSON-Schlüssel oder -Wert aus der JSON-basierten Cross-Site Scripting (XSS) -Prüfung zu lockern. Sie können mehrere Optionen zum Entspannen von JSON-Nutzlasten mithilfe von Feinkornrelaxierungsregeln konfigurieren. Bisher bestand die einzige Möglichkeit, Lockerungen für JSON-Schutzprüfungen zu konfigurieren, darin, die gesamte URL anzugeben, wodurch die Überprüfung der gesamten URL umgangen würde. Der JSON-basierte SQL-Sicherheitsschutz bietet Entspannung für Folgendes:

  • Die wichtigsten Namen
  • Die wichtigsten Werte

麻省理工学院的民主党JSON-basierten跨站点脚本(XSS)-Schutz können Sie Entspannungen konfigurieren, die bestimmte Muster zulassen und den Rest blockieren. Beispielsweise verfügt die Web App Firewall derzeit über einen Standardsatz von mehr als 100 SQL-Schlüsselwörtern. Da Hacker diese Schlüsselwörter bei SQL-Einschleusung-Angriffen verwenden können, kennzeichnet die Web App Firewall alle als potenzielle Bedrohungen. Wenn Sie ein oder mehrere Schlüsselwörter lockern möchten, die für den jeweiligen Standort als sicher gelten, können Sie eine Entspannungsregel konfigurieren, die die Sicherheitsüberprüfung Bypass und den Rest blockieren kann. Die in Relaxationen verwendeten Befehle haben optionale Parameter für Value Type und Value Expression. Sie können angeben, ob der Wertausdruck ein regulärer Ausdruck oder eine literale Zeichenfolge ist. Der Werttyp kann leer gelassen werden, oder Sie haben die Möglichkeit, Keyword oder Special String auszuwählen.

Hinweis:

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 URL definieren, die Sie als Ausnahme hinzufügen möchten, und nichts anderes. Die unvorsichtige Verwendung von Platzhaltern und insbesondere der Metazeichen- oder Platzhalterkombination mit Punkt-Sternchen (.*) 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 JSON-SQL-Einschleusung-Prüfung sonst blockiert hätte.

Zu berücksichtigende Punkte

  • Der Wertausdruck ist ein optionales Argument. Ein Feldname hat möglicherweise keinen Wertausdruck.
  • Ein Schlüsselname kann an Ausdrücke mit mehreren Werten gebunden werden.
  • Wertausdrücken muss ein Werttyp zugewiesen werden. Die Werttypen sind Tag, Attribut und Muster.
  • Sie können mehrere Entspannungsregeln pro Schlüsselname/URL-Kombination festlegen.

Konfigurieren der JSON-Feinkorn-Entspannung für Cross-Site Scripting (XSS) -Injection-Angriffe mithilfe der Befehlsschnittstelle

Um die JSON-Dateikorn-Entspannungsregel zu konfigurieren, müssen Sie die Feinkornentspannungseinheiten an das Web App Firewall-Profil binden.

Geben Sie in der Befehlszeile Folgendes ein:

bind appfw profile  -jsonxssURL  -key  -isregex  -valueType   -isvalueRegex  

Beispiel:

bind appfw profile appprofile1 -jsonxssurl www.example.com -key name -isRegex NOTREGEX -valueType Tag “sname” -isvalueRegex NOTREGEX 

So konfigurieren Sie eine JSON-basierte Cross-Site Scripting (XSS) -Injection Feinkornentspannungsregel über die GUI

  1. Navigieren Sie zuApplication Firewall > Profile, wählen Sie ein Profil aus und klicken Sie aufBearbeiten.
  2. Klicken Sie im BereichErweiterte Einstellungen汪汪汪Relaxationsregeln.
  3. Wählen Sie im AbschnittRelaxation Ruleseinen JSON SQL Injection-Datensatz aus und klicken Sie aufBearbeiten.
  4. Klicken Sie im Schieberegler fürJSON-Site Scripting Relaxation Rules汪汪汪Hinzufügen.
  5. Legen Sie auf derSeite Regel für die Entspannung von JSON-Site Scriptingdie folgenden Parameter fest.

    1. Aktiviert
    2. Ist Name Regex
    3. Schlüsselname
    4. URL
    5. Werttyp
    6. Anmerkungen
    7. Ressourcen-ID
  6. Klicken Sie aufErstellen.

JSON-Feinkörnige Entspannung für Cross-Site-Scripting