Condividi tramite


Proteggi il tuo SQL Server

SQL Server è un sistema di gestione di database relazionale (RDBMS) che archivia e gestisce i dati aziendali critici per applicazioni, analisi e report. Poiché spesso contiene informazioni riservate, ad esempio record dei clienti, dati finanziari e proprietà intellettuale, la protezione di SQL Server è essenziale per proteggere l'organizzazione da violazioni dei dati, accesso non autorizzato e rischi di conformità.

Questo articolo fornisce indicazioni su come proteggere al meglio SQL Server.

Sicurezza della rete

La protezione dell'accesso di rete a SQL Server consente di evitare connessioni non autorizzate, riduce l'esposizione agli attacchi e garantisce che solo le origini attendibili possano raggiungere i database.

Gestione delle identità

I controlli di autenticazione e identità avanzata consentono di garantire che solo gli utenti e le applicazioni autorizzati possano accedere alle risorse di SQL Server.

  • Usare l'autenticazione di Windows o l'autenticazione di Microsoft Entra: preferisce l'autenticazione di Windows o l'autenticazione di Microsoft Entra rispetto all'autenticazione SQL per la gestione centralizzata delle identità e il controllo più semplice del ciclo di vita degli account. Per altre informazioni, vedere Scegliere una modalità di autenticazione.

  • Usare gli account del servizio gestito a livello di gruppo per i servizi (gMSA): usare gMSA per gestire automaticamente e in modo sicuro le credenziali degli account di servizio. Per ulteriori informazioni, consultare la panoramica degli account di servizioGroup-Managed.

  • Applicare politiche di password robuste: se si utilizza l'autenticazione SQL, imporre l'uso di password complesse che non possano essere facilmente indovinate e che non siano utilizzate per altri account. Aggiornare regolarmente le password e applicare i criteri di Active Directory. Per altre informazioni, vedere Password complesse.

  • Usare gli utenti del database indipendente quando appropriato: considerare gli utenti di database indipendenti per le applicazioni che necessitano dell'autenticazione a livello di database senza richiedere account di accesso a livello di server. Per altre informazioni, vedere Utenti di database indipendenti.

Accesso con privilegi

La limitazione e il monitoraggio dell'accesso con privilegi consente di evitare modifiche non autorizzate e di ridurre l'impatto degli account compromessi.

  • Concedere le autorizzazioni minime necessarie: assegnare il livello di privilegio minimo necessario per ogni utente o servizio. Esaminare e modificare regolarmente le autorizzazioni per mantenere i privilegi minimi. Per altre informazioni, vedere Introduzione alle autorizzazioni del motore di database.

  • Separare gli amministratori di database e sysadmin i ruoli: evitare di sysadmin concedere diritti a tutti gli amministratori di database. Usare l'autorizzazione CONTROL SERVER quando possibile, in quanto rispetta DENY le autorizzazioni e consente un controllo più granulare. Si consideri una separazione dei compiti che limitano l'accesso alla macchina virtuale, la possibilità di accedere al sistema operativo, la possibilità di modificare i log di errore e di controllo e la possibilità di installare applicazioni e/o funzionalità. Per altre informazioni, vedere Autorizzazioni (motore di database).

  • Monitorare e controllare le attività con privilegi: abilitare il controllo per tenere traccia delle modifiche apportate dagli account con privilegi ed esaminare regolarmente i log per attività sospette. Per altre informazioni, vedere SQL Server Audit (Motore di database).

  • Implementare la separazione dei ruoli: posizionare gli utenti di Active Directory nei gruppi di Active Directory, eseguire il mapping dei gruppi di Active Directory ai ruoli di SQL Server e concedere ai ruoli di SQL Server le autorizzazioni minime richieste dalle applicazioni. Per altre informazioni, vedere Introduzione alle autorizzazioni del motore di database.

Protezione dei dati

La protezione dei dati inattivi e in transito è fondamentale per impedire la divulgazione o la manomissione non autorizzata.

  • Crittografare le informazioni riservate con Always Encrypted: usare Always Encrypted e Always Encrypted con enclave sicuri per proteggere i dati sensibili in SQL Server. Preferisce la crittografia casuale per una maggiore sicurezza. Per altre informazioni, vedere Always Encrypted.

  • Usare Transparent Data Encryption (TDE) per i file di database: abilitare TDE per crittografare i file di database, backup e tempdb, proteggendo i dati se i supporti fisici vengono compromessi. Per ulteriori informazioni, vedere Transparent Data Encryption (TDE).

  • Mascherare i dati sensibili con Dynamic Data Masking (DDM): usare DDM per offuscare i dati sensibili nei risultati delle query quando la crittografia non è possibile. Per altre informazioni, vedere Dynamic Data Masking.

  • Concedere autorizzazioni a livello di colonna: limitare l'accesso alle colonne sensibili concedendole SELECTle autorizzazioni , REFERENCESo UPDATE solo agli utenti autorizzati. Per ulteriori informazioni, consultare le autorizzazioni GRANT.

  • Usare Row-Level Security (RLS) per limitare l'accesso ai dati: implementare la sicurezza a livello di riga per assicurarsi che gli utenti visualizzino solo i dati pertinenti. Usare SESSION_CONTEXT per le applicazioni di livello intermedio in cui gli utenti condividono account SQL. Per altre informazioni, vedere Row-Level Security.

  • Combinare le funzionalità di sicurezza per la massima protezione: usare Row-Level Security insieme a Always Encrypted o Dynamic Data Masking per ottimizzare il comportamento di sicurezza dell'organizzazione. Per altre informazioni, vedere Row-Level Procedure consigliate per la sicurezza.

Registrazione e rilevamento delle minacce

La registrazione e il monitoraggio completi consentono di rilevare le minacce, analizzare gli eventi imprevisti e soddisfare i requisiti di conformità.

  • Abilitare e configurare Il controllo di SQL Server: controllare l'accesso e le modifiche ai dati e alle configurazioni sensibili sia a livello di server che di database. Valutare la possibilità di controllare tabelle e colonne con dati sensibili a cui sono applicate misure di sicurezza. Esaminare regolarmente i log di controllo, in particolare per le tabelle contenenti informazioni riservate in cui non sono possibili misure di sicurezza complete. Per altre informazioni, vedere SQL Server Audit (Motore di database).

  • Usare il libro mastro in SQL Server: abilitare il libro mastro per creare un record non modificabile di modifiche ai dati sensibili, fornendo una registrazione evidente delle manomissioni. Per altre informazioni, vedere Configurare un database di libro mastro.

Backup e ripristino

I processi di backup e ripristino affidabili proteggono i dati dalla perdita a causa di errori, emergenze o attacchi.

Valutazione della sicurezza e mitigazione delle minacce

La valutazione regolare dell'ambiente SQL Server consente di identificare le vulnerabilità e migliorare il comportamento di sicurezza.

  • Limitare le funzionalità abilitate per ridurre la superficie di attacco: abilitare solo le funzionalità di SQL Server necessarie per l'ambiente. Per ulteriori informazioni, vedere Configurazione dell'area superficiale.

  • Eseguire valutazioni delle vulnerabilità: usare valutazione della vulnerabilità SQL in SSMS per individuare e correggere potenziali vulnerabilità del database. Per altre informazioni, vedere Valutazione della vulnerabilità SQL.

  • Classificare ed etichettare i dati sensibili: usare l'individuazione e la classificazione dei dati SQL per identificare ed etichettare i dati sensibili per una migliore protezione e conformità. Per altre informazioni, vedere Individuazione dati e classificazione SQL.

  • Esaminare e attenuare le minacce comuni: proteggere da attacchi SQL injection, attacchi side-channel, forza bruta, password spraying e ransomware seguendo le procedure consigliate per la convalida dell'input, l'applicazione di patch e il controllo di accesso. Per altre informazioni, vedere SQL injection e attacchi ransomware.

  • Implementare la sicurezza avanzata della difesa: usare più funzionalità di sicurezza destinate a ambiti di sicurezza diversi per fornire una protezione completa da varie minacce. Per altre informazioni, vedere Procedure consigliate per la sicurezza di SQL Server.