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 certificatiSSL/TLS
A partire dal 13 gennaio 2023, Amazon RDS ha pubblicato nuovi certificati Certificate Authority (CA) per la connessione alle istanze RDS DB tramite 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 utilizzanoSSL/TLSper 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 di SQL Server DB 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 certificatoSSL/TLS. Per ulteriori informazioni sul download, consulta . Per informazioni sull'utilizzo diSSL/TLScon le istanze DB di Microsoft SQL Server, vedereUtilizzo SSL con un'istanza DB di Microsoft SQL Server.
Argomenti
Determinare se alcune applicazioni si connettono all'istanza DB di Microsoft SQL Server utilizzando 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 utilizzareSSL/TLSper le connessioni. Per ulteriori informazioni sui gruppi di parametri, consultare Gruppi di parametri per 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 mostra se le applicazioni che si sono connesse e disconnesse in passato sono state utilizzateSSL.
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, vedere Moduli di connessione per SQL database Microsoft
SQLServer Management Studio
Verifica se la crittografia è applicata per le connessioni di SQL Server Management Studio:
-
Avvia SQL Server Management Studio.
-
Per Connect to server (Connetti al server) digitare le informazioni del server, il nome utente di accesso e la password.
-
Scegli Opzioni.
-
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
L'esempio seguente con il sqlcmd
client mostra come controllare la connessione al SQL server di uno script per determinare se le connessioni riuscite richiedono un certificato valido. Per ulteriori informazioni, vedere Connessione con sqlcmd nella documentazione
Quando viene utilizzatasqlcmd
, una SSL connessione richiede la verifica rispetto al certificato del server se si utilizza l'argomento del -N
comando 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
Nell'esempio seguente, l'applicazione si connette 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
Nell'esempio seguente, l'applicazione si connette tramite 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 SSL la crittografia per i client che si connettono tramiteJDBC, potrebbe essere necessario aggiungere il RDS certificato Amazon all'archivio certificati Java CA. Per istruzioni, vedere Configurazione del client per la crittografiatrustStore=
alla stringa di connessione.path-to-certificate-trust-store-file
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
È possibile aggiornare il trust store per le applicazioni che utilizzano Microsoft SQL Server. Per istruzioni, consulta Crittografia di connessioni specifiche. Inoltre, vedi Configurazione del client per la crittografia
Se utilizzi un sistema operativo diverso da Microsoft Windows, consulta la documentazione sulla distribuzione del software perSSL/TLSimplementation per informazioni sull'aggiunta di un nuovo certificato CA root. Ad esempio, Open SSL e Gnu TLS sono opzioni popolari. Utilizzate il metodo di implementazione per aggiungere fiducia al certificato CA RDS principale. 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.