ADC

Muster für Signaturregeln

Sie können ein Muster hinzufügen oder ein vorhandenes Muster ändern, um eine Zeichenfolge oder einen Ausdruck anzugeben, der einen Angriff kennzeichnet, wenn die Signatur übereinstimmt. Um die Muster zu erkennen, die ein Angriff aufweist, können Sie die Protokolle auf Ihrem Webserver überprüfen. Sie können ein Tool verwenden, um Verbindungsdaten in Echtzeit zu beobachten, oder die Zeichenfolge oder den Ausdruck aus einem Bericht eines Drittanbieters über den Angriff abrufen.

Achtung:

Jedes neue Muster, das Sie einer Signaturregel hinzufügen, steht in einer UND-Beziehung zu den vorhandenen Mustern. Fügen Sie einer vorhandenen Signaturregel kein Muster hinzu, wenn Sie nicht möchten, dass ein potenzieller Angriff alle Muster mit der Signatur übereinstimmen muss.

Jedes Muster kann aus einer einfachen Zeichenfolge, einem regulären Ausdruck im PCRE-Format oder dem integrierten SQL-Injection- oder Cross-Site-Scripting-Muster bestehen. Bevor Sie versuchen, ein Muster hinzuzufügen, das auf einem regulären Ausdruck basiert, müssen Sie sicherstellen, dass Sie reguläre Ausdrücke im PCRE-Format verstehen. PCRE-Ausdrücke sind komplex und leistungsstark. Wenn Sie nicht verstehen, wie sie funktionieren, können Sie unbeabsichtigt ein Muster erstellen, das mit etwas übereinstimmt, das Sie nicht wollten ( falsch positiv), oder das nicht mit etwas übereinstimmt, das Sie wollten ( falsch negativ).

Benutzerdefiniertes Signaturmuster für nicht standardmäßige Inhaltstypen

Die Citrix ADC Web App Firewall (WAF) unterstützt jetzt einen neuen Standort für die Überprüfung kanonischer Inhalte. Standardmäßig blockiert WAF keine codierte Nutzlast mit nicht standardmäßigen Inhaltstypen. Wenn diese Inhaltstypen auf der Whitelist stehen und keine konfigurierte Aktion angewendet wird, filtert die SQL- und Cross-Site-Scripting-Schutzprüfung keine SQL- oder Cross-Site-Scripting-Angriffe in den codierten Payloads. Um das Problem zu lösen, kann ein Benutzer eine benutzerdefinierte Signaturregel mit diesem neuen Speicherort (HTTP_CANON_POST_BODY) erstellen, die die codierten Payloads auf nicht standardmäßige Inhaltstypen untersucht und bei SQL- oder Cross-Site-Scripting-Angriffen den Datenverkehr nach der Kanonisierung des Beitragstexts blockiert.

Hinweis:

Diese Unterstützung gilt nur für HTTP-Anfragen.

Wenn Sie mit regulären Ausdrücken im PCRE-Format noch nicht vertraut sind, können Sie die folgenden Ressourcen verwenden, um die Grundlagen zu erlernen oder Hilfe bei bestimmten Problemen zu erhalten:

Wenn Sie Nicht-ASCII-Zeichen in einem regulären Ausdruck des PCRE-Formats kodieren müssen, unterstützt die Citrix ADC Plattform die Kodierung von hexadezimalen UTF-8-Codes. Weitere Informationen finden Sie unter PCRE-Zeichenkodierungsformat.

So konfigurieren Sie ein Signaturregelmuster

  1. Navigieren Sie zu Sicherheit > Citrix Web App Firewall > Signaturen.
  2. Wählen Sie im Detailbereich das Signaturobjekt aus, das Sie konfigurieren möchten, und klicken Sie dann auf Öffnen.
  3. Klicken Sie im Dialogfeld Signaturobjekt ändern in der Mitte des Bildschirms unter dem Fenster Gefilterte Ergebnisse entweder auf Hinzufügen, um eine Signaturregel zu erstellen, oder wählen Sie eine vorhandene Signaturregel aus und klicken Sie auf Öffnen.

    Hinweis:

    Sie können nur Signaturregeln ändern, die Sie hinzugefügt haben. Sie können die Standardsignaturregeln nicht ändern.

    Je nach Ihrer Aktion wird entweder das Dialogfeld Lokale Signaturregel hinzufügen oder das Dialogfeld Lokale Signaturregel ändern angezeigt. Beide Dialogfelder haben den gleichen Inhalt.

  4. Klicken Sie im Dialogfeld im Fenster Muster entweder auf Hinzufügen, um ein neues Muster hinzuzufügen, oder wählen Sie ein vorhandenes Muster aus der Liste unter der Schaltfläche Hinzufügen aus und klicken Sie auf Öffnen. Je nach Ihrer Aktion wird entweder das Dialogfeld Neues Signaturregelmuster erstellen oder das Dialogfeld Signaturregelmuster bearbeiten angezeigt. Beide Dialogfelder haben den gleichen Inhalt.
  5. Wählen Sie in der Dropdownliste Mustertyp den Verbindungstyp aus, dem das Muster entsprechen soll.

    • Wenn das Muster Anforderungselemente oder -features wie injiziertem SQL-Code, Angriffe auf Webformulare, siteübergreifende Skripts oder unangemessene URLs übereinstimmen soll, wählen Sie Anforderung.
    • Wenn das Muster den Antwortelementen oder -merkmalen wie Kreditkartennummern oder sicheren Objekten entsprechen soll, wählen Sie Antwort.
  6. Definieren Sie im Bereich Standort die Elemente, die mit diesem Muster untersucht werden sollen. Der Bereich Standort beschreibt, welche Elemente der HTTP-Anfrage oder -Antwort auf dieses Muster untersucht werden sollen. Die Optionen, die im Bereich Position angezeigt werden, hängen vom ausgewählten Mustertyp ab. Wenn Sie Anfrage als Mustertyp ausgewählt haben, werden Elemente angezeigt, die für HTTP-Anfragen relevant sind. Wenn Sie Antwort ausgewählt haben, werden Elemente angezeigt, die für HTTP-Antworten relevant sind. Wenn Sie außerdem einen Wert aus der Dropdownliste Fläche auswählen, ändern sich die übrigen Teile des Standortbereichs interaktiv. Im Folgenden sind alle Konfigurationselemente aufgeführt, die in diesem Abschnitt erscheinen könnten.

    • Gebiet. Dropdownliste mit Elementen, die einen bestimmten Teil der HTTP-Verbindung beschreiben. Die Auswahlmöglichkeiten lauten wie folgt:
      • HTTP_ANY. Alle Teile der HTTP-Verbindung.
      • HTTP_COOKIE. Alle Cookies in den HTTP-Anforderungsheadern nach allen Cookie-Transformationen werden durchgeführt. Hinweis: Sucht nicht nach den “Set-Cookie:”-Headern der HTTP-Antwort.
      • HTTP_FORM_FIELD. Formularfelder und ihr Inhalt nach URL-Dekodierung, prozentualer Dekodierung und Entfernung überschüssiger Leerzeichen. Sie können das <Location> Tag verwenden, um die Liste der zu durchsuchenden Formularfeldnamen weiter einzuschränken.
      • HTTP-HEADER. Die Wertanteile des HTTP-Headers nach allen Cross-Site Scripting- oder URL-Dekodierungstransformationen.
      • HTTP_METHOD. Die HTTP-Anforderungsmethode.
      • HTTP_ORIGIN_URL. Die Quell-URL eines Webformulars.
      • HTTP_POST_BODY. Der HTTP-Posttext und die darin enthaltenen Webformulardaten.
      • HTTP_RAW_COOKIE. Alle HTTP-Anforderungs-Cookies, einschließlich des Namensteils “Cookie:”. Hinweis: Sucht nicht nach den “Set-Cookie:”-Headern der HTTP-Antwort.
      • HTTP_RAW_HEADER. Der gesamte HTTP-Header mit einzelnen Headern, die durch Zeilenvorschubzeichen (\ n) oder Carrie-Return-/Zeilenvorschubzeichenfolgen (\ r\ n) getrennt sind.
      • HTTP_RAW_RESP_HEADER. Der gesamte Antwortheader, einschließlich der Namens- und Wertteile des Antwortheaders nach Abschluss der URL-Transformation, und der vollständige Antwortstatus. Wie bei HTTP_RAW_HEADER werden einzelne Header durch Zeilenvorschubzeichen (\ n) oder Wagenrücklauf/Zeilenvorschub-Zeichenketten (\r\n) getrennt.
      • HTTP_RAW_SET_COOKIE. Der gesamte Set-Cookie-Header, nachdem alle URL-Transformationen durchgeführt wurden Hinweis: Die URL-Transformation kann sowohl die Domänen- als auch die Pfadteile des Set-Cookie-Headers ändern.
      • HTTP_RAW_URL. Die gesamte Anforderungs-URL, bevor irgendwelche URL-Transformationen durchgeführt werden, einschließlich aller Abfrage- oder Fragmentteile.
      • HTTP_RESP_HEADER. Der Werteteil der vollständigen Antwortheader, nachdem alle URL-Transformationen durchgeführt wurden.
      • HTTP_RESP_BODY. Der HTTP-Antworttext
      • HTTP_SET_COOKIE. Alle “Set-Cookie”-Header in den HTTP-Antwortheadern.
      • HTTP_STATUS_CODE. Der HTTP-Statuscode.
      • HTTP_STATUS_MESSAGE. Die HTTP-Statusmeldung.
      • HTTP_URL. Der Wertanteil der URL in den HTTP-Headern, ohne Abfrage- oder Fragmentports, nach der Konvertierung in den UTF-*-Zeichensatz, der URL-Dekodierung, dem Entfernen von Leerzeichen und der Konvertierung relativer URLs in absolute URLs. Beinhaltet keine Dekodierung von HTML-Entitäten.
      • URL. Untersucht alle URLs, die in den in der Bereichseinstellung angegebenen Elementen gefunden wurden. Wählen Sie eine der folgenden Einstellungen aus.
      • Any. Prüft alle URLs.
      • Wörtlich. Prüft URLs, die eine literale Zeichenfolge enthalten. Nachdem Sie Literal ausgewählt haben, wird ein Textfeld angezeigt. Geben Sie die gewünschte Literalzeichenfolge in das Textfeld ein.
      • PCRE. Prüft URLs, die einem regulären Ausdruck im PCRE-Format entsprechen. Nachdem Sie diese Option ausgewählt haben, wird das Fenster für reguläre Ausdrücke angezeigt. Geben Sie den regulären Ausdruck in das Fenster ein. Sie können die Regex-Token verwenden, um häufig verwendete reguläre Ausdruckselemente am Cursor einzufügen, oder Sie können auf Regex-Editor klicken, um das Dialogfeld Editor für reguläre Ausdrücke anzuzeigen, das Sie bei der Erstellung des gewünschten regulären Ausdrucks unterstützt.
      • Expression. Überprüft URLs, die einem Citrix ADC-Standardausdruck entsprechen.
      • Feldname. Untersucht alle Formularfeldnamen, die in den in der Bereichsauswahl angegebenen Elementen gefunden wurden. Any. Prüft alle URLs.
      • Wörtlich. Prüft URLs, die eine literale Zeichenfolge enthalten. Nachdem Sie Literal ausgewählt haben, wird ein Textfeld angezeigt. Geben Sie die gewünschte Literalzeichenfolge in das Textfeld ein.
      • PCRE. Prüft URLs, die einem regulären Ausdruck im PCRE-Format entsprechen. Nachdem Sie diese Option ausgewählt haben, wird das Fenster für reguläre Ausdrücke angezeigt. Geben Sie den regulären Ausdruck in das Fenster ein. Sie können die Regex-Token verwenden, um allgemeine reguläre Ausdruckselemente einzufügen, oder Sie können den Regex-Editor verwenden, um Unterstützung bei der Erstellung eines gewünschten regulären Ausdrucks zu erhalten.
      • Expression. Überprüft URLs, die einem Citrix ADC-Standardausdruck entsprechen.
  7. Definieren Sie im Bereich Muster das Muster. Ein Muster ist eine literale Zeichenfolge oder ein regulärer Ausdruck im PCRE-Format, der das Muster definiert, das Sie abgleichen möchten. Der Musterbereich enthält die folgenden Elemente: - Match. Eine Dropdownliste mit Suchmethoden, die Sie für die Signatur verwenden können. Diese Liste unterscheidet sich je nachdem, ob der Mustertyp Anfrage oder Antwort ist.

    Match TypesPCREanfordern . Ein regulärer Ausdruck im PCRE-Format.

    Hinweis:

    Wenn Sie PCRE wählen, werden die Tools für reguläre Ausdrücke unter dem Musterfenster aktiviert. Diese Tools sind für die meisten anderen Mustertypen nicht nützlich.

    • Injektion. Weist die Web App Firewall an, am angegebenen Ort nach injiziertem SQL zu suchen. Das Pattern-Fenster wird ausgeblendet, da die Web App Firewall bereits über die Muster für die SQL-Injection verfügt.

    • CrossSiteScripting. Weist die Web App Firewall an, am angegebenen Ort nach Cross-Site-Skripten zu suchen. Das Pattern-Fenster wird ausgeblendet, da die Web App Firewall bereits über die Muster für siteübergreifende Skripts verfügt.

    • Expression. Ein Ausdruck in der Standardausdruckssprache von Citrix ADC ist dieselbe Ausdruckssprache für die Erstellung von Web App Firewall-Richtlinien auf der Citrix ADC Appliance. Obwohl die Citrix ADC Expressions Language ursprünglich für Richtlinienregeln entwickelt wurde, ist sie eine hochflexible Allzwecksprache, die auch zur Definition eines Signaturmusters verwendet werden kann.

    Wenn Sie Expression auswählen, wird der Citrix ADC Ausdruckseditor unterhalb des Musterfensters angezeigt. Weitere Informationen zum Ausdrucks-Editor und Anweisungen zur Verwendung finden Sie unter So fügen Sie eine Firewallregel (Ausdruck) mithilfe des Dialogfelds Ausdruck hinzufügen hinzu

    Antwort-Übereinstimmungstypen:

    -  Literal. A literal string
    -  PCRE. A PCRE-format regular expression.
    

    Hinweis

    Wenn Sie PCRE wählen, werden die Tools für reguläre Ausdrücke unter dem Musterfenster aktiviert. Diese Tools sind für die meisten anderen Mustertypen nicht nützlich.

    • Kreditkarte. Ein integriertes Muster, das einer der sechs unterstützten Arten von Kreditkartennummern entspricht.

    Hinweis:

    Der Übereinstimmungstyp Ausdruck ist für Signaturen auf der Antwortseite nicht verfügbar.

    • Musterfenster (unbeschriftet)

    Geben Sie in diesem Fenster das Muster ein, das Sie abgleichen möchten, und geben Sie alle zusätzlichen Daten ein.

    • Wörtlich. Geben Sie die Zeichenfolge, nach der Sie suchen möchten, in den Textbereich ein.
    • CRE. Geben Sie den regulären Ausdruck in den Textbereich ein. Verwenden Sie den Regex-Editor, um weitere Unterstützung bei der Konstruktion des gewünschten regulären Ausdrucks zu erhalten, oder die Regex-Token, um allgemeine reguläre Ausdruckselemente am Cursor einzufügen. Um UTF-8-Zeichen zu aktivieren, klicken Sie auf UTF-8.
    • Expression. Geben Sie den erweiterten Ausdruck von Citrix ADC in das Textfeld ein. Verwenden Sie Präfix, um den ersten Begriff in Ihrem Ausdruck auszuwählen, oder Operator, um allgemeine Operatoren am Cursor einzufügen. Klicken Sie auf Hinzufügen, um das Dialogfeld Ausdruck hinzufügen zu öffnen, in dem Sie weitere Unterstützung bei der Erstellung des gewünschten regulären Ausdrucks erhalten. Klicken Sie auf Auswerten, um den Advanced Expression Evaluator zu öffnen, mit dem Sie ermitteln können, welchen Effekt Ihr Ausdruck hat.
    • Versatz. Die Anzahl der Zeichen, die übersprungen werden müssen, bevor mit der Übereinstimmung nach diesem Muster begonnen wird. Sie verwenden dieses Feld, um mit der Untersuchung einer Zeichenfolge an einer anderen Stelle als dem ersten Zeichen zu beginnen.
    • Tiefe. Wie viele Zeichen vom Startpunkt aus auf Übereinstimmungen untersucht werden sollen. Sie verwenden dieses Feld, um die Suche nach einer großen Zeichenfolge auf eine bestimmte Anzahl von Zeichen zu beschränken.
    • Minimale Länge. Die zu durchsuchende Zeichenfolge muss mindestens die angegebene Anzahl von Byte lang sein. Kürzere Saiten sind nicht aufeinander abgestimmt.
    • Maximale Länge. Die zu suchende Zeichenfolge darf nicht länger als die angegebene Anzahl von Byte sein. Längere Zeichenketten werden nicht gefunden.
    • Suchmethode. Ein Kontrollkästchen mit der Bezeichnung Fastmatch. Sie können Fastmatch nur für ein literales Muster aktivieren, um die Leistung zu verbessern.
  8. Klicken Sie auf OK.
  9. Wiederholen Sie die vorherigen vier Schritte, um weitere Muster hinzuzufügen oder zu ändern.
  10. Wenn Sie mit dem Hinzufügen oder Ändern von Mustern fertig sind, klicken Sie auf OK, um Ihre Änderungen zu speichern und zum Bereich Signaturen zurückzukehren.

Achtung:

Ihre Änderungen werden erst gespeichert, wenn Sie im Dialogfeld Lokale Signaturregel hinzufügenoder Lokale Signaturregel ändernaufOKklicken. Schließen Sie eines dieser Dialogfelder nicht, ohne aufOK zu klicken, es sei denn, Sie möchten die Änderungen verwerfen.

Muster für Signaturregeln