Arbeiten mit Cross-Site-Scripting-Ü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 Cross-Site-Scripting-Ü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

Angreifer fügen manchmal Skripts in Webanforderungen ein, um Schwachstellen in Webanwendungen auszunutzen. Sie können eine oder mehrere websiteübergreifende Scripting-Vergleichsbedingungen erstellen, um die Teile von Webanfragen zu identifizieren, z. B. den URI oder die Abfragezeichenfolge, die AWS WAF Classic auf mögliche bösartige Skripts untersuchen soll. Im weiteren Verlauf des Prozesses können Sie beim Erstellen einer Web-ACL angeben, ob Sie Anforderungen zulassen oder blockieren möchten, die schädliche Skripts enthalten.

Erstellen von Cross-Site-Scripting-Übereinstimmungsbedingungen

Beim Erstellen von Cross-Site-Scripting-Übereinstimmungsbedingungen geben Sie Filter an. Die Filter geben den Teil der Webanfragen an, den AWS WAF Classic auf schädliche Skripts untersuchen soll, z. B. den URI oder die Abfragezeichenfolge. Sie können einer Cross-Site-Scripting-Übereinstimmungsbedingung mehrere Filter hinzufügen oder eine separate Bedingung für jeden Filter erstellen. So wirkt sich jede Konfiguration auf das Verhalten von AWS WAF Classic aus:

  • Mehr als ein Filter pro Cross-Site-Scripting-Übereinstimmungsbedingung (empfohlen) — Wenn Sie einer Regel eine Cross-Site-Scripting-Abgleichsbedingung hinzufügen, die mehrere Filter enthält, und die Regel einer Web-ACL hinzufügen, muss eine Webanforderung nur einem der Filter in der Cross-Site-Scripting-Abgleichsbedingung entsprechen, damit AWS WAF Classic die Anfrage auf der Grundlage dieser Bedingung zulässt oder blockiert.

    Beispiel: Sie erstellen eine Cross-Site-Scripting-Übereinstimmungsbedingung, die zwei Filter enthält. Ein Filter weist AWS WAF Classic an, den URI auf schädliche Skripts zu untersuchen, und der andere weist AWS WAF Classic an, die Abfragezeichenfolge zu untersuchen. AWS WAF Classic lässt Anfragen zu oder blockiert sie, wenn sie bösartige Skripts entweder im URI oder in der Abfragezeichenfolge zu enthalten scheinen.

  • Ein Filter pro Cross-Site-Scripting-Übereinstimmungsbedingung — Wenn Sie die separaten Cross-Site-Scripting-Abgleichsbedingungen zu einer Regel hinzufügen und die Regel zu einer Web-ACL hinzufügen, müssen Webanfragen alle Bedingungen erfüllen, damit AWS WAF Classic Anfragen basierend auf den Bedingungen zulassen oder blockieren kann.

    Angenommen Sie erstellen zwei Bedingungen, die jeweils einen der beiden Filter im vorherigen Beispiel enthalten. Wenn Sie beide Bedingungen zu derselben Regel hinzufügen und die Regel zu einer Web-ACL hinzufügen, erlaubt oder blockiert AWS WAF Classic Anfragen nur, wenn sowohl der URI als auch die Abfragezeichenfolge schädliche Skripts zu enthalten scheinen.

Anmerkung

Wenn Sie einer Regel eine Cross-Site-Scripting-Abgleichsbedingung hinzufügen, können Sie AWS WAF Classic auch so konfigurieren, dass Webanfragen, die keine schädlichen Skripts zu enthalten scheinen, zugelassen oder blockiert werden.

So erstellen Sie eine Cross-Site Scripting-Ü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 Cross-site scripting.

  3. Wählen Sie Create condition.

  4. Geben Sie die entsprechenden Filtereinstellungen an. Weitere Informationen finden Sie unter Werte, die Sie beim Erstellen oder Bearbeiten von Cross-Site-Scripting-Übereinstimmungsbedingungen angeben.

  5. Wählen Sie Add another filter.

  6. Wenn Sie einen anderen Filter hinzufügen möchten, wiederholen Sie die Schritte 4 und 5.

  7. Wählen Sie danach Erstellen aus.

Werte, die Sie beim Erstellen oder Bearbeiten von Cross-Site-Scripting-Übereinstimmungsbedingungen angeben

Beim Erstellen oder Aktualisieren einer Cross-Site-Scripting-Übereinstimmungsbedingung, geben Sie die folgenden Werte an:

Name

Der Name der Cross-Site-Scripting-Übereinstimmungsbedingung.

Der Name darf nur die Zeichen A-Z, a-z, 0-9 und die folgenden Sonderzeichen enthalten: _-!"#`+*},./ . Sie können den Namen einer Bedingung nicht mehr ändern, nachdem Sie sie erstellt haben.

Teil der Anforderung, nach dem gefiltert werden soll

Wählen Sie den Teil jeder Webanfrage aus, den AWS WAF Classic auf bösartige Skripts untersuchen soll:

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 die Art des Vorgangs angibt, zu dem die Anfrage den Ursprung auffordert. CloudFront unterstützt die folgenden Methoden: DELETEGET,HEAD,OPTIONS,PATCH,POST, undPUT.

Abfragezeichenfolge

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

Anmerkung

Für Cross-Site-Scripting-Übereinstimmungsbedingungen empfehlen wir, dass Sie All query parameters (values only) (Alle Abfrageparameter (nur Werte)) anstelle von Query string (Abfragezeichenfolge) für Part of the request to filter on (Teil der Anforderung, nach dem gefiltert werden soll) auswählen.

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 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 die Werte eines einzelnen Parameters, sondern alle Parameterwerte innerhalb der Abfragezeichenfolge auf mögliche bösartige Skripts. Wenn die URL beispielsweise „www.xyz.com? UserName =abc& SalesRegion =seattle“ lautet und Sie Alle Abfrageparameter (nur Werte) auswählen, löst AWS WAF Classic eine Übereinstimmung aus, wenn es sich entweder um den Wert von oder um mögliche bösartige Skripts handelt. UserNameSalesRegion

Header

Wenn Sie Header für Teil der Anfrage, nach der gefiltert werden soll, ausgewählt haben, wählen Sie einen Header aus der Liste der allgemeinen Header aus, oder geben Sie den Namen eines Headers ein, den Classic auf bösartige Skripts 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

Verwenden Sie diese Option für Anforderungen mit Befehlszeilen-Befehlen des Betriebssystems, 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.

Hinzufügen und Löschen von Filtern in einer Cross-Site-Scripting-Übereinstimmungsbedingung

Sie können die Filter in einer Cross-Site-Scripting-Übereinstimmungsbedingung hinzufügen oder löschen. Um einen Filter zu ändern, fügen Sie einen neuen hinzu und löschen den alten.

So fügen Sie Filter in einer Cross-Site-Scripting-Übereinstimmungsbedingung hinzu oder löschen diese
  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 Cross-site scripting.

  3. Wählen Sie die Bedingung aus, die Sie Filtern hinzufügen oder daraus löschen möchten.

  4. Um Filter hinzuzufügen, führen Sie die folgenden Schritte aus:

    1. Wählen Sie Add filter.

    2. Geben Sie die entsprechenden Filtereinstellungen an. Weitere Informationen finden Sie unter Werte, die Sie beim Erstellen oder Bearbeiten von Cross-Site-Scripting-Übereinstimmungsbedingungen angeben.

    3. Wählen Sie Hinzufügen aus.

  5. Um Filter zu löschen, führen Sie die folgenden Schritte aus:

    1. Wählen Sie den Filter aus, den Sie löschen möchten.

    2. Wählen Sie Delete filter.

Löschen von Cross-Site-Scripting-Übereinstimmungsbedingungen

Wenn Sie eine Cross-Site-Scripting-Übereinstimmungsbedingung löschen möchten, müssen Sie alle Filter in der Bedingung löschen und diese aus allen Regeln löschen, die sie verwenden. Dies wird im Folgenden beschrieben.

So löschen Sie eine Cross-Site Scripting-Ü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 Cross-site scripting.

  3. Wählen Sie im Bereich Cross-site scripting match conditions die Cross-site Scripting-Übereinstimmungsbedingung aus, die Sie löschen möchten.

  4. Wählen Sie im rechten Bereich die Registerkarte Associated rules aus.

    Wenn die Liste der Regeln, die diese Cross-Site Scripting-Übereinstimmungsbedingung verwenden, leer ist, fahren Sie mit Schritt 6 fort. Wenn die Liste Regeln enthält, notieren Sie sich diese und fahren Sie mit Schritt 5 fort.

  5. Um die Cross-Site Scripting-Übereinstimmungsbedingung aus den Regeln, die diese verwenden, zu entfernen, führen Sie die folgenden Schritte aus:

    1. Wählen Sie im Navigationsbereich Regeln aus.

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

    3. Wählen Sie im rechten Bereich die Cross-Site Scripting-Übereinstimmungsbedingung aus, die Sie aus der Regel entfernen möchten, und wählen Sie Remove selected condition aus.

    4. Wiederholen Sie die Schritte b und c für alle übrigen Regeln, die die Cross-Site Scripting-Übereinstimmungsbedingung verwenden, die Sie löschen möchten.

    5. Wählen Sie im Navigationsbereich Cross-site scripting.

    6. Wählen Sie im Bereich Cross-site scripting match conditions die Cross-site Scripting-Übereinstimmungsbedingung aus, die Sie löschen möchten.

  6. Wählen Sie Löschen aus, um diese Bedingung zu löschen.