Come posso creare una regola AWS WAF per impedire SQLi e XSS?

Ultimo aggiornamento: 12/07/2022

Voglio impedire l'iniezione SQL (SQLi) e lo scripting cross-site (XSS). Quali opzioni offre AWS WAF per prevenire gli attacchi SQLi e XSS?

Breve descrizione

AWS WAF offre le seguenti protezioni per impedire gli attacchi SQLi e XSS:

  • Motori SQLi e XSS integrati
  • Regole gestite da AWS disponibili per gli attacchi di iniezione SQLi e XSS

Per configurare queste protezioni, assicurati di aver configurato AWS WAF e creato un'ACL Web.

Nota: AWS WAF presenta delle limitazioni durante l'ispezione di componenti di richiesta quali corpo, intestazione o cookie. Per ulteriori informazioni, consulta Ispezione del corpo, delle intestazioni e dei cookie di una richiesta.

Risoluzione

Importante: è consigliabile testare le regole in un ambiente non di produzione con Action (Operazione) impostata su Count (Conteggio). Valuta la regola utilizzando i parametri di Amazon CloudWatch combinati con le richieste campionate di AWS WAF o i registri di AWS WAF. Dopo aver verificato che la regola funzioni come desideri, cambia Action (Operazione) in Block (Blocca).

Uso di motori SQLi e XSS integrati

Gli attacchi possono essere sferrati su diverse parti della richiesta HTTP, ad esempio l'intestazione HTTP, la stringa di query o l'URI. Configura le regole di AWS WAF per ispezionare diverse parti della richiesta HTTP rispetto ai motori di mitigazione integrati.

Istruzione della regola di attacco SQLi

Crea un'istruzione della regola di attacco di iniezione SQL per verificare la presenza di codice SQL dannoso. Per creare un'istruzione della regola di attacco SQLi, completa la seguente procedura:

  1. Apri la console AWS WAF.
  2. Nel riquadro di navigazione, in AWS WAF, seleziona Web ACLs (ACL Web).
  3. Per Region (Regione), seleziona la regione AWS in cui hai creato la tua ACL Web.
    Nota: seleziona Global (Globale) se la tua ACL Web è configurata per Amazon CloudFront.
  4. Seleziona la tua ACL Web.
  5. Scegli Rules (Regole), quindi seleziona Add Rules (Aggiungi regole). Seleziona Add my own rules and rule groups (Aggiungi regole e gruppi di regole personali) dal menu a discesa.
  6. Per Name (Nome), inserisci un nome per la regola, quindi scegli Regular Rule (Regola regolare).
  7. Per If a request (Se una richiesta), seleziona matches the statements (corrisponde alle istruzioni).
  8. Per Inspect, seleziona i componenti della richiesta da valutare rispetto al motore di mitigazione integrato SQLi.
  9. Per Match Type ( Tipo di corrispondenza), seleziona Contains SQL injection attacks (Contiene attacchi di iniezione SQL) dal menu a discesa.
  10. Scegli una trasformazione del testo.
  11. Per Action (Operazione), scegli Block (Blocca).
  12. Seleziona Add rule (Aggiungi regola).
  13. Scegli Save (Salva).

Istruzione della regola di attacco XSS

Crea un'istruzione della regola di attacco di scripting cross-site per verificare la presenza di script dannosi in un componente di richiesta Web. Per creare un'istruzione della regola di attacco XSS, completa la seguente procedura:

  1. Apri la console AWS WAF.
  2. Nel riquadro di navigazione, in AWS WAF, seleziona Web ACLs (ACL Web).
  3. Per Region (Regione), seleziona la regione AWS in cui hai creato la tua ACL Web.
    Nota: seleziona Global (Globale) se la tua ACL Web è configurata per Amazon CloudFront.
  4. Seleziona la tua ACL Web.
  5. Scegli Rules (Regole), quindi seleziona Add Rules (Aggiungi regole). Seleziona Add my own rules and rule groups (Aggiungi regole e gruppi di regole personali) dal menu a discesa.
  6. Per Name (Nome), inserisci un nome per la regola, quindi scegli Regular Rule (Regola regolare).
  7. Per If a request (Se una richiesta), seleziona matches the statements (corrisponde alle istruzioni).
  8. Per Inspect (Ispeziona), seleziona i componenti di richiesta da valutare rispetto al motore di mitigazione integrato XSS.
  9. Per Match Type (Tipo di corrispondenza), seleziona Contains XSS injection attacks (Contiene attacchi di iniezione XSS) dal menu a discesa.
  10. Scegli una trasformazione del testo.
  11. Per Action (Operazione), scegli Block (Blocca).
  12. Seleziona Add rule (Aggiungi regola).
  13. Scegli Save (Salva).

Regole di attacco SQLi e XSS che valutano più componenti di richiesta

Per creare una regola di attacco che valuta più componenti di richiesta, completa la seguente procedura:

  1. Apri la console AWS WAF.
  2. Nel riquadro di navigazione, in AWS WAF, seleziona Web ACLs (ACL Web).
  3. Per Region (Regione), seleziona la regione AWS in cui hai creato la tua ACL Web.
    Nota: seleziona Global (Globale) se la tua ACL Web è configurata per Amazon CloudFront.
  4. Seleziona la tua ACL Web.
  5. Scegli Rules (Regole), quindi seleziona Add Rules (Aggiungi regole). Seleziona Add my own rules and rule groups (Aggiungi regole e gruppi di regole personali) dal menu a discesa.
  6. Per Name (Nome), inserisci un nome per la regola, quindi scegli Regular Rule (Regola regolare).
  7. Per If a request (Se una richiesta), scegli matches at least one of the statements (OR) (corrisponde ad almeno una delle istruzioni [OR]).
  8. Per Inspect, seleziona i componenti della richiesta da valutare rispetto al motore di mitigazione integrato SQLi o XSS.
  9. Per Match Type (Tipo di corrispondenza), seleziona Contains SQLi injection attacks (Contiene attacchi di iniezione SQLi) o or Contains XSS injection attacks (Contiene attacchi di iniezione XSS) dal menu a discesa.
  10. Scegli una trasformazione del testo.
  11. Ripeti i passaggi da 8 a 10 per ogni istruzione. Scegli Add another statement (Aggiungi un'altra istruzione) per la valutazione di altre regole.
  12. Per Action (Operazione), scegli Block (Blocca).
  13. Seleziona Add rule (Aggiungi regola).
  14. Scegli Save (Salva).

Importante: affinché la regola funzioni come previsto, è necessario applicare le trasformazioni del testo corrette. Ad esempio, se stai ispezionando un cookie, utilizza le seguenti trasformazioni associate a un cookie:

  • Decodifica dell'URL
  • Decodifica dell'entità HTML
  • Minuscole

Uso delle regole gestite da AWS disponibili per gli attacchi di iniezione SQLi e XSS

Usa le regole gestite da AWS per AWS WAF per proteggerti dalle vulnerabilità delle applicazioni o da altro traffico indesiderato senza dover scrivere le tue regole.

Nota: le regole gestite sono soggette a modifiche di versione e a scadenza. Per ulteriori informazioni, consulta Best practice per la gestione delle versioni dei gruppi di regole gestite.

Utilizza il gruppo di regole gestito del database SQL per proteggerti dagli attacchi di iniezione SQL. Il gruppo di regole gestito dal database SQL (versione predefinita 1.1) contiene le seguenti regole che forniscono protezione:

  • SQLiExtendedPatterns_QUERYARGUMENTS
  • SQLi_QUERYARGUMENTS
  • SQLi_Body
  • SQLi_COOKIE
  • SQLi_URIPATH

Utilizza il gruppo di regole gestite del set di regole core (CRS) per proteggerti dagli attacchi di iniezione XSS. Il gruppo di regole gestite del set di regole core (CRS) (versione predefinita 1.3) contiene le seguenti regole che forniscono protezione:

  • CrossSiteScripting_COOKIE
  • CrossSiteScripting_QUERYARGUMENTS
  • CrossSiteScripting_BODY
  • CrossSiteScripting_URIPATH

Aggiunta di un gruppo di regole gestite da AWS all'ACL Web

  1. Apri la console AWS WAF.
  2. Nel riquadro di navigazione, in AWS WAF, seleziona Web ACLs (ACL Web).
  3. Per Region (Regione), seleziona la regione AWS in cui hai creato la tua ACL Web.
    Nota: seleziona Global (Globale) se la tua ACL Web è configurata per Amazon CloudFront.
  4. Seleziona la tua ACL Web.
  5. Scegli Rules (Regole), quindi seleziona Add Rules (Aggiungi regole). Seleziona Add managed rule groups (Aggiungi gruppi di regole gestiti) dal menu a discesa.
  6. Espandi la sezione AWS managed rule groups (Gruppi di regole gestite da AWS).
  7. Individua il gruppo di regole e seleziona Add to web ACL (Aggiungi ad ACL Web).
    Ad esempio, puoi selezionare Add to web ACL (Aggiungi ad ACL Web) sia per il database SQL per la protezione SQLi che per il set di regole core per la protezione XSS.
  8. (Facoltativo) Scegli Edit (Modifica) per visualizzare e modificare le impostazioni per il gruppo di regole.
  9. Scegli Add rules (Aggiungi regole).
  10. Scegli Save (Salva).

Modifica di un gruppo di regole gestite da AWS esistente nella tua ACL Web

  1. Apri la console AWS WAF.
  2. Nel riquadro di navigazione, in AWS WAF, seleziona Web ACLs (ACL Web).
  3. Per Region (Regione), seleziona la regione AWS in cui hai creato la tua ACL Web.
    Nota: seleziona Global (Globale) se la tua ACL Web è configurata per Amazon CloudFront.
  4. Seleziona la tua ACL Web.
  5. Scegli Rules (Regole), quindi scegli Edit (Modifica) per visualizzare e modificare le impostazioni.
    Nota: per ulteriori informazioni sulla modifica delle impostazioni, consulta Utilizzo dei gruppi di regole gestite.
  6. Una volta terminate le modifiche, scegli Save (Salva).

Se ottieni scenari di falsi positivi con i gruppi di regole gestite da AWS, consulta Regole gestite da AWS per AWS WAF.


Questo articolo è stato utile?


Hai bisogno di supporto tecnico o per la fatturazione?