Wie wende ich ein Ratenlimit für einen bestimmten Anforderungsparameter oder URI in AWS WAF an?

Lesedauer: 5 Minute
0

Wie wende ich ein Ratenlimit für einen bestimmten Anforderungsparameter oder URI in AWS WAF an?

Kurzbeschreibung

AWS WAF verfügt über ratenbasierte Regeln, die die Rate der Anfragen für jede ursprüngliche IP-Adresse verfolgen. Die Regeln initiieren die Regelaktion für IPs mit Raten, die innerhalb eines Zeitraums von fünf Minuten einen bestimmten Grenzwert überschreiten.

Sie können eine ratenbasierte Regel verwenden, um Anfragen von einer IP-Adresse, die übermäßige Anfragen sendet, vorübergehend zu sperren. Standardmäßig aggregiert AWS WAF Anfragen basierend auf der IP-Adresse aus dem Ursprung der Webanforderung. Sie können die Regel jedoch so konfigurieren, dass stattdessen eine IP-Adresse aus einem HTTP-Header wie X-Forwarded-For verwendet wird.

Für diese ratenbasierten Regelanweisungen können Sie Bedingungen auch als Teil von Scopedown-Anweisungen definieren. Sie können Bedingungen definieren, sodass nur die Anforderungen, die den Scopedown-Anweisungen entsprechen, für die Auswertung durch diese Regel berücksichtigt werden.

Hinweis: Die AWS-WAF-Konsole bietet keine Option für „Scope-Down-Anweisungen“ für eine ratenbasierte Regel. Wählen Sie die Option Nur Anforderungen berücksichtigen, die den Kriterien in einer Regelanweisung entsprechen, um das Äquivalent zu einer Scopedown-Anweisung zu erstellen.

In der folgenden Lösung werden zwei Szenarien betrachtet, in denen Sie die ratenbasierte Regel für einen bestimmten Parameter anpassen können.

Auflösung

Szenario 1: Hinzufügen eines Ratenlimits zu einem bestimmten URI

Hinweis: Sie können jeden Anforderungsparameter angeben.

  1. Öffnen Sie die AWS-WAF-Konsole.
  2. Wählen Sie Web-ACLs
  3. Wählen Sie die Web-ACL und dann die Registerkarte Regeln.
  4. Wählen Sie Regeln hinzufügen aus.
  5. Wählen Sie Eigene Regeln und Regelgruppen hinzufügen aus.
  6. Wählen Sie Regel-Generator für den Regeltyp aus.
  7. Geben Sie einen Namen ein und wählen Sie ratenbasierte Regel aus.
  8. Geben Sie die folgenden Parameter für die Details der Anforderungsrate ein:
    Ratenlimit: Geben Sie eine Zahl zwischen 100 und 20.000.000 ein. Dies ist die maximal zulässige Anzahl von Anfragen für jede IP in einem Zeitraum von 5 Minuten.
    Zur Ratenbegrenzung zu verwendende IP-Adresse: Wenn Sie eine Ratenbegrenzung basierend auf dem Feld Client-IP festlegen möchten, wählen Sie Quell-IP-Adresse aus. Oder, wenn Sie eine Ratenbegrenzung basierend auf der IP-Adresse im Header festlegen möchten, wählen Sie IP-Adresse im Header aus. Zum Beispiel X-Forwarder-for.
    Kriterien zum Zählen von Anforderungen in Richtung Ratenlimit: Wählen Sie Nur Anforderungen berücksichtigen, die den Kriterien in einer Regelaussage entsprechen.
  9. Wählen Sie in der Dropdownliste Bei einer Anfrage die Option Übereinstimmend mit der Anweisung aus. Wenn Sie mehrere Bedingungen angeben müssen, können Sie diese Auswahl entsprechend Ihrem Anwendungsfall ändern.
  10. Füllen Sie die folgenden Felder im Abschnitt Anweisungsdetails aus:
    Hinweis: In diesem Beispiel liegt das Ratenlimit auf dem URI-Pfad „/admin“. Sie können die Details basierend auf Ihrem Anwendungsfall ändern.
    Prüfen: URI-Pfad
    Übereinstimmungstyp: Enthält eine Zeichenfolge
    Übereinstimmende Zeichenfolge: /admin
    Texttransformation: Keine
  11. Wählen Sie im Abschnitt Aktion die Option Blockieren aus.
  12. Wählen Sie Regel hinzufügen aus. Verschieben Sie die Regel auf die richtige Priorität für Ihren Anwendungsfall, und wählen Sie dann Speichern aus.

Szenario 2: Ausgewählte interne IPs von Ratenlimitregeln ausschließen

Erstellen Sie in diesem Szenario einen IP-Satz, der alle Ihre internen IPs enthält. Schließen Sie dann diese in der Scope-Down-Anweisung festgelegte IP aus.

Führen Sie die folgenden Schritte aus, um einen IP-Satz von einer ratenbasierten Regel auszuschließen:

  1. Öffnen Sie die AWS-WAF-Konsole.
  2. Wählen Sie Web-ACLs aus.
  3. Wählen Sie die Web-ACL und dann die Registerkarte Regeln.
  4. Wählen Sie Regeln hinzufügen aus.
  5. Wählen Sie Eigene Regeln und Regelgruppen hinzufügen aus.
  6. Wählen Sie Regel-Generator für den Regeltyp aus.
  7. Geben Sie einen Namen ein, und wählen Sie ratenbasierte Regel als Typ aus.
  8. Geben Sie die folgenden Parameter für die Details der Anforderungsrate ein:
    Ratenlimit: Geben Sie eine Zahl zwischen 100 und 20.000.000 ein. Dies ist die maximal zulässige Anzahl von Anfragen für jede IP in einem Zeitraum von 5 Minuten.
    Zur Ratenbegrenzung zu verwendende IP-Adresse: Wenn Sie die Ratenbegrenzung basierend auf dem Feld Client-IP festlegen möchten, wählen Sie Quell-IP-Adresse aus. Wenn Sie die Ratenbegrenzung basierend auf der IP-Adresse im Header festlegen möchten, wählen Sie IP-Adresse im Header aus. Zum Beispiel X-Forwarder-for.
    Kriterien zum Zählen von Anforderungen in Richtung Ratenlimit: Wählen Sie Nur Anforderungen berücksichtigen, die den Kriterien in einer Regelaussage entsprechen.
  9. Wählen Sie in der Dropdownliste Wenn eine Anfrage die Option Nicht mit der Anweisung übereinstimmend (NICHT) aus.
  10. Füllen Sie die folgenden Felder im Abschnitt Anweisungsdetails aus:
    Prüfen: Stammt von einer IP-Adresse in.
    IP Set: Wählen Sie das IP-Set aus der Dropdown-Liste aus.
    IP-Adresse, die als Ursprungsadresse verwendet werden soll: Wenn Sie die Ratenbegrenzung basierend auf dem Feld Client-IP festlegen möchten, wählen Sie Quell-IP-Adresse aus. Wenn Sie die Ratenbegrenzung basierend auf der IP-Adresse im Header festlegen möchten, wählen Sie IP-Adresse im Header aus. Zum Beispiel X-Forwarder-for.
  11. Wählen Sie im Abschnitt Aktion die Option Blockieren aus.
  12. Wählen Sie Regel hinzufügen aus. Verschieben Sie die Regel auf die richtige Priorität für Ihren Anwendungsfall, und wählen Sie dann Speichern aus.

AWS OFFICIAL
AWS OFFICIALAktualisiert vor 2 Jahren