Considerazioni sulla sicurezza per un'installazione di SQL ServerSecurity Considerations for a SQL Server Installation

La sicurezza rappresenta un fattore importante per ogni prodotto e azienda.Security is important for every product and every business. Con alcune semplici procedure consigliate è possibile evitare molte vulnerabilità di sicurezza.By following simple best practices, you can avoid many security vulnerabilities. In questo argomento sono illustrate alcune procedure consigliate per la sicurezza, da prendere in considerazione prima dell'installazione di SQL ServerSQL Server e dopo l'installazione di SQL ServerSQL Server.This topic discusses some security best practices that you should consider both before you install SQL ServerSQL Server and after you install SQL ServerSQL Server. Le indicazioni sulla sicurezza per specifiche funzionalità sono riportate negli argomenti di riferimento relativi a tali funzionalità.Security guidance for specific features is included in the reference topics for those features.

Prima dell'installazione SQL ServerSQL ServerBefore Installing SQL ServerSQL Server

Procedure consigliate da eseguire durante la configurazione dell'ambiente server:Follow these best practices when you set up the server environment:

Enhance Physical Security Enhance Physical Security

La sicurezza di SQL ServerSQL Server è basata sull'isolamento fisico e logico.Physical and logical isolation make up the foundation of SQL ServerSQL Server security. Per ottimizzare la sicurezza fisica dell'installazione di SQL ServerSQL Server , eseguire le operazioni seguenti:To enhance the physical security of the SQL ServerSQL Server installation, do the following tasks:

  • Collocare il server in un'area accessibile solo a persone autorizzate.Place the server in a room accessible only to authorized persons.

  • 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.Place computers that host a database in a physically protected location, ideally a locked computer room with monitored flood detection and fire detection or suppression systems.

  • Installare i database in un'area protetta della rete Intranet aziendale e non connettere i computer SQL Server direttamente a Internet.Install databases in the secure zone of the corporate intranet and do not connect your SQL Servers directly to the Internet.

  • Eseguire regolarmente il backup di tutti i dati e archiviare tali backup in un luogo protetto fuori sede.Back up all data regularly and secure the backups in an off-site location.

Use Firewalls Use Firewalls

I firewall costituiscono un elemento importante ai fini della protezione dell'installazione di SQL ServerSQL ServerFirewalls are important to help secure the SQL ServerSQL Server installation. e garantiscono la massima efficienza se vengono rispettate le linee guida seguenti:Firewalls will be most effective if you follow these guidelines:

  • Inserire un firewall tra il server e Internet.Put a firewall between the server and the Internet. Abilitare il firewall.Enable your firewall. Se il firewall è disabilitato, abilitarlo.If your firewall is turned off, turn it on. Se il firewall è abilitato, non disabilitarlo.If your firewall is turned on, do not turn it off.

  • Dividere la rete in aree di sicurezza separate da firewall.Divide the network into security zones separated by firewalls. Bloccare tutto il traffico e quindi ammettere selettivamente soltanto il traffico necessario.Block all traffic, and then selectively admit only what is required.

  • In un ambiente multilivello utilizzare più firewall per creare subnet schermate.In a multi-tier environment, use multiple firewalls to create screened subnets.

  • Se il server viene installato all'interno di un dominio Windows, configurare firewall interni per consentire l'autenticazione di Windows.When you are installing the server inside a Windows domain, configure interior firewalls to allow Windows Authentication.

  • Se l'applicazione utilizza transazioni distribuite, potrebbe essere necessario configurare il firewall in modo da consentire il flusso del traffico MicrosoftMicrosoft Distributed Transaction Coordinator (MS DTC) tra istanze MS DTC separate.If your application uses distributed transactions, you might have to configure the firewall to allow MicrosoftMicrosoft Distributed Transaction Coordinator (MS DTC) traffic to flow between separate MS DTC instances. Sarà inoltre necessario configurare il firewall per consentire il flusso del traffico tra MS DTC e strumenti di gestione delle risorse, ad esempio SQL ServerSQL Server.You will also have to configure the firewall to allow traffic to flow between the MS DTC and resource managers such as SQL ServerSQL Server.

    Per altre informazioni sulle impostazioni predefinite di Windows Firewall e per una descrizione delle porte TCP che interessano Motore di databaseDatabase Engine, Analysis ServicesAnalysis Services, Reporting ServicesReporting Servicese Integration ServicesIntegration Services, vedere Configurare Windows Firewall per consentire l'accesso a SQL Server.For more information about the default Windows firewall settings, and a description of the TCP ports that affect the Motore di databaseDatabase Engine, Analysis ServicesAnalysis Services, Reporting ServicesReporting Services, and Integration ServicesIntegration Services, see Configure the Windows Firewall to Allow SQL Server Access.

Isolate Services Isolate Services

L'isolamento dei servizi riduce il rischio che un servizio compromesso venga utilizzato per comprometterne altri.Isolating services reduces the risk that one compromised service could be used to compromise others. Per isolare i servizi, osservare le linee guida seguenti:To isolate services, consider the following guidelines:

  • Eseguire servizi separati di SQL ServerSQL Server con account di Windows separati.Run separate SQL ServerSQL Server services under separate Windows accounts. Laddove possibile, utilizzare account di Windows o account utente locale con diritti minimi distinti per ogni servizio di SQL ServerSQL Server .Whenever possible, use separate, low-rights Windows or Local user accounts for each SQL ServerSQL Server service. Per altre informazioni, vedere Configurare account di servizio e autorizzazioni di Windows.For more information, see Configure Windows Service Accounts and Permissions.

Configure a Secure File System Configure a Secure File System

L'utilizzo del file system corretto garantisce una maggiore sicurezza.Using the correct file system increases security. Per le installazioni di SQL ServerSQL Server , è necessario effettuare le operazioni seguenti:For SQL ServerSQL Server installations, you should do the following tasks:

  • Utilizzare il file system NTFS.Use the NTFS file system (NTFS). NTFS è il file system più appropriato per le installazioni di SQL ServerSQL Server in quanto è più stabile e recuperabile rispetto ai file system FAT.NTFS is the preferred file system for installations of SQL ServerSQL Server because it is more stable and recoverable than FAT file systems. NTFS supporta inoltre opzioni di sicurezza quali gli elenchi di controllo di accesso (ACL) a file e directory e la crittografia file Encrypting File System (EFS).NTFS also enables security options like file and directory access control lists (ACLs) and Encrypting File System (EFS) file encryption. Durante l'installazione, SQL ServerSQL Server imposterà elenchi di controllo di accesso appropriati nelle chiavi del Registro di sistema e nei file se rileva il file system NTFS.During installation, SQL ServerSQL Server will set appropriate ACLs on registry keys and files if it detects NTFS. Queste autorizzazioni non devono essere modificate.These permissions should not be changed. Per le versioni successive di SQL ServerSQL Server potrebbe non essere supportata l'installazione nei computer con file system di tipo FAT.Future releases of SQL ServerSQL Server might not support installation on computers with FAT file systems.

    Nota

    Se si utilizza EFS, i file di database verranno crittografati utilizzando l'identità dell'account che esegue SQL ServerSQL Server.If you use EFS, database files will be encrypted under the identity of the account running SQL ServerSQL Server. Solo questo account potrà decrittografare i file.Only this account will be able to decrypt the files. Se è necessario modificare l'account che esegue SQL ServerSQL Server, è innanzitutto necessario decrittografare i file utilizzando l'account precedente e quindi crittografarli nuovamente con il nuovo account.If you must change the account that runs SQL ServerSQL Server, you should first decrypt the files under the old account and then re-encrypt them under the new account.

  • Utilizzare un Redundant Array of Independent Disks (RAID) per i file di dati critici.Use a redundant array of independent disks (RAID) for critical data files.

Disable NetBIOS and Server Message Block Disable NetBIOS and Server Message Block

È consigliabile disabilitare tutti i protocolli non necessari sui server della rete perimetrale, ad esempio NetBIOS e SMB (Server Message Block).Servers in the perimeter network should have all unnecessary protocols disabled, including NetBIOS and server message block (SMB).

NetBIOS utilizza le porte seguenti:NetBIOS uses the following ports:

  • UDP/137 (servizio nomi NetBIOS)UDP/137 (NetBIOS name service)

  • UDP/138 (servizio datagrammi NetBIOS)UDP/138 (NetBIOS datagram service)

  • TCP/139 (servizio di sessione NetBIOS)TCP/139 (NetBIOS session service)

    SMB utilizza le porte seguenti:SMB uses the following ports:

  • TCP/139TCP/139

  • TCP/445TCP/445

    I server Web e DNS (Domain Name System) non necessitano di NetBIOS o SMB.Web servers and Domain Name System (DNS) servers do not require NetBIOS or SMB. In tali server disabilitare entrambi i protocolli per ridurre il rischio di enumerazione degli utenti.On these servers, disable both protocols to reduce the threat of user enumeration.

Installazione di SQL ServerSQL Server in un controller di dominio Installing SQL ServerSQL Server on a domain controller

Per motivi di sicurezza, è consigliabile non installare SQL ServerSQL Server in un controller di dominio.For security reasons, we recommend that you do not install SQL ServerSQL Server on a domain controller. SQL ServerSQL Server , ma verranno applicate le limitazioni seguenti: Setup will not block installation on a computer that is a domain controller, but the following limitations apply:

  • Non è possibile eseguire servizi SQL ServerSQL Server in un controller di dominio utilizzando un account Servizio locale.You cannot run SQL ServerSQL Server services on a domain controller under a local service account.

  • Al termine dell'installazione di SQL ServerSQL Server in un computer, non è possibile modificare il computer da membro di dominio a controller di dominio.After SQL ServerSQL Server is installed on a computer, you cannot change the computer from a domain member to a domain controller. Prima di modificare il computer host in controller di dominio, è necessario disinstallare SQL ServerSQL Server .You must uninstall SQL ServerSQL Server before you change the host computer to a domain controller.

  • Al termine dell'installazione di SQL ServerSQL Server in un computer, non è possibile modificare il computer da controller di dominio a membro di dominio.After SQL ServerSQL Server is installed on a computer, you cannot change the computer from a domain controller to a domain member. Prima di modificare il computer host in membro di dominio, è necessario disinstallare SQL ServerSQL Server .You must uninstall SQL ServerSQL Server before you change the host computer to a domain member.

  • SQL ServerSQL Server non sono supportate quando i nodi del cluster sono controller di dominio. failover cluster instances are not supported where cluster nodes are domain controllers.

  • SQL ServerSQL Server Il programma di installazione non consente di creare gruppi di sicurezza o fornire account del servizio SQL ServerSQL Server in un controller di dominio di sola lettura. Setup cannot create security groups or provision SQL ServerSQL Server service accounts on a read-only domain controller. In questo scenario il programma di installazione non verrà completato.In this scenario, Setup will fail.

Durante o dopo l'installazione di SQL ServerSQL ServerDuring or After Installation of SQL ServerSQL Server

Dopo l'installazione, è possibile ottimizzare la sicurezza dell'installazione di SQL ServerSQL Server eseguendo le procedure consigliate seguenti per gli account e le modalità di autenticazione.After installation, you can enhance the security of the SQL ServerSQL Server installation by following these best practices regarding accounts and authentication modes:

Account di servizioService accounts

  • Eseguire i servizi di SQL ServerSQL Server utilizzando autorizzazioni quanto più restrittive possibili.Run SQL ServerSQL Server services by using the lowest possible permissions.

  • Associare i servizi di SQL ServerSQL Server ad account utente locali di Windows con privilegi minimi o ad account utente di dominio.Associate SQL ServerSQL Server services with low privileged Windows local user accounts, or domain user accounts.

  • Per altre informazioni, vedere Configurare account di servizio e autorizzazioni di Windows.For more information, see Configure Windows Service Accounts and Permissions.

    Modalità di autenticazioneAuthentication mode

  • Richiedere l'autenticazione di Windows per le connessioni a SQL ServerSQL Server.Require Windows Authentication for connections to SQL ServerSQL Server.

  • Utilizzo dell'autenticazione Kerberos.Use Kerberos authentication. Per altre informazioni, vedere Registrazione di un nome dell'entità servizio per le connessioni Kerberos.For more information, see Register a Service Principal Name for Kerberos Connections.

    Password complesseStrong passwords

  • Assegnare sempre una password complessa all'account sa .Always assign a strong password to the sa account.

  • Abilitare sempre il controllo dei criteri password che consente di verificare la complessità e la scadenza della password.Always enable password policy checking for password strength and expiration.

  • Utilizzare sempre password complesse per tutti gli account di accesso di SQL ServerSQL Server .Always use strong passwords for all SQL ServerSQL Server logins.

Importante

Durante l'installazione di SQL Server ExpressSQL Server Express viene aggiunto un account di accesso per il gruppo BUILTIN\Users.During setup of SQL Server ExpressSQL Server Express a login is added for the BUILTIN\Users group. In questo modo, tutti gli utenti autenticati del computer possono accedere all'istanza di SQL Server ExpressSQL Server Express come un membro del ruolo pubblico.This allows all authenticated users of the computer to access the instance of SQL Server ExpressSQL Server Express as a member of the public role. L'account di accesso BUILTIN\Users può essere rimosso in sicurezza per limitare l'accesso del Motore di databaseDatabase Engine agli utenti di computer che dispongono di account di accesso singoli o sono membri di altri gruppi di Windows con account di accesso.The BUILTIN\Users login can be safely removed to restrict Motore di databaseDatabase Engine access to computer users who have individual logins or are members of other Windows groups with logins.

Vedere ancheSee Also

Requisiti hardware e software per l'installazione di SQL Server Hardware and Software Requirements for Installing SQL Server
Protocolli e librerie di rete Network Protocols and Network Libraries
Registrazione di un nome dell'entità servizio per le connessioni KerberosRegister a Service Principal Name for Kerberos Connections