Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Aktualisieren von Anwendungen, um Verbindungen mit Oracle-DB-Instances mithilfe neuer SSL/TLS-Zertifikate herzustellen
Am 13. Januar 2023 veröffentlichte Amazon RDS neue Zertifizierungsstellen-Zertifikate (Certificate Authority, CA) zum Herstellen von Verbindungen mit Ihren RDS-DB-Instances mithilfe von Secure Socket Layer oder Transport Layer Security (SSL/TLS). Im Folgenden finden Sie Informationen dazu, wie Sie Ihre Anwendungen aktualisieren, um die neuen Zertifikate verwenden zu können.
In diesem Thema finden Sie Informationen dazu, wie Sie ermitteln, ob Client-Anwendungen für die Herstellung von Verbindungen mit Ihren DB-Instances SSL/TLS verwenden.
Wichtig
Wenn Sie das Zertifikat für eine Amazon RDS for Oracle DB-Instance ändern, wird nur der Datenbank-Listener neu gestartet. Die DB-Instance wird nicht neu gestartet. Bestehende Datenbankverbindungen sind davon nicht betroffen, aber bei neuen Verbindungen treten für eine kurze Zeitspanne Fehler auf, während der Listener neu gestartet wird.
Anmerkung
Für Client-Anwendungen, die SSL/TLS für Verbindungen zu Ihren DB-Instances verwenden, müssen Sie die Trust Stores Ihrer Client-Anwendung so aktualisieren, dass sie die neuen CA-Zertifikate enthalten.
Nach der Aktualisierung der CA-Zertifikate in den Trust Stores Ihrer Client-Anwendung können Sie die Zertifikate auf Ihren DB-Instances rotieren. Es wird nachdrücklich empfohlen, diese Verfahren vor der Implementierung in Produktionsumgebungen in einer Entwicklungs- oder Testumgebung zu testen.
Weitere Informationen zur Zertifikatrotation finden Sie unter Ihr SSL TLS /-Zertifikat rotieren. Weitere Informationen zum Herunterladen von Zertifikaten finden Sie unter . Informationen zum Verwenden von SSL/TLS mit Oracle-DB-Instances finden Sie unter Oracle Secure Sockets Layer.
Themen
Prüfen der Verbindung von Anwendungen über SSL
Wenn Ihre Oracle-DB-Instance eine Optionsgruppe mit Hinzufügung der Option SSL
verwendet, verwenden Sie möglicherweise SSL. Prüfen Sie dies anhand der Anweisungen in Auflisten der Optionen und Optionseinstellungen für eine Optionsgruppe. Weitere Informationen zur Option SSL
finden Sie unter Oracle Secure Sockets Layer.
Prüfen Sie das Listener-Protokoll, um festzustellen, ob es SSL-Verbindungen gibt. Dies ist eine Beispielausgabe in einem Listener-Protokoll.
date
time
* (CONNECT_DATA=(CID=(PROGRAM=program
) (HOST=host
)(USER=user
))(SID=sid
)) * (ADDRESS=(PROTOCOL=tcps)(HOST=host
)(PORT=port
)) * establish * ORCL * 0
Wenn PROTOCOL
den Wert tcps
für einen Eintrag hat, zeigt dies eine SSL-Verbindung an. Wenn HOST
jedoch 127.0.0.1
ist, können Sie den Eintrag ignorieren. Verbindungen von 127.0.0.1
sind ein lokaler Management Agent auf der DB-Instance. Dies sind keine externen SSL-Verbindungen. Daher haben Sie Anwendungen, die sich über SSL verbinden, wenn es Listener-Protokolleinträge gibt, bei denen PROTOCOL
tcps
ist und HOST
nicht 127.0.0.1
ist.
Zur Prüfung de Listener-Protokolls können Sie es zu Amazon CloudWatch Logs veröffentlichen. Weitere Informationen finden Sie unter Oracle-Logs in Amazon CloudWatch Logs veröffentlichen.
Aktualisieren des Trust Stores Ihrer Anwendung
Sie können den Trust Store für Anwendungen aktualisieren, die SQL*Plus oder JDBC für SSL/TLS-Verbindungen verwenden.
Aktualisieren des Trust Stores Ihrer Anwendung für SQL*Plus
Sie können den Trust Store für Anwendungen aktualisieren, die SQL*Plus für SSL/TLS-Verbindungen verwenden.
Anmerkung
Wenn Sie den Trust Store aktualisieren, können Sie ältere Zertifikate beibehalten und die neuen Zertifikate einfach hinzufügen.
So aktualisieren Sie den Trust Store für SQL*Plus-Anwendungen:
-
Laden Sie das neue Stammzertifikat herunter, das für alle AWS-Regionen funktioniert, und speichern Sie die Datei im Verzeichnis
ssl_wallet
.Informationen zum Herunterladen des Stammverzeichnisses finden Sie unter .
-
Führen Sie den folgenden Befehl aus, um Das Oracle-Wallet zu aktualisieren:
prompt>orapki wallet add -wallet $ORACLE_HOME/ssl_wallet -trusted_cert -cert $ORACLE_HOME/ssl_wallet/
ssl-cert.pem
-auto_login_onlyErsetzen Sie den Dateinamen durch den Namen der Datei, die Sie heruntergeladen haben.
-
Bestätigen Sie durch Ausführen des folgenden Befehls, dass das Wallet erfolgreich installiert wurde.
prompt>orapki wallet display -wallet $ORACLE_HOME/ssl_wallet
Die Ausgabe sollte Folgendes enthalten:
Trusted Certificates: Subject: CN=Amazon RDS Root 2019 CA,OU=Amazon RDS,O=Amazon Web Services\, Inc.,L=Seattle,ST=Washington,C=US
Aktualisieren des Trust Stores Ihrer Anwendung für JDBC
Sie können den Trust Store für Anwendungen aktualisieren, die JDBC für SSL/TLS-Verbindungen verwenden.
Informationen zum Herunterladen des Stammverzeichnisses finden Sie unter .
Beispiele für Skripte, die Zertifikate importieren, finden Sie unter Beispielskript für den Import von Zertifikaten in Ihren Trust Store.
Java-Beispielcode für die Herstellung von SSL-Verbindungen
Das folgende Code-Beispiel zeigt, wie die SSL-Verbindung mit JDBC eingerichtet wird.
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 } }
Wichtig
Wenn Sie festgestellt haben, dass Ihre Datenbankverbindungen SSL/TLS verwenden, und Sie den Trust Store Ihrer Anwendung aktualisiert haben, können Sie Ihre Datenbank so aktualisieren, dass sie die rds-ca-rsa2048-g1-Zertifikate verwendet. Anweisungen hierzu finden Sie in Schritt 3 unter Aktualisierung Ihres CA-Zertifikats durch Änderung Ihrer DB-Instance oder Ihres Clusters.