Panoramica del laboratorio
Ti diamo il benvenuto nel challenge lab AWS Web Application Firewall! AWS WAF è un firewall per applicazioni web che aiuta a proteggere le applicazioni web o le API dai bot ed exploit web che possono intaccare la disponibilità delle applicazioni, compromettere la sicurezza o consumare troppe risorse. Grazie ad AWS WAF è possibile controllare il modo in cui il traffico raggiunge le applicazioni, attraverso la creazione di regole di sicurezza che controllano il traffico dei bot e bloccano i comuni pattern di attacco, come SQL injection (SQLi) e cross-site scripting (XSS). Inoltre, è possibile personalizzare le regole che filtrano pattern di traffico specifici.
In questo laboratorio, lavori come tecnico della sicurezza per un’azienda che ha appena lanciato un negozio di succhi online. Ti è stato chiesto di cercare e attenuare le vulnerabilità SQLi e XSS nella sua applicazione web.
Diversamente dai laboratori tradizionali comprendenti istruzioni dettagliate, questo challenge lab ti fornisce gli obiettivi e solo alcune indicazioni minime. Dovrai applicare la tua conoscenza relativa a sicurezza ed exploit web per completare le attività .
Nel primo set di attività , ti viene presentata un’applicazione web non sicura e ti viene richiesto di usare l’iniezione SQL e gli attacchi cross-site scripting (XSS) per sfruttarne la vulnerabilità . Se non riesci a procedere, espandi i menu Suggerimento e Soluzione per assistenza su come predisporre gli attacchi.
Nella seconda serie di attività , dovrai distribuire e configurare AWS WAF con una serie di regole gestite e personalizzate, create per attenuare gli attacchi lanciati in precedenza.
Obiettivi
Al termine del laboratorio, sarai in grado di svolgere le seguenti attività :
- Distribuire semplici attacchi SQLi e XSS per compromettere un’applicazione web.
- Creare una lista di controllo accessi web (ACL web) in AWS WAF e associarla a un Application Load Balancer.
- Applicare i gruppi di regole gestiti da AWS nell’ACL web.
- Applicare regole personalizzate a un ACL web.
Competenze tecniche preliminari
Per questo laboratorio, sono necessarie la conoscenza avanzata di SQL e una solida comprensione della sicurezza di rete, dei protocolli web comuni e del framework RESTful. Devi inoltre avere una certa familiarità nell’utilizzo dell’ambiente Windows Server tramite Desktop remoto.
Requisiti di sistema
Questo laboratorio richiede:
- Google Chrome
Durata
Il completamento di questo laboratorio richiede circa 60 minuti.
Legenda icone
In questo laboratorio vengono utilizzate varie icone per richiamare l’attenzione su diversi tipi di istruzioni e note. Nell’elenco seguente viene illustrato lo scopo di ciascuna di esse:
- Comando: un comando da eseguire.
- Output previsto: un output di esempio che puoi utilizzare per verificare l’output di un comando o di un file modificato.
- Nota: un commento, un suggerimento o indicazioni importanti.
- Ulteriori informazioni: specifica dove trovare ulteriori informazioni.
- Attenzione: informazioni di particolare interesse o importanza, non così importanti da causare problemi alle apparecchiature o ai dati se non si rispettano, ma che potrebbero comportare la necessità di ripetere determinati passaggi
- AVVISO: un’azione irreversibile e che potrebbe provocare la mancata esecuzione di un comando o di un processo. Include avvisi su configurazioni che sarà impossibile modificare dopo l’esecuzione.
- Prendi in considerazione: un momento di pausa per riflettere sulla modalità di applicazione di un concetto nel tuo ambiente o per avviare una conversazione sul topic in questione.
- Sicurezza: identifica un’opportunità di integrare le best practice relative alla sicurezza.
- Suggerimento: suggerimento per una domanda o una sfida.
- Risposta: la risposta a una domanda o alla sfida.
Ambiente di laboratorio
Il seguente diagramma mostra l’architettura di base di questo ambiente di laboratorio:
Descrizione dell’immagine: il diagramma precedente rappresenta un flusso di dati. Il traffico va da un’istanza EC2, detta Pen Testing Host, attraverso AWS WAF quindi in una distribuzione Cloudfront che si trova di fronte a un Application Load Balancer. L’ALB inoltra le richieste a un gruppo di dimensionamento automatico.
Di seguito vengono riportate le risorse più importanti illustrate nel diagramma:
- Un VPC con due sottoreti private e una sottorete pubblica distribuite tra due zone di disponibilità .
- Un Application Load Balancer interno situato di fronte a un gruppo di dimensionamento automatico con due nodi.
- Una distribuzione Cloudfront di fronte all’Application Load Balancer.
- Il traffico attraversa AWS WAF prima di raggiungere la distribuzione Cloudfront.