Gestione dei falsi positivi in AWS WAF
Panoramica
L'aggiunta di controlli di sicurezza come il WAF a un'applicazione web aumenta i rischi di introduzione di falsi positivi. I falsi positivi sono il blocco delle richieste legittime degli utenti, il che non è un effetto collaterale auspicabile dell'utilizzo di un WAF. La gestione dei falsi positivi include la progettazione di regole che li riducano al minimo, il rilevamento delle loro occorrenze e la loro mitigazione sul lato dell'applicazione o sul WAF. AWS WAF semplifica la gestione dei falsi positivi grazie alla flessibilità del suo linguaggio di regole e ai dettagli disponibili nei log generati.
Progettazione di regole WAF con pochi falsi positivi
Per ridurre i pochi falsi positivi quando si utilizza AWS WAF, configura attentamente le regole nella tua WebACL. Per prima cosa, è possibile farlo regolando la soglia di rilevamento delle regole. Ad esempio, questo blog fornisce indicazioni sulla configurazione delle soglie di rilevamento che limitano la velocità. Un altro esempio è quello di configurare la sensibilità di rilevamento delle regole di iniezione SQL (SQLi). In secondo luogo, abilita le regole più pertinenti sulla parte più rilevante delle tue applicazioni nel modo più specifico. Ad esempio, abilita le regole SQLi solo se l'applicazione utilizza un database SQL e riduci l'ambito agli URL che interagiscono con questo database. In terzo luogo, rispondi alle richieste corrispondenti con azioni pertinenti ad esse. Con questo approccio, configureresti un'azione di blocco solo per le richieste quando hai molta fiducia nella loro malignità. Quando sei meno certo se bloccare una richiesta, prendi in considerazione una delle seguenti strategie di risposta personalizzate:
- Conta la richiesta e lasciala scorrere a monte della tua applicazione, ma includi un'intestazione generata da WAF nella richiesta inoltrata alla tua applicazione. L'applicazione può quindi rispondere in modo diverso in base al valore dell'intestazione, ad esempio attivare l'autenticazione multi-fattore con tentativi di login sospetti. Puoi anche aumentare dinamicamente la gravità della risposta del WAF in base al livello di minaccia in corso. Ad esempio, OLX modifica dinamicamente la risposta agli IP sospetti in base al livello di rischio della propria applicazione. In modalità a basso rischio, l'azienda fa passare più traffico attraverso la sua applicazione, riducendo al minimo i falsi positivi. In modalità ad alto rischio, preferisce invece ridurre i falsi negativi rispetto ai falsi positivi bloccando tutti gli IP sospetti.
- Rispondi con un CAPTCHA o con delle sfide silenziose, che bloccheranno la richiesta solo se il browser non supera la sfida.
Regole gestite da Amazon
AWS WAF fornisce un elenco di Gruppi di regole gestite da Amazon (AMR) che possono essere aggiunti alla tua WebACL di WAF. Gli AMR sono studiati per bloccare le minacce più critiche e ad alto impatto, riducendo al minimo i falsi positivi.
Per gestire meglio i falsi positivi, AMR offre le seguenti possibilità di configurazione:
- È possibile disattivare gli aggiornamenti automatici tramite AMR, agendo manualmente per effettuare l'aggiornamento a una versione specifica. Ciò ti darebbe l'opportunità di testare gli aggiornamenti per individuare i falsi positivi prima di abilitare la versione più recente.
- Gli AMR emettono etichette quando vengono valutati. Invece di utilizzare le regole di blocco di default degli AMR, puoi impostarle in modo che siano contante, per utilizzare le etichette emesse in combinazione con altre regole WAF in modo da bloccare le richieste con un livello di certezza più elevato. Ad esempio, puoi utilizzare l'elenco di reputazione IP di Amazon AMR in modalità conteggio e quindi creare una regola successiva basata sulle etichette emesse da questo AMR per limitare la velocità con una soglia molto bassa. Le etichette generate da AMR sono descritte nella documentazione WAF.
Lo stesso vale per il gruppo di regole gestito creato da Shield Advanced quando ti sei abbonato a questo servizio e hai abilitato la mitigazione automatica degli attacchi DDoS a livello di applicazione. Come descritto nella documentazione, Shield Advanced inserisce le regole di blocco WAF, solo se ha un'elevata certezza che la regola corrisponda solo alla firma dell'attacco, in base ai modelli di traffico storici.
Identificazione dei falsi positivi
La seguente guida ti aiuta a identificare i falsi positivi quando si verificano:
- Includi il rilevamento dei falsi positivi nei processi di rilascio del software o nei processi di modifica dell'infrastruttura, ad esempio testando le regole WAF negli ambienti di sviluppo e staging, quindi convalidandole in modalità Count in produzione prima della distribuzione finale. La documentazione di AWS WAF fornisce linee guida per l'implementazione delle regole di rilevamento dei bot e delle regole di prevenzione dell’acquisizione di account nella produzione in modo sicuro.
- Imposta gli allarmi sui parametri di CloudWatch emessi dalle regole WAF. Riceverai una notifica quando una regola corrisponde al traffico a livelli anomali. Ad esempio, ciò potrebbe verificarsi a seguito di una modifica del codice dell'applicazione, erroneamente identificata come un attacco, che si è propagata alla produzione.
- Abilita la registrazione WAF e controlla regolarmente il traffico bloccato per identificare il traffico legittimo che è stato bloccato. Per casi d'uso semplici, puoi utilizzare la dashboard delle richieste di esempio nella console di AWS WAF.
- Aggiorna l'applicazione per consentire agli utenti di segnalare risposte 403 impreviste. Ad esempio, quando WAF viene distribuito con CloudFront, puoi utilizzare la pagina di errore personalizzata di CloudFront per restituire, anziché la pagina di errore 403, una pagina in cui possono segnalarti il problema.
Esclusione dei falsi positivi dall'ambito della regola
Quando viene identificato un falso positivo, puoi aggiornare le tue regole WAF per aggiungere esclusioni e mitigare il falso positivo. Con regole personalizzate, le esclusioni possono essere espresse semplicemente utilizzando la logica AND/OR. Ad esempio, applica le regole SQLi se l'IP della richiesta non fa parte di un elenco di IP consentiti e l'URL della richiesta non è uno degli URL esclusi. Con gli AMR, puoi creare esclusioni utilizzando istruzioni scope-down. Consulta la seguente documentazione per la gestione dei falsi positivi specifici degli AMR di AWS WAF per il rilevamento dei bot.
Risorse
- White paper: Test e ottimizzazione delle regole WAF nelle linee guida per l'implementazione di AWS WAF
- Come faccio a escludere URI specifici dall'ispezione XSS o SQLi per le richieste HTTP quando utilizzo AWS WAF?
- Trova i partner di distribuzione AWS WAF
- Utilizzo dell'etichettatura AWS WAF per risolvere i falsi positivi con AMR