Riepilogo della crittografia client e SQL Server
Questo articolo fornisce un riepilogo di vari scenari e delle procedure associate al fine di abilitare la crittografia in SQL Server e di come verificare il funzionamento della crittografia.
Crittografare tutte le connessioni al server (crittografia lato server)
Tipi di certificati | Forzare la crittografia nelle proprietà del server | Importare il certificato del server in ogni client | Considera attendibile certificato server | Crittografare la proprietà nella stringa di connessione | Commenti |
---|---|---|---|---|---|
Certificato autofirmato creato automaticamente da SQL Server | Sì | Non è possibile eseguire | Sì | Ignorato | SQL Server 2016 (13.x) e versioni precedenti usano l'algoritmo SHA1. SQL Server 2017 (14.x) e versioni successive usano SHA256. Per maggiori informazioni, vedere Modifiche apportate all'algoritmo hash per il certificato autofirmato in SQL Server 2017. Non è consigliabile usare questo approccio per l'uso in produzione. |
Certificato autofirmato creato usando New-SelfSignedCertificate o makecert - Opzione 1 | Sì | No | Sì | Ignorato | Non è consigliabile usare questo approccio per l'uso in produzione. |
Certificato autofirmato creato usando New-SelfSignedCertificate o makecert - Opzione 2 | Sì | Sì | Facoltativo | Ignorato | Non è consigliabile usare questo approccio per l'uso in produzione. |
Server di certificati della società o da un'autorità di certificazione (CA) non inclusa nell'elenco dei partecipanti - Programma radice attendibile Microsoft - Opzione 1 | Sì | No | Sì | Ignorato | |
Server di certificati della società o da un'autorità di certificazione (CA) non inclusa nell'elenco dei partecipanti - Programma radice attendibile Microsoft - Opzione 2 | Sì | Sì | Facoltativo | Ignorato | |
Autorità radice attendibile | Sì | No | Facoltativo | Ignorato | È consigliabile adottare questo approccio. |
Crittografare le connessioni da client specifici
Tipi di certificati | Forzare la crittografia nelle proprietà del server | Importare il certificato del server in ogni client | Specificare l'impostazione del certificato di attendibilità del server nel client | Specificare manualmente la proprietà di crittografia su Sì/Vero sul lato client | Commenti |
---|---|---|---|---|---|
Certificato autofirmato creato automaticamente da SQL Server | Sì | Non è possibile eseguire | Sì | Ignorato | SQL Server 2016 (13.x) e versioni precedenti usano l'algoritmo SHA1. SQL Server 2017 (14.x) e versioni successive usano SHA256. Per maggiori informazioni, vedere Modifiche apportate all'algoritmo hash per il certificato autofirmato in SQL Server 2017. Non è consigliabile usare questo approccio per l'uso in produzione. |
Certificato autofirmato creato usando New-SelfSignedCertificate o makecert - Opzione 1 | No | No | Sì | Sì | Non è consigliabile usare questo approccio per l'uso in produzione. |
Certificato autofirmato creato usando New-SelfSignedCertificate o makecert - Opzione 2 | No | Sì | Facoltativo | Sì | Non è consigliabile usare questo approccio per l'uso in produzione. |
Server di certificati della società o da un'autorità di certificazione (CA) non inclusa nell'elenco dei partecipanti - Programma radice attendibile Microsoft - Opzione 1 | No | No | Sì | Sì | |
Server di certificati della società o da un'autorità di certificazione (CA) non inclusa nell'elenco dei partecipanti - Programma radice attendibile Microsoft - Opzione 2 | No | Sì | Facoltativo | Sì | |
Autorità radice attendibile | No | No | Facoltativo | Sì | È consigliabile adottare questo approccio. |
Come stabilire se la crittografia funziona?
È possibile monitorare la comunicazione usando uno strumento come Microsoft Network Monitor o uno sniffer di rete e controllare i dettagli dei pacchetti acquisiti nello strumento per verificare che il traffico sia crittografato.
In alternativa, è possibile controllare lo stato di crittografia delle connessioni di SQL Server usando i comandi Transact-SQL (T-SQL). A tale scopo, effettuare i passaggi seguenti:
- In SQL Server Management Studio aprire una nuova finestra di query e connettersi all'istanza di SQL Server.
- Eseguire il seguente comando T-SQL per controllare il valore della colonna
encrypt_option
. Per le connessioni crittografate il valore saràTRUE
.
SELECT * FROM sys.dm_exec_connections