Citrix ADC

JSON-Befehlseinschleusungsprüfung

Die JSON-Befehlseinschleusungsprüfung untersucht den eingehenden JSON-Datenverkehr auf nicht autorisierte Befehle, die die Systemsicherheit beeinträchtigen oder das System modifizieren. Wenn bei der Untersuchung des Datenverkehrs schädliche Befehle erkannt werden, blockiert die Appliance die Anforderung oder führt die konfigurierte Aktion aus.

Bei einem Befehlseinschleusungsangriff zielt der Angreifer darauf ab, nicht autorisierte Befehle auf dem Citrix ADC-Betriebssystem oder dem Backend-Server auszuführen. Um dies zu erreichen, schleust der Angreifer Betriebssystembefehle über eine anfällige Anwendung ein. Die Back-End-Anwendung ist anfällig für Einschleusungsangriffe, wenn die Appliance eine Anfrage einfach ohne Sicherheitsüberprüfung weiterleitet. Daher ist es sehr wichtig, eine Sicherheitsüberprüfung zu konfigurieren, damit die Citrix ADC-Appliance Ihre Webanwendung schützen kann, indem sie unsichere Daten blockiert.

So funktioniert der Befehlseinschleusungsschutz

  1. Bei einer eingehenden JSON-Anforderung untersucht WAF den Datenverkehr auf Schlüsselwörter oder Sonderzeichen. Wenn die JSON-Anforderung keine Muster enthält, die mit einem der verweigerten Schlüsselwörter oder Sonderzeichen übereinstimmen, ist die Anforderung zulässig. Andernfalls wird die Anforderung basierend auf der konfigurierten Aktion blockiert, verworfen oder umgeleitet.
  2. Wenn Sie es vorziehen, ein Schlüsselwort oder ein Sonderzeichen von der Liste auszunehmen, können Sie eine Entspannungsregel erstellen, um die Sicherheitsüberprüfung unter bestimmten Bedingungen zu Bypass.
  3. Sie können die Protokollierung aktivieren, um Protokollmeldungen zu generieren 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.
  4. Sie können die Statistikfunktion auch aktivieren, um statistische Daten zu Verstößen und Protokollen zu sammeln. Ein unerwarteter Anstieg im Statistikzähler deutet möglicherweise darauf hin, dass Ihre Anwendung angegriffen wird. Wenn legitime Anforderungen blockiert werden, müssen Sie möglicherweise die Konfiguration erneut aufrufen, um festzustellen, ob Sie die neue Entspannungsregel konfigurieren oder die vorhandene ändern müssen.

Schlüsselwörter und Sonderzeichen, die für die Befehlseinschleusung verweigert werden

Zum Erkennen und Blockieren von JSON-Befehlseinschleusungsangriffen hat die Appliance über eine Reihe von Mustern (Schlüsselwörter und Sonderzeichen), die in der Standardsignaturdatei definiert sind. Es folgt eine Liste der blockierten Schlüsselwörter beim Erkennen von Befehlseinschleusungsverstößen

<commandinjection>
      <keyword type="LITERAL" builtin="ON">7z</keyword>
      <keyword type="LITERAL" builtin="ON">7za</keyword>
      <keyword type="LITERAL" builtin="ON">7zr</keyword>
…
</commandinjection>

<!--NeedCopy-->

In der Signaturdatei definierte Sonderzeichen sind: | ; & $ > < ' \ ! >> #

Konfigurieren der JSON-Befehlseinschleusungsprüfung über die CLI

In der Befehlszeilenschnittstelle können Sie entweder den Befehl set appfw profile verwenden oder einen appfw-Profilbefehl hinzufügen, um die JSON-Befehlseinschleusungseinstellungen zu konfigurieren. Sie können die Block-, Protokoll- und Statistikaktionen aktivieren. Sie müssen auch den Befehlseinschleusungstyp wie Schlüsselwörter und Zeichenfolgenzeichen festlegen, die Sie in den Nutzdaten erkennen möchten.

Geben Sie an der Eingabeaufforderung Folgendes ein:

set appfw profile <profile-name> –cmdInjectionAction <action-name> -CMDInjectionType <CMDInjectionType>]

Hinweis:

Standardmäßig ist die Befehlseinschleusungsaktion auf “Protokollstatistiken blockieren” festgelegt. Außerdem wird der Standardeinschleusungsstyp des Befehls als festgelegt CmdSplCharANDKeyWord. Nach einem Upgrade ist für die vorhandenen Web-App-Firewall-Profile die Aktion auf “Keine” festgelegt.

Beispiel:

set appfw profile profile1 -JSONCMDInjectionAction block -JSONCMDInjectionType CmdSplChar

Dabei sind die verfügbaren JSON-Befehlseinschleusungsaktionen:

Keine — Deaktiviert den Befehlseinschleusungsschutz. Log — Protokollieren von Befehlseinschleusungsverstößen für die Sicherheitsprüfung Blockieren - blockiert Datenverkehr, der gegen die Befehlseinschleusungsüberprüfung verstößt. Statistik - Generiert Statistiken für Sicherheitsverletzungen durch Befehlseinschleusung.

Dabei sind die verfügbaren JSON-Befehlseinschleusungstypen:

Cmd SplChar - Prüft Sonderzeichen CmdKeyWord - Prüft Schlüsselwörter zur Befehlseinschleusung CmdSplCharANDKeyWord - Dies ist die Standardaktion. Die Aktion prüft Sonderzeichen und Befehlseinschleusung. Schlüsselwörter und Blöcke nur, wenn beide vorhanden sind. CmdSplCharORKeyWord - Überprüft Sonderzeichen und Befehlseinschleusungsschlüsselwörter und blockiert, wenn gefunden.

Konfigurieren der Entspannungsregeln für die JSON-Befehlseinschleusungsprüfung

Wenn Ihre Anwendung erfordert, dass Sie die JSON-Befehlseinschleusungsprüfung für ein bestimmtes ELEMENT oder ATTRIBUTE in der Nutzlast umgehen müssen, können Sie eine Entspannungsregel konfigurieren.

Die Entspannungsregeln für die JSON-Befehlseinschleusungsprüfung haben folgende Syntax.

bind appfw profile <profile name> –JSONCMDURL <expression> -comment <string> -isAutoDeployed ( AUTODEPLOYED | NOTAUTODEPLOYED ) -state ( ENABLED | DISABLED )

Beispiel für Relaxationsregel für Regex im Header

bind appfw profile abc_json -jsoncmDURL http://1.1.1.1/hello.html

Im Folgenden werden Anfragen von allen auf 1.1.1.1 gehosteten URLs gelockert:

bind appfw profile abc_json -jsoncmDURL http://1.1.1.1/*”

Um die Entspannung zu entfernen, verwenden Sie “unbind”.

unbind appfw profile abc_json -jsoncmDURL “ http://1.1.1.1/*”

Konfigurieren der JSON-Befehlseinschleusungsprüfung über die GUI

Führen Sie die folgenden Schritte aus, um die JSON-Befehlseinschleusungsprüfung zu konfigurieren.

  1. Navigieren Sie zu Sicherheit > Citrix Web App Firewall und Profile.
  2. Wählen Sie auf der Seite Profile ein Profil aus, und klicken Sie auf Bearbeiten.
  3. Wechseln Sie auf der Citrix Web App Firewall Profilseite zum Abschnitt Erweiterte Einstellungen und klicken Sie auf Sicherheitsprüfungen.

Zugriff auf die JSON-Sicherheitsprüfung für Sicherheitseinstellungen

  1. Wählen Sie im Abschnitt Sicherheitsüberprüfungen die Option JSON-Befehlseinschleusung aus und klicken Sie aufAktion.
  2. Stellen Sie auf der Seite JSON-Befehlseinschleusungseinstellungen die folgenden Parameter ein

    1. Aktionen. Wählen Sie eine oder mehrere Aktionen für die Sicherheitsüberprüfung der JSON-Befehlseinschleusung aus.
    2. Überprüfen Sie die Anfrage enthält. Wählen Sie ein Befehlseinschleusungsmuster, um zu überprüfen, ob die eingehende Anforderung das Muster enthält.
  3. Klicken Sie auf OK.

Konfigurieren Sie die Einstellungen für die JSON-Befehlseinschleusungsprüfung

Anzeigen von Statistiken zum Befehlseinschleusungsdatenverkehr und -verletzungen

Auf der Seite “ Citrix Web App Firewall Statistics “ werden Details zu Sicherheitsdatenverkehr und Sicherheitsverletzungen in einem tabellarischen oder grafischen Format angezeigt.

So zeigen Sie Sicherheitsstatistiken mithilfe der Befehlszeilenschnittstelle an.

Geben Sie an der Eingabeaufforderung Folgendes ein:

stat appfw profile profile1

Appfw-Profil Verkehrsstatistiken Geschwindigkeit (/s) Gesamt
Anfragen 0 0
Byte anfragen 0 0
Antworten 0 0
Antwort Byte 0 0
Bricht ab 0 0
Leitet 0 0
Langfristige Reaktionszeit (ms) 0
Letzte Reaktionszeit von Ave (ms) 0
Statistiken zu HTML/XML/JSON-Verstößen Geschwindigkeit (/s) Gesamt
Start-URL 0 0
URL verweigern 0 0
Referer-Header 0 0
Pufferüberlauf 0 0
Cookie-Konsistenz 0 0
Cookie-Entführung 0 0
CSRF-Formular-Tag 0 0
Site-übergreifendes HTML 0 0
HTML SQL injection 0 0
Feld-Format 0 0
Field consistency 0 0
Kreditkarte 0 0
Sicheres Objekt 0 0
Verstöße gegen die Signatur 0 0
Inhaltstyp 0 0
JSON-Denial-of-Service-Angriff 0 0
JSON-SQL-Einschleusung 0 0
JSON-Cross-Site Scripting 0 0
Dateiuploadtyp 0 0
Ableiten der XML-Nutzlast für Inhaltstypen 0 0
HTML-Befehlseinschleusung 0 0
XML-Format 0 0
XML-Denial-of-Service-Angriff (XDoS) 0 0
XML-Nachrichtenüberprüfung 0 0
Interoperabilität der Webdienste 0 0
XML SQL Injection 0 0
Site-übergreifende XML-Skrip 0 0
XML-Anhang 0 0
SOAP-Fehlerverletzungen 0 0
Generische XML-Verstöße 0 0
Verstöße insgesamt 0 0
HTML/XML/JSON-Protokollstatistiken Geschwindigkeit (/s) Gesamt
Starten der URL-Protokolle 0 0
URL-Protokolle verweigern 0 0
Referer-Header-Protokolle 0 0
Pufferüberlauf-Protokolle 0 0
Protokolle zur Cookie-Konsistenz 0 0
Protokolle zur Cookie-Entführung 0 0
CSRF aus Tag-Protokollen 0 0
HTML-Cross-Site Scripting-Protokolle 0 0
HTML Cross-Site Scripting-Transformationsprotokolle 0 0
HTML SQL-Einschleusungsprotokolle 0 0
HTML SQL Transformationsprotokolle 0 0
Protokolle im Feldformat 0 0
Protokolle zur Feldkonsistenz 0 0
Kreditkarten 0 0
Protokolle zur Kreditkarten-Transformation 0 0
Sichere Objektprotokolle 0 0
Signatur-Protokolle 0 0
Inhalts-Typ-Protokolle 0 0
JSON-Denial-of-Service-Protokolle 0 0
JSON SQL-Einschleusungsprotokolle 0 0
JSON-Site-Scripting-Protokolle 0 0
Protokolle zum Hochladen von Dateien 0 0
Ableiten der XML-Nutzlast des Inhaltstyps L 0 0
JSON-CMD-Einschleusung 0 0
HTML-Befehlseinschleusungsprotokolle 0 0
Protokolle im XML-Format 0 0
XML Denial of Service (XDoS) -Protokolle 0 0
Protokolle zur XML-Nachrichtenüberprüfung 0 0
WSI-Protokolle 0 0
XML SQL Injection-Protokolle 0 0
XML-Cross-Site Scripting-Protokolle 0 0
Protokolle für XML-Anhänge 0 0
SOAP-Fehlerlogs 0 0
Generische XML-Protokolle 0 0
Gesamtzahl der Protokollmeldungen 0 0

Statistikrate der Serverfehlerantwort (/s) | Gesamt | |—|–|–| HTTP Client Errors (4xx Resp) | 0 | 0| HTTP Server Errors (5xx Resp) | 0 | 0 |

HTML/XML/JSON-Protokollstatistiken Geschwindigkeit (/s) Gesamt
JSON-Command Injection- 0 0
Protokolle im XML-Format 0 0

Anzeigen von JSON-Befehlseinschleusungsstatistiken über die Citrix ADC GUI

Führen Sie die folgenden Schritte aus, um Befehlseinschleusungsstatistiken anzuzeigen:

  1. Navigieren Sie zu Sicherheit > Citrix Web App Firewall > Profile.
  2. Wählen Sie im Detailbereich ein Web App Firewall-Profil aus und klicken Sie auf Statistiken.
  3. Auf der Seite Citrix Web App Firewall Statistics werden die Details zum JSON-Befehlseinschleusungsverkehr und Verstößen angezeigt.
  4. Sie können Tabellarische Ansicht wählen oder zur grafischen Ansicht wechseln, um die Daten in einem tabellarischen oder grafischen Format anzuzeigen.

JSON-Befehlseinschleusungverkehrsstatistiken

Abschnitt "JSON Command Injection Traffic Statistics GUI"

Statistiken zu JSON-Befehlseinschleusungsverstößen

Abschnitt "JSON Command Injection Traffic Statistics GUI"