Share via


Miglioramenti apportati alla sicurezza (Motore di database)

I miglioramenti apportati alla sicurezza del Motore di database di SQL Server includono il provisioning durante l'installazione, nuove autorizzazioni per SEARCH PROPERTY LIST, nuovi ruoli del server definiti dall'utente e nuove modalità di gestione dei ruoli del server e del database.

Provisioning durante l'installazione

Per migliorare la separazione dei ruoli, non viene eseguito il provisioning automatico di BUILTIN\Administrators e Sistema locale (NT AUTHORITY\SYSTEM) nel ruolo predefinito del server sysadmin. Gli amministratori locali possono comunque accedere al Motore di database in modalità utente singolo.

SQL Server supporta ora account del servizio gestito e account virtuali se è installato in Windows 7 o Windows Server 2008 R2. Per ulteriori informazioni, vedere Configurare account di servizio e autorizzazioni di Windows.

La protezione dei servizi in esecuzione con un SID per servizio è stata estesa a tutti i sistemi operativi. Per ulteriori informazioni, vedere Configurare account di servizio e autorizzazioni di Windows.

Nuove autorizzazioni

Sono disponibili 19 nuove autorizzazioni in Motore di database. Per visualizzare tutte le autorizzazioni eseguire l'istruzione seguente.

SELECT * FROM sys.fn_builtin_permissions('');

Di seguito sono riportate le nuove autorizzazioni:

Sono disponibili le nuove autorizzazioni GRANT, DENY e REVOKE per CONTROL/VIEW DEFINTION/TAKE OWNERSHIP/REFERENCES/ALTER in un elenco delle proprietà di ricerca.

Le nuove autorizzazioni GRANT, DENY e REVOKE per ALTER ANY SERVER ROLE, CREATE SERVER ROLE e CONTROL/VIEW DEFINTION/TAKE OWNERSHIP/ALTER in un ruolo del server.

Le nuove autorizzazioni GRANT, DENY e REVOKE per ALTER ANY AVAILABILITY GROUP, CREATE AVAILABILITY GROUP e CONTROL/VIEW DEFINTION/TAKE OWNERSHIP/ALTER in un gruppo di disponibilità.

Le nuove autorizzazioni GRANT, DENY e REVOKE per l'autorizzazione CREATE SEQUENCE.

Le nuove autorizzazioni GRANT, DENY e REVOKE per l'autorizzazione ALTER ANY EVENT SESSION.

Nuova gestione dei ruoli

Sono disponibili ruoli del server definiti dall'utente. Per gestire ruoli del server definiti dall'utente, utilizzare CREATE SERVER ROLE, ALTER SERVER ROLE e DROP SERVER ROLE. Per aggiungere e rimuovere membri da tutti i ruoli del server, utilizzare ALTER SERVER ROLE … WITH ADD MEMBER. sp_addsrvrolemember e sp_dropsrvrolemember sono deprecati.

ALTER ROLE è stato modificato per consentire l'aggiunta o la rimozione di membri dai ruoli utilizzando la sintassi di ADD MEMBER. sp_addrolemember e sp_droprolemember sono deprecati.

IS_ROLEMEMBER è stato aggiunto per controllare l'appartenenza dei ruoli del database.

Schema predefinito per i gruppi

È ora possibile definire uno schema predefinito per un gruppo di Windows. Quando un utente di Windows crea un oggetto e se non viene specificato uno schema predefinito, SQL Server non consente più la creazione automatica di uno schema. Per ulteriori informazioni sugli schemi predefiniti, vedere CREATE USER.

Miglioramenti di SQL Server Audit

Il supporto per il controllo a livello di server è stato ampliato per includere tutte le edizioni di SQL Server. I controlli a livello di database sono limitati alle edizioni Enterprise, Developer e alle copie di valutazione.

SQL Server Audit è ora più resistente agli errori di scrittura nel log di controllo. Ad esempio, se la directory di destinazione si trova in una condivisione remota e la rete viene interrotta, SQL Server Audit potrà essere recuperato una volta ristabilita la connessione di rete. Inoltre, è stata introdotta una nuova opzione con cui impedire un'operazione che comporterebbe la scrittura di un evento di controllo in una destinazione di controllo contenente errori. Per ulteriori informazioni, vedere l'opzione FAIL_OPERATION per l'evento ON_FAILURE in CREATE SERVER AUDIT.

Precedentemente, i log di controllo potevano disporre di un numero indeterminato di file di log oppure essere sottoposti a rollover dopo un numero predefinito. È stata introdotta una nuova opzione per limitare il numero di file di controllo senza eseguire il rollover, al fine di consentire agli utenti di controllare la quantità di informazioni di controllo raccolte senza perdere i record di controllo. Per ulteriori informazioni, vedere l'opzione MAX_FILES in CREATE SERVER AUDIT.

Quando possibile, nel log di controllo vengono fornite informazioni aggiuntive sullo stack frame Transact-SQL. In molti casi, i revisori possono ora determinare se una query è stata generata tramite una stored procedure o direttamente da un'applicazione.

Le specifiche di controllo di SQL Server supportano ora un gruppo di controllo definito dall'utente. Gli eventi controllati possono essere scritti nel log di controllo tramite la nuova routine sp_audit_write (Transact-SQL). Gli eventi di controllo definiti dall'utente consentono la scrittura di informazioni personalizzate nel log di controllo da parte delle applicazioni, ad esempio il nome dell'utente dell'applicazione che si è connesso nei casi in cui viene utilizzato un account di accesso comune per connettersi a SQL Server.

Vengono aggiunte nuove colonne a sys.server_file_audits, sys.server_audits e sys.fn_get_audit_file per rilevare gli eventi di controllo definiti dall'utente.

SQL Server Audit consente ora di filtrare gli eventi di controllo prima che vengano scritti nel log di controllo. Per ulteriori informazioni, vedere la clausola WHERE in CREATE SERVER AUDIT e ALTER SERVER AUDIT.

Nuovi gruppi di controllo supportano il monitoraggio degli utenti di database indipendenti.

Le nuove opzioni di controllo sono state aggiunte alle finestre di dialogo di controllo in Management Studio.

Accesso al motore di database consentito tramite database indipendenti

L'accesso ai database indipendenti è consentito tramite utenti di tali database che non richiedono account di accesso. È consigliabile che gli amministratori di sistema di SQL Server comprendano la modalità con cui viene modificato il modello di sicurezza di SQL Server da parte di database indipendenti. Per ulteriori informazioni, vedere Procedure consigliate per la sicurezza in database indipendenti.

Algoritmi di hashing

La funzione HASHBYTES supporta ora gli algoritmi SHA2_256 e SHA2_512.

Ulteriori elementi deprecati di RC4

L'algoritmo RC4 è supportato solo per motivi di compatibilità con le versioni precedenti. È possibile crittografare il nuovo materiale utilizzando RC4 o RC4_128 solo quando il livello di compatibilità del database è 90 o 100. (Non consigliato.) Utilizzare un algoritmo più recente, ad esempio uno degli algoritmi AES. In SQL Server 2012 il materiale crittografato utilizzando RC4 o RC4_128 può essere decrittografato in qualsiasi livello di compatibilità.

Lunghezza della chiave del certificato

Quando si creano i certificati, la lunghezza massima delle chiavi private importate da un'origine esterna viene aumentata da 3456 a 4096 bit.

Modifica della crittografia della chiave master di servizio e della chiave master di database da 3DES a AES

In SQL Server 2012 si utilizza l'algoritmo di crittografia AES per proteggere la chiave master del servizio (SMK) e la chiave master del database (DMK). AES è un algoritmo di crittografia più recente rispetto a 3DES utilizzato nelle versioni precedenti. Dopo avere aggiornato un'istanza del Motore di database a SQL Server 2012 le chiavi SMK e DMK devono essere rigenerate per aggiornare le chiavi master ad AES. Per ulteriori informazioni sulla rigenerazione della chiave SMK, vedere ALTER SERVICE MASTER KEY (Transact-SQL) e ALTER MASTER KEY (Transact-SQL).

I certificati possono essere creati dai file binari

CREATE CERTIFICATE (Transact-SQL) fornisce l'opzione FROM BINARY per specificare la descrizione binaria di un certificato ASN con codifica ASN. Le nuove funzioni CERTENCODED (Transact-SQL) e CERTPRIVATEKEY (Transact-SQL) possono essere utilizzate per estrarre una descrizione binaria di un certificato esistente.

Vedere anche

Concetti

Novità (Motore di database)

SQL Server Audit (Database Engine)