So funktioniert AWS WAF Classic - 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.

So funktioniert AWS WAF Classic

Anmerkung

Dies ist die AWS WAF Classic-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

Sie verwenden AWS WAF Classic, um zu steuern, wie API Gateway, Amazon CloudFront oder ein Application Load Balancer auf Webanfragen reagiert. Erstellen Sie zunächst Bedingungen, Regeln und Web-Zugriffskontrolllisten (Web-ACLs). Definieren Sie Ihre Bedingungen, kombinieren Sie diese in Regeln und kombinieren Sie die Regeln in einer Web-ACL.

Anmerkung

Sie können AWS WAF Classic auch verwenden, um Ihre Anwendungen zu schützen, die in Amazon Elastic Container Service (Amazon ECS) -Containern gehostet werden. Amazon ECS ist ein hoch skalierbarer, schneller Container-Management-Service, der das Ausführen, Beenden und Verwalten von Docker-Containern in einem Cluster vereinfacht. Um diese Option zu verwenden, konfigurieren Sie Amazon ECS so, dass ein AWS WAF Classic-fähiger Application Load Balancer verwendet wird, um den HTTP/HTTPS-Verkehr (Layer 7) zwischen den Aufgaben in Ihrem Service weiterzuleiten und zu schützen. Weitere Informationen finden Sie unter dem Thema Service Load Balancing im Amazon Elastic Container Service Developer Guide.

Bedingungen

Bedingungen definieren die grundlegenden Merkmale, auf die AWS WAF Classic bei Webanfragen achten soll:

  • Skripts sind möglicherweise bösartig. Angreifer betten Skripts ein, die Sicherheitslücken in Webanwendungen ausnutzen. Dies wird als Cross-Site-Scripting bezeichnet.

  • IP-Adressen oder Adressbereiche, aus denen Anforderungen stammen.

  • Land oder geografischer Standort, von dem die Anforderung stammt.

  • Länge der angegebenen Teile der Anforderung, wie z. B. die Abfragezeichenfolge.

  • SQL-Code, der möglicherweise bösartig ist. Angreifer, die versuchen, Daten aus Ihrer Datenbank zu extrahieren, indem sie bösartigen SQL-Code in eine Webanforderung einbetten. Dies wird als SQL Injection bezeichnet.

  • Zeichenfolgen, die in der Anforderung angezeigt werden, z. B. Werte im User-Agent-Header oder Textzeichenfolgen in der Abfragezeichenfolge. Sie können auch reguläre Ausdrücke (Regex) verwenden, um diese Zeichenfolgen anzugeben.

Einige Bedingungen nehmen mehrere Werte an. Sie können z. B. bis zu 10,000 IP-Adressen oder IP-Adressbereiche in einer IP-Bedingung angeben.

Regeln

Sie kombinieren Bedingungen zu Regeln, um genau auf die Anfragen einzugehen, die Sie zulassen, blockieren oder zählen möchten. AWS WAF Classic bietet zwei Arten von Regeln:

Reguläre Regel

Reguläre Regeln verwenden nur Bedingungen für bestimmte Anforderungen. Basierend auf den jüngsten Anforderungen von einem Angreifer, die Sie ermittelt haben, können Sie beispielsweise eine Regel erstellen, die folgenden Bedingungen enthält:

  • Die Anforderungen stammen von 192.0.2.44.

  • Sie enthalten den Wert BadBot im User-Agent-Header.

  • Sie scheinen schädlichen SQL-ähnlichen Code in die Abfragezeichenfolge einzufügen.

Wenn eine Regel mehrere Bedingungen enthält, wie in diesem Beispiel, sucht AWS WAF Classic nach Anfragen, die alle Bedingungen erfüllen — das heißt, es AND sind die Bedingungen zusammen.

Fügen Sie mindestens eine Bedingung zu einer regulären Regel hinzu. Eine reguläre Regel ohne Bedingungen kann keine Anforderungen erfüllen, sodass die Aktion der Regel (Zulassen, Zählen oder Blockieren) nie ausgelöst wird.

Ratenbasierte Regel

Ratenbasierte Regeln sind wie normale Regeln mit einem zusätzlichen Ratenlimit. Eine ratenbasierte Regel zählt die Anfragen, die von IP-Adressen kommen, die die Bedingungen der Regel erfüllen. Wenn die Anfragen von einer IP-Adresse innerhalb von fünf Minuten das Ratenlimit überschreiten, kann die Regel eine Aktion auslösen. Es kann ein oder zwei Minuten dauern, bis die Aktion ausgelöst wird.

Die Bedingungen sind für ratenbasierte Regeln optional. Wenn Sie in einer ratenbasierten Regel keine Bedingungen hinzufügen, gilt das Ratenlimit für alle IP-Adressen. Wenn Sie Bedingungen mit dem Ratenlimit kombinieren, gilt das Ratenlimit für IP-Adressen, die den Bedingungen entsprechen.

Basierend auf den jüngsten Anforderungen von einem Angreifer, die Sie ermittelt haben, können Sie beispielsweise eine ratenbasierte Regel erstellen, die die folgenden Bedingungen enthält:

  • Die Anforderungen stammen von 192.0.2.44.

  • Sie enthalten den Wert BadBot im User-Agent-Header.

In diesem ratenbasierten Regel legen Sie auch ein Ratenlimit fest. Angenommen, Sie erstellen ein Ratenlimit von 1.000. Wenn Anforderungen beide vorherigen Bedingungen erfüllen und es pro 5 Minuten mehr als 1.000 Anforderungen gibt, wird die in der Web-ACL definierte Regelaktion (Blockieren oder Zählen) ausgelöst.

Anfragen, die nicht beide Bedingungen erfüllen, werden nicht auf das Ratenlimit angerechnet und sind von dieser Regel nicht betroffen.

Nehmen wir für ein weiteres Beispiel an, Sie möchten die Anforderungen auf eine bestimmte Seite Ihrer Website beschränken. Dazu können Sie einer ratenbasierten Regel die folgende Übereinstimmungsbedingung für Zeichenfolgen hinzufügen:

  • Der Teil der Anforderung, nach dem gefiltert werden soll ist URI.

  • Der Übereinstimmungstyp ist Starts with.

  • Ein Wert, der zugeordnet werden soll ist login.

Außerdem geben Sie ein RateLimit von 1.000 an.

Indem Sie diese ratenbasierte Regel einer Web-ACL hinzufügen, können Sie die Anforderungen an Ihre Anmeldungsseite begrenzen, ohne dass der Rest Ihrer Website davon betroffen ist.

Web-ACLs

Nachdem Sie Ihre Bedingungen kombiniert haben, kombinieren Sie die Regeln in einer Web-ACL. Hier definieren Sie eine Aktion für jede Regel — Zulassen, Blockieren oder Zählen — und eine Standardaktion:

Eine Aktion für jede Regel

Wenn eine Webanforderung alle Bedingungen in einer Regel erfüllt, kann AWS WAF Classic die Anfrage entweder blockieren oder zulassen, dass die Anfrage an die API Gateway API, CloudFront Distribution oder einen Application Load Balancer weitergeleitet wird. Sie geben für jede Regel die Aktion an, die AWS WAF Classic ausführen soll.

AWS WAF Classic vergleicht eine Anfrage mit den Regeln in einer Web-ACL in der Reihenfolge, in der Sie die Regeln aufgelistet haben. AWS WAF Classic ergreift dann die Aktion, die der ersten Regel zugeordnet ist, der die Anforderung entspricht. Wenn eine Webanforderung beispielsweise einer Regel entspricht, die Anfragen zulässt, und einer anderen Regel, die Anfragen blockiert, lässt AWS WAF Classic die Anfrage entweder zu oder blockiert sie, je nachdem, welche Regel zuerst aufgeführt ist.

Wenn Sie eine neue Regel testen möchten, bevor Sie sie verwenden, können Sie AWS WAF Classic auch so konfigurieren, dass die Anfragen gezählt werden, die alle Bedingungen der Regel erfüllen. Wie Regeln zum Zulassen oder Blockieren von Anforderungen ist eine Regel, die Anforderungen zählt, von ihrer Position in der Liste der Regeln im Web-ACL abhängig. Wenn beispielsweise eine Webanforderung einer Regel entspricht, die Anforderungen zulässt, und einer zweiten Regel, die Anforderungen zählt, und wenn die Regel, die Anforderungen zulässt, zuerst aufgeführt ist, wird die Anforderung nicht gezählt.

Eine Standardaktion

Die Standardaktion bestimmt, ob AWS WAF Classic eine Anfrage zulässt oder blockiert, die nicht allen Bedingungen in einer der Regeln in der Web-ACL entspricht. Angenommen, Sie erstellen eine Web-ACL und fügen nur die Regel hinzu, die Sie zuvor definiert haben

  • Die Anforderungen stammen von 192.0.2.44.

  • Sie enthalten den Wert BadBot im User-Agent-Header.

  • Sie scheinen schädlichen SQL-Code in die Abfragezeichenfolge einzufügen.

Wenn eine Anfrage nicht alle drei Bedingungen der Regel erfüllt und die Standardaktion lautetALLOW, leitet AWS WAF Classic die Anfrage an API Gateway CloudFront oder einen Application Load Balancer weiter, und der Dienst antwortet mit dem angeforderten Objekt.

Wenn Sie einer Web-ACL zwei oder mehr Regeln hinzufügen, führt AWS WAF Classic die Standardaktion nur aus, wenn eine Anfrage nicht alle Bedingungen in einer der Regeln erfüllt. Angenommen, Sie haben eine zweite Regel mit einer Bedingung hinzugefügt.

  • Anforderungen mit dem Wert BIGBadBot im User-Agent-Header.

AWS WAF Classic führt die Standardaktion nur aus, wenn eine Anfrage nicht alle drei Bedingungen in der ersten Regel und die eine Bedingung in der zweiten Regel nicht erfüllt.

In einigen Fällen kann ein interner Fehler AWS WAF auftreten, der die Antwort an Amazon API Gateway, Amazon CloudFront oder einen Application Load Balancer bezüglich der Frage, ob eine Anfrage zugelassen oder blockiert werden soll, verzögert. In diesen Fällen CloudFront wird die Anfrage in der Regel zugelassen oder der Inhalt bereitgestellt. Ein API-Gateway und Application Load Balancer lehnen die Anforderung in der Regel ab und stellen keine Inhalte bereit.