View a markdown version of this page

Aggiornamento delle applicazioni per la connessione alle istanze DB di 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 alle istanze DB di Microsoft SQL Server utilizzando nuovi certificati SSL/TLS

A partire dal 13 gennaio 2023, Amazon RDS ha pubblicato nuovi certificati Certificate Authority (CA) per la connessione alle istanze DB 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 può aiutarti a determinare se alcune applicazioni client vengono utilizzate SSL/TLS per connettersi alle tue istanze DB. 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 SSL/TLS con le istanze DB di Microsoft SQL Server, vedereUtilizzo 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 rds.force_ssl parametro è impostato su 1 (on), i client devono utilizzarlo 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, consulta Crittografia di connessioni specifiche. Consultare anche Configurazione del client per la crittografia nella documentazione Microsoft SQL Server.

Se utilizzi un sistema operativo diverso da Microsoft Windows, consulta la documentazione sulla distribuzione del software per SSL/TLS l'implementazione per informazioni sull'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.