Share via


Rilevare nuove minacce usando Microsoft Sentinel con Web application firewall di Azure

Le applicazioni Web affrontano frequenti attacchi dannosi che sfruttano vulnerabilità note, ad esempio attacchi di inserimento del codice e attraversamento del percorso. Questi attacchi sono difficili da evitare nel codice dell'applicazione, perché richiedono manutenzione costante, applicazione di patch e monitoraggio a più livelli dell'architettura dell'applicazione. Una soluzione Web Application Firewall (WAF) può offrire sicurezza più rapida e centralizzata applicando patch a una vulnerabilità nota per tutte le applicazioni Web, anziché proteggerla singolarmente. Web application firewall di Azure è un servizio nativo del cloud che protegge le app Web da tecniche comuni di hacking Web. Può essere distribuito rapidamente per ottenere visibilità completa sul traffico dell'applicazione Web e bloccare attacchi Web dannosi.

Integrando Azure WAF con Microsoft Sentinel (una soluzione SIEM nativa del cloud), è possibile automatizzare il rilevamento e la risposta a minacce,eventi imprevisti/avvisi e risparmiare tempo e impegno nell'aggiornamento dei criteri WAF. Questo articolo illustra come creare regole/rilevamenti analitici in Microsoft Sentinel per attacchi come l'inserimento di codice.

Query di rilevamento per attacchi all'applicazione Web

Il repository GitHub sicurezza di rete di Azure contiene le query predefinite seguenti che è possibile usare per creare regole di analisi in Microsoft Sentinel. Queste regole analitiche consentono il rilevamento e la risposta automatizzati per attacchi come l'inserimento di codice, l'attraversamento del percorso e gli attacchi basati su scanner.

  • Attacchi code injection (gateway applicazione e Frontdoor WAF)

    Un attacco code injection è un tipo di attacco informatico che comporta l'inserimento di codice dannoso in un'applicazione. L'applicazione interpreta o esegue quindi il codice, che influisce sulle prestazioni e sulla funzione dell'applicazione.

  • Attacchi di attraversamento del percorso (gateway applicazione e Frontdoor WAF)

    Un attacco di attraversamento del percorso è un tipo di cyberattack che comporta la manipolazione dei percorsi di file di un'applicazione per accedere a file e directory archiviati all'esterno della cartella radice Web. L'utente malintenzionato può usare sequenze di caratteri speciali, ad esempio …/ o …\, per spostare la gerarchia di directory e accedere a dati sensibili o riservati, ad esempio file di configurazione, codice sorgente o file di sistema.

  • Attacchi basati su scanner (gateway applicazione WAF)

    Un attacco Web basato su scanner è un tipo di attacco informatico che implica l'uso di uno scanner di vulnerabilità Web per individuare e sfruttare i punti deboli della sicurezza nelle applicazioni Web. Uno scanner di vulnerabilità Web è uno strumento che analizza automaticamente le applicazioni Web per individuare vulnerabilità comuni, ad esempio SQL injection, XSS, CSRF e attraversamento del percorso. L'utente malintenzionato può usare lo scanner per identificare gli obiettivi vulnerabili e lanciare attacchi per comprometterli.

Configurare le regole di analisi in Sentinel per gli attacchi alle applicazioni Web

Per configurare le regole analitiche sono necessari i prerequisiti seguenti:

Usare la procedura seguente per configurare una regola analitica in Sentinel.

  1. Passare a Microsoft Sentinel e selezionare la scheda Analisi . Selezionare Crea e quindi selezionare Regola di query pianificata. Screenshot showing creating a scheduled query rule.

    Le tattiche e le tecniche fornite qui sono solo informative e sono originate dalla Knowledge base di attacco MITRE Questa è una knowledge base di tattiche e tecniche avversarie basate su osservazioni reali.

  2. È possibile usare la procedura guidata per la regola di Analisi per impostare un livello di gravità per questo evento imprevisto. Poiché si tratta di attacchi principali, viene selezionata la gravità alta.

    Screenshot showing the analytics rule wizard.

  3. Nella pagina Imposta logica regola immettere la query di inserimento di codice predefinita seguente: è possibile trovare questa query nel repository GitHub di Sicurezza di rete di Azure. Analogamente, è possibile usare qualsiasi altra query disponibile nel repository per creare regole analitiche e rilevare i rispettivi modelli di attacco.

     let Threshold = 3; 
    
     AzureDiagnostics
     | where Category == "ApplicationGatewayFirewallLog"
     | where action_s == "Matched"
     | where Message has "Injection" or Message has "File Inclusion"
     | where ruleGroup_s == "REQUEST-932-APPLICATION-ATTACK-RCE" or ruleGroup_s ==    "REQUEST-931-APPLICATION-ATTACK-RFI" or ruleGroup_s == "REQUEST-932-APPLICATION-ATTACK-RCE" or    ruleGroup_s == "REQUEST-933-APPLICATION-ATTACK-PHP" or ruleGroup_s ==    "REQUEST-942-APPLICATION-ATTACK-SQLI" or ruleGroup_s == "REQUEST-921-PROTOCOL-ATTACK" or ruleGroup_s    == "REQUEST-941-APPLICATION-ATTACK-XSS"
     | project transactionId_g, hostname_s, requestUri_s, TimeGenerated, clientIp_s, Message,    details_message_s, details_data_s
     | join kind = inner(
    
     AzureDiagnostics
    
     | where Category == "ApplicationGatewayFirewallLog"
     | where action_s == "Blocked") on transactionId_g
     | extend Uri = strcat(hostname_s,requestUri_s)
     | summarize StartTime = min(TimeGenerated), EndTime = max(TimeGenerated), TransactionID = make_set   (transactionId_g,100), Message = make_set(Message,100), Detail_Message = make_set(details_message_s,   100), Detail_Data = make_set(details_data_s,100), Total_TransactionId = dcount(transactionId_g) by    clientIp_s, Uri, action_s
     | where Total_TransactionId >= Threshold
    

    Screenshot showing the rule query.

    Nota

    È importante assicurarsi che i log WAF siano già presenti nell'area di lavoro Log Analytics prima di creare questa regola analitica. In caso contrario, Sentinel non riconoscerà alcune delle colonne nella query e sarà necessario aggiungere input aggiuntivo come | extend action_s = column_ifexists(“action_s”, “”), transactionId_g = column_ifexists(“transactionId_g”, “”) per ogni colonna che restituisce un errore. Questo input crea manualmente i nomi delle colonne e li assegna valori Null. Per ignorare questo passaggio, inviare prima i log waf all'area di lavoro.

  4. Nella pagina Evento imprevisto Impostazioni abilitare la creazione di eventi imprevisti dagli avvisi attivati da questa regola di analisi. Il raggruppamento di avvisi può essere configurato in base alle esigenze.

  5. Facoltativamente, è anche possibile aggiungere qualsiasi risposta automatica all'evento imprevisto, se necessario. Per informazioni più dettagliate sulla configurazione automatica delle risposte, vedere Rilevamento e risposta automatizzati per Azure WAF con Microsoft Sentinel .

  6. Infine, selezionare Salva nella scheda Rivedi e crea .

Questa regola analitica consente a Sentinel di creare un evento imprevisto in base ai log WAF che registrano eventuali attacchi code injection. Azure WAF blocca questi attacchi per impostazione predefinita, ma la creazione di eventi imprevisti offre un maggiore supporto per l'analista della sicurezza per rispondere alle minacce future.

È possibile configurare regole di analisi in Sentinel per diversi attacchi alle applicazioni Web usando le query di rilevamento predefinite disponibili nel repository GitHub di Sicurezza di rete di Azure. Queste query verranno aggiunte direttamente ai modelli di rilevamento di Sentinel. Dopo l'aggiunta, queste query saranno disponibili direttamente nella sezione Modelli di regole analitiche di Sentinel.

Passaggi successivi