Esercizio - Monitorare il database
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 essere entrato nel database con intenti malevoli. Come scoprire se l'intrusione è avvenuta?
Si sa che è necessario monitorare attivamente il database per individuare attività sospette. Cosa si può fare non solo per ottenere visibilità sugli eventi del database, ma anche per prevenire qualsiasi attività dannosa?
Il database SQL di Azure include funzionalità predefinite che consentono di tenere traccia degli eventi del 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 degli 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 aggiunta dell'account di archiviazione BLOB designato dall'utente. 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.
Negli altri casi, è consigliabile abilitare solo il controllo BLOB a livello di server e lasciare disabilitato il controllo a livello di database per tutti i database.
Seguire la procedura per configurare il controllo nel sistema.
Accedere al portale di Azure usando lo stesso account con cui è stata attivata la sandbox.
Nella barra di ricerca nella parte superiore del portale cercare il proprio server e selezionarlo nel portale. Sostituire NNNNN con il numero del nome del server.
Nel riquadro a sinistra selezionare Controllo in Sicurezza.
Il controllo è disattivato per impostazione predefinita. Per abilitarlo nel server di database, impostare Abilita Controllo di Azure SQL su SÌ.
Dopo aver selezionato il pulsante SÌ, selezionare la casella di controllo Archiviazione.
Selezionare la propria sottoscrizione.
È 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. Assegnare all'account di archiviazione il nome <nome-server>auditing e sostituire <nome-server> con il nome del server logico.
Accettare tutte le impostazioni predefinite delle altre opzioni e selezionare OK. Nel riquadro Impostazioni di archiviazione accettare le impostazioni predefinite e selezionare OK.
Selezionare Salva per salvare le modifiche e abilitare il controllo sul server di database.
A questo punto, generare alcuni record di controllo e osservare quello che potrebbero contenere.
Accedere di nuovo al database come utente ApplicationUser.
sqlcmd -S tcp:[server-name].database.windows.net,1433 -d marketplaceDb -U 'ApplicationUser' -P '[password]' -N -l 30
Eseguire la query seguente.
SELECT FirstName, LastName, EmailAddress, Phone FROM SalesLT.Customer; GO
Tornare nel portale di Azure nel server SQL, selezionare Database SQL nel riquadro del menu a sinistra e quindi il database marketplace.
Selezionare Controllo nella sezione Sicurezza del riquadro del menu a sinistra del database marketplace.
Poiché il controllo è stato abilitato a livello di server, si noterà che è abilitato anche qui. Selezionare Visualizza log di controllo nella barra dei menu in alto per visualizzare i log.
Verranno visualizzati uno o più record di controllo con NOME DELL'ENTITÀApplicationUser e TIPO DI EVENTO BATCH 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.
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.
- Individuazione dati e classificazione (attualmente in anteprima) offre funzionalità integrate nel database SQL di Azure per l'individuazione, la classificazione, l'aggiunta di etichette e la protezione dei dati sensibili presenti 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 si inizia da qui.
Tornare nel portale di Azure e passare al server SQL. Nella barra di ricerca nella parte superiore della pagina digitare _<serverNNNN>, quindi selezionare il server.
Nel riquadro del menu di sinistra, in Sicurezza selezionare Microsoft Defender for Cloud.
Selezionare Abilita Microsoft Defender per SQL.
Selezionare Configura accanto al messaggio Abilitato a livello di sottoscrizione. Viene visualizzato il riquadro Impostazioni del server.
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, disattivare 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.
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 via facoltativa in questo riquadro si può definire la destinazione delle notifiche di posta elettronica sia per Valutazione delle vulnerabilità che per Advanced Threat Protection con un elenco di indirizzi separati da punti 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.
È anche possibile selezionare Abilita controllo per attivare Controllo di Azure SQL.
Seleziona Salva per applicare le modifiche.
Si ricevono notifiche tramite posta elettronica quando vengono rilevate vulnerabilità. Nel messaggio di posta elettronica viene descritto cosa è accaduto e le azioni da intraprendere.
Individuazione dati e classificazione
Accedere al database marketplace. Nella barra di ricerca nella parte superiore del portale di Azure cercare marketplace e quindi selezionare il database.
Nel riquadro del menu a sinistra selezionare Individuazione dati e classificazione in Sicurezza.
Nella scheda Classificazione sono visualizzate le colonne delle tabelle che devono essere protette. Alcune colonne potrebbero contenere informazioni sensibili o essere considerate classificate in paesi o aree diverse.
Viene visualizzato un messaggio se è necessario configurare la protezione di alcune colonne. Il messaggio formattato è simile a 15 colonne con consigli per la 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.
Se i consigli vengono gestiti correttamente, non saranno più presenti consigli attivi.
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 dei consigli vengono visualizzati i dettagli, ad esempio il livello di rischio, il database a cui si applica, una descrizione delle 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 come gli avvisi di attacchi SQL injection, è possibile esaminare la query e procedere a ritroso fino al punto in cui la query è stata eseguita nel codice. Individuato il punto, riscrivere il codice in modo che il problema non possa più verificarsi.