Casi speciali per la crittografia delle connessioni verso SQL Server

Il computer client deve considerare attendibile il certificato del server in modo che il client possa richiedere la crittografia SSL e il certificato deve già presente nel server. Lo scenario più comune per la crittografia di SQL Server comprende ambienti che:

  • forzano la crittografia per tutte le connessioni client in ingresso a SQL Server.
  • Usare i certificati di un'autorità di certificazione commerciale pubblica che Windows considera già attendibile. Il certificato radice corrispondente per la CA viene installato nell'archivio Autorità di certificazione radice attendibili in tutti i computer della rete.

In questo scenario non è necessario eseguire passaggi aggiuntivi per la corretta crittografia dopo aver configurato SQL Server in base alla procedura descritta in Configurazione di SQL Server per la crittografia. Questo articolo illustra le procedure per crittografare le connessioni verso SQL Server per scenari meno comuni, non trattati in Configurazione di SQL Server per la crittografia.

Nota

Per un elenco completo dei partecipanti al Programma radice attendibile Microsoft, si veda Elenco dei partecipanti - Microsoft Trusted Root Program.

Usare un certificato rilasciato da un'autorità di certificazione commerciale pubblica e solo alcuni client necessitano di connessioni crittografate

  1. Configurare il certificato in SQL Server in base alla procedura descritta in Configurare SQL Server per l'uso dei certificati.
  2. Specificare la parola chiave per la crittografia nelle proprietà di connessione su o Vero. Ad esempio, se si usa Microsoft ODBC Driver per SQL Server, la stringa di connessione deve specificare Encrypt=yes;.

Usare un certificato rilasciato da una CA interna o creato usando New-SelfSignedCertificate oppure makecert

Scenario 1: Si vogliono crittografare tutte le connessioni verso SQL Server

Dopo aver completato entrambe le procedure descritte nel passaggio 1: Configurare SQL Server per l'uso dei certificati e passaggio 2: Configurare le impostazioni di crittografia in SQL Server descritte in Configurazione di SQL Server per la crittografia, usare una delle opzioni seguenti per configurare l'applicazione client per la crittografia.

Opzione 1: configurare le applicazioni client per considerare attendibile il certificato del server. Questa impostazione impedirà al client di ignorare il passaggio che convalida il certificato del server e continuerà il processo di crittografia. Ad esempio, se si usa SQL Server Management Studio, è possibile selezionare Considera attendibile il certificato del server nella pagina Opzioni.

Opzione 2: in ogni client aggiungere l'autorità emittente del certificato all'archivio delle autorità radice attendibili seguendo questa procedura:

  1. Esportare il certificato da un computer che esegue SQL Server usando la procedura documentata in Esportare il certificato del server.
  2. Importare il certificato usando la procedura descritta in Aggiungere un'autorità di certificazione privata (CA) all'archivio delle autorità di certificazione radice attendibili.

Scenario 2: solo alcuni client necessitano di connessioni crittografate

Dopo aver completato entrambe le procedure descritte nel passaggio 1: Configurare SQL Server per l'uso dei certificati e in Configurare le impostazioni di crittografia in SQL Server descritte in Configurazione di SQL Server per la crittografia, usare una delle opzioni seguenti per configurare l'applicazione client per la crittografia:

Opzione 1: configurare le applicazioni client per considerare attendibile il certificato del server e specificare la parola chiave di crittografia nelle proprietà di connessione su o Vero. Ad esempio, se si usa Microsoft ODBC Driver per SQL Server, la stringa di connessione deve specificare Encrypt=yes;Trust Server Certificate =Yes;.

Per altre informazioni sui certificati del server e sulla crittografia, vedere Uso di TrustServerCertificate.

Opzione 2: in ogni client aggiungere l'autorità emittente del certificato all'archivio autorità radice attendibile e specificare i parametri di crittografia su nella stringa di connessione:

  1. Esportare il certificato da un computer che esegue SQL Server usando la procedura documentata in Esportare il certificato da un computer che esegue SQL Server.
  2. Importare il certificato.
  3. Specificare la parola chiave per la crittografia nelle proprietà di connessione su o Vero. Ad esempio, se si usa Microsoft ODBC Driver per SQL Server, la stringa di connessione deve specificare Utilizza crittografia per dati = Vero;

Usare il certificato autofirmato creato automaticamente da SQL Server

Scenario 1: Si vogliono crittografare tutte le connessioni verso SQL Server

  1. Abilitare la crittografia in SQL Server usando la procedura Passaggio 2: Configurare le impostazioni di crittografia in SQL Server documentata in Configurazione di SQL Server per la crittografia.

  2. Configurare le applicazioni client per considerare attendibile il certificato del server. Questa impostazione impedirà al client di ignorare il passaggio che convalida il certificato del server e continuerà il processo di crittografia. Ad esempio, se si usa SQL Server Management Studio, è possibile selezionare Considera attendibile il certificato del server nella pagina Opzioni.

Scenario 2: solo alcuni client necessitano di connessioni crittografate

Configurare le applicazioni client per considerare attendibile il certificato del server e specificare la parola chiave di crittografia nelle proprietà di connessione su o Vero. Ad esempio, se si usa Microsoft ODBC Driver per SQL Server, la stringa di connessione deve specificare Encrypt=yes;Trust Server Certificate =Yes;.

Avviso

Le connessioni SSL crittografate tramite un certificato autofirmato non offrono una sicurezza avanzata perché la lunghezza della chiave dei certificati autofirmati è più breve rispetto a quella dei certificati generati dalla CA. Sono infatti suscettibili ad attacchi man-in-the-middle. Non è consigliabile affidarsi all'SSL usando certificati autofirmati in un ambiente di produzione o su server connessi a Internet.

Nota

Per questo scenario, non è necessaria alcuna configurazione aggiuntiva in SQL Server.

Passaggi successivi