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à.
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.
Importante
Quando si modifica il certificato per un'istanza database Amazon RDS for Oracle, viene riavviato solo il listener di database. L'istanza database non viene riavviata. Le connessioni al database esistenti non vengono influenzate, ma le nuove connessioni presenteranno errori per un breve periodo durante il riavvio del listener.
Nota
Per le applicazioni client che utilizzano SSL/TLS per la connessione alle istanze database, è 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 di SSL/TLS con le istanze database Oracle, consulta Oracle Secure Sockets Layer.
Argomenti
Verifica se le applicazioni si connettono utilizzando SSL
Se la tua istanza database Oracle utilizza un gruppo di opzioni con l'opzione SSL
aggiunta, potresti dover utilizzare SSL. Controlla seguendo le istruzioni seguenti in Generazione di un elenco delle opzioni e delle impostazioni delle opzioni per un gruppo di opzioni. Per ulteriori informazioni sull'opzione SSL
, consulta Oracle Secure Sockets Layer.
Controlla il log listener per determinare se ci siano connessioni SSL. Di seguito è riportato un output di esempio in un log listener.
date
time
* (CONNECT_DATA=(CID=(PROGRAM=program
) (HOST=host
)(USER=user
))(SID=sid
)) * (ADDRESS=(PROTOCOL=tcps)(HOST=host
)(PORT=port
)) * establish * ORCL * 0
Quando PROTOCOL
ha il valore tcps
per una entry, mostra una connessione SSL. Tuttavia, quando HOST
è 127.0.0.1
, puoi ignorare la entry. Le connessioni da 127.0.0.1
sono un management agent locale sull’istanza database. Tali connessioni non sono esterne a SSL. Pertanto, hai applicazioni di connessione mediante SSL se vedi voci dei listener log in cui PROTOCOL
è tcps
e HOST
non è 127.0.0.1
.
Per verificare il listener log, puoi pubblicare il log su Amazon CloudWatch Logs. Per ulteriori informazioni, consulta Pubblicazione dei log Oracle su Amazon CloudWatch Logs.
Aggiornare l'archivio di trust delle applicazioni
Puoi aggiornare l'archivio di trust delle applicazioni che utilizzano SQL*Plus o JDBC per le connessioni SSL/TLS.
Aggiornare l'archivio di trust delle applicazioni per SQL*Plus
Puoi aggiornare l'archivio di trust delle applicazioni che utilizzano SQL*Plus per le connessioni SSL/TLS.
Nota
Quando aggiorni l'archivio di trust puoi conservare i certificati meno recenti oltre ad aggiungere i nuovi certificati.
Per aggiornare l'archivio di trust delle applicazioni SQL*Plus
-
Scarica il nuovo certificato root idoneo per tutte le regioni AWS e posiziona il file nella directory
ssl_wallet
.Per ulteriori informazioni sul download del certificato root, consulta .
-
Esegui i comandi seguenti per aggiornare il wallet Oracle.
prompt>orapki wallet add -wallet $ORACLE_HOME/ssl_wallet -trusted_cert -cert $ORACLE_HOME/ssl_wallet/
ssl-cert.pem
-auto_login_onlySostituire il nome del file con il nome del file scaricato.
-
Eseguire il comando seguente per confermare che il wallet è stato correttamente installato.
prompt>orapki wallet display -wallet $ORACLE_HOME/ssl_wallet
L'output dovrebbe contenere le seguenti informazioni.
Trusted Certificates: Subject: CN=Amazon RDS Root 2019 CA,OU=Amazon RDS,O=Amazon Web Services\, Inc.,L=Seattle,ST=Washington,C=US
Aggiornare l'archivio di trust delle applicazioni per JDBC
Puoi aggiornare l'archivio di trust delle applicazioni che utilizzano JDBC per le connessioni SSL/TLS.
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.
Codice Java di esempio per stabilire connessioni SSL
L'esempio di codice seguente mostra come impostare la connessione SSL utilizzando JDBC.
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.Properties;
public class OracleSslConnectionTest {
private static final String DB_SERVER_NAME = "<dns-name-provided-by-amazon-rds>";
private static final Integer SSL_PORT = "<ssl-option-port-configured-in-option-group>";
private static final String DB_SID = "<oracle-sid>";
private static final String DB_USER = "<user name>";
private static final String DB_PASSWORD = "<password>";
// This key store has only the prod root ca.
private static final String KEY_STORE_FILE_PATH = "<file-path-to-keystore>";
private static final String KEY_STORE_PASS = "<keystore-password>";
public static void main(String[] args) throws SQLException {
final Properties properties = new Properties();
final String connectionString = String.format(
"jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS=(PROTOCOL=TCPS)(HOST=%s)(PORT=%d))(CONNECT_DATA=(SID=%s)))",
DB_SERVER_NAME, SSL_PORT, DB_SID);
properties.put("user", DB_USER);
properties.put("password", DB_PASSWORD);
properties.put("oracle.jdbc.J2EE13Compliant", "true");
properties.put("javax.net.ssl.trustStore", KEY_STORE_FILE_PATH);
properties.put("javax.net.ssl.trustStoreType", "JKS");
properties.put("javax.net.ssl.trustStorePassword", KEY_STORE_PASS);
final Connection connection = DriverManager.getConnection(connectionString, properties);
// If no exception, that means handshake has passed, and an SSL connection can be opened
}
}
Importante
Dopo aver determinato che le connessioni al database utilizzano SSL/TLS e aver aggiornato l'archivio di trust delle applicazioni, puoi aggiornare il database per utilizzare i certificati rds-ca-rsa2048-g1. Per istruzioni, consulta la fase 3 in Aggiornamento del certificato CA modificando l'istanza o il cluster di database.