Utilizzo di AWS WAF per proteggere le API - Amazon API Gateway

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Utilizzo di AWS WAF per proteggere le API

AWS WAF è un firewall per applicazioni Web che consente di proteggere le applicazioni Web e le API dagli attacchi. Consente di configurare un set di regole denominato lista di controllo accessi Web (web ACL) per consentire, bloccare o contare le richieste Web in base a condizioni e regole di sicurezza Web personalizzabili definite dall'utente. Per ulteriori informazioni, consulta Funzionamento di AWS WAF.

Puoi utilizzare AWS WAF per proteggere l'API di API Gateway REST da exploit Web comuni, come attacchi di iniezioni SQL e scripting cross-site (XSS). Questi potrebbero influire sulla disponibilità e sulle prestazioni delle API, compromettere la sicurezza o consumare risorse eccessive. Ad esempio, puoi creare regole per consentire o bloccare richieste da intervalli di indirizzi IP specificati, richieste da blocchi CIDR, richieste provenienti da un paese o una regione specifici, richieste che contengono codice SQL dannoso o richieste contenenti script dannoso.

Puoi anche creare regole che corrispondono a una stringa specificata o un modello di espressione regolare in intestazioni HTTP, metodo, stringa di query, URI e il corpo della richiesta (entro i primi 8 KB). Inoltre, puoi creare regole per bloccare attacchi da utenti-agenti, bad bot e scraper di contenuti. Ad esempio, puoi usare le regole basate sulla frequenza per specificare il numero di richieste Web consentite da ogni IP client in un periodo di 5 minuti, costantemente aggiornato, finale.

Importante

AWS WAF è la tua prima linea di difesa contro gli exploit Web. Quando AWS WAF è abilitato per un'API, le regole di AWS WAF vengono valutate prima di altre caratteristiche di controllo degli accessi, ad esempio policy per le risorse, policy IAM, autorizzatori Lambda e autorizzatori Amazon Cognito. Ad esempio, se AWS WAF blocca l'accesso da un blocco CIDR che è invece consentito da una policy delle risorse, AWS WAF ha la precedenza e la policy delle risorse non viene valutata.

Per abilitare AWS WAF per l'API, è necessario effettuare le seguenti operazioni:

  1. Utilizzare la console AWS WAF, l'SDK AWS o la CLI per creare un'ACL Web regionale contenente la combinazione desiderata di regole gestite da AWS WAF e regole personalizzate. Per ulteriori informazioni, consulta Nozioni di base su AWS WAF e Creazione e configurazione di un Web ACL).

    Importante

    API Gateway richiede un ACL Web regionale.

  2. Associare l'ACL Web regionale AWS WAF a una fase API. A tale scopo, usa la console AWS WAF, l'SDK AWS o la CLI oppure la console Gateway API.

Come associare un'ACL Web regionale AWS WAF ad una fase API di API Gateway tramite la console API Gateway

Per utilizzare la console API Gateway per associare un'ACL Web regionale AWS WAF a una fase API di API Gateway esistente, procedere come indicato di seguito:

  1. Accedere alla console API Gateway all'indirizzo https://console.aws.amazon.com/apigateway.

  2. Seleziona un'API esistente o creane una nuova.

  3. Nel riquadro di navigazione principale scegli Fasi, quindi seleziona una fase.

  4. Nella sezione Dettagli fase scegli Modifica.

  5. Per associare un ACL Web regionale alla fase API:

    1. In Web Application Firewall (AWS WAF), seleziona l'ACL Web regionale che desideri associare a questa fase.

  6. Seleziona Salva modifiche.

Per associare un'ACL Web regionale AWS WAF a una fase API di API Gateway tramite la AWS CLI

Per utilizzare la AWS CLI per associare un'ACL Web regionale AWS WAF a una fase API di API Gateway esistente, chiama il comando associate-web-acl, come nell'esempio seguente:

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

Associare un'ACL Web regionale AWS WAF a una fase API utilizzando l'API REST AWS WAF

Per utilizzare la API REST AWS WAF per associare un'ACL Web regionale AWS WAF a una fase API di API Gateway esistente, chiama il comando AssociateWebACL, come nell'esempio seguente:

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' )