View a markdown version of this page

Schützen Sie Ihr Gateway mit AWS WAF - Amazon Grundgestein AgentCore

Schützen Sie Ihr Gateway mit AWS WAF

Sie können AWS WAF mit Amazon Bedrock AgentCore Gateway verwenden, um Ihr Gateway vor Web-Exploits, Bot-Traffic und volumetrischen Angriffen zu schützen. AWS WAF bietet eine Inline-Sicherheitsebene, die alle eingehenden Anfragen bewertet, bevor sie Ihre Ziele erreichen.

Wenn Sie Ihrem Gateway eine AWS WAF Web Access Control List (Web ACL) zuordnen, überprüft AWS WAF jede eingehende Anfrage und wendet die von Ihnen konfigurierten Regeln an. Anfragen, die einer Blockregel entsprechen, werden abgelehnt, bevor sie ein Ziel erreichen. Sie ordnen eine Web-ACL auf Gateway-Ebene mit einer Web-ACL pro Gateway zu.

Wie AWS WAF funktioniert mit Ihrem Gateway

Wenn Sie Ihrem Gateway eine Web-ACL zuordnen, erfolgt der folgende Anforderungsablauf:

  1. Ein Client sendet eine Anfrage an Ihren Gateway-Endpunkt.

  2. AWS Die WAF bewertet die Anfrage anhand der Regeln in der zugehörigen Web-ACL.

  3. Wenn die Anfrage zulässig ist, leitet das Gateway sie an das entsprechende Ziel weiter.

  4. Wenn die Anfrage blockiert ist, gibt das Gateway einen Fehler an den Client zurück, ohne die Anfrage weiterzuleiten.

AWS WAF wertet jede eingehende Anfrage inline aus. Wenn Ihrem Gateway keine Web-ACL zugeordnet ist, entsteht kein Overhead und es findet keine AWS WAF-Auswertung statt.

Voraussetzungen

Bevor Sie Ihrem Gateway eine Web-ACL zuordnen, stellen Sie sicher, dass Sie die folgenden Anforderungen erfüllen:

  • Ihre AWS WAF-Web-ACL muss in derselben AWS Region wie Ihr Gateway existieren.

  • Sie müssen eine regionale Web-ACL verwenden. CloudFront (globale) Web-ACLs werden nicht unterstützt.

  • Ihr Gateway muss sich im READY Status befinden.

  • Ihre IAM-Identität muss über die folgenden Berechtigungen verfügen:

    • wafv2:AssociateWebACL

    • wafv2:DisassociateWebACL

    • wafv2:GetWebACLForResource

    • wafv2:ListResourcesForWebACL

    • bedrock-agentcore:GatewayAssociateWebACL

    • bedrock-agentcore:GatewayDisassociateWebACL

    • bedrock-agentcore:GatewayGetWebACLForResource

    • bedrock-agentcore:GatewayListResourcesForWebACL

Ihrem Gateway eine Web-ACL zuordnen

Sie können Ihrem Gateway mithilfe der AWS WAF-Konsole oder der AWS CLI eine Web-ACL zuordnen. Ein Gateway kann höchstens eine Web-ACL haben. Eine Web-ACL kann jedoch mehreren Gateways zugeordnet werden. Um die mit Ihrem Gateway verknüpfte Web-ACL zu ändern, ordnen Sie eine neue Web-ACL zu. Die neue Zuordnung ersetzt die bestehende.

Führen Sie den folgenden Befehl aus, um Ihrem Gateway mithilfe der AWS CLI eine Web-ACL zuzuordnen:

aws wafv2 associate-web-acl \ --web-acl-arn arn:aws:wafv2:us-east-1:123456789012:regional/webacl/my-web-acl/a1b2c3d4-5678-90ab-cdef-example11111 \ --resource-arn arn:aws:bedrock-agentcore:us-east-1:123456789012:gateway/my-gateway-id

Ersetzen Sie die ARN-Werte durch Ihren Web-ACL-ARN und Gateway-ARN.

Trennen einer Web-ACL von Ihrem Gateway

Um den AWS WAF-Schutz von Ihrem Gateway zu entfernen, trennen Sie die Web-ACL. Sie müssen alle Web-ACLS von Ihrem Gateway trennen, bevor Sie das Gateway löschen können.

Führen Sie den folgenden Befehl aus, um eine Web-ACL mithilfe der AWS CLI von Ihrem Gateway zu trennen:

aws wafv2 disassociate-web-acl \ --resource-arn arn:aws:bedrock-agentcore:us-east-1:123456789012:gateway/my-gateway-id

Ersetzen Sie den ARN-Wert durch Ihren Gateway-ARN.

Konfigurieren von AWS WAF-Fehlermodus

Wenn AWS WAF während der Anforderungsauswertung nicht erreichbar ist oder ein Timeout auftritt, verwendet das Gateway den konfigurierten Fehlermodus, um zu bestimmen, ob die Anfrage blockiert oder zugelassen werden soll.

FAIL_CLOSE

Das Gateway blockiert die Anfrage. Dies ist das Standardverhalten.

FAIL_OPEN

Das Gateway leitet die Anfrage ohne AWS WAF-Auswertung zum Ziel weiter.

Verwenden Sie die UpdateGateway API mit dem folgenden wafConfiguration Parameter, um den Fehlermodus zu konfigurieren:

aws bedrock-agentcore-control update-gateway \ --gateway-identifier my-gateway-id \ --name my-gateway \ --role-arn arn:aws:iam::123456789012:role/my-gateway-service-role \ --authorizer-type CUSTOM_JWT \ --authorizer-configuration '{ "customJWTAuthorizer": { "discoveryUrl": "https://cognito-idp.us-east-1.amazonaws.com/my-user-pool/.well-known/openid-configuration", "allowedClients": ["clientId"] } }' \ --waf-configuration '{"failureMode": "FAIL_OPEN"}'
Wichtig

Der Standardfehlermodus istFAIL_CLOSE, was einen Ansatz bietet, bei dem die Sicherheit an erster Stelle steht. Verwenden Sie diese FAIL_OPEN Option nur, wenn die Verfügbarkeit für Ihren Workload wichtiger ist als die Sicherheit.

AWS Bearbeitung von WAF-Antworten

Wenn AWS WAF eine Anfrage blockiert, hängt die Fehlerantwort von Ihrem Zieltyp ab:

MCP-Ziele

Blockierte Anfragen geben einen JSON-RPC Fehler mit Code -32002 und Meldung "Authorization error - Request forbidden" zurück.

HTTP- und Passthrough-Ziele

Blockierte Anfragen geben HTTP 403 zurück.

Wenn AWS WAF bei der FAIL_CLOSE Konfiguration das Timeout überschreitet, gibt das Gateway denselben Fehler zurück wie bei einer blockierten Anfrage. Wenn AWS WAF einen 5xx-Fehler zurückgibt, erhalten MCP-Ziele einen JSON-RPC Fehler mit Code -32603 und der Nachricht. "Internal error - Server error"

Überwachen AWS WAF-Aktivität

Sie können die AWS WAF-Aktivität für Ihr Gateway mithilfe von CloudWatch Amazon-Metriken überwachen.

Die folgenden Metriken sind im AWS/Bedrock-AgentCore Namespace verfügbar:

Metrik Description

WafBlocks

Die Anzahl der von AWS WAF blockierten Anfragen, einschließlich standardmäßiger und benutzerdefinierter Blockantworten.

WafFailOpens

Die Anzahl der Anfragen, bei denen AWS WAF nicht erreichbar war und der Fehlermodus des Gateways so lautetFAIL_OPEN, dass die Anfrage ohne AWS WAF-Auswertung an das Ziel weitergeleitet wurde. Dauerhafte Werte ungleich Null deuten darauf hin, dass Ihr Gateway Datenverkehr ohne WAF-Inspektion durchlässt. AWS

WafFailCloses

Die Anzahl der Anfragen, bei denen AWS WAF nicht erreichbar war und der Fehlermodus des Gateways lautetFAIL_CLOSE, sodass die Anfrage abgelehnt wurde. Dauerhafte Werte ungleich Null deuten darauf hin, dass Ihr Gateway den Datenverkehr aufgrund der Unerreichbarkeit der WAF einstellt AWS .

Verwenden Sie die WAF-Protokollierung, um Details zu blockierten Anfragen auf Regelebene zu erhalten. AWS Sie können die Anforderungs-ID in Ihren Gateway-Protokollen mit den WAF-Protokollen korrelieren. AWS

Kontingente und Einschränkungen

Die folgenden Kontingente und Einschränkungen gelten für die AWS WAF-Integration mit Ihrem Gateway:

  • Maximal 100 Web-ACL-Verknüpfungen pro Konto.

  • AWS Die WAF-Zuordnung erfolgt nur auf Gateway-Ebene, nicht pro Ziel. Verwenden Sie auf URI-Pfaden basierende AWS WAF-Regeln, um unterschiedliche Regeln auf verschiedene Ziele anzuwenden.

  • AWS Die WAF-Integration ist in AWS Regionen verfügbar, in denen sowohl AWS WAF als auch Gateway verfügbar sind. AgentCore

Bewährte Methoden

Wir empfehlen die folgenden Methoden, wenn Sie AWS WAF mit Ihrem Gateway verwenden:

  • Verwenden Sie Regelgruppen mit AWS verwalteten Regeln für allgemeinen Schutz vor bekannten Bedrohungen.

  • Implementieren Sie ratenbasierte Regeln, um sich vor volumetrischen Angriffen zu schützen.

  • Verwenden Sie IP-based Regeln, um bekannte Quellen zuzulassen oder abzulehnen.

  • Testen Sie die AWS WAF-Regeln im COUNT Modus, bevor Sie zu wechseln, BLOCK um die Auswirkungen auf Ihren Traffic zu verstehen.

  • Überwachen Sie die WafBlocksWafFailOpens, und WafFailCloses Metriken, um Ihre Regeln zu optimieren und Probleme zu identifizieren.

  • Verwenden Sie den FAIL_CLOSE Standardmodus für sicherheitsrelevante Workloads. Verwenden Sie FAIL_OPEN ihn nur, wenn die Verfügbarkeit entscheidend ist und Sie andere Sicherheitskontrollen eingerichtet haben.