Citrix ADC

HTML-Befehlseinschleusung Schutzüberprüfung

Die HTML-Befehlseinschleusungsprüfung untersucht, ob der eingehende Datenverkehr nicht autorisierte Befehle enthält, die die Systemsicherheit unterbrechen oder das System ändern. Wenn der Datenverkehr bei der Entdeckung schädliche Befehle enthält, blockiert die Appliance die Anforderung oder führt die konfigurierte Aktion aus.

Das Profil der Citrix Web App Firewall wurde jetzt um eine neue Sicherheitsprüfung für Befehlseinschleusungsangriffe erweitert. Wenn die Sicherheitsprüfung des Befehls Injection den Datenverkehr untersucht und schädliche Befehle erkennt, 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 auszuführen. Um dies zu erreichen, injiziert der Angreifer Betriebssystembefehle mit einer anfälligen Anwendung. Eine Citrix ADC Appliance ist anfällig für Injection-Angriffe, wenn die Anwendung unsichere Daten (Formulare, Cookies oder Header) an die Systemshell weitergibt.

Funktionsweise des Befehlseinschleusungsschutzes

  1. Bei einer eingehenden Anforderung untersucht WAF den Datenverkehr auf Schlüsselwörter oder Sonderzeichen. Wenn die eingehende Anforderung keine Muster aufweist, 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, gelöscht oder umgeleitet.

  2. Wenn Sie lieber ein Schlüsselwort oder ein Sonderzeichen von der Liste ausnehmen möchten, können Sie eine Relaxationsregel anwenden, um die Sicherheitsprü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 Befehlseinschleusungsangriffe zu erkennen und zu blockieren, verfügt die Appliance über eine Reihe von Mustern (Schlüsselwörter und Sonderzeichen), die in der Standardsignaturdatei definiert sind. 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 Befehlseinschleusungsprüfung mit der CLI

In der Befehlszeilenschnittstelle können Sie entweder den Befehl set the profile oder den Befehl add the profile verwenden, um die Befehlseinschleusungseinstellungen zu konfigurieren. Sie können die Block-, Protokoll- und Statistikaktionen aktivieren. Sie müssen auch die Schlüsselwörter und Zeichenfolgenzeichen festlegen, die Sie in den Nutzlasten 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 “Keine” festgelegt. Außerdem wird der Standardeinschleusungsstyp des Befehls als festgelegt CmdSplCharANDKeyWord.

Beispiel:

set appfw profile profile1 -cmdInjectionAction block -CMDInjectionType CmdSplChar

Wo sind die verfügbaren Befehlseinschleusungsaktionen:

  • 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.

Dabei sind die verfügbaren Befehlseinschleusungstypen:

  • Cmd SplChar. Überprüft Sonderzeichen
  • CmdKeyWord. Überprüft Befehlseinschleusung Schlüsselwörter
  • CmdSplCharANDKeyWord. Ü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 eines von ihnen gefunden wird.

Konfigurieren von Relaxationsregeln für die Überprüfung des Befehlseinschleusungsschutzes

Wenn Ihre Anwendung erfordert, dass Sie die Inspektion der Befehlseinschleusung für ein bestimmtes ELEMENT oder ATTRIBUTE in der Nutzlast umgehen müssen, können Sie eine Relaxationsregel konfigurieren.

Die Relaxationsregeln des Befehls “Injection Inspection” haben die folgende Syntax:

bind appfw profile <profile name> –cmdInjection <string> <URL> -isregex <REGEX/NOTREGEX>

Beispiel für Relaxationsregel für Regex im Header

bind appfw profile sample -CMDInjection hdr "http://10.10.10.10/" -location heaDER -valueType Keyword '[a-z]+grep' -isvalueRegex REGEX

Infolgedessen befreit die Injektion den Befehl Injection Check ermöglicht Header, der Varianten von “grep” hdr enthält.

bind appfw profile sample -CMDInjection ck_login "http://10.10.10.10/" -location cookie -valueType Keyword 'pkg[a-z]+' -isvalueRegex REGEX

Konfigurieren der Befehlseinschleusungsprüfung über die Citrix ADC GUI

Führen Sie die folgenden Schritte aus, um die 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 Seite Citrix Web App Firewall Profil zum Abschnitt Erweiterte Einstellungen und klicken Sie auf Sicherheitsprüfungen.

Auswahl der Befehlseinschleusungsprüfungsoption

  1. Wählen Sie im Abschnitt Sicherheitsüberprüfungen die Option HTML Command Injection aus und klicken Sie auf
  2. Legen Sie auf der Seite Einstellungen für HTML-Befehlseinschleusung die folgenden Parameter fest:

    1. Aktionen. Wählen Sie eine oder mehrere Aktionen aus, die für die Sicherheitsprüfung der Befehlseinschleusung ausgeführt werden sollen.
    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.

Einstellungen für die Befehlseinschleusung konfigurieren

Anzeigen oder Anpassen von Befehlseinschleusungsmustern über die grafische Benutzeroberfläche

Sie können die GUI verwenden, um die Injection-Pattern des HTML-Befehls anzuzeigen oder anzupassen.

Die Standardbefehl-Einschleusungsmuster sind in der Standardsignaturdatei angegeben. Wenn Sie kein Signaturobjekt an Ihr Profil binden, werden die im Standardsignatur-Objekt angegebenen Standard-HTML-Befehlseinschleusungsmuster vom Profil für die Verarbeitung der Sicherheitsprüfung der Befehlseinschleusung verwendet. Die im Standardsignaturobjekt angegebenen Regeln und Muster sind schreibgeschützt. Sie können sie nicht bearbeiten oder ändern. Wenn Sie diese Muster ändern oder ändern möchten, erstellen Sie eine Kopie des Standardobjekts sSignatures, um ein benutzerdefiniertes Signaturobjekt zu erstellen. Nehmen Sie Änderungen an den Befehlseinschleusungsmustern im neuen benutzerdefinierten Signaturobjekt vor und verwenden Sie dieses Signaturobjekt in Ihrem Profil, das den Datenverkehr verarbeitet, für den Sie diese benutzerdefinierten Muster verwenden möchten.

Weitere Informationen finden Sie unter Signaturen

So zeigen Sie die Standardeinschleusungsmuster für Befehle über die GUI an:

  1. Navigieren Sie zu Application Firewall > Signaturen, wählen Sie *Standardsignaturenaus und klicken Sie auf Bearbeiten.

Anzeigen der Standardeinschleusungsmuster für Befehle

  1. Klicken Sie auf CMD/SQL/XSS-Muster verwalten. Die Tabelle CMD/SQL/XSS Paths (schreibgeschützt) zeigt Muster im Zusammenhang mit der CMD/SQL/XSS-Einschleusung:

Anzeigen der Standardeinschleusungsmuster für Befehle

  1. Wählen Sie eine Zeile aus und klicken Sie auf Elemente verwalten, um die entsprechenden Befehlseinschleusungsmuster (Schlüsselwörter, spezielle Zeichenfolgen, Transformationsregeln oder Platzhalterzeichen) anzuzeigen, die von der Injection-Prüfung des Web App Firewall-Befehls verwendet werden.

So passen Sie ein Befehlseinschleusungsmuster mit der GUI an

Sie können das benutzerdefinierte Signaturobjekt bearbeiten, um die CMD-Schlüsselwörter, Sonderzeichenfolgen und Platzhalterzeichen anzupassen. Sie können neue Einträge hinzufügen oder vorhandene entfernen. Sie können die Transformationsregeln für die spezielle Zeichenfolgen für die Befehlseinschleusung ändern.

  1. Navigieren Sie zu Application Firewall > Signaturen, markieren Sie die benutzerdefinierte Zielsignatur und klicken Sie auf Hinzufügen. Klicken Sie auf CMD/SQL/XSS-Muster verwalten.
  2. Wählen Sie auf der Seite CMD/SQL/XSS-Pfade verwalten die Ziel-CMD-Einschleusungszeile aus.
  3. Klicken Sie auf Elemente verwalten, Hinzufügen oder Entfernen eines Befehlseinschleusungselements.

    Warnung:

    Sie müssen vorsichtig sein, bevor Sie ein Standard-Befehlseinschleusungselement entfernen oder ändern, oder den CMD-Pfad löschen, um die gesamte Zeile zu entfernen. Die Signaturregeln und die Sicherheitsprüfung der Befehlseinschleusung beruhen auf diesen Elementen, um Angriffe auf Befehlseinschleusung zu erkennen, um Ihre Anwendungen zu schützen. Das Anpassen der SQL-Muster kann Ihre Anwendung anfällig für Befehlseinschleusungsangriffe machen, wenn das erforderliche Muster während der Bearbeitung entfernt wird.

Anzeigen der Standardeinschleusungsmuster für Befehle

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
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
Statistikrate für Serverfehler (/s) > Gesamt    
HTTP Client Errors (4xx Resp) 0 0
HTTP Server Errors (5xx Resp) 0 0

Anzeigen von Statistiken zur Einschleusung von HTML-Befehlen 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 Statistik der Citrix Web App Firewall werden die HTML-Befehle zum Einschleusung von Datenverkehr und Verstößen angezeigt.
  4. Sie können Tabellarische Ansicht auswählen oder zu Graphische Ansicht wechseln, um die Daten in einem tabellarischen oder grafischen Format anzuzeigen.

HTML-Befehl Injection Traffic-Statistiken

Abschnitt "Injection-Traffic-Statistik" -Befehl

HTML-Befehlsverletzungsstatistiken für die Einschleusung

Abschnitt "Injection-Traffic-Statistik" -Befehl