Weitergeleitete IP-Adresse - 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.

Weitergeleitete IP-Adresse

Dieser Abschnitt gilt für Regelanweisungen, die die IP-Adresse einer Webanforderung verwenden. AWS WAF Verwendet standardmäßig die IP-Adresse aus dem Ursprung der Webanfrage. Wenn eine Webanforderung jedoch einen oder mehrere Proxys oder Load Balancer durchläuft, enthält der Ursprung der Webanforderung die Adresse des letzten Proxys und nicht die Ursprungsadresse des Clients. In diesem Fall wird die ursprüngliche Clientadresse normalerweise in einem anderen HTTP-Header weitergeleitet. Dieser Header ist normalerweise X-Forwarded-For (XFF), es kann aber auch ein anderer sein.

Regelanweisungen, die IP-Adressen verwenden

Folgende Regelanweisungen verwenden IP-Adressen:

  • IP-Set-Übereinstimmung – Prüft die IP-Adresse auf eine Übereinstimmung mit den Adressen, die in einem IP-Set definiert sind.

  • Geographische Übereinstimmung- Verwendet die IP-Adresse, um das Herkunftsland und die Herkunftsregion zu bestimmen, und vergleicht das Herkunftsland mit einer Liste von Ländern.

  • Ratenbasierte Regelanweisung- Kann Anfragen nach ihren IP-Adressen zusammenfassen, um sicherzustellen, dass keine einzelne IP-Adresse Anfragen mit zu hoher Geschwindigkeit sendet. Sie können die IP-Adressaggregation allein oder in Kombination mit anderen Aggregationsschlüsseln verwenden.

Sie können anweisen AWS WAF , für jede dieser Regelanweisungen eine weitergeleitete IP-Adresse zu verwenden, entweder aus dem X-Forwarded-For Header oder aus einem anderen HTTP-Header, anstatt den Ursprung der Webanfrage zu verwenden. Einzelheiten zur Bereitstellung der Spezifikationen finden Sie in den Empfehlungn zu den einzelnen Regelausweisungstypen.

Anmerkung

Wenn der von Ihnen angegebene Header in der Anfrage nicht vorhanden ist, wird die Regel überhaupt AWS WAF nicht auf die Webanforderung angewendet.

Fallback-Verhalten

Wenn Sie die weitergeleitete IP-Adresse verwenden, geben Sie den Übereinstimmungsstatus AWS WAF an, der der Webanfrage zugewiesen werden soll, falls die Anfrage an der angegebenen Position keine gültige IP-Adresse hat:

  • MATCH — Behandelt die Webanforderung so, als ob sie der Regelanweisung entspricht. AWS WAF wendet die Regelaktion auf die Anfrage an.

  • KEINE ÜBEREINSTIMMUNG — Behandelt die Webanforderung als nicht übereinstimmend mit der Regelanweisung.

In AWS WAF Bot Control verwendete IP-Adressen

Die von Bot Control verwaltete Regelgruppe verifiziert Bots anhand der IP-Adressen von AWS WAF. Wenn Sie Bot Control verwenden und verifizierte Bots haben, die durch einen Proxy oder Load Balancer geleitet werden, müssen Sie sie explizit mit einer benutzerdefinierten Regel zulassen. Sie können beispielsweise eine benutzerdefinierte IP-Set-Abgleichregel konfigurieren, die Ihre verifizierten Bots anhand weitergeleiteter IP-Adressen erkennt und zulässt. Mit der Regel können Sie Ihre Bot-Verwaltung auf verschiedene Arten anpassen. Weitere Informationen und Beispiele finden Sie unter AWS WAF Bot-Steuerung.

Allgemeine Überlegungen zur Verwendung weitergeleiteter IP-Adressen

Bedenken Sie Folgendes, bevor Sie eine weitergeleitete IP-Adresse verwenden:

  • Ein Header kann auf dem Weg von Proxys geändert werden, und die Proxys behandeln den Header möglicherweise auf verschiedene Arten.

  • Angreifer können den Inhalt des Headers ändern, um AWS WAF -Inspektionen zu umgehen.

  • Die IP-Adresse im Header kann fehlerhaft oder ungültig sein.

  • Der von Ihnen angegebene Header ist möglicherweise überhaupt nicht in einer Anforderung vorhanden.

Überlegungen zur Verwendung weitergeleiteter IP-Adressen mit AWS WAF

In der folgenden Liste werden die Anforderungen und Vorbehalte für die Verwendung weitergeleiteter IP-Adressen in AWS WAF folgenden Bereichen beschrieben:

  • Für jede einzelne Regel können Sie einen Header für die weitergeleitete IP-Adresse angeben. Bei der Header-Spezifikation wird zwischen Groß- und Kleinschreibung unterschieden.

  • Bei ratenbasierten Regelanweisungen übernehmen verschachtelte Eingrenzungsanweisungen die weitergeleitete IP-Konfiguration nicht. Geben Sie die Konfiguration für jede Anweisung an, die eine weitergeleitete IP-Adresse verwendet.

  • AWS WAF Verwendet für Geo-Match- und ratenbasierte Regeln die erste Adresse in der Kopfzeile. Wenn eine Kopfzeile beispielsweise Verwendungen enthält 10.1.1.1, 127.0.0.0, 10.10.10.10 AWS WAF 10.1.1.1

  • Für einen IP-Set-Abgleich geben Sie an, ob ein Abgleich mit der ersten, letzten oder irgendeiner Adresse im Header durchgeführt werden soll. Wenn Sie eine angeben, werden alle AWS WAF Adressen in der Kopfzeile auf eine Übereinstimmung überprüft, bis zu 10 Adressen. Wenn die Kopfzeile mehr als 10 Adressen enthält, werden die letzten AWS WAF 10 überprüft.

  • Bei Headern mit mehreren Adressen müssen die einzelnen Adressen durch Kommata getrennt sein. Wenn eine Anforderung ein anderes Trennzeichen als ein Komma verwendet, betrachtet AWS WAF die IP-Adressen im Header als fehlerhaft.

  • Wenn die IP-Adressen im Header fehlerhaft oder ungültig sind, bezeichnet AWS WAF die Webanforderung entsprechend dem Fallback-Verhalten, das Sie in der Konfiguration für weitergeleitete IP-Adressen angeben, als mit der Regel übereinstimmend oder nicht.

  • Wenn der von Ihnen angegebene Header in einer Anfrage nicht vorhanden ist, AWS WAF wird die Regel überhaupt nicht auf die Anfrage angewendet. Das AWS WAF bedeutet, dass die Regelaktion nicht angewendet wird und das Fallback-Verhalten nicht angewendet wird.

  • Eine Regelanweisung, die einen weitergeleiteten IP-Header für die IP-Adresse verwendet, verwendet nicht die IP-Adresse, die vom Ursprung der Webanforderung gemeldet wird.

Bewährte Methoden für die Verwendung weitergeleiteter IP-Adressen mit AWS WAF

Halten Sie sich an die folgenden bewährten Methoden, wenn Sie weitergeleitete IP-Adressen verwenden:

  • Berücksichtigen Sie sorgfältig alle möglichen Status Ihrer Anforderungsheader, bevor Sie die Konfiguration für weitergeleitete IP-Adressen aktivieren. Möglicherweise müssen Sie mehr als eine Regel verwenden, um das gewünschte Verhalten zu erhalten.

  • Verwenden Sie für jede IP-Adressquelle eine Regel, um mehrere weitergeleitete IP-Header zu überprüfen oder den Ursprung der Webanforderung und einen weitergeleiteten IP-Header zu überprüfen.

  • Zum Blockieren der Webanforderungen mit ungültigen Headern stellen Sie die Regelaktion auf Blockieren und das Fallback-Verhalten für die Konfiguration für weitergeleitete IP-Adressen entsprechend ein.

Beispiel-JSON-Code für weitergeleitete IP-Adressen

Die folgende Geo-Übereinstimmungsanweisung stimmt nur überein, falls der X-Forwarded-For-Header eine IP enthält, deren Herkunftsland die US sind:

{ "Name": "XFFTestGeo", "Priority": 0, "Action": { "Block": {} }, "VisibilityConfig": { "SampledRequestsEnabled": true, "CloudWatchMetricsEnabled": true, "MetricName": "XFFTestGeo" }, "Statement": { "GeoMatchStatement": { "CountryCodes": [ "US" ], "ForwardedIPConfig": { "HeaderName": "x-forwarded-for", "FallbackBehavior": "MATCH" } } } }

Die folgende ratenbasierte Regel aggregiert Anforderungen basierend auf der ersten IP im X-Forwarded-For-Header. Die Regel zählt nur Anfragen, die mit der verschachtelten Geo-Match-Anweisung übereinstimmen, und blockiert nur Anfragen, die der Geo-Match-Anweisung entsprechen. Die verschachtelte Geo-Übereinstimmungsanweisung stellt außerdem anhand des X-Forwarded-For-Headers fest, ob die IP-Adresse aus den US stammt. Falls dies der Fall ist oder der Header vorhanden, aber fehlerhaft ist, gibt die Geo-Übereinstimmungsanweisung eine Übereinstimmung zurück.

{ "Name": "XFFTestRateGeo", "Priority": 0, "Action": { "Block": {} }, "VisibilityConfig": { "SampledRequestsEnabled": true, "CloudWatchMetricsEnabled": true, "MetricName": "XFFTestRateGeo" }, "Statement": { "RateBasedStatement": { "Limit": "100", "AggregateKeyType": "FORWARDED_IP", "ScopeDownStatement": { "GeoMatchStatement": { "CountryCodes": [ "US" ], "ForwardedIPConfig": { "HeaderName": "x-forwarded-for", "FallbackBehavior": "MATCH" } } }, "ForwardedIPConfig": { "HeaderName": "x-forwarded-for", "FallbackBehavior": "MATCH" } } } }