Citrix ADC

Signaturregelmuster

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 eines Angriffs zu erkennen, können Sie die Protokolle auf Ihrem Webserver untersuchen. 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 zu erhalten.

Achtung:

Jedes neue Muster, das Sie einer Signaturregel hinzufügen, befindet sich 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 mit allen Mustern übereinstimmen muss, um der Signatur zu entsprechen.

Jedes Muster kann aus einer einfachen Zeichenfolge, einem regulären PCRE-Ausdruck oder dem integrierten SQL-Einspritz- oder siteübergreifenden Skriptmuster bestehen. Bevor Sie versuchen, ein Muster hinzuzufügen, das auf einem regulären Ausdruck basiert, sollten 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 versehentlich ein Muster erstellen, das zu etwas passt, das Sie nicht wollten (ein falsches Positiv) oder das nicht mit etwas übereinstimmt, das Sie wollten (ein falsches Negativ).

Benutzerdefiniertes Signaturmuster für nicht standardmäßige Inhaltstypen

Die Citrix ADC Web App Firewall (WAF) unterstützt jetzt neuen Speicherort zum Überprüfen kanonisierter Inhalte. Standardmäßig blockiert WAF kodierte Nutzlast nicht mit nicht standardmäßigen Inhaltstypen. Wenn diese Inhaltstypen auf der Positivliste sind und keine konfigurierte Aktion angewendet wird, filtern die SQL- und Cross-Site-Skriptschutzprüfung keine SQL- oder Cross-Site-Scripting-Angriffe in den codierten Nutzlasten. Um das Problem zu beheben, kann ein Benutzer eine benutzerdefinierte Signaturregel an diesem neuen Speicherort (HTTP_CANON_POST_BODY) erstellen, die die codierten Nutzlasten auf nicht standardmäßige Inhaltstypen untersucht. Wenn ein SQL- oder Cross-Site-Scripting-Angriff auftritt, blockiert er den Datenverkehr nach der Kanonisierung des Postkörpers.

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 lernen, oder um Hilfe zu einem bestimmten Problem zu erhalten:

  • “Reguläre Ausdrücke beherrschen”, Dritte Ausgabe. Copyright (c) 2006 von Jeffrey Friedl. O’Reilly Media, ISBN: 9780596528126.
  • Reguläre Ausdrücke Kochbuch. Copyright (c) 2009 von Jan Goyvaerts und Steven Levithan. O’Reilly Media, ISBN: 9780596520687
  • PCRE Man Seite/Spezifikation (text/offiziell):"<http://www.pcre.org/pcre.txt>"
  • PCRE Man Seite/Technische Daten (html/gammon.edu.au):"<http://www.gammon.com.au/pcre/index.html>"
  • Wikipedia PCRE-Eintrag: [http://en.wikipedia.org/wiki/PCRE] (http://en.wikipedia.org/wiki/pcre)
  • PCRE-Mailingliste (ausgeführt von exim.org):<http://lists.exim.org/mailman/listinfo/pcre-dev>"

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 > Anwendungsfirewall > 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 unterhalb des Fensters 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 Aktion wird entweder das Dialogfeld Lokale Signaturregel hinzufügen oder das Dialogfeld Lokale Signaturregel ändern angezeigt. Beide Dialogfelder haben denselben Inhalt.

  4. Klicken Sie im Dialogfeld im Fenster Muster 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 . Abhängig von Ihrer Aktion wird entweder das Dialogfeld Neues Signaturregelmuster erstellen oder das Dialogfeld Signaturregelmuster bearbeiten angezeigt. Beide Dialogfelder haben denselben Inhalt.
  5. Wählen Sie in der Dropdownliste Mustertyp den Verbindungstyp aus, mit dem das Muster übereinstimmen soll.

    • Wenn das Muster Anforderungselemente oder -features wie injiziertem SQL-Code, Angriffe auf Webformulare, siteübergreifende Skripte oder unangemessene URLs übereinstimmen soll, wählen Sie Anforderung.
    • Wenn das Muster darauf abzielt, Antwortelemente oder -funktionen wie Kreditkartennummern oder sichere Objekte abzugleichen, wählen Sie Antwort.
  6. Definieren Sie im Bereich Position die Elemente, die mit diesem Muster untersucht werden sollen. Der Bereich Speicherort beschreibt, welche Elemente der HTTP-Anforderung oder -Antwort auf dieses Muster untersucht werden sollen. Welche Auswahlmöglichkeiten im Bereich Position angezeigt werden, hängt vom gewählten Mustertyp ab. Wenn Sie “Anforderung” als Mustertyp gewählt haben, werden Elemente angezeigt, die für HTTP-Anforderungen relevant sind. Wenn Sie “Antwort” gewählt haben, werden Elemente angezeigt, die für HTTP-Antworten relevant sind. Wenn Sie außerdem einen Wert aus der Dropdown-Liste Fläche auswählen, ändern sich die übrigen Teile des Standortbereichs interaktiv. Im Folgenden finden Sie alle Konfigurationselemente, die in diesem Abschnitt angezeigt werden können.

    • Bereich. Dropdownliste mit Elementen, die einen bestimmten Teil der HTTP-Verbindung beschreiben. Folgende Möglichkeiten stehen zur Auswahl:
      • HTTP_ANY. Alle Teile der HTTP-Verbindung.
      • HTTP_COOKIE. Alle Cookies in den HTTP-Request-Headern nach irgendwelchen Cookie-Transformationen durchgeführt werden. Hinweis: Sucht keine HTTP-Antwort Set-Cookie: Header.
      • HTTP_FORM_FIELD. Formularfelder und deren Inhalt, nach URL-Dekodierung, Prozentdekodierung und Entfernung von überschüssigen Leerzeichen. Mit dem<Location> Tag können Sie die Liste der zu durchsuchenden Formularfeldnamen weiter einschränken.
      • HTTP_HEADER. Die Werteteile des HTTP-Headers nach allen Cross-Site-Skript- oder URL-Dekodierungs-Transformationen.
      • HTTP_METHOD. Die HTTP-Anforderungsmethode.
      • HTTP_ORIGIN_URL. Die Ursprungs-URL eines Webformulars.
      • HTTP_POST_BODY. Der HTTP-Posttext und die darin enthaltenen Webformulardaten.
      • HTTP_RAW_COOKIE. Alle HTTP-Anforderungscookie, einschließlich des Namensbereichs Cookie:. Hinweis: Sucht keine HTTP-Antwort Set-Cookie: Header.
      • HTTP_RAW_HEADER. Der gesamte HTTP-Header mit einzelnen Headern, die durch Zeilenvorschubzeichen (n) oder Wagenrücklauf-/Zeilenvorschubzeichenfolgen (rn) getrennt sind.
      • HTTP_RAW_RESP_HEADER. Der gesamte Antwortheader, einschließlich der Namens- und Werteteile des Antwortheaders nach Abschluss der URL-Transformation und des vollständigen Antwortstatus. Wie bei HTTP_RAW_HEADER werden einzelne Header durch Zeilenvorschubzeichen (n) oder Wagenrücklauf-/Zeilenvorschubzeichenfolgen (rn) getrennt.
      • HTTP_RAW_SET_COOKIE. Der gesamte Set-Cookie-Header, nachdem URL-Transformationen durchgeführt wurden Hinweis: URL-Transformation kann sowohl die Domäne als auch den Pfadbereich des Set-Cookie-Headers ändern.
      • HTTP_RAW_URL. Die gesamte Anforderungs-URL, bevor URL-Transformationen durchgeführt werden, einschließlich aller Abfrage- oder Fragmentteile.
      • HTTP_RESP_HEADER. Der Werteteil der vollständigen Antwort-Header, nachdem URL-Transformationen durchgeführt wurden.
      • HTTP_RESP_BODY. Der HTTP-Antworttext
      • HTTP_SET_COOKIE. Alle Set-Cookie -Header in den HTTP-Antwort-Headern.
      • HTTP_STATUS_CODE. Der HTTP-Statuscode.
      • HTTP_STATUS_MESSAGE. Die HTTP-Statusmeldung.
      • HTTP_URL. Der Werteteil der URL in den HTTP-Headern, ausgenommen alle Abfrage- oder Fragmentports, nach der Konvertierung in den UTF-*-Zeichensatz, URL-Dekodierung, Strippen von Leerzeichen und Konvertierung relativer URLs in absolute. Enthält keine HTML-Entity-Dekodierung.
      • URL. Untersucht alle URLs, die in den durch die Einstellung Bereich angegebenen Elementen gefunden wurden. Wählen Sie eine der folgenden Einstellungen aus.
      • Any. Überprüft alle URLs.
      • Literal. Überprüft URLs, die eine Literalzeichenfolge enthalten. Nachdem Sie Literal ausgewählt haben, wird ein Textfeld angezeigt. Geben Sie die gewünschte Literalzeichenfolge in das Textfeld ein.
      • PCRE. Überprüft URLs, die einem regulären Ausdruck im PCRE-Format entsprechen. Nachdem Sie diese Auswahl 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 am Cursor einzufügen, oder Sie können auf Regex-Editor klicken, um das Dialogfeld Editor für Reguläre Ausdrücke anzuzeigen, das mehr Unterstützung beim Erstellen des gewünschten regulären Ausdrucks bietet.
      • Ausdruck. Überprüft URLs, die mit einem Citrix ADC Standardausdruck übereinstimmen.
      • Feldname. Untersucht alle Formularfeldnamen, die in den durch die Auswahl Bereich angegebenen Elementen gefunden werden. Any. Überprüft alle URLs.
      • Literal. Überprüft URLs, die eine Literalzeichenfolge enthalten. Nachdem Sie Literal ausgewählt haben, wird ein Textfeld angezeigt. Geben Sie die gewünschte Literalzeichenfolge in das Textfeld ein.
      • PCRE. Überprüft URLs, die einem regulären Ausdruck im PCRE-Format entsprechen. Nachdem Sie diese Auswahl 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 gemeinsame Elemente für reguläre Ausdrücke einzufügen, oder Sie können den Regex-Editor für Unterstützung beim Erstellen eines regulären Ausdrucks verwenden, den Sie möchten.
      • Ausdruck. Überprüft URLs, die mit einem Citrix ADC Standardausdruck übereinstimmen.
  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 übereinstimmen möchten. Der Bereich Muster enthält die folgenden Elemente: - Übereinstimmung. Eine Dropdown-Liste mit Suchmethoden, die Sie für die Signatur verwenden können. Diese Liste unterscheidet sich je nachdem, ob der Mustertyp Request oder Response ist.

    Anforderungsübereinstimmungstypen PCRE. Ein regulärer Ausdruck im PCRE-Format.

    Hinweis:

    Wenn Sie PCRE wählen, sind die Werkzeuge für reguläre Ausdrücke unterhalb des Pattern-Fensters aktiviert. Diese Werkzeuge sind für die meisten anderen Arten von Mustern nicht nützlich.

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

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

    • Ausdruck. Ein Ausdruck in der Citrix ADC Standardausdruckssprache ist dieselbe Ausdruckssprache für das Erstellen von Web App Firewall Richtlinien auf der Citrix ADC Appliance. Obwohl die Citrix ADC Ausdruckssprache ursprünglich für Richtlinienregeln entwickelt wurde, handelt es sich um eine hochflexible Allzwecksprache, die auch zum Definieren eines Signaturmusters verwendet werden kann.

    Wenn Sie Expression auswählen, wird der Citrix ADC Ausdruckseditor unterhalb des Musterfensters angezeigt. Weitere Informationen zum Ausdruckseditor und Anweisungen zur Verwendung finden Sie unterSo fügen Sie eine Firewallregel (Ausdruck) über das Dialogfeld Ausdruck hinzufügen hinzu

    Antwort-Übereinstimmungstypen:

    -  Wortwörtlich. Eine Literalzeichenfolge
    -  PCRE. Ein regulärer Ausdruck im PCRE-Format.
    

    Hinweis:

    Wenn Sie PCRE wählen, sind die Werkzeuge für reguläre Ausdrücke unterhalb des Pattern-Fensters aktiviert. Diese Werkzeuge sind für die meisten anderen Arten von Mustern nicht nützlich.

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

    Hinweis:

    Der Ausdruck-Übereinstimmungstyp ist für Antwort-Signaturen nicht verfügbar.

    • Musterfenster (unbeschriftet)

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

    • Literal. Geben Sie im Textbereich die Zeichenfolge ein, nach der Sie suchen möchten.
    • CRE. Geben Sie den regulären Ausdruck in den Textbereich ein. Verwenden Sie den Regex-Editor, um weitere Unterstützung beim Erstellen 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.
    • Ausdruck. Geben Sie den erweiterten Citrix ADC Ausdruck im Textbereich ein. Verwenden Sie Präfix, um den ersten Begriff in Ihrem Ausdruck auszuwählen, oder Operator, um gemeinsame Operatoren am Cursor einzufügen. Klicken Sie auf Hinzufügen, um das Dialogfeld Ausdruck hinzufügen zu öffnen, um weitere Unterstützung beim Erstellen des gewünschten regulären Ausdrucks zu erhalten. Klicken Sie auf Auswerten, um den erweiterten Ausdrucksauswerter zu öffnen, um festzustellen, welche Auswirkungen Ihr Ausdruck hat.
    • Versatz. Die Anzahl der Zeichen, die übersprungen werden sollen, bevor sie mit diesem Muster übereinstimmen. Sie verwenden dieses Feld, um eine Zeichenfolge an einem anderen Punkt als dem ersten Zeichen zu untersuchen.
    • Tiefe. Wie viele Zeichen vom Startpunkt auf Übereinstimmungen untersucht werden sollen. Verwenden Sie dieses Feld, um die Suche einer großen Zeichenfolge auf eine bestimmte Anzahl von Zeichen zu beschränken.
    • Min-Länge. Die zu durchsuchende Zeichenfolge muss mindestens die angegebene Anzahl von Bytes in der Länge sein. Kürzere Zeichenfolgen werden nicht übereinstimmend.
    • Max-Länge. Die zu durchsuchende Zeichenfolge darf nicht länger als die angegebene Anzahl von Bytes in der Länge sein. Längere Saiten werden nicht übereinstimmend.
    • Suchmethode. Ein Kontrollkästchen mit der Bezeichnung Fastmatch. Sie können Fastmatch nur für ein Literalmuster 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 die Änderungen zu speichern und zum Bereich Signaturen zurückzukehren.

Achtung:

Bis Sie im Dialogfeld Lokale Signaturregel hinzufügen oder Lokale Signaturregel ändern auf OK klicken, werden die Änderungen nicht gespeichert. Schließen Sie eines dieser Dialogfelder nicht, ohne auf OK zu klicken, es sei denn, Sie möchten die Änderungen verwerfen.

Signaturregelmuster