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:
-
Ein Client sendet eine Anfrage an Ihren Gateway-Endpunkt.
-
AWS Die WAF bewertet die Anfrage anhand der Regeln in der zugehörigen Web-ACL.
-
Wenn die Anfrage zulässig ist, leitet das Gateway sie an das entsprechende Ziel weiter.
-
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
READYStatus 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
-32002und 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 |
|---|---|
|
|
Die Anzahl der von AWS WAF blockierten Anfragen, einschließlich standardmäßiger und benutzerdefinierter Blockantworten. |
|
|
Die Anzahl der Anfragen, bei denen AWS WAF nicht erreichbar war und der Fehlermodus des Gateways so lautet |
|
|
Die Anzahl der Anfragen, bei denen AWS WAF nicht erreichbar war und der Fehlermodus des Gateways lautet |
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
COUNTModus, bevor Sie zu wechseln,BLOCKum die Auswirkungen auf Ihren Traffic zu verstehen. -
Überwachen Sie die
WafBlocksWafFailOpens, undWafFailClosesMetriken, um Ihre Regeln zu optimieren und Probleme zu identifizieren. -
Verwenden Sie den
FAIL_CLOSEStandardmodus für sicherheitsrelevante Workloads. Verwenden SieFAIL_OPENihn nur, wenn die Verfügbarkeit entscheidend ist und Sie andere Sicherheitskontrollen eingerichtet haben.