AWS - WAF Enum
AWS - Enumerazione di AWS WAF
AWS WAF
AWS WAF è un firewall per applicazioni web progettato per proteggere le applicazioni web o le API da vari exploit che potrebbero comprometterne la disponibilità, la sicurezza o il consumo di risorse. Permette agli utenti di controllare il traffico in ingresso configurando regole di sicurezza che mitigano tipici vettori di attacco come l'iniezione SQL o lo scripting tra siti e definendo anche regole di filtraggio personalizzate.
Criteri di monitoraggio (Condizioni)
Le condizioni specificano gli elementi delle richieste HTTP/HTTPS in ingresso che AWS WAF monitora, tra cui XSS, posizione geografica (GEO), indirizzi IP, vincoli di dimensione, iniezione SQL e pattern (corrispondenza di stringhe e regex). È importante notare che le richieste limitate a livello di CloudFront in base al paese non raggiungeranno WAF.
Ogni account AWS può configurare:
100 condizioni per ogni tipo (ad eccezione di Regex, dove sono consentite solo 10 condizioni, ma questo limite può essere aumentato).
100 regole e 50 Web ACL.
Un massimo di 5 regole basate sul tasso.
Un throughput di 10.000 richieste al secondo quando WAF viene implementato con un bilanciamento del carico dell'applicazione.
Configurazione delle regole
Le regole vengono create utilizzando le condizioni specificate. Ad esempio, una regola potrebbe bloccare una richiesta se soddisfa 2 condizioni specifiche. Ci sono due tipi di regole:
Regola normale: Regola standard basata su condizioni specificate.
Regola basata sul tasso: Conta le richieste da un indirizzo IP specifico in un periodo di cinque minuti. Qui, gli utenti definiscono una soglia e se il numero di richieste da un IP supera questo limite entro cinque minuti, le richieste successive da quell'IP vengono bloccate fino a quando il tasso di richiesta non scende al di sotto della soglia. La soglia minima per le regole basate sul tasso è di 2000 richieste.
Azioni
Le azioni vengono assegnate a ciascuna regola, con le opzioni Consenti, Blocca o Conta:
Consenti: La richiesta viene inoltrata alla distribuzione CloudFront o al bilanciamento del carico dell'applicazione appropriato.
Blocca: La richiesta viene terminata immediatamente.
Conta: Conta le richieste che soddisfano le condizioni della regola. Questo è utile per il test delle regole, per confermare l'accuratezza della regola prima di impostarla su Consenti o Blocca.
Se una richiesta non corrisponde a nessuna regola all'interno del Web ACL, viene applicata l'azione predefinita (Consenti o Blocca). L'ordine di esecuzione delle regole, definito all'interno di un Web ACL, è cruciale e di solito segue questa sequenza:
Consenti gli IP in whitelist.
Blocca gli IP in blacklist.
Blocca le richieste che corrispondono a eventuali firme dannose.
Integrazione con CloudWatch
AWS WAF si integra con CloudWatch per il monitoraggio, offrendo metriche come AllowedRequests, BlockedRequests, CountedRequests e PassedRequests. Queste metriche vengono riportate ogni minuto per impostazione predefinita e conservate per un periodo di due settimane.
Enumerazione
Lo scope può anche essere CLOUDFRONT, ma quando si verifica la presenza di un WAF non correlato a CloudFront, è necessario utilizzare REGIONAL.
Post Esploitation / Bypass
Dal punto di vista di un attaccante, questo servizio può aiutare l'attaccante a identificare le protezioni WAF e le esposizioni di rete che potrebbero aiutarlo a compromettere altri siti web.
Tuttavia, un attaccante potrebbe anche essere interessato a interrompere questo servizio in modo che i siti web non siano protetti dal WAF.
TODO: I PR sono benvenuti
Riferimenti
https://www.citrusconsulting.com/aws-web-application-firewall-waf/#:~:text=Conditions%20allow%20you%20to%20specify,user%20via%20a%20web%20application.
Last updated