Considerazioni sulla sicurezza per un'installazione di SQL Server

Si applica a: SQL Server - solo Windows

La sicurezza rappresenta un fattore importante per ogni prodotto e azienda. Con alcune semplici procedure consigliate è possibile evitare molte vulnerabilità di sicurezza. Questo articolo illustra alcune procedure consigliate per la sicurezza da prendere in considerazione prima e dopo l'installazione di SQL Server. Le indicazioni sulla sicurezza per specifiche funzionalità sono riportate negli articoli di riferimento relativi a tali funzionalità.

Prima di installare SQL Server

Procedure consigliate da eseguire durante la configurazione dell'ambiente server:

Ottimizzazione della sicurezza fisica

La sicurezza di SQL Server è basata sull'isolamento fisico e logico. Per ottimizzare la sicurezza fisica dell'installazione di SQL Server, eseguire le operazioni seguenti:

  • Collocare il server in un'area accessibile solo a persone autorizzate.

  • Posizionare i computer che ospitano un database in un luogo fisicamente protetto. La soluzione ideale è rappresentata da una sala computer chiusa, con monitoraggio e rilevamento di allagamenti e sistemi di rilevamento e spegnimento incendi.

  • Installare i database in un'area protetta della rete Intranet aziendale e non connettere le istanze SQL Server direttamente a Internet.

  • Eseguire regolarmente il backup di tutti i dati e archiviare tali backup in un luogo protetto fuori sede.

Utilizzo di firewall

I firewall costituiscono un elemento importante ai fini della protezione dell'installazione di SQL Server. e garantiscono la massima efficienza se vengono rispettate le linee guida seguenti:

  • Inserire un firewall tra il server e Internet. Abilitare il firewall. Se il firewall è disabilitato, abilitarlo. Se il firewall è abilitato, non disabilitarlo.

  • Dividere la rete in aree di sicurezza separate da firewall. Bloccare tutto il traffico e quindi ammettere selettivamente soltanto il traffico necessario.

  • In un ambiente multilivello utilizzare più firewall per creare subnet schermate.

  • Se il server viene installato all'interno di un dominio Windows, configurare firewall interni per consentire l'autenticazione di Windows.

  • Se l'applicazione usa transazioni distribuite, può essere necessario configurare il firewall in modo da consentire il flusso del traffico di Microsoft Distributed Transaction Coordinator (MS DTC) tra istanze di MS DTC separate. Sarà inoltre necessario configurare il firewall per consentire il flusso del traffico tra MS DTC e strumenti di gestione delle risorse come SQL Server.

Per altre informazioni sulle impostazioni predefinite di Windows Firewall e per una descrizione delle porte TCP che interessano il motore di database, Analysis Services, Reporting Services e Integration Services, vedere Configurare Windows Firewall per consentire l'accesso a SQL Server.

Isolamento dei servizi

L'isolamento dei servizi riduce il rischio che un servizio compromesso venga utilizzato per comprometterne altri. Per isolare i servizi, osservare le linee guida seguenti:

  • Eseguire servizi separati di SQL Server con account di Windows separati. Laddove possibile, usare account di Windows o account utente locale distinti con diritti limitati per ogni servizio di SQL Server. Per altre informazioni, vedere Configurare account di servizio e autorizzazioni di Windows.

Configurazione di un file system protetto

L'utilizzo del file system corretto garantisce una maggiore sicurezza. Per le installazioni di SQL Server, è necessario effettuare le operazioni seguenti:

Usare il file system NTFS o ReFS (Resilient File System). NTFS e ReFS sono i file system più appropriati per le installazioni di SQL Server, in quanto più stabili e recuperabili rispetto ai file system FAT32. NTFS e ReFS supportano inoltre opzioni di sicurezza quali gli elenchi di controllo di accesso (ACL) a file e directory. NTFS supporta anche la crittografia file EFS (Encrypting File System). Durante l'installazione, SQL Server imposterà elenchi di controllo di accesso appropriati nelle chiavi del Registro di sistema e nei file se rileva il file system NTFS. Queste autorizzazioni non devono essere modificate. Le versioni successive di SQL Server potrebbero non supportare l'installazione nei computer con file system di tipo FAT.

Nota

Se si usa EFS, i file di database verranno crittografati utilizzando l'identità dell'account che esegue SQL Server. Solo questo account potrà decrittografare i file. Se occorre modificare l'account che esegue SQL Server, per prima cosa è necessario decrittografare i file usando l'account precedente e quindi crittografarli nuovamente con il nuovo account del servizio.

Avviso

L'uso della crittografia dei file tramite EFS può comportare un rallentamento delle prestazioni di I/O, perché con la crittografia l'I/O asincrono diventa sincrono. Vedere L'I/O su disco asincrono appare come sincrono in Windows. È invece possibile usare tecnologie di crittografia di SQL Server come Transparent Data Encryption (TDE),Always Encrypted e funzioni T-SQL di crittografia a livello di colonna.

Disabilitazione di NetBIOS e SMB

È consigliabile disabilitare tutti i protocolli non necessari sui server della rete perimetrale, ad esempio NetBIOS e SMB (Server Message Block).

NetBIOS utilizza le porte seguenti:

  • UDP/137 (servizio nomi NetBIOS)

  • UDP/138 (servizio datagrammi NetBIOS)

  • TCP/139 (servizio di sessione NetBIOS)

SMB utilizza le porte seguenti:

  • TCP/139

  • TCP/445

I server Web e DNS (Domain Name System) non necessitano di NetBIOS o SMB. In tali server disabilitare entrambi i protocolli per ridurre il rischio di enumerazione degli utenti.

Installazione di SQL Server in un controller di dominio

Per motivi di sicurezza, è consigliabile non installare SQL Server in un controller di dominio. Il programma di installazione di SQL Server non bloccherà l'installazione in un computer con funzioni di controller di dominio, ma verranno applicate le limitazioni seguenti:

  • Non è possibile eseguire servizi di SQL Server in un controller di dominio usando un account Servizio locale.

  • Al termine dell'installazione di SQL Server in un computer, non è possibile modificare il computer da membro di dominio a controller di dominio. Prima di modificare il computer host in controller di dominio, è necessario disinstallare SQL Server.

  • Al termine dell'installazione di SQL Server in un computer, non è possibile modificare il computer da controller di dominio a membro di dominio. Prima di modificare il computer host in membro di dominio, è necessario disinstallare SQL Server.

  • Le istanze del cluster di failover di SQL Server non sono supportate quando i nodi del cluster sono controller di dominio.

  • Il programma di installazione di SQL Server non consente di creare gruppi di sicurezza o effettuare il provisioning di account del servizio SQL Server in un controller di dominio di sola lettura. In questo scenario il programma di installazione non verrà completato.

Durante o dopo l'installazione di SQL Server

Dopo l'installazione, è possibile ottimizzare la sicurezza dell'installazione di SQL Server attenendosi alle procedure consigliate seguenti per gli account e le modalità di autenticazione:

Account di servizio

  • Eseguire i servizi di SQL Server usando autorizzazioni quanto più possibile restrittive.

  • Associare i servizi di SQL Server ad account utente locali di Windows con privilegi minimi o ad account utente di dominio.

  • Per altre informazioni, vedere Configurare account di servizio e autorizzazioni di Windows.

Modalità di autenticazione

Password complesse

  • Assegnare sempre una password complessa all'account sa .

  • Abilitare sempre il controllo dei criteri password che consente di verificare la complessità e la scadenza della password.

  • Usare sempre password complesse per tutti gli account di accesso di SQL Server.

Importante

Durante l'installazione di SQL Server Express viene aggiunto un account di accesso per il gruppo BUILTIN\Users. In questo modo, tutti gli utenti autenticati del computer possono accedere all'istanza di SQL Server Express come membri del ruolo pubblico. L'account di accesso BUILTIN\Users può essere rimosso in sicurezza per limitare l'accesso al motore di database da parte di utenti di computer che dispongono di account di accesso singoli o sono membri di altri gruppi di Windows con account di accesso.

Vedi anche

Requisiti hardware e software per l'installazione di SQL Server
Protocolli e librerie di rete
Registrazione di un nome dell'entità servizio per le connessioni Kerberos