Verwenden Sie AWS WAF , um Ihre REST-APIs in API Gateway zu schützen - APIAmazon-Gateway

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.

Verwenden Sie AWS WAF , um Ihre REST-APIs in API Gateway zu schützen

AWS WAF ist eine Firewall für Webanwendungen, die hilft, Webanwendungen und APIs vor Angriffen zu schützen. Sie ermöglicht es ihnen, eine Gruppe von Regeln (eine sogenannte Web-Zugriffskontrollliste oder Web-ACL) zum Zulassen, Blockieren oder Zählen von Webanforderungen basierend auf von Ihnen definierten anpassbaren Web-Sicherheitsregeln und Bedingungen zu konfigurieren. Weitere Informationen finden Sie unter So AWS WAF funktioniert es.

Sie können AWS WAF damit Ihre API Gateway REST API vor gängigen Web-Exploits wie SQL-Injection und Cross-Site Scripting (XSS) -Angriffen schützen. Diese können sich auf die Verfügbarkeit und Leistung der API auswirken, die Sicherheit gefährden oder übermäßige Ressourcen verbrauchen. Sie können beispielsweise Regeln zum Zulassen oder Blockieren von Anforderungen von angegebenen IP-Adressbereichen, Anforderungen von CIDR-Blocks, Anforderungen aus einem bestimmten Land oder einer bestimmten Region, Anforderungen mit bösartigem SQL-Code oder Anforderungen mit bösartigem Skript erstellen.

Sie können auch Regeln erstellen, die einer bestimmten Zeichenfolge oder einem regulären Ausdrucksmuster in HTTP-Headern, Methoden, Abfragezeichenfolgen, URI und dem Anforderungstext entsprechen (begrenzt auf die ersten 64 KB). Außerdem können Sie Regeln zum Blockieren von Angriffen von bestimmten Benutzeragenten, bösartigen Bots und Content Scrapers erstellen. Beispielsweise können Sie mit durchsatzbasierten Regeln die Anzahl der zulässigen Webanforderungen angeben, die von jeder Client-IP in einem sich anschließenden, fortlaufend aktualisierten 5-Minuten-Zeitraum zugelassen werden.

Wichtig

AWS WAF ist Ihre erste Verteidigungslinie gegen Web-Exploits. Wenn auf einer API aktiviert AWS WAF ist, werden AWS WAF Regeln vor anderen Zugriffskontrollfunktionen wie Ressourcenrichtlinien, IAM-Richtlinien, Lambda-Autorisierern und Amazon CognitoCognito-Autorisierern ausgewertet. Wenn beispielsweise der Zugriff über einen CIDR-Block AWS WAF blockiert wird, den eine Ressourcenrichtlinie zulässt, hat dies AWS WAF Vorrang und die Ressourcenrichtlinie wird nicht bewertet.

Um die API AWS WAF zu aktivieren, müssen Sie wie folgt vorgehen:

  1. Verwenden Sie die AWS WAF Konsole, das AWS SDK oder die CLI, um eine Web-ACL zu erstellen, die die gewünschte Kombination aus AWS WAF verwalteten Regeln und Ihren eigenen benutzerdefinierten Regeln enthält. Weitere Informationen finden Sie unter Erste Schritte mit AWS WAF und Web Access Control Lists (Web-ACLs).

    Wichtig

    API Gateway benötigt eine AWS WAFV2 Web-ACL für eine regionale Anwendung oder eine AWS WAF Classic Regional Web-ACL.

  2. Ordnen Sie die AWS WAF Web-ACL einer API-Stufe zu. Sie können dies mithilfe der AWS WAF Konsole, des AWS SDK, der CLI oder der API Gateway Gateway-Konsole tun.

So verknüpfen Sie mithilfe der API Gateway Gateway-Konsole eine AWS WAF Web-ACL mit einer API-Gateway-API-Stufe

Gehen Sie wie folgt vor, um mit der API Gateway Gateway-Konsole eine AWS WAF Web-ACL einer vorhandenen API-Gateway-API-Stufe zuzuordnen:

  1. Melden Sie sich bei der API-Gateway-Konsole unter https://console.aws.amazon.com/apigateway an.

  2. Wählen Sie eine vorhandene API oder erstellen Sie eine neue.

  3. Wählen Sie im Hauptnavigationsbereich Stages (Stufen) und anschließend eine Stufe aus.

  4. Wählen Sie im Abschnitt Stage details (Stufendetails) die Option Edit (Bearbeiten) aus.

  5. Wählen Sie unter Web Application Firewall (AWS WAF) Ihre Web-ACL aus.

    Wenn Sie verwenden AWS WAFV2, wählen Sie eine AWS WAFV2 Web-ACL für eine regionale Anwendung aus. Die Web-ACL und alle anderen AWS WAFV2 Ressourcen, die sie verwendet, müssen sich in derselben Region wie Ihre API befinden.

    Wenn Sie eine regionale Web-ACL verwenden AWS WAF Classic Regional, wählen Sie eine regionale Web-ACL aus.

  6. Wählen Sie Änderungen speichern aus.

Ordnen Sie eine AWS WAF Web-ACL einer API-Gateway-API-Stufe zu, indem Sie den AWS CLI

Rufen Sie den associate-web-aclBefehl wie im folgenden Beispiel auf, AWS CLI um eine AWS WAFV2 Web-ACL für eine regionale Anwendung mit einer vorhandenen API-Gateway-API-Stufe zu verknüpfen:

aws wafv2 associate-web-acl \ --web-acl-arn arn:aws:wafv2:{region}:111122223333:regional/webacl/test-cli/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111 \ --resource-arn arn:aws:apigateway:{region}::/restapis/4wk1k4onj3/stages/prod

Rufen Sie den associate-web-aclBefehl AWS CLI auf, um eine AWS WAF Classic Regional Web-ACL mit einer vorhandenen API-Gateway-API-Stufe zu verknüpfen, wie im folgenden Beispiel gezeigt:

aws waf-regional associate-web-acl \ --web-acl-id 'aabc123a-fb4f-4fc6-becb-2b00831cadcf' \ --resource-arn 'arn:aws:apigateway:{region}::/restapis/4wk1k4onj3/stages/prod'

Ordnen Sie mithilfe der REST-API eine AWS WAF Web-ACL einer API-Stufe zu AWS WAF

Um mithilfe der AWS WAFV2 REST-API eine AWS WAFV2 Web-ACL für eine regionale Anwendung einer vorhandenen API-Gateway-API-Stufe zuzuordnen, verwenden Sie den AssociateWebACL-Befehl wie im folgenden Beispiel:

import boto3 wafv2 = boto3.client('wafv2') wafv2.associate_web_acl( WebACLArn='arn:aws:wafv2:{region}:111122223333:regional/webacl/test/abc6aa3b-fc33-4841-b3db-0ef3d3825b25', ResourceArn='arn:aws:apigateway:{region}::/restapis/4wk1k4onj3/stages/prod' )

Um mithilfe der AWS WAF REST-API eine AWS WAF Classic Regional Web-ACL einer vorhandenen API-Gateway-API-Stufe zuzuordnen, verwenden Sie den AssociateWebACL-Befehl wie im folgenden Beispiel:

import boto3 waf = boto3.client('waf-regional') waf.associate_web_acl( WebACLId='aabc123a-fb4f-4fc6-becb-2b00831cadcf', ResourceArn='arn:aws:apigateway:{region}::/restapis/4wk1k4onj3/stages/prod' )