Citrix ADC

JSON-Befehl Injection Schutz-Ch

Die JSON-Befehlseinschleusungsprüfung untersucht den eingehenden JSON-Verkehr auf nicht autorisierte Befehle, die die Systemsicherheit beeinträchtigen oder das System ändern. 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 Command Injection-Angriff will der Angreifer unbefugte Befehle auf dem Citrix ADC Betriebssystem oder dem Back-End-Server ausführen. Um dies zu erreichen, injiziert der Angreifer Betriebssystembefehle mit einer anfälligen Anwendung. Die Back-End-Anwendung ist anfällig für Injectionsangriffe, wenn die Appliance einfach eine Anfrage ohne Sicherheitsprüfung weiterleitet. Daher ist es äußerst wichtig, eine Sicherheitsprüfung zu konfigurieren, damit die Citrix ADC Appliance Ihre Webanwendung schützen kann, indem sie unsichere Daten blockiert.

Funktionsweise des Befehlseinschleusungsschutzes

  1. Bei einer eingehenden JSON-Anfrage untersucht WAF den Traffic auf Schlüsselwörter oder Sonderzeichen. Wenn die JSON-Anfrage keine Muster aufweist, die mit einem der abgelehnten Schlüsselwörter oder Sonderzeichen übereinstimmen, ist die Anfrage zulässig. Andernfalls wird die Anforderung basierend auf der konfigurierten Aktion blockiert, gelöscht oder umgeleitet.
  2. Wenn Sie es vorziehen, ein Keyword oder ein Sonderzeichen von der Liste auszunehmen, können Sie eine Relaxationsregel erstellen, um die Sicherheitsüberprüfung unter bestimmten Bedingungen zu umgehen.
  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. Eine große Zunahme der Anzahl von Protokollmeldungen kann auf Versuche hinweisen, einen Angriff zu starten.
  4. Sie können die Statistikfunktion auch aktivieren, um statistische Daten zu Verletzungen und Protokollen zu sammeln. 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 sehen, ob Sie die neue Relaxationsregel konfigurieren oder die vorhandene ändern müssen.

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

Um JSON-Befehls-Injection-Angriffe zu erkennen und zu blockieren, hat die Appliance eine Reihe von Mustern (Schlüsselwörter und Sonderzeichen) in der Standardsignaturdatei definiert. Im Folgenden finden Sie eine Liste der Schlüsselwörter, die während der Erkennung der Befehlseinschleusung blockiert wurden.

<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 mit der CLI

In der Befehlszeilenschnittstelle können Sie entweder den Befehl set appfw profile oder den Befehl appfw profile 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 Payloads 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 Befehls-Injection-Aktion als “Block-Log-Statistiken” festgelegt. Außerdem wird der Standardeinschleusungsstyp des Befehls als festgelegt CmdSplCharANDKeyWord. Nach einem Upgrade ist die Aktion für die vorhandenen Web-App-Firewall-Profile auf “Keine” festgelegt.

Beispiel:

set appfw profile profile1 -JSONCMDInjectionAction block -JSONCMDInjectionType CmdSplChar

Wo sind die verfügbaren JSON-Befehls-Injection-Aktionen:

Keine - Deaktivieren Sie den Befehlseinschleusungsschutz. Log - Protokollieren Sie Verstöße gegen die Befehlseinschleusung für die Sicherheitsprüfung. Blockieren - blockiert Datenverkehr, der gegen die Sicherheitsprüfung des Befehls Einschleusung verstößt. Statistiken - Generiert Statistiken für die Befehlseinschleusung Sicherheitsverletzungen.

Wo sind die verfügbaren JSON-Befehlseinschleusungstypen:

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

Konfigurieren von Relaxationsregeln für JSON-Befehlseinschleusungsschutz

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

Der JSON-Befehl Relaxationsregeln für die Injection haben die 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

Während das Folgende Anfragen von allen URLs, die auf 1.1.1.1 gehostet werden, lockert:

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

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

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

Konfigurieren Sie die JSON-Befehlseinschleusungsprüfung mit der GUI

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

  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 Seite Citrix Web App Firewall Profil zum Abschnitt Erweiterte Einstellungen und klicken Sie auf Sicherheitsprüfungen.

Zugriff auf JSON-Sicherheitsprüfung bei Sicherheitseinstellungen

  1. Wählen Sie im Abschnitt Sicherheitsüberprüfungen die Option JSON Command Injection aus und klicken Sie auf
  2. Legen Sie auf der Seite JSON Command Injection Settings die folgenden Parameter fest

    1. Aktionen. Wählen Sie eine oder mehrere Aktionen aus, die für die JSON-Befehlseinschleusungs-Sicherheitsprüfung
    2. Prüfen Sie Anforderung enthält. Wählen Sie ein Befehlseinschleusungsmuster aus, um zu überprüfen, ob die eingehende Anforderung das Muster hat.
  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 -Statistiken 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 Traffic Statistics Rate (/s) Gesamt
Anforderungen 0 0
Bytes anfordern 0 0
Antworten 0 0
Antwort-Bytes 0 0
Bricht ab 0 0
Weiterleitungen 0 0
Langzeit-Antwortzeit (ms) 0
Letzte Ave Reaktionszeit (ms) 0
HTML/XML/JSON Verstoßstatistiken Rate (/s) Gesamt
Start-URL 0 0
URL verweigern 0 0
Referer-Kopfzeile 0 0
Pufferüberlauf 0 0
Cookie-Konsistenz 0 0
Cookie-Hijacking 0 0
CSRF-Formular-Tag 0 0
HTML-Site-übergreifendes Skripting 0 0
HTML-SQL-Injection 0 0
Feld-Format 0 0
Feldkonsistenz 0 0
Kreditkarte 0 0
Sicheres Objekt 0 0
Verletzungen der Signatur 0 0
Inhaltstyp 0 0
JSON Denial of Service 0 0
JSON SQL-Injection 0 0
JSON Cross-Site Scripting 0 0
Datei-Upload-Typen 0 0
XML-Payload des Inhaltstyps ableiten 0 0
HTML-CMD-Einschleusung 0 0
XML-Format 0 0
XML-Denial-of-Service (XDoS) 0 0
XML-Nachrichtenüberprüfung 0 0
Interoperabilität von Webdiensten 0 0
XML SQL Injection 0 0
XML-Site-übergreifendes Skripting 0 0
XML-Anhang 0 0
SOAP-Fehlerverletzungen 0 0
Allgemeine XML-Verstöße 0 0
Verstöße insgesamt 0 0
HTML/XML/JSON-Protokollstatistik Rate (/s) Gesamt
URL-Protokolle starten 0 0
URL-Protokolle verweigern 0 0
Referer-Header-Protokolle 0 0
Pufferüberlaufprotokolle 0 0
Cookie-Konsistenzprotokolle 0 0
Cookie-Hijacking Protokolle 0 0
CSRF aus Tag-Protokollen 0 0
HTML-Cross-Site Scripting Protokolle 0 0
HTML-Cross-Site Scripting Transformationsprotokolle 0 0
HTML SQL Injection-Protokolle 0 0
HTML-SQL-Transformationsprotokolle 0 0
Feldformatprotokolle 0 0
Konsistenzprotokolle für Felder 0 0
Kreditkarten 0 0
Transformationsprotokolle für Kreditkarten 0 0
Sichere Objektprotokolle 0 0
Signatur-Protokolle 0 0
Inhaltstyp-Protokolle 0 0
JSON Denial-of-Service-Protokolle 0 0
JSON-SQL-Injectionsprotokolle 0 0
JSON-Site-Cross-Site-Skripting-Protokolle 0 0
Datei-Upload-Typen Protokolle 0 0
Ableiten des Inhaltstyps XML Payload L 0 0
JSON CMD-Injection 0 0
HTML Command Injection Protokolle 0 0
Protokolle im XML-Format 0 0
XML Denial-of-Service-Protokolle (XDoS) 0 0
XML-Nachrichtenüberprüfungsprotokolle 0 0
WSI-Protokolle 0 0
XML SQL Injection-Protokolle 0 0
Site-übergreifendes XML-Scripting 0 0
XML-Anhangs-Protokolle 0 0
SOAP-Fehlerprotokolle 0 0
Generische XML-Protokolle 0 0
Log-Meldungen insgesamt 0 0
Rate der Serverfehlerantwort (/s) Gesamt  
HTTP Client Errors (4xx Resp) 0 0
HTTP Server Errors (5xx Resp) 0 0
HTML/XML/JSON-Protokollstatistik Rate (/s) Gesamt
JSON Command Injection 0 0
XML-Format-Protokolle 0 0

Anzeigen von JSON-Befehls-Injection-Statistiken mit der Citrix ADC GUI

Führen Sie die folgenden Schritte aus, um die Statistiken zur Einschleusung von Befehlen 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 -Statistiken “ werden die Details zum JSON-Befehls-Injection-Verkehr und
  4. Sie können Tabellarische Ansicht auswählen oder zu Graphische Ansicht wechseln, um die Daten in einem tabellarischen oder grafischen Format anzuzeigen.

JSON-Befehl-Injection-Verkehrs

Abschnitt "JSON Command Injection Traffic Statistics GUI"

JSON-Befehl-Injection Violation Statistiken

Abschnitt "JSON Command Injection Traffic Statistics GUI"