Esercizio - Monitorare il database

Completato

Si supponga di ricevere un avviso dall'amministratore della sicurezza dell'azienda. È stata rilevata una potenziale violazione della sicurezza nella rete. Un utente non autorizzato potrebbe aver eseguito l'accesso al database tramite attività dannose. Come scoprire se l'intrusione è avvenuta?

Si sa che è necessario monitorare attivamente il database per individuare attività sospette. Cosa è possibile fare per non solo ottenere visibilità su ciò che accade nel database, ma anche per evitare che si verifichino attività dannose?

database SQL di Azure include funzionalità predefinite che consentono di tenere traccia di ciò che accade nel database. Può monitorare e avvisare se identifica attività dannose.

Controllo del database SQL di Azure

Se si abilita il controllo, le operazioni eseguite nel database sono memorizzate per poter essere analizzate in un secondo momento da parte dell'utente o con strumenti automatici. Il controllo viene usato anche per la gestione della conformità o per comprendere come viene usato il database. Il controllo è necessario anche per poter usare il rilevamento delle minacce di Azure nel database SQL di Azure.

È possibile usare il servizio di controllo del database SQL per eseguire le operazioni seguenti:

  • Conservare un audit trail di eventi selezionati. È possibile definire categorie di azioni di database da controllare.
  • Creare report sulle attività del database. È possibile usare i report preconfigurati e un dashboard per iniziare rapidamente a usare l’attività e la segnalazione di eventi.
  • Analizzare i report. È possibile individuare eventi sospetti, attività insolite e tendenze.

I log di controllo vengono scritti nei BLOB di accodamento in un account Archiviazione BLOB di Azure designato. Si possono applicare criteri di controllo a livello di server o a livello di database. Dopo la loro abilitazione, è possibile usare il portale di Azure per visualizzare i log o per inviarli a Log Analytics o a Hub eventi in cui verranno ulteriormente elaborati e analizzati.

Controllo in pratica

Come procedura consigliata, evitare di abilitare contemporaneamente il controllo BLOB del server e il controllo BLOB del database a eccezione dei casi seguenti:

  • Si vuole usare un account di archiviazione o un periodo di conservazione diverso per un database specifico.
  • Per un database specifico si vogliono controllare tipi o categorie di eventi diversi dagli altri database nel server. Ad esempio, potrebbe essere necessario controllare gli inserimenti di tabella, ma solo per un database specifico.

In caso contrario, è consigliabile abilitare solo il controllo BLOB a livello di server e lasciare disabilitato il controllo a livello di database per tutti i database.

Seguire questa procedura per configurare il controllo nel sistema.

  1. Accedere al portale di Azure usando lo stesso account con cui è stata attivata la sandbox.

  2. Nella barra di ricerca nella parte superiore del portale cercare serverNNNNN e quindi selezionare il server nel portale. Sostituire NNNNN con il numero del nome del server.

  3. Nel riquadro a sinistra selezionare Controllo in Sicurezza.

  4. Il controllo è disattivato per impostazione predefinita. Per abilitarlo nel server di database, impostare Abilita Controllo di Azure SQL su .

  5. Dopo aver selezionato il pulsante SÌ, selezionare la casella di controllo Archiviazione.

  6. Selezionare la propria sottoscrizione.

  7. È possibile selezionare un account di archiviazione esistente o crearne uno nuovo per archiviare i controlli. L'account di archiviazione deve essere configurato per usare la stessa area del server.

    In questo caso, definire un nuovo account di archiviazione. In Account di archiviazione selezionare Crea nuovo. Viene visualizzato il riquadro Crea account di archiviazione. Denominare il server dell'account di archiviazioneNNNNNauditing, sostituendo NNNNN con il numero del nome del server logico.

  8. Accettare tutte le impostazioni predefinite delle altre opzioni e selezionare OK. Nel riquadro Impostazioni di archiviazione accettare le impostazioni predefinite e selezionare OK.

  9. Selezionare Salva per salvare le modifiche e abilitare il controllo nel server di database.

A questo punto, generare alcuni record di controllo e osservare cosa ci si può aspettare.

  1. Accedere di nuovo al database come utente ApplicationUser .

    sqlcmd -S tcp:serverNNNNN.database.windows.net,1433 -d marketplaceDb -U 'ApplicationUser' -P '[password]' -N -l 30
    
  2. Eseguire la query seguente.

    SELECT FirstName, LastName, EmailAddress, Phone FROM SalesLT.Customer;
    GO
    
  3. Tornare alla portale di Azure, nel server SQL selezionare Database SQL nel riquadro dei menu a sinistra e selezionare il database marketplace.

  4. Selezionare Controllo nella sezione Sicurezza del riquadro del menu a sinistra del database marketplace.

  5. Poiché il controllo è stato abilitato a livello di server, si noterà che è abilitato qui. Selezionare Visualizza log di controllo nella barra dei menu in alto per visualizzare i log.

  6. Verranno visualizzati uno o più record di controllo con NOME DELL'ENTITÀApplicationUser e TIPO DI EVENTOBATCH COMPLETATO. Uno di essi deve contenere i dettagli della query eseguita. Potrebbero essere presenti anche altri eventi, ad esempio gli errori di autenticazione e le operazioni riuscite. Selezionare un record per visualizzare i dettagli completi dell'evento.

Screenshot shows an example event in the audit log.

Queste azioni configurano i controlli a livello di server di database. I controlli si applicano a tutti i database nel server. È anche possibile configurare il controllo a livello di database.

Esaminare un'altra funzionalità che usa questi log per aumentare la sicurezza del database.

Advanced Data Security per il database SQL di Azure

Sicurezza dei dati avanzata (ADS, Advanced Data Security) offre una serie di funzionalità di sicurezza SQL avanzate, tra cui Individuazione dati e classificazione, Valutazione della vulnerabilità e Advanced Threat Protection.

  • L'individuazione e la classificazione dei dati (attualmente in anteprima) offre funzionalità integrate in database SQL di Azure per l'individuazione, la classificazione, l'etichettatura e la protezione dei dati sensibili nei database. Consente di visualizzare lo stato di classificazione del database e di tenere traccia dell'accesso ai dati sensibili all'interno del database e all'esterno di questo ambito.
  • La valutazione della vulnerabilità è un servizio facile da configurare che consente di individuare, verificare e contribuire alla correzione di vulnerabilità potenziali dei database. Consente di visualizzare lo stato di sicurezza e prevede passaggi utili per risolvere i problemi di sicurezza e migliorare la protezione del database.
  • Advanced Threat Protection rileva attività anomale che indicano tentativi insoliti e potenzialmente dannosi di accedere o sfruttare i database. Monitora in modo continuo il database in caso di attività sospette e fornisce avvisi di sicurezza immediati su potenziali vulnerabilità, attacchi SQL injection e in caso di criteri anomali di accesso ai database. Gli avvisi della funzionalità di Advanced Threat Protection includono dettagli sulle attività sospette e consigliano azioni per l'analisi e la mitigazione della minaccia.

Installazione e configurazione

Abilitare ADS nel database. ADS è un'impostazione a livello di server, quindi iniziare da lì.

  1. Tornare al portale di Azure, passare a SQL Server. Nella barra di ricerca nella parte superiore della pagina cercare serverNNNNN e quindi selezionare il server.

  2. Nel riquadro del menu di sinistra, in Sicurezza selezionare Microsoft Defender for Cloud.

  3. Selezionare Abilita Microsoft Defender per SQL.

  4. Selezionare Configura accanto al messaggio Abilitato a livello di sottoscrizione. Viene visualizzato il riquadro Impostazioni del server.

  5. L'opzione Analisi ricorrenti periodiche è attivata per impostazione predefinita. Quando viene attivata un'analisi settimanale, il riepilogo dei risultati dell'analisi viene inviato all'indirizzo di posta elettronica specificato. In questo caso, disattiva questa opzione. L'opzione Invia le notifiche di posta elettronica anche agli amministratori e ai proprietari della sottoscrizione è abilitata per impostazione predefinita per inviare le minacce agli amministratori del servizio. Selezionare Salva nella parte superiore per salvare le impostazioni.

  6. In Impostazioni di Advanced Threat Protection selezionare Aggiungi i dettagli contatto per aprire il riquadro Notifiche tramite posta elettronica di Defender per il cloud. In questo caso, è possibile definire la posizione in cui i messaggi di posta elettronica di notifica vengono recapitati sia per la valutazione della vulnerabilità che per Advanced Threat Protection come elenco di indirizzi di posta elettronica separati da punto e virgola. L'opzione Invia le notifiche di posta elettronica anche agli amministratori e ai proprietari della sottoscrizione è abilitata per impostazione predefinita per inviare le minacce agli amministratori del servizio.

  7. È anche possibile selezionare Abilita controllo per attivare Controllo di Azure SQL.

  8. Seleziona Salva per applicare le modifiche.

Si ricevono notifiche tramite posta elettronica quando vengono rilevate vulnerabilità. Il messaggio di posta elettronica descrive ciò che si è verificato e le azioni da eseguire.

Screenshot shows an example notification warning from Microsoft Defender for Cloud.

Individuazione dati e classificazione

  1. Accedere al database marketplace. Nella barra di ricerca nella parte superiore del portale di Azure cercare marketplace e quindi selezionare il database.

  2. Nel riquadro dei menu a sinistra, in Sicurezza, selezionare Individuazione dati e classificazione.

Nella scheda Classificazione sono visualizzate le colonne delle tabelle che devono essere protette. Alcune colonne potrebbero avere informazioni riservate o potrebbero essere considerate classificate in paesi o aree geografiche diverse.

Screenshot that shows the Classification tab in the Data Discovery and Classification pane.

Viene visualizzato un messaggio se è necessario configurare la protezione di alcune colonne. Questo messaggio è formattato come 15 colonne con raccomandazioni di classificazione. È possibile selezionare il testo per visualizzare i gli elementi consigliati.

Per selezionare le colonne da classificare, selezionare il segno di spunta accanto alla colonna oppure la casella di controllo a sinistra dell'intestazione dello schema. Selezionare il pulsante Accetta i consigli selezionati per applicare i consigli per la classificazione.

Modificare quindi le colonne e quindi definire il tipo di informazioni e l'etichetta di riservatezza per il database. Seleziona Salva per salvare le modifiche.

Dopo aver gestito correttamente le raccomandazioni, non devono essere elencate raccomandazioni attive.

Vulnerabilità di sicurezza

Nel riquadro del menu di sinistra, in Sicurezza selezionare Microsoft Defender for Cloud.

La sezione Consigli elenca i problemi di configurazione nel database e i rischi associati.

Selezionare un consiglio. Nel riquadro delle raccomandazioni vengono visualizzati i dettagli, ad esempio il livello di rischio a cui si applica il database, una descrizione della vulnerabilità e la correzione consigliata per risolvere il problema. Applicare la correzione per risolvere il problema o i problemi. Assicurarsi di risolvere tutte le vulnerabilità.

Eventi imprevisti e avvisi di sicurezza

Questa sezione visualizza l'elenco delle minacce rilevate.

Risolvere i problemi seguendo i consigli. Per problemi quali gli avvisi sql injection, è possibile esaminare la query e tornare indietro in base alla posizione in cui viene eseguita la query nel codice. Una volta trovato, è necessario riscrivere il codice in modo che non contenga più il problema.