Installazione Certificato SSL

Sql Server SSL

Creare un Self Signed Certificate (certutil.exe), oppure farsi preparare un certificato da importare

Ricordare che il certificato deve rispettare i seguenti parametri

Viene inviato FQDN corretto del server
Ha la chiave privata e deve essere installata
Ha il ruolo di autenticazione del server
Tutte le CA nella catena di certificati sono affidabili
Il certificato nella MMC viene visto come valido.

Successivamente dobbiamo procedere all’installazione che si divide in 3 fasi :

Creazione e importazione del certificato
Set dei permessi sul certificato
Configurazione del certificato per l’utilizzo con SQL Server

Per l’installazione e\o l’importazione del certificato lanciare la console MMC > File > Add/Remove Snap-in
Seleziona Certificates ( ora apparirà un menù di scelta , nel quale selezionare Computer Account )

Ora dentro la console di MMC
Certificates > Local Computer > Personal Certificates
Qui possiamo importare il certificato o crearlo
Dopo aver importato il certificato , dovremmo poterlo vedere nella lista
Importare la chiave pfx ( apparirà una chiavetta gialla sull’icona del certificato)
Andiamo sempre su Certificates tasto destro > all tasks > manage private keys
Ed aggiungere l’account di servizio con il quale gira sql e concedere dei Ricordapermessi in lettura.

 

 

Per impostare le permission

 

Ricordarsi di inserire l’unità di certificazione attendibile Root

 

Ora avviare SQL Server configuration manager , andare sulla configurazione del network , selezionare l’istanza da configurare , tasto destro , proprietà nel tab dei certificati scegliere il certificato salvare e riavviare il servizio.

 

 

Proprietà

 

Durante l’installazione abbiamo riscontrato la problematica relativa alla mancata visualizzazione del certificato nella sezione protocolli di SQL Server

Non appare il certificato pur funzionando
A questo punto se non lo possiamo vedere andiamo sul registry e lo configuriamo da li

 

 

Chiave
Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQLServer\SuperSocketNetLib
Dentro la voce certificate dobbiamo inserire l’id del certificato

 

Il fatto che funziona lo possiamo verificare con la query :

 

SELECT session_id, encrypt_option
FROM sys.dm_exec_connections

Le connessioni SQL server sia se criptate che non le istanzia sempre sulla stessa porta
Questo è un modo veloce per controllare se il tuo server sta usando ssl anche se nella maschera relativa ai protocolli non riusciamo a vedere il certificato installato.

Si può anche usare questa Query :

SELECT COUNT(*) FROM sys.dm_exec_connections WHERE encrypt_option = ‘TRUE’

Note :

Il certificato ha bisogno di essere nello stesso store dello stesso utente usato da SQL Server. Quindi deve essere verificato l’ambiente .
Avere il certificato in local computer potrebbe non adare bene se il nostro servizio gira con LocalSystem , o un altro utente Built-in Locale

I certificati sono archiviati localmente per gli utenti sul computer. Per installare un certificato per l’utilizzo da parte di SQL Server, è necessario eseguire Gestione configurazione SQL Server con lo stesso account utente del servizio SQL Server a meno che il servizio non sia in esecuzione come LocalSystem, NetworkService o LocalService, nel qual caso è possibile utilizzare un account amministrativo .

Approfondimenti :
https://blogs.msdn.microsoft.com/jorgepc/2008/02/19/enabling-certificate-for-ssl-on-a-sql-server-2005-clustered-installation/

in un cluster dobbiamo ripetere la procedura su tutti i nodi.

Quirino Scaramastra

website http://www.securzone.it/

Annunci

Rispondi

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione /  Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione /  Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione /  Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione /  Modifica )

Connessione a %s...