ADC

JSON-SQL-Einschleusungsschutzprüfung

Eine eingehende JSON-Anforderung kann eine SQL-Einschleusung in Form von partiellen SQL-Abfragezeichenfolgen oder nicht autorisierten Befehlen im Code enthalten. Dies führt zum Diebstahl von Daten aus der JSON-Datenbank Ihrer Webserver. Nach Erhalt einer solchen Anfrage blockiert die Appliance eine solche Anfrage zum Schutz Ihrer Daten.

Stellen Sie sich ein Szenario vor, in dem ein Client eine JSON-SQL-Anforderung an eine Citrix ADC Appliance sendet, der JSON-Parser die Anforderungsnutzlast analysiert und wenn eine SQL-Einschleusung beobachtet wird, setzt die Appliance Einschränkungen für den JSON-SQL-Inhalt durch. Die Einschränkung erzwingt eine Größenbeschränkung für die JSON-SQL-Anforderung. Wenn eine JSON-SQL-Einschleusung beobachtet wird, führt die Appliance daher eine Aktion aus und antwortet mit der JSON-SQL-Fehlerseite.

Konfigurieren des JSON-SQL-Einschleusungsschutz

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

  1. Fügen Sie das Anwendungsfirewall-Profil als JSON hinzu.
  2. Festlegen des Anwendungs-Firewall-Profils für JSON SQL Injection-Einstellungen
  3. Konfigurieren Sie die JSON-SQL-Aktion, indem Sie das Anwendungs-Firewall-

Anwendungs-Firewall-Profil vom Typ JSON hinzufügen

Sie müssen zuerst ein Profil erstellen, das angibt, wie die Anwendungsfirewall Ihre JSON-Webinhalte vor JSON-SQL-Einschleusung-Angriffen schützen muss. Geben Sie in der Befehlszeile Folgendes ein:

add appfw profile <name> -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

Konfigurieren der Aktion JSON SQL Injection

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

set appfw profile <name> - JSONSQLInjectionAction [block] [log] [stats] [none]

Die SQL-Einschleusung-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.

Konfigurieren des Typs JSON SQL Injection

Um den Typ JSON SQL Injection in einem Anwendungs-Firewall-Profil zu konfigurieren, geben Sie an der Eingabeaufforderung Folgendes ein:

set appfw profile <name> - JSONSQLInjectionType <JSONSQLInjectionType>

Beispiel

set appfw profile profile1 -JSONSQLInjectionType SQLKeyword

Wo die verfügbaren SQL Injection-Typen sind: Verfügbare SQL-Einschleusung-Typen. SQLSplChar. Sucht nach SQL-Sonderzeichen, SqlKeyword. Sucht nach SQL-Schlüsselwörtern. SQLSplCharANDKeyword. Prüft auf beides und blockiert, falls gefunden. SQLSplCharORKeyword.. Sperrt, wenn ein SQL-Sonderzeichen oder ein SPL-Schlüsselwort gefunden Mögliche Werte: SQLSplChar, SQLKeyword, SQLSplCharORKeyword, SQLSplCharANDKeyword.

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

Beispiel

set appfw profile profile1 -JSONSQLInjectionAction block log stat

Das folgende Beispiel zeigt eine Beispielnutzlast, die entsprechende Protokollnachricht und Statistikzähler:

Payload:
=======
{
  "test": "data",
  "username": "waf",
  "password": "select * from t1;",
  "details": {
    "surname": "test",
    "age": "23"
  }
}

Log Message:
===========
08/19/2019:08:49:46 GMT pegasus121 Informational 0-PPE-0 : default APPFW APPFW_JSON_SQL 6656 0 :  10.217.32.165 18402-PPE0 - profjson http://10.217.32.147/test.html SQL Keyword check failed for object value(with violation="select(;)") starting at offset(52) <blocked>
Counters:
========
   1  441083             1 as_viol_json_sql
   3       0             1 as_log_json_sql
   5       0             1 as_viol_json_sql_profile appfw__(profjson)
   7       0             1 as_log_json_sql_profile appfw__(profjson)
<!--NeedCopy-->

Konfigurieren des JSON SQL Injection-Schutzes mithilfe der Citrix GUI

Gehen Sie wie folgt vor, um die JSON-SQL-Einschleusung-Schutzeinstellungen festzulegen.

  1. Navigieren Sie im Navigationsbereich zu Sicherheit > Profile.
  2. Klicken Sie auf der Seite Profile auf Hinzufügen.
  3. Klicken Sie auf der Profilseite der Citrix Web App Firewall unter Erweiterte Einstellungen auf Sicherheitsprüfungen.
  4. Wechseln Sie im Abschnitt Sicherheitsprüfungen zu den JSON-SQL-Einschleusung-Einstellungen.
  5. Klicken Sie auf das Symbol für die ausführbare Datei neben dem Kontrollkästchen.
  6. Klicken Sie auf Aktionseinstellungen, um die Seite JSON SQL Injection Settings aufzurufen.
  7. Wählen Sie die JSON SQL Injection-Aktionen aus.
  8. Klicken Sie auf OK.
  9. Klicken Sie auf der Seite Citrix Web App Firewall Profile unter Erweiterte Einstellungen auf Ausnahmeregeln.
  10. Wählen Sie im Abschnitt Entspannungsregeln die JSON SQL Injection-Einstellungen aus und klicken Sie auf Bearbeiten.
  11. Geben Sie auf der Seite JSON SQL Injection Relaxation Rule die URL ein, an die die Anforderung gesendet werden muss. Alle an diese URL gesendeten Anfragen werden nicht blockiert.
  12. Klicken Sie auf Erstellen.

    JSON SQL Injection Sicherheitsprüfung

JSON-SQL-Einschleusungsschutzprüfung