Rotieren Ihrer SSL/TLS-Zertifikate - Amazon Relational Database Service

Rotieren Ihrer SSL/TLS-Zertifikate

Ab dem 5. März 2020 sind Amazon RDS CA-2015-Zertifikate abgelaufen. Wenn Sie Secure Sockets Layer (SSL) oder Transport Layer Security (TLS) mit Zertifikatüberprüfung zum Herstellen einer Verbindung mit Ihren RDS-DB-Instances verwenden oder verwenden möchten, benötigen Sie Amazon RDS CA-2019-Zertifikate, die standardmäßig für neue DB-Instances aktiviert sind. Wenn Sie SSL/TLS derzeit nicht mit der Zertifikatüberprüfung verwenden, haben Sie möglicherweise noch abgelaufene CA-2015-Zertifikate und müssen sie auf CA-2019-Zertifikate aktualisieren, wenn Sie über SSL/TLS mit Zertifikatüberprüfung eine Verbindung mit Ihren RDS-Datenbanken herstellen möchten.

Befolgen Sie diese Anweisungen, um Ihre Updates abzuschließen. Bevor Sie Ihre DB-Instances zur Verwendung der neuen CA-Zertifikate aktualisieren, stellen sie sicher, dass Sie Ihre Clients oder Anwendungen aktualisieren, die eine Verbindung mit Ihren RDS-Datenbanken herstellen.

Amazon RDS stellt neue CA-Zertifikate als eine bewährte Methode für die AWS-Sicherheit bereit. Weitere Informationen zu den neuen Zertifikaten und den unterstützten AWS-Regionen finden Sie unter Verwenden von SSL/TLS für die Verschlüsselung einer Verbindung zu einer DB-Instance.

Anmerkung

Amazon RDS Proxy verwendet Zertifikate aus AWS Certificate Manager (ACM). Wenn Sie RDS Proxy verwenden, müssen Sie beim Rotieren Ihres SSL/TLS-Zertifikats keine Anwendungen aktualisieren, die RDS Proxy-Verbindungen verwenden. Weitere Informationen über die Verwendung von TLS/SSL mit RDS Proxy finden Sie unter Verwenden von TLS/SSL mit RDS Proxy.

Anmerkung

Wenn Sie eine Go-Anwendung der Version 1.15 mit einer DB-Instance verwenden, die vor dem 28. Juli 2020 erstellt oder auf das rds-ca-2019-Zertifikat aktualisiert wurde, müssen Sie das Zertifikat erneut aktualisieren. Führen Sie den modify-db-instance-Befehl aus, der im Abschnitt AWS CLI angezeigt wird, indem Sie rds-ca-2019 als Zertifizierungsstellenzertifikator verwenden. In diesem Fall ist es nicht möglich, das Zertifikat mit dem AWS Management Console zu aktualisieren. Wenn Sie Ihre DB-Instance nach dem 28. Juli 2020 erstellt oder ihr Zertifikat aktualisiert haben, ist keine Aktion erforderlich. Weitere Informationen finden Sie unter Go GitHub-Ausgabe #39568.

Aktualisieren des CA-Zertifikats durch Ändern der DB-Instance

Führen Sie die folgenden Schritte aus, um Ihr CA-Zertifikat zu aktualisieren.

So aktualisieren Sie Ihr CA-Zertifikat durch Ändern der DB-Instance

  1. Laden Sie das neue SSL/TLS-Zertifikat herunter wie unter Verwenden von SSL/TLS für die Verschlüsselung einer Verbindung zu einer DB-Instance beschrieben.

  2. Aktualisieren Sie Ihre Anwendungen zur Verwendung der neuen SSL/TLS-Zertifikate.

    Die Methoden zur Aktualisierung von Anwendungen für neue SSL/TLS-Zertifikate hängen von Ihren spezifischen Anwendungen ab. Arbeiten Sie mit Ihren Anwendungsentwicklern zusammen, um die SSL/TLS-Zertifikate für Ihre Anwendungen zu aktualisieren.

    Informationen zur Prüfung auf SSL/TLS-Verbindungen und die Aktualisierung von Anwendungen für jede DB_Engine finden Sie in den folgenden Themen:

    Ein Beispielskript, das einen Trust Store für ein Linux-Betriebssystem aktualisiert, finden Sie unter Beispielskript für den Import von Zertifikaten in Ihren Trust Store.

    Anmerkung

    Das Zertifikat-Bundle enthält Zertifikate für die neue und die alte CA, damit Sie Ihre Anwendung sicher aktualisieren und die Verbindung während der Übergangsphase aufrecht erhalten können. Wenn Sie eine Datenbank mit dem AWS Database Migration Service zu einem DB-Instance- migrieren, empfehlen wir die Verwendung des Zertifikatbündels, um die Konnektivität während der Migration sicherzustellen.

  3. Modifizieren Sie die DB-Instance, um die CA von rds-ca-2015 zu rds-ca-2019 zu ändern.

    Wichtig

    Standardmäßig startet diese Operation Ihre DB-Instance neu. Wenn Sie Ihre DB-Instance während dieses Vorgangs nicht neu starten wollen, können Sie den CLI-Befehl modify-db-instance verwenden und die Option --no-certificate-rotation-restart angeben.

    Mit dieser Option wird das Zertifikat erst rotiert, wenn die Datenbank das nächste Mal neu gestartet wird, entweder für geplante oder ungeplante Wartungsarbeiten. Diese Option wird nur empfohlen, wenn Sie SSL/TLS nicht verwenden.

    Wenn nach dem Ablauf des Zertifikats Verbindungsprobleme auftreten, verwenden Sie die Option „Sofort anwenden“, indem Sie Sofort anwenden in der Konsole angeben oder die Option --apply-immediately mit der AWS CLI festlegen. Die Ausführung dieser Operation ist standardmäßig während Ihres nächsten Wartungsfensters eingeplant.

Sie können die AWS Management Console oder die AWS CLI verwenden, um das CA-Zertifikat für eine DB-Instance von rds-ca-2015 zu rds-ca-2019 zu ändern.

So ändern Sie die CA für eine DB-Instance von rds-ca-2015 zu rds-ca-2019.

  1. Melden Sie sich bei der AWS Management Console an und öffnen Sie die Amazon RDS-Konsole unter https://console.aws.amazon.com/rds/.

  2. Wählen Sie im Navigationsbereich Databases (Datenbanken) und dann die DB-Instance, die Sie ändern möchten.

  3. Wählen Sie Modify aus.

    
                                        DB-Instance ändern

    Die Seite Modify DB Instance (DB-Instance ändern) wird angezeigt.

  4. Wählen Sie im Abschnitt Network & Security (Netzwerk und Sicherheit) die Option rds-ca-2019 aus.

    
                                        CA-Zertifikat auswählen
  5. Klicken Sie auf Weiter und überprüfen Sie die Zusammenfassung aller Änderungen.

  6. Wählen Sie Apply immediately, um die Änderungen sofort anzuwenden.

    Wichtig

    Wenn Sie diese Option auswählen, wird die Datenbank sofort neu gestartet.

  7. Überprüfen Sie auf der Bestätigungsseite Ihre Änderungen. Wenn sie korrekt sind, wählen Sie Modify DB Instance (DB-Instance ändern) aus, um Ihre Änderungen zu speichern.

    Wichtig

    Wenn Sie diese Operation planen, stellen Sie sicher, dass Sie zuvor Ihren clientseitigen Vertrauensspeicher aktualisiert haben.

    Oder klicken Sie auf Zurück, um Ihre Änderungen zu bearbeiten, oder auf Abbrechen, um Ihre Änderungen zu verwerfen.

Um die AWS CLI zum Ändern der CA für eine DB-Instance von rds-ca-2015 zu rds-ca-2019 zu verwenden, rufen Sie den Befehl modify-db-instance auf. Geben Sie die DB-Instance-Kennung und die --ca-certificate-identifier-Option an.

Wichtig

Wenn Sie diese Operation planen, stellen Sie sicher, dass Sie zuvor Ihren clientseitigen Vertrauensspeicher aktualisiert haben.

Beispiel

Der folgende Code ändert mydbinstance, indem das CA-Zertifikat in rds-ca-2019 geändert wird. Die Änderungen werden während des nächsten Wartungsfensters (mit --no-apply-immediately) übernommen. Verwenden Sie --apply-immediately, damit Änderungen sofort angewendet werden.

Wichtig

Standardmäßig startet diese Operation Ihre DB-Instance neu. Wenn Sie Ihre DB-Instance während dieses Vorgangs nicht neu starten wollen, können Sie den CLI-Befehl modify-db-instance verwenden und die Option --no-certificate-rotation-restart angeben.

Mit dieser Option wird das Zertifikat erst rotiert, wenn die Datenbank das nächste Mal neu gestartet wird, entweder für geplante oder ungeplante Wartungsarbeiten. Diese Option wird nur empfohlen, wenn Sie SSL/TLS nicht verwenden.

Verwenden Sie --apply-immediately, um das Update sofort anzuwenden. Die Ausführung dieser Operation ist standardmäßig während Ihres nächsten Wartungsfensters eingeplant.

Für Linux, macOS oder Unix:

aws rds modify-db-instance \ --db-instance-identifier mydbinstance \ --ca-certificate-identifier rds-ca-2019 \ --no-apply-immediately

Für Windows:

aws rds modify-db-instance ^ --db-instance-identifier mydbinstance ^ --ca-certificate-identifier rds-ca-2019 ^ --no-apply-immediately

Aktualisieren des CA-Zertifikats durch Anwenden der DB-Instance-Wartung

Führen Sie die folgenden Schritte aus, um Ihr CA-Zertifikat durch Anwendung der DB-Instance-Wartung zu aktualisieren.

So aktualisieren Sie Ihr CA-Zertifikat durch Anwendung der DB-Instance-Wartung

  1. Laden Sie das neue SSL/TLS-Zertifikat herunter wie unter Verwenden von SSL/TLS für die Verschlüsselung einer Verbindung zu einer DB-Instance beschrieben.

  2. Aktualisieren Sie Ihre Datenbankanwendungen zur Verwendung der neuen SSL/TLS-Zertifikate.

    Die Methoden zur Aktualisierung von Anwendungen für neue SSL/TLS-Zertifikate hängen von Ihren spezifischen Anwendungen ab. Arbeiten Sie mit Ihren Anwendungsentwicklern zusammen, um die SSL/TLS-Zertifikate für Ihre Anwendungen zu aktualisieren.

    Informationen zur Prüfung auf SSL/TLS-Verbindungen und die Aktualisierung von Anwendungen für jede DB_Engine finden Sie in den folgenden Themen:

    Ein Beispielskript, das einen Trust Store für ein Linux-Betriebssystem aktualisiert, finden Sie unter Beispielskript für den Import von Zertifikaten in Ihren Trust Store.

    Anmerkung

    Das Zertifikat-Bundle enthält Zertifikate für die neue und die alte CA, damit Sie Ihre Anwendung sicher aktualisieren und die Verbindung während der Übergangsphase aufrecht erhalten können.

  3. Wenden Sie die DB-Instance-Wartung an, um die CA von rds-ca-2015 in rds-ca-2019 zu ändern.

    Wichtig

    Sie können die Änderung sofort anwenden. Die Ausführung dieser Operation ist standardmäßig während Ihres nächsten Wartungsfensters eingeplant.

Sie können die AWS Management Console verwenden, um die DB-Instance-Wartung anzuwenden und das CA-Zertifikat für mehrere DB-Instances von rds-ca-2015 in rds-ca-2019 zu ändern.

Aktualisieren des CA-Zertifikats durch Anwenden der Wartung auf mehrere DB-Instances

Verwenden Sie die AWS Management Console, um das CA-Zertifikat für mehrere DB-Instances zu ändern.

So ändern Sie die CA für mehrere DB-Instances von rds-ca-2015 in rds-ca-2019

  1. Melden Sie sich bei der AWS Management Console an und öffnen Sie die Amazon RDS-Konsole unter https://console.aws.amazon.com/rds/.

  2. Wählen Sie im Navigationsbereich Databases (Datenbanken) aus.

    Im Navigationsbereich gibt es die Option Certificate update (Zertifikataktualisierung). Diese zeigt die Gesamtzahl der betroffenen DB-Instances an.

    
                                    Option zur Zertifikatrotation im Navigationsbereich

    Wählen Sie im Navigationsbereich die Option Certificate update (Zertifikataktualisierung).

    Sie Seite Update your Amazon RDS SSL/TLS certificates (Aktualisieren Sie Ihre SSL/TLS-Zertifikate für Amazon RDS) wird angezeigt.

    
                                    Aktualisieren des CA-Zertifikats für mehrere DB-Instances
    Anmerkung

    Auf dieser Seite werden nur die DB-Instances für die aktuelle AWS-Region angezeigt. Wenn Sie DB-Instances in mehr als einer AWS-Region haben, überprüfen Sie diese Seite in jeder AWS-Region, um alle DB-Instances mit alten SSL/TLS-Zertifikaten anzuzeigen.

  3. Wählen Sie die zu löschende DB-Instance.

    Sie können die Zertifikatrotation für das nächste Wartungsfenster planen, indem Sie Update at the next maintenance window (Während des nächsten Wartungsfensters aktualisieren) wählen. Wenden Sie die Rotation sofort an, indem Sie Update now (Jetzt aktualisieren) wählen.

    Wichtig

    Wenn das CA-Zertifikat rotiert wird, startet die Operation die DB-Instance neu.

    Wenn nach Ablauf des Zertifikats Verbindungsprobleme auftreten, verwenden Sie die Option Update now (Jetzt aktualisieren).

  4. Wenn SieUpdate at the next maintenance window (Während des nächsten Wartungsfensters aktualisieren) oder Update now (Jetzt aktualisieren) wählen, werden Sie aufgefordert, die Rotation des CA-Zertifikats zu bestätigen.

    Wichtig

    Bevor Sie die Rotation des CA-Zertifikats in der Datenbank planen, aktualisieren Sie alle Clientanwendungen, die SSL/TLS und das Serverzertifikat verwenden, um eine Verbindung herzustellen. Diese Updates sind spezifisch für Ihre DB-Engine. Informationen zum Ermitteln, ob Ihre Anwendungen SSL/TLS und das Serverzertifikat zum Herstellen einer Verbindung verwenden, finden Sie unter Schritt 2: Aktualisieren Ihrer Datenbankanwendungen zur Verwendung der neuen SSL/TLS-Zertifikate. Nachdem Sie diese Clientanwendungen aktualisiert haben, können Sie die Rotation des CA-Zertifikats bestätigen.

    
                                    Confirm certificate rotation (Zertifikatrotation bestätigen)

    Aktivieren Sie das Kontrollkästchen und klicken Sie dann auf Confirm (Bestätigen), um fortzufahren.

  5. Wiederholen Sie die Schritte 3 und 4 für jede DB-Instance, die Sie aktualisieren möchten.

Beispielskript für den Import von Zertifikaten in Ihren Trust Store

Nachfolgend sind Beispiel-Shell-Skripte aufgeführt, die das Zertifikatspaket in einen Vertrauensspeicher importieren.

Beispielskript für den Import von Zertifikaten unter Linux

Nachfolgend finden Sie ein Beispiel-Shell-Skript, das das Zertifikatpaket in einen Trust Store auf einem Linux-Betriebssystem importiert.

mydir=tmp/certs if [ ! -e "${mydir}" ] then mkdir -p "${mydir}" fi truststore=${mydir}/rds-truststore.jks storepassword=changeit curl -sS "https://s3.amazonaws.com/rds-downloads/rds-combined-ca-bundle.pem" > ${mydir}/rds-combined-ca-bundle.pem awk 'split_after == 1 {n++;split_after=0} /-----END CERTIFICATE-----/ {split_after=1}{print > "rds-ca-" n ".pem"}' < ${mydir}/rds-combined-ca-bundle.pem for CERT in rds-ca-*; do alias=$(openssl x509 -noout -text -in $CERT | perl -ne 'next unless /Subject:/; s/.*(CN=|CN = )//; print') echo "Importing $alias" keytool -import -file ${CERT} -alias "${alias}" -storepass ${storepassword} -keystore ${truststore} -noprompt rm $CERT done rm ${mydir}/rds-combined-ca-bundle.pem echo "Trust store content is: " keytool -list -v -keystore "$truststore" -storepass ${storepassword} | grep Alias | cut -d " " -f3- | while read alias do expiry=`keytool -list -v -keystore "$truststore" -storepass ${storepassword} -alias "${alias}" | grep Valid | perl -ne 'if(/until: (.*?)\n/) { print "$1\n"; }'` echo " Certificate ${alias} expires in '$expiry'" done

Beispielskript zum Importieren von Zertifikaten unter macOS

Es folgt ein Beispiel für ein Shell-Skript, das das Zertifikatspaket in einen Vertrauensspeicher unter macOS importiert.

mydir=tmp/certs if [ ! -e "${mydir}" ] then mkdir -p "${mydir}" fi truststore=${mydir}/rds-truststore.jks storepassword=changeit curl -sS "https://s3.amazonaws.com/rds-downloads/rds-combined-ca-bundle.pem" > ${mydir}/rds-combined-ca-bundle.pem split -p "-----BEGIN CERTIFICATE-----" ${mydir}/rds-combined-ca-bundle.pem rds-ca- for CERT in rds-ca-*; do alias=$(openssl x509 -noout -text -in $CERT | perl -ne 'next unless /Subject:/; s/.*(CN=|CN = )//; print') echo "Importing $alias" keytool -import -file ${CERT} -alias "${alias}" -storepass ${storepassword} -keystore ${truststore} -noprompt rm $CERT done rm ${mydir}/rds-combined-ca-bundle.pem echo "Trust store content is: " keytool -list -v -keystore "$truststore" -storepass ${storepassword} | grep Alias | cut -d " " -f3- | while read alias do expiry=`keytool -list -v -keystore "$truststore" -storepass ${storepassword} -alias "${alias}" | grep Valid | perl -ne 'if(/until: (.*?)\n/) { print "$1\n"; }'` echo " Certificate ${alias} expires in '$expiry'" done