Aggiornamento delle applicazioni per la connessione a istanze di database Microsoft SQL Server utilizzando nuovi certificati SSL/TLS - Amazon Relational Database Service

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Aggiornamento delle applicazioni per la connessione a istanze di database Microsoft SQL Server utilizzando nuovi certificati SSL/TLS

A partire dal 13 gennaio 2023, Amazon RDS ha pubblicato nuovi certificati dell'autorità di certificazione (CA) per la connessione alle istanze database RDS utilizzando Secure Socket Layer o Transport Layer Security (SSL/TLS). Di seguito sono disponibili le informazioni sull'aggiornamento delle applicazioni per utilizzare i nuovi certificati.

Questo argomento aiuta a determinare se le applicazioni client utilizzano SSL/TLS per connettersi alle istanze database. In caso affermativo, puoi determinare anche se le applicazioni richiedono la verifica del certificato per la connessione.

Nota

Alcune applicazioni sono configurate per connettersi alle istanze database SQL Server solo se sono in grado di verificare correttamente il certificato sul server.

Per queste applicazioni, è necessario aggiornare gli archivi di trust delle applicazioni client per includere i nuovi certificati CA.

Dopo aver aggiornato i certificati CA negli archivi di trust delle applicazioni client, puoi ruotare i certificati nelle istanze database. Consigliamo vivamente di testare queste procedure in un ambiente di sviluppo o di gestione temporanea prima di implementarle negli ambienti di produzione.

Per ulteriori informazioni sulla rotazione dei certificati, consulta Rotazione del certificato SSL/TLS. Per ulteriori informazioni sul download, consulta . Per informazioni sull'utilizzo di SSL/TLS con le istanze database Microsoft SQL Server, consulta Utilizzo di SSL con un'istanza database Microsoft SQL Server.

Determinare se un'applicazione si connette all'istanza database Microsoft SQL Server mediante SSL

Verifica la configurazione delle istanze database per il valore del parametro rds.force_ssl. Per impostazione predefinita, il parametro rds.force_ssl è impostato su 0 (off). Se il parametrords.force_ssl è impostato su1 (attivato), i client devono utilizzare SSL/TLS per le connessioni. Per ulteriori informazioni sui gruppi di parametri, consultare Gruppi di parametri per Amazon RDS.

Eseguire la seguente query per ottenere l'opzione di crittografia corrente per tutte le connessioni aperte a un'istanza database. Se la connessione è crittografata, la colonna ENCRYPT_OPTION restituisce TRUE.

select SESSION_ID, ENCRYPT_OPTION, NET_TRANSPORT, AUTH_SCHEME from SYS.DM_EXEC_CONNECTIONS

La query mostra solo le connessioni correnti. Non indica se le applicazioni collegate e scollegate in precedenza hanno utilizzato SSL.

Determinare se un client richiede la verifica del certificato per la connessione

Puoi verificare se i diversi tipi di client richiedono la verifica del certificato per la connessione.

Nota

Se si utilizzano connettori diversi da quelli elencati, consultare la documentazione specifica del connettore per le informazioni relative a come vengono applicate le connessioni crittografate. Per ulteriori informazioni, consultare Moduli di connessione per i database Microsoft SQL nella documentazione di Microsoft SQL Server.

Avviare SQL Server Management Studio

Verificare se è attivata la crittografia per le connessioni di SQL Server Management Studio:

  1. Avviare SQL Server Management Studio.

  2. Per Connect to server (Connetti al server) digitare le informazioni del server, il nome utente di accesso e la password.

  3. Scegli Opzioni.

  4. Verificare se è selezionata Encrypt connection (Connessione crittografata) nella pagina di connessione.

Per ulteriori informazioni su SQL Server Management Studio, consulta Utilizzare SQL Server Management Studio.

Sqlcmd

Il seguente esempio con il client sqlcmd illustra come verificare la connessione SQL Server di uno script per determinare se le connessioni riuscite richiedono un certificato valido. Per ulteriori informazioni, consulta la sezione relativa alla connessione con sqlcmd nella documentazione di Microsoft SQL Server.

Quando utilizzi sqlcmd, la connessione SSL richiede la verifica del certificato CA del server se utilizzi l'argomento del comando -N per crittografare le connessioni come nell'esempio seguente.

$ sqlcmd -N -S dbinstance.rds.amazon.com -d ExampleDB
Nota

Se sqlcmd viene richiamato con l'opzione -C, considera attendibile il certificato del server, anche se non corrisponde all'archivio store di trust lato client.

ADO.NET

Nel seguente esempio, l'applicazione di collega utilizzando SSL e il certificato del server deve essere verificato.

using SQLC = Microsoft.Data.SqlClient; ... static public void Main() { using (var connection = new SQLC.SqlConnection( "Server=tcp:dbinstance.rds.amazon.com;" + "Database=ExampleDB;User ID=LOGIN_NAME;" + "Password=YOUR_PASSWORD;" + "Encrypt=True;TrustServerCertificate=False;" )) { connection.Open(); ... }

Java

Nel seguente esempio, l'applicazione di collega utilizzando SSL e il certificato del server deve essere verificato.

String connectionUrl = "jdbc:sqlserver://dbinstance.rds.amazon.com;" + "databaseName=ExampleDB;integratedSecurity=true;" + "encrypt=true;trustServerCertificate=false";

Per abilitare la crittografia SSL per i client che si connettono utilizzando JDBC, può essere necessario aggiungere il certificato Amazon RDS all'archivio di certificati CA Java. Per istruzioni, consultare Configurazione del client per la crittografia nella documentazione Microsoft SQL Server. È anche possibile fornire direttamente il nome del file del certificato CA attendibile aggiungendo trustStore=path-to-certificate-trust-store-file alla stringa di connessione.

Nota

Se si utilizza TrustServerCertificate=true (o l'equivalente) nella stringa di connessione, il processo di connessione ignora la convalida della catena di attendibilità. In questo caso l'applicazione si connette anche se non è possibile verificare il certificato. L'utilizzo di TrustServerCertificate=false applica la convalida dei certificati ed è una best practice.

Aggiornare l'archivio di trust delle applicazioni

Puoi aggiornare l'archivio di trust delle applicazioni che utilizzano Microsoft SQL Server. Per istruzioni, consultare Crittografia di connessioni specifiche. Consultare anche Configurazione del client per la crittografia nella documentazione Microsoft SQL Server.

Se si sta utilizzando un sistema operativo diverso da Microsoft Windows, consultare la documentazione relativa alla distribuzione del software per l'implementazione SSL/TLS per informazioni relative all'aggiunta di un nuovo certificato CA root. Ad esempio, OpenSSL e GnuTLS sono le opzioni più comunemente usate. Utilizzare il metodo di implementazione per aggiungere trust al certificato CA root RDS. Microsoft fornisce le istruzioni per la configurazione dei certificati su alcuni sistemi.

Per ulteriori informazioni sul download del certificato root, consulta .

Per gli script di esempio che importano i certificati, consulta Script di esempio per l'importazione di certificati nel tuo archivio di trust.

Nota

Quando aggiorni l'archivio di trust puoi conservare i certificati meno recenti oltre ad aggiungere i nuovi certificati.