Come proteggere le applicazioni Web con AWS WAF?



Questo articolo ti spiegherà come proteggere le applicazioni Web con AWS WAF e seguirà una dimostrazione pratica.

Questo articolo ti spiegherà come proteggere le applicazioni Web con WAF e seguirlo con una dimostrazione pratica. I seguenti suggerimenti saranno trattati in questo articolo,

Quindi iniziamo allora,





Andando avanti con questo articolo su 'Come proteggere un'applicazione Web con AWS WAF?'

Introduzione ad alcuni fondamenti

AWS fornisce servizi come EC2, ELB (Elastic Load Balancer), S3 (Simple Storage Service), EBS (Elastic Block Storage) per creare applicazioni utili e fantasiose rapidamente e con meno CAPEX (CAPital EXpenditure). Durante la creazione di queste applicazioni, è altrettanto importante proteggere l'applicazione e proteggere i dati. Se non adeguatamente protetti, i dati dell'applicazione potrebbero finire nelle mani sbagliate come nel caso del recente Incidente di Capital One .



Capital One ospitava un'applicazione Web su EC2 e non era protetta adeguatamente. Un ex dipendente AWS è stato in grado di sfruttare questa vulnerabilità e scaricare risme di dati dei clienti da S3. Successivamente si è riscontrato che anche i dati di altre 30 organizzazioni erano stati scaricati da AWS. Quindi, per sottolinearlo ancora una volta, non è solo sufficiente progettare e progettare un'applicazione, ma è altrettanto importante proteggere un'applicazione.

Capital One usato AWS WAF (Web Application Firewall) per proteggere l'applicazione Web, ma non è stata configurata correttamente a causa della quale l'hacker è stato in grado di ottenere l'accesso ai dati in S3 e scaricarli. In questo articolo esploreremo come utilizzare e configurare AWS WAF per proteggersi da attacchi web comuni come SQL Injection, XSS (Cross Site Scripting) ecc. AWS WAF deve essere configurato insieme a Application Load Balancer , CloudFront o API Gateway. In questo scenario, utilizzeremo Application Load Balancer. Qualsiasi richiesta del cliente tramite il browser passerà attraverso AWS WAF e quindi all'Application Load Balancer e infine all'applicazione Web su EC2. AWS WAF può essere utilizzato per bloccare la richiesta dannosa dagli hacker utilizzando una serie di regole e condizioni.

Immagine - Applicazioni Web protette con AWS WAF - Edureka

Andando avanti con questo articolo su 'Come proteggere un'applicazione Web con AWS WAF?'



Sequenza di passaggi per iniziare con AWS WAF

Passo 1: Creazione di un'applicazione web vulnerabile,

tabella all'interno di una tabella html

Il primo passo è creare un'applicazione web che sia vulnerabile agli attacchi SSRF (Server Side Request Forgery) come menzionato in questo Blog su come è avvenuto l'attacco a Capital One. Questo blog ha la sequenza di passaggi per:

  1. Crea un EC2
  2. Installa il software richiesto per creare l'applicazione web con vulnerabilità SSRF
  3. Crea un ruolo IAM con autorizzazioni di sola lettura S3
  4. Associa il ruolo IAM a EC2
  5. Infine, sfrutta la vulnerabilità SSRF per ottenere le credenziali di sicurezza relative al ruolo IAM.

Una volta completata la sequenza di passaggi nel blog citato, sostituire 5.6.7.8 con l'indirizzo IP pubblico di EC2 nell'URL sottostante e aprirlo nel browser. Le credenziali di sicurezza associate al ruolo IAM dovrebbero essere visualizzate nel browser come mostrato di seguito. Ecco come fondamentalmente Capital One è stato violato. Con le credenziali di sicurezza in mano, l'hacker è stato in grado di accedere ad altri servizi AWS come S3 per scaricare i dati.

http://5.6.7.8:80?url=http://169.254.169.254/latest/meta-data/iam/security-credentials/Role4EC2-S3RO

Passo 2: Creazione dell'Application Load Balancer

AWS WAF non può essere associato direttamente a un'applicazione Web. Tuttavia, può essere associato solo ad Application Load Balancer, CloudFront e API Gateway. In questo tutorial, creeremo il file Application Load Balancer e associazione di AWS WAF con lo stesso.

Passaggio 2a: Un gruppo di destinazione è una raccolta di istanze EC2 e deve essere creato prima di creare Application Load Balancer. Nella console di gestione EC2, fare clic sul gruppo di destinazione nel riquadro di sinistra e fare clic su 'Crea gruppo di destinazione'.

Passaggio 2b: Immettere il nome del gruppo target e fare clic su 'Crea'. Il gruppo target verrà creato con successo.

Passaggio 2c: Assicurati che il gruppo target sia selezionato e fai clic sulla scheda Target, quindi fai clic su modifica per registrare le istanze EC2 con il gruppo target.

Passaggio 2d: Selezionare l'istanza EC2 e fare clic su 'Aggiungi a registrati' e fare clic su 'Salva'.

Le istanze devono essere registrate come mostrato di seguito per il gruppo target.

Passaggio 2e: È ora di creare l'Application Load Balancer. Fare clic su Load Balancer nel riquadro sinistro della console di gestione EC2 e fare clic su 'Create Load Balancer'.

Fare clic su 'Crea' per 'Application Load Balancer'.

Andando avanti con questo articolo su 'Come proteggere un'applicazione Web con AWS WAF?'

Passaggio 2f: Immettere il nome dell'Application Load Balancer. E assicurati che tutte le zone di disponibilità siano selezionate e fai clic su Avanti.

Passaggio 2g: In 'Configura impostazioni di sicurezza' fare clic su Avanti.

In 'Configura gruppi di sicurezza' creare un nuovo gruppo di sicurezza o selezionare uno dei gruppi di sicurezza esistenti. Assicurati che la porta 80 sia aperta per accedere alla pagina web sull'EC2. Fare clic su Avanti.

Passaggio 2h: In 'Configure Routing' selezionare 'Existing target group' e selezionare quello che è stato creato nel passaggio precedente. Fare clic su Avanti.

Passaggio 2i: Le istanze EC2 di destinazione sono già state registrate come parte dei gruppi di destinazione. Quindi, nella scheda 'Register Target', senza alcuna modifica fare clic su Next.

Passaggio 2j: Infine, rivedi tutti i dettagli di Application Load Balancer e fai clic su Crea. L'Application Load Balancer verrebbe creato come mostrato di seguito.

Passaggio 2k: Ottieni il nome di dominio dell'Application Load Balancer e sostituisci il testo evidenziato nell'URL sottostante e apri lo stesso nel browser. Si noti che stiamo accedendo all'applicazione Web tramite Application Load Balancer e le credenziali di sicurezza vengono visualizzate come mostrato di seguito. L'URL seguente può essere bloccato utilizzando AWS WAF come mostrato nei passaggi successivi per arrestare la perdita delle credenziali di sicurezza.

MyALB-1929899948.us-east-1.elb.amazonaws.com ? url = http: //169.254.169.254/latest/meta-data/iam/security-credentials/Role4EC2-S3RO

Passaggio 3: Creazione di AWS WAF (Web Application Firewall)

Passaggio 3a: Vai alla Console di gestione AWS WAF e fai clic su 'Configura ACL web'. Viene visualizzata la panoramica di AWS WAF. Ecco la gerarchia di AWS WAF. Web ACL ha un sacco di regole e le regole hanno un sacco di condizioni che creeremmo nei passaggi successivi. Fare clic su Avanti.

Passaggio 3b: Immettere il nome ACL Web, la regione come North Virginia (o dove è stato creato EC2), il tipo di risorsa come 'Application Load Balancer' e infine selezionare Application Load Balancer creato nel passaggio precedente. Fare clic su Avanti.

Passaggio 3c: Qui a condizione per bloccare una specifica richiesta di applicazione web deve essere creato. Scorri verso il basso e fai clic su 'Crea condizione' per le 'Condizioni di corrispondenza stringa ed espressione regolare'.

Passaggio 3d: Immettere il nome della condizione, il Tipo come 'Corrispondenza stringa', filtrare su 'Tutti i parametri di query' e il resto dei parametri esattamente come mostrato di seguito. E fai clic su 'Aggiungi filtro' e poi su Crea. Qui stiamo cercando di creare una condizione che corrisponda all'URL contenente il valore del parametro di query 169.254.169.254. Questo indirizzo IP è correlato al Metadati EC2 .

Passaggio 3e: Adesso è il momento di creare una regola che sia una raccolta di condizioni. Fare clic su 'Crea regola' e specificare i parametri esattamente come mostrato di seguito. Fare clic su 'Aggiungi condizione', Crea e 'Rivedi e crea'.

Andando avanti con questo articolo su 'Come proteggere un'applicazione Web con AWS WAF?'

Passaggio 3f: Infine rivedi tutti i dettagli e clicca su 'Conferma e crea'. Il Web ACL (Access Control List) verrà creato e associato ad Application Load Balancer come mostrato di seguito.

Passaggio 3g: Ora prova ad accedere all'URL di Application Load Balancer tramite il browser come eseguito in Passaggio 2k . Questa volta avremmo ottenuto il '403 Forbidden' poiché il nostro URL corrisponde alla condizione ACL Web e lo stiamo bloccando. La richiesta non raggiunge mai Application Load Balancer o l'applicazione Web su EC2. Qui notiamo che sebbene l'applicazione consenta l'accesso alle credenziali di sicurezza, il WAF lo sta bloccando.

Passaggio 4: Ripulire le risorse AWS create in questo tutorial. La pulizia deve essere eseguita esattamente nello stesso ordine indicato di seguito. Questo per garantire che AWS interrompa la fatturazione per le risorse associate create come parte di questo tutorial.

  • Elimina condizione nella regola
  • Elimina la regola nel WebACL
  • Dissocia l'ALB in WebACL
  • Elimina WebACL
  • Elimina la regola
  • Elimina il filtro in Condizione
  • Elimina la condizione
  • Elimina l'ALB e il gruppo di destinazione
  • Termina l'EC2
  • Elimina il ruolo IAM

Conclusione

unisci codice sorgente di ordinamento c ++

Come accennato in precedenza, la creazione di un'applicazione Web utilizzando AWS è molto semplice e interessante. Ma dobbiamo anche assicurarci che l'applicazione sia sicura e che i dati non vengano fatti trapelare nelle mani sbagliate. La sicurezza può essere applicata a più livelli. In questo tutorial abbiamo visto come utilizzare AWS WAF (Web Application Firewall) per proteggere l'applicazione Web da attacchi come la corrispondenza con l'indirizzo IP dei metadati EC2. Avremmo anche potuto utilizzare WAF per proteggerci da attacchi comuni come SQL Injection e XSS (Cross Site Scripting).

L'utilizzo di AWS WAF o di qualsiasi altro prodotto di sicurezza non rende l'applicazione sicura, ma il prodotto deve essere configurato correttamente. Se non configurati correttamente, i dati potrebbero finire nelle mani sbagliate come è successo con Capital One e altre organizzazioni. Inoltre, l'altra cosa importante da considerare è che la sicurezza deve essere pensata fin dal primo giorno e non collegata all'applicazione in una fase successiva.

Questo ci porta alla fine di questo articolo su Come proteggere le applicazioni Web con AWS WAF. Abbiamo anche messo a punto un curriculum che copre esattamente ciò di cui hai bisogno per superare l'esame di Solution Architect! Puoi dare un'occhiata ai dettagli del corso per formazione.

Hai domande per noi? Menzionalo nella sezione commenti di questo blog Che cos'è AWS e ti ricontatteremo.