Arbeiten mit Regex-Übereinstimmungsbedingungen - AWS WAFAWS Firewall Manager, und AWS Shield Advanced

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Arbeiten mit Regex-Übereinstimmungsbedingungen

Anmerkung

Dies ist die AWS WAF klassische Dokumentation. Sie sollten diese Version nur verwenden, wenn Sie AWS WAF Ressourcen wie Regeln und Web-ACLs AWS WAF vor November 2019 erstellt und diese noch nicht auf die neueste Version migriert haben. Informationen zum Migrieren Ihrer Ressourcen finden Sie unter Migrieren Sie Ihre AWS WAF Classic-Ressourcen zu AWS WAF.

Die neueste Version von AWS WAF finden Sie unter. AWS WAF

Wenn Sie Webanfragen basierend auf Zeichenfolgen zulassen oder blockieren möchten, die mit einem Muster eines regulären Ausdrucks (regex) übereinstimmen, das in den Anfragen erscheint, erstellen Sie eine oder mehrere regex-Abgleichsbedingungen. Eine Regex-Übereinstimmungsbedingung ist eine Art von Übereinstimmungsbedingung für Zeichenketten, die das Muster identifiziert, nach dem Sie suchen möchten, und den Teil von Webanfragen, wie z. B. einen angegebenen Header oder die Abfragezeichenfolge, den AWS WAF Classic auf das Muster untersuchen soll. Im weiteren Verlauf des Prozesses können Sie beim Erstellen einer Web-ACL angeben, ob Anforderungen, die das Muster enthalten, zugelassen oder blockiert werden sollen.

Erstellen einer Regex-Übereinstimmungsbedingung

Wenn Sie Regex-Übereinstimmungsbedingungen erstellen, geben Sie Mustersätze an, die die Zeichenfolge (mit einem regulären Ausdruck) identifizieren, nach der Sie suchen möchten. Anschließend fügen Sie diese Mustersätze zu Filtern hinzu, die den Teil der Webanfragen angeben, den AWS WAF Classic auf diesen Mustersatz überprüfen soll, z. B. den URI oder die Abfragezeichenfolge.

Sie können einem einzelnen Mustersatz mehrere reguläre Ausdrücke hinzufügen. Wenn Sie dies tun, werden diese Ausdrücke mit einem OR kombiniert Das heißt, eine Webanforderung stimmt mit dem Mustersatz überein, wenn der entsprechende Teil der Anforderung mit einem der aufgeführten Ausdrücke übereinstimmt.

Wenn Sie einer Regel eine Regex-Übereinstimmungsbedingung hinzufügen, können Sie AWS WAF Classic auch so konfigurieren, dass Webanfragen zugelassen oder blockiert werden, die nicht den Werten in der Bedingung entsprechen.

AWS WAF Classic unterstützt die meisten standardmäßigen Perl-kompatiblen regulären Ausdrücke (PCRE). Folgende Transaktionen werden allerdings nicht unterstützt:

  • Rückverweise und Erfassung von Teilausdrücken

  • Willkürliche Null-Breite-Assertionen

  • Subroutine-Referenzen und rekursive Muster

  • Bedingungsmuster

  • Rückverfolgung von Kontrollverben

  • Die \C Einbyte-Richtlinie

  • Die \ R-Newline-Match-Richtlinie

  • Die \ K-Start der Match-Reset-Richtlinie

  • Callouts und eingebetteter Code

  • Atomic Grouping und possessive Quantifizierer

So erstellen Sie eine Regex-Übereinstimmungsbedingung
  1. Melden Sie sich bei der an AWS Management Console und öffnen Sie die AWS WAF Konsole unter https://console.aws.amazon.com/wafv2/.

    Wenn im Navigationsbereich die Option Zu AWS WAF Classic wechseln angezeigt wird, wählen Sie es aus.

  2. Wählen Sie im Navigationsbereich String and regex matching aus.

  3. Wählen Sie Create condition.

  4. Geben Sie die entsprechenden Filtereinstellungen an. Weitere Informationen finden Sie unter Werte, die Sie angeben, wenn Sie Abgleichsbedingungen erstellen oder bearbeiten RegEx .

  5. Wählen Sie Create pattern set and add filter (wenn Sie einen neuen Mustersatz erstellt haben) oder Add filter, wenn Sie einen vorhandenen Mustersatz verwendet haben.

  6. Wählen Sie Erstellen.

Werte, die Sie angeben, wenn Sie Abgleichsbedingungen erstellen oder bearbeiten RegEx

Beim Erstellen oder Aktualisieren einer Regex-Übereinstimmungsbedingung geben Sie die folgenden Werte an:

Name

Geben Sie einen Namen für die regex-Abgleichsbedingung ein. Der Name darf nur alphanumerische Zeichen (A-Z, a-z, 0-9) oder die folgenden Sonderzeichen enthalten: _-!"#`+*},./ . Sie können den Namen einer Bedingung nicht mehr ändern, nachdem Sie sie erstellt haben.

Typ

Wählen Sie Regex match

Teil der Anforderung, nach dem gefiltert werden soll

Wählen Sie den Teil jeder Webanforderung aus, den AWS WAF Classic auf das Muster überprüfen soll, das Sie unter Zuordnender Wert angegeben haben:

Header

Ein angegebener Anforderungs-Header, wie z. B. der User-Agent- oder Referer-Header. Wenn Sie Header auswählen, geben Sie den Namen des Headers im Feld Header an.

HTTP-Methode

Die HTTP-Methode, die den Typ des Vorgangs angibt, den die Anfrage vom Ursprung ausführen soll. CloudFront unterstützt die folgenden Methoden: DELETEGET,HEAD,OPTIONS,PATCH,POST, undPUT.

Abfragezeichenfolge

Der Teil einer URL nach einem ?-Zeichen, sofern vorhanden.

URI

Der URI-Pfad der Anfrage, der die Ressource identifiziert, /images/daily-ad.jpg z. B. Dies beinhaltet nicht die Abfragezeichenfolge oder die Fragmentkomponenten der URI. Informationen dazu finden Sie unter Uniform Resource Identifier (URI): Generic Syntax.

Sofern keine Transformation angegeben ist, ist ein URI nicht normalisiert und wird genauso geprüft, wie er im Rahmen der Anfrage vom Client AWS empfangen wird. Eine Transformation formatiert die URI wie vorgegeben neu.

Fließtext

Der Teil einer Anforderung, der zusätzliche Daten enthält, die Sie als HTTP-Anforderungstext an Ihren Webserver senden möchten, wie z. B. Formulardaten.

Anmerkung

Wenn Sie für den Wert Teil der Anforderung, nach dem gefiltert werden soll, Body wählen, untersucht AWS WAF Classic nur die ersten 8192 Byte (8 KB). Um Anfragen zuzulassen oder zu blockieren, deren Hauptteil länger als 8192 Byte ist, können Sie eine Größenbeschränkungsbedingung erstellen. (AWS WAF Classic ermittelt die Länge des Hauptteils aus den Anforderungsheadern.) Weitere Informationen finden Sie unter Arbeiten mit Größenbeschränkungsbedingungen.

Einzelner Abfrageparameter (ausschließlich Wert)

Jeder Parameter, den Sie als Teil der Abfragezeichenfolge definiert haben. Wenn die URL beispielsweise „www.xyz.com? UserName =abc& SalesRegion =seattle“ lautet, können Sie entweder dem Parameter oder einen Filter hinzufügen. UserNameSalesRegion

Wenn doppelte Parameter in der Abfragezeichenfolge enthalten sind, werden die Werte als "ODER" gewertet. Das heißt, dass auch nur einer der Werte ausreicht, um eine Übereinstimmung auszulösen. Beispiel: In der URL „www.xyz.com? SalesRegion =boston& SalesRegion =seattle“ löst ein Muster, das entweder mit „Boston“ oder „Seattle“ im Wert „Übereinstimmender Wert“ übereinstimmt, einen Treffer aus.

Wenn Sie Einzelner Abfrageparamter (ausschließlich Wert) auswählen, legen Sie auch einen Abfrageparameternamen fest. Dies ist der Parameter in der Abfragezeichenfolge, den Sie überprüfen werden, z. B. oder. UserNameSalesRegion Die maximale Länge für den Abfrageparameternamen beträgt 30 Zeichen. Der Abfrageparametername berücksichtigt keine Groß- und Kleinschreibung. Wenn Sie beispielsweise den Namen des Query-Parameters angeben UserName, entspricht dies allen Varianten von UserName, z. B. UsERName und userName.

Alle Abfrageparameter (ausschließlich Werte)

Ähnlich wie Einzelner Abfrageparameter (nur Wert), untersucht AWS WAF Classic jedoch nicht den Wert eines einzelnen Parameters, sondern den Wert aller Parameter innerhalb der Abfragezeichenfolge auf das Muster, das im Feld Passender Wert angegeben ist. Beispiel: In der URL „www.xyz.com? UserName =abc& SalesRegion =seattle“ ein Muster in Value to match, das entweder dem Wert in entspricht oder einen Treffer auslöst. UserNameSalesRegion

Header (nur wenn "Teil der Filter" auf "Header" festgelegt ist)

Wenn Sie in der Liste „Teil der Anforderung, nach der gefiltert werden soll“ die Option „Kopfzeile“ ausgewählt haben, wählen Sie eine Kopfzeile aus der Liste der allgemeinen Kopfzeilen aus, oder geben Sie den Namen einer Kopfzeile ein, die Classic untersuchen soll. AWS WAF

Transformation

Eine Transformation formatiert eine Webanforderung neu, bevor AWS WAF Classic die Anfrage überprüft. Dadurch werden einige der ungewöhnlichen Formatierungen vermieden, die Angreifer in Webanfragen verwenden, um Classic zu umgehen AWS WAF .

Sie können nur einen einzigen Texttransformationstyp angeben.

Transformationen können die folgenden Vorgänge ausführen:

None

AWS WAF Classic führt keine Texttransformationen an der Webanforderung durch, bevor überprüft wird, ob die Zeichenfolge in Value übereinstimmt.

In Kleinbuchstaben konvertieren

AWS WAF Classic konvertiert Großbuchstaben (A-Z) in Kleinbuchstaben (a-z).

HTML-Dekodierung

AWS WAF Classic ersetzt HTML-kodierte Zeichen durch unkodierte Zeichen:

  • Ersetzt " durch &

  • Ersetzt   durch ein geschütztes Leerzeichen

  • Ersetzt &lt; durch <

  • Ersetzt &gt; durch >

  • Ersetzt Zeichen im Hexadezimalformat &#xhhhh; mit dem entsprechenden Zeichen

  • Ersetzt Zeichen im Dezimalformat &#nnnn; mit dem entsprechenden Zeichen

Leerzeichen normalisieren

AWS WAF Classic ersetzt die folgenden Zeichen durch ein Leerzeichen (Dezimalzahl 32):

  • \f, Zeilenvorschubzeichen, Dezimalzahl 12

  • \t, Tabulator, Dezimalzahl 9

  • \n, Zeilenumbruch, Dezimalzahl 10

  • \r, Wagenrücklauf, Dezimalzahl 13

  • \v, vertikaler Tabulator, Dezimalzahl 11

  • geschütztes Leerzeichen, Dezimalzahl 160

Diese Option ersetzt mehrere aufeinanderfolgende Leerzeichen durch 1 Leerzeichen.

Vereinfachen der Befehlszeile

Wenn Sie befürchten, dass Angreifer einen Befehlszeilen-Befehl des Betriebssystems einfügen und diesen Befehl ganz oder teilweise durch ungewöhnliche Formatierungen verbergen, verwenden Sie diese Option, um folgende Transformationen auszuführen:

  • Löschen der folgenden Zeichen: \ " ' ^

  • Löschen von Leerzeichen vor den folgenden Zeichen: / (

  • Ersetzen der folgenden Zeichen durch ein Leerzeichen: , ;

  • Ersetzen mehrerer Leerzeichen durch ein Leerzeichen

  • Konvertieren von Groß- (A-Z) in Kleinbuchstaben (a-z)

URL-Dekodierung

Dekodieren Sie eine URL-kodierte Anforderung.

Regex-Muster zur Übereinstimmung mit der Anfrage

Sie können einen bestehenden Mustersatz auswählen oder einen neuen erstellen. Wenn Sie einen neuen erstellen, geben Sie Folgendes an:

Neuer Mustersatzname

Geben Sie einen Namen ein und geben Sie dann das Regex-Muster an, nach dem AWS WAF Classic suchen soll.

Wenn Sie einem Mustersatz mehrere reguläre Ausdrücke hinzufügen, werden diese Ausdrücke mit einem OR kombiniert. Das heißt, eine Webanforderung stimmt mit dem Mustersatz überein, wenn der entsprechende Teil der Anforderung mit einem der aufgeführten Ausdrücke übereinstimmt.

Die maximale Länge von Value to match ist 70 Zeichen.

Bearbeiten einer Regex-Übereinstimmungsbedingung

Sie können die folgenden Änderungen an einer vorhandenen Regex-Übereinstimmungsbedingung vornehmen:

  • Löschen eines Musters aus einem vorhandenen Mustersatz

  • Hinzufügen eines Musters zu einem vorhandenen Mustersatz

  • Löschen eines Filters zu einer bestehenden Regex-Abgleichsbedingung

  • Fügen Sie einer vorhandenen Regex-Übereinstimmungsbedingung einen Filter hinzu (Sie können nur einen Filter in einer Regex-Übereinstimmungsbedingung verwenden. Um einen Filter hinzuzufügen, müssen Sie daher zuerst den vorhandenen Filter löschen.)

  • Löschen einer bestehenden Regex-Abgleichsbedingung

Anmerkung

Sie können ein Mustersatz nicht aus einem vorhandenen Filter hinzufügen oder löschen. Sie müssen entweder den Mustersatz festlegen, bearbeiten oder löschen und einen neuen Filter mit einem neuen Mustersatz festlegen.

Löschen eines Musters aus einem vorhandenen Mustersatz
  1. Melden Sie sich bei der an AWS Management Console und öffnen Sie die AWS WAF Konsole unter https://console.aws.amazon.com/wafv2/.

    Wenn im Navigationsbereich die Option Zu AWS WAF Classic wechseln angezeigt wird, wählen Sie es aus.

  2. Wählen Sie im Navigationsbereich String and regex matching aus.

  3. Wählen Sie View regex pattern sets.

  4. Klicken Sie auf den Namen des Mustersatzs, den Sie durchsuchen möchten.

  5. Wählen Sie Bearbeiten aus.

  6. Wählen Sie X neben dem Muster, das Sie löschen möchten.

  7. Wählen Sie Speichern.

Hinzufügen eines Musters zu einem vorhandenen Mustersatz
  1. Melden Sie sich bei der an AWS Management Console und öffnen Sie die AWS WAF Konsole unter https://console.aws.amazon.com/wafv2/.

    Wenn im Navigationsbereich die Option Zu AWS WAF Classic wechseln angezeigt wird, wählen Sie es aus.

  2. Wählen Sie im Navigationsbereich String and regex matching aus.

  3. Wählen Sie View regex pattern sets.

  4. Klicken Sie auf den Namen des Mustersatzs, den Sie bearbeiten möchten.

  5. Wählen Sie Bearbeiten aus.

  6. Geben Sie ein neues RegEx-Muster ein.

  7. Wählen Sie die + neben dem neuen Muster.

  8. Wählen Sie Speichern.

Löschen eines Filters in einer vorhandenen Regex-Übereinstimmungsbedingung
  1. Melden Sie sich bei der an AWS Management Console und öffnen Sie die AWS WAF Konsole unter https://console.aws.amazon.com/wafv2/.

    Wenn im Navigationsbereich die Option Zu AWS WAF Classic wechseln angezeigt wird, wählen Sie es aus.

  2. Wählen Sie im Navigationsbereich String and regex matching aus.

  3. Klicken Sie auf den Namen der Bedingung mit dem Filter, die Sie löschen möchten.

  4. Wählen Sie das Kontrollkästchen neben dem Filter aus, den Sie löschen möchten.

  5. Wählen Sie Delete filter.

So löschen Sie eine Regex-Übereinstimmungsbedingung
  1. Melden Sie sich bei der an AWS Management Console und öffnen Sie die AWS WAF Konsole unter https://console.aws.amazon.com/wafv2/.

    Wenn im Navigationsbereich die Option Zu AWS WAF Classic wechseln angezeigt wird, wählen Sie es aus.

  2. Löschen Sie den Filter aus der Regex-Bedingung. Anweisungen dazu finden Sie unter Löschen eines Filters in einer vorhandenen Regex-Übereinstimmungsbedingung. )

  3. Entfernen Sie die Regex-Übereinstimmungsbedingung aus den Regeln, die sie verwenden:

    1. Wählen Sie im Navigationsbereich Regeln aus.

    2. Wählen Sie den Namen einer Regel aus, die die Regex-Übereinstimmungsbedingung verwendet, die Sie löschen möchten.

    3. Wählen Sie im rechten Bereich die Registerkarte Edit rule aus.

    4. Wählen Sie X neben der Bedingung, die Sie löschen möchten.

    5. Wählen Sie Aktualisieren.

    6. Wiederholen Sie dies für alle übrigen Regeln, die die Regex-Übereinstimmungsbedingung verwenden, die Sie löschen möchten.

  4. Wählen Sie im Navigationsbereich String and regex matching aus.

  5. Wählen Sie die Schaltfläche neben der Bedingung, die Sie löschen möchten.

  6. Wählen Sie Löschen aus.

So fügen Sie einen Filter zu einer vorhandenen Regex-Übereinstimmungsbedingung hinzu oder ändern ihn

Sie können nur einen Filter in einer Regex-Übereinstimmungsbedingung haben. Um einen Filter hinzuzufügen oder zu ändern, müssen Sie daher zuerst den vorhandenen Filter löschen.

  1. Melden Sie sich bei der an AWS Management Console und öffnen Sie die AWS WAF Konsole unter https://console.aws.amazon.com/wafv2/.

    Wenn im Navigationsbereich die Option Zu AWS WAF Classic wechseln angezeigt wird, wählen Sie es aus.

  2. Löschen Sie den Filter aus der Regex-Bedingung, die Sie ändern möchten. Anweisungen dazu finden Sie unter Löschen eines Filters in einer vorhandenen Regex-Übereinstimmungsbedingung. )

  3. Wählen Sie im Navigationsbereich String and regex matching aus.

  4. Klicken Sie auf den Namen des Mustersatzes, den Sie durchsuchen möchten.

  5. Wählen Sie Add filter.

  6. Geben Sie die entsprechenden Werte für den neuen Filter ein und wählen Sie Add.