View a markdown version of this page

Proteggi il tuo gateway con AWS WAF - Amazon Bedrock AgentCore

Proteggi il tuo gateway con AWS WAF

Puoi usare AWS WAF con Amazon Bedrock AgentCore Gateway per proteggere il tuo gateway da exploit web, traffico bot e attacchi volumetrici. AWS WAF fornisce un livello di sicurezza in linea che valuta tutte le richieste in entrata prima che raggiungano i tuoi obiettivi.

Quando si associa una lista di controllo degli accessi Web AWS WAF (Web ACL) al gateway, AWS WAF ispeziona ogni richiesta in entrata e applica le regole configurate. Le richieste che corrispondono a una regola di blocco vengono rifiutate prima di raggiungere qualsiasi obiettivo. È possibile associare un ACL Web a livello di gateway, a un ACL Web per gateway.

In che modo AWS WAF funziona con il tuo gateway

Quando si associa un ACL Web al gateway, si verifica il seguente flusso di richieste:

  1. Un client invia una richiesta all'endpoint del gateway.

  2. AWS WAF valuta la richiesta in base alle regole dell'ACL web associato.

  3. Se la richiesta è consentita, il gateway la indirizza alla destinazione appropriata.

  4. Se la richiesta è bloccata, il gateway restituisce un errore al client senza inoltrare la richiesta.

AWS WAF valuta ogni richiesta in entrata in linea. Quando nessun ACL web è associato al gateway, non vi è alcun sovraccarico e non viene effettuata alcuna valutazione WAF. AWS

Prerequisiti

Prima di associare un ACL web al gateway, assicuratevi di soddisfare i seguenti requisiti:

  • L'ACL web AWS WAF deve esistere nella stessa AWS regione del gateway.

  • È necessario utilizzare un ACL web regionale. CloudFront Gli ACL web (globali) non sono supportati.

  • Il gateway deve essere attivoREADY.

  • La tua identità IAM deve disporre delle seguenti autorizzazioni:

    • wafv2:AssociateWebACL

    • wafv2:DisassociateWebACL

    • wafv2:GetWebACLForResource

    • wafv2:ListResourcesForWebACL

    • bedrock-agentcore:GatewayAssociateWebACL

    • bedrock-agentcore:GatewayDisassociateWebACL

    • bedrock-agentcore:GatewayGetWebACLForResource

    • bedrock-agentcore:GatewayListResourcesForWebACL

Associazione di un ACL web al gateway

È possibile associare un ACL Web al gateway utilizzando la console AWS WAF o la CLI AWS . Un gateway può avere al massimo un ACL web. Tuttavia, un ACL web può essere associato a più gateway. Per modificare l'ACL Web associato al gateway, associa un nuovo ACL Web. La nuova associazione sostituisce quella esistente.

Per associare un ACL Web al gateway utilizzando la AWS CLI, esegui il comando seguente:

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

Sostituisci i valori ARN con il tuo ARN ACL web e l'ARN del gateway.

Dissociazione di un ACL Web dal gateway

Per rimuovere la protezione AWS WAF dal gateway, dissocia l'ACL web. È necessario dissociare qualsiasi ACL Web dal gateway prima di poter eliminare il gateway.

Per dissociare un ACL Web dal gateway utilizzando la AWS CLI, esegui il comando seguente:

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

Sostituisci il valore ARN con il tuo gateway ARN.

Configurazione della AWS modalità di errore WAF

Se il AWS WAF non è raggiungibile o scade durante la valutazione della richiesta, il gateway utilizza la modalità di errore configurata per determinare se bloccare o consentire la richiesta.

FAIL_CLOSE

Il gateway blocca la richiesta. Questo è il comportamento che segue di default.

FAIL_OPEN

Il gateway consente alla richiesta di pervenire alla destinazione senza la valutazione AWS WAF.

Per configurare la modalità di errore, utilizza l'UpdateGatewayAPI con il wafConfiguration parametro:

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"}'
Importante

La modalità di errore predefinita èFAIL_CLOSE, che fornisce un approccio incentrato sulla sicurezza. Utilizzala FAIL_OPEN solo quando la disponibilità è più importante della sicurezza per il tuo carico di lavoro.

AWS Gestione della risposta WAF

Quando AWS WAF blocca una richiesta, la risposta all'errore dipende dal tipo di destinazione:

Obiettivi MCP

Le richieste bloccate restituiscono un JSON-RPC errore con il codice -32002 e il messaggio"Authorization error - Request forbidden".

Obiettivi HTTP e passthrough

Le richieste bloccate restituiscono HTTP 403.

Se il timeout AWS WAF è FAIL_CLOSE configurato, il gateway restituisce lo stesso errore di una richiesta bloccata. Se AWS WAF restituisce un errore 5xx, le destinazioni MCP ricevono un JSON-RPC errore con il codice -32603 e il messaggio. "Internal error - Server error"

Monitoraggio AWS Attività WAF

Puoi monitorare l'attività AWS WAF per il tuo gateway utilizzando i CloudWatch parametri di Amazon.

Le seguenti metriche sono disponibili nel namespace: AWS/Bedrock-AgentCore

Metrica Description

WafBlocks

Il numero di richieste bloccate da AWS WAF, incluse le risposte ai blocchi predefinite e personalizzate.

WafFailOpens

Il numero di richieste in cui il AWS WAF non era raggiungibile e la modalità di errore del gateway è pari a zeroFAIL_OPEN, quindi la richiesta è stata inoltrata alla destinazione senza valutazione WAF. AWS I valori sostenuti diversi da zero indicano che il gateway sta lasciando passare il traffico senza l'ispezione WAF. AWS

WafFailCloses

Il numero di richieste in cui il AWS WAF non era raggiungibile e la modalità di errore del gateway è pari a zero, quindi la richiesta è FAIL_CLOSE stata rifiutata. I valori sostenuti diversi da zero indicano che il gateway sta interrompendo il traffico a causa dell'irraggiungibilità del WAF. AWS

Per ottenere dettagli a livello di regola sulle richieste bloccate, utilizza la registrazione WAF. AWS È possibile correlare l'ID della richiesta nei log del gateway con i log WAF. AWS

Quote e limiti

Le seguenti quote e limitazioni si applicano all'integrazione AWS WAF con il gateway:

  • Massimo 100 associazioni ACL Web per account.

  • AWS L'associazione WAF è solo a livello di gateway, non per destinazione. Per applicare regole diverse a obiettivi diversi, utilizza le regole WAF basate su percorsi AWS URI.

  • AWS L'integrazione WAF è disponibile AWS nelle regioni in cui sono disponibili sia AWS WAF che Gateway. AgentCore

Best practice

Consigliamo le seguenti pratiche quando si utilizza AWS WAF con il gateway:

  • Utilizza i gruppi di regole AWS Managed Rules per protezioni comuni contro le minacce note.

  • Implementa regole basate sulla frequenza per proteggerti dagli attacchi volumetrici.

  • Utilizza IP-based le regole per consentire o negare l'elenco delle fonti note.

  • Prova le regole AWS WAF in COUNT modalità prima di passare BLOCK a per comprendere l'impatto sul traffico.

  • Monitora WafBlocks WafFailOpens le WafFailCloses metriche e per ottimizzare le regole e identificare i problemi.

  • Utilizza la FAIL_CLOSE modalità predefinita per carichi di lavoro sensibili alla sicurezza. Utilizzala FAIL_OPEN solo quando la disponibilità è fondamentale e disponi di altri controlli di sicurezza.