Teilen über


Grundlegendes zu den Änderungen im Zusammenhang mit der Stammzertifizierungsstelle für Azure Database for MariaDB

Wichtig

Azure Database for MariaDB wird demnächst eingestellt. Es wird dringend empfohlen, zu Azure Database for MySQL zu migrieren. Weitere Informationen zum Migrieren zur Azure-Datenbank für MySQL finden Sie unter Was geschieht mit Azure Database for MariaDB?.

Die Azure-Datenbank für MariaDB als Teil der standardmäßigen Standard Tenance und bewährten Methoden für sicherheit wird die Änderung des Stammzertifikats ab März 2023 abschließen. In diesem Artikel erhalten Sie ausführlichere Informationen zu den Änderungen, den betroffenen Ressourcen sowie den Schritten, die erforderlich sind, um sicherzustellen, dass die Konnektivität Ihrer Anwendung mit dem Datenbankserver bestehen bleibt.

Hinweis

Dieser Artikel enthält Verweise auf den Begriff Slave, einen Begriff, den Microsoft nicht mehr verwendet. Sobald der Begriff aus der Software entfernt wurde, wird er auch aus diesem Artikel entfernt.

Warum muss das Stammzertifikat aktualisiert werden?

Azure-Datenbank für MariaDB-Benutzer können nur das vordefinierte Zertifikat verwenden, um eine Verbindung mit ihrem MariaDB-Server herzustellen, der sich hier befindet. Im Zertifizierungsstellen-Browserforum wurden jedoch kürzlich gemeldet, dass mehrere von Zertifizierungsstellenanbietern ausgestellte Zertifikate nicht konform sind.

Gemäß den Konformitätsanforderungen der Branche haben Zertifizierungsstellenanbieter damit begonnen, Zertifizierungsstellenzertifikate für nicht konforme Zertifizierungsstellen zu sperren. Daher müssen Server Zertifikate verwenden, die von konformen Zertifizierungsstellen ausgestellt und durch Zertifizierungsstellenzertifikate von diesen konformen Zertifizierungsstellen signiert wurden. Da Azure Database for MariaDB eines dieser nicht konformen Zertifikate verwendete, musste das Zertifikat zur konformen Version rotiert werden, um die potenzielle Bedrohung für Ihre MySQL-Server zu minimieren.

Muss ich Änderungen an meinem Client vornehmen, um die Konnektivität aufrechtzuerhalten?

Wenn Sie die unter Erstellen eines kombinierten Zertifizierungsstellenzertifikats genannten Schritte befolgt haben, können Sie weiterhin eine Verbindung herstellen, solange das BaltimoreCyberTrustRoot-Zertifikat nicht aus dem kombinierten Zertifizierungsstellenzertifikat entfernt wird. Zur Aufrechterhaltung der Konnektivität empfehlen wir, dass Sie das BaltimoreCyberTrustRoot-Zertifikat bis auf Weiteres nicht aus Ihrem kombinierten Zertifizierungsstellenzertifikat entfernen.

Erstellen eines kombinierten Zertifizierungsstellenzertifikats

  • Laden Sie BaltimoreCyberTrustRoot & DigiCertGlobalRootG2 CA von links unten herunter:

  • Generieren Sie einen kombinierten Zertifizierungsstellen-Zertifikatspeicher, in dem sowohl BaltimoreCyberTrustRoot als auch DigiCertGlobalRootG2 enthalten sind.

    • Führen Sie für Java-Benutzer (MariaDB-Connector/J) Folgendes aus:

      keytool -importcert -alias MariaDBServerCACert  -file D:\BaltimoreCyberTrustRoot.crt.pem  -keystore truststore -storepass password -noprompt
      
      keytool -importcert -alias MariaDBServerCACert2  -file D:\DigiCertGlobalRootG2.crt.pem -keystore truststore -storepass password  -noprompt
      

      Ersetzen Sie dann die ursprüngliche Keystore-Datei durch die neu generierte Datei:

      • System.setProperty("javax.net.ssl.trustStore","path_to_truststore_file");
      • System.setProperty("javax.net.ssl.trustStorePassword","password");
    • Stellen Sie bei .NET-Benutzern (MariaDB-Connector/NET, MariaDBConnector) sicher, dass BaltimoreCyberTrustRoot und DigiCertGlobalRootG2 im Windows-Zertifikatspeicher unter vertrauenswürdigen Stammzertifizierungsstellen enthalten sind. Ist eines der Zertifikate nicht vorhanden, importieren Sie das fehlende Zertifikat.

      Azure Database for MariaDB .net cert

    • Stellen Sie bei .NET-Benutzern unter Linux, die SSL_CERT_DIR verwenden, sicher, dass BaltimoreCyberTrustRoot und DigiCertGlobalRootG2 in dem durch SSL_CERT_DIR angegebenen Verzeichnis enthalten sind. Ist eines der Zertifikate nicht vorhanden, erstellen Sie die fehlende Zertifikatsdatei.

    • Bei anderen Benutzern (MariaDB-Client/MariaDB Workbench/C/C++/Go/Python/Ruby/PHP/NodeJS/Perl/Swift) können Sie zwei ZS-Zertifikatsdateien im folgenden Format zusammenführen:

    -----BEGIN CERTIFICATE-----
    (Root CA1: BaltimoreCyberTrustRoot.crt.pem)
    -----END CERTIFICATE-----
    -----BEGIN CERTIFICATE-----
    (Root CA2: DigiCertGlobalRootG2.crt.pem)
    -----END CERTIFICATE-----
    
  • Ersetzen Sie die ursprüngliche PEM-Datei der Stammzertifizierungsstelle durch die kombinierte Datei der Stammzertifizierungsstelle, und starten Sie die Anwendung bzw. den Client neu.

  • Nachdem das neue Zertifikat auf der Serverseite bereitgestellt wurde, können Sie die PEM-Datei der Zertifizierungsstelle in Zukunft in „DigiCertGlobalRootG2.crt.pem“ ändern.

Muss ich die Stammzertifizierungsstelle auch aktualisieren, wenn ich SSL/TLS nicht verwende?

Wenn Sie SSL/TLS nicht verwenden, sind keine Aktionen erforderlich.

Was geschieht, wenn das BaltimoreCyberTrustRoot-Zertifikat entfernt wurde?

Beim Herstellen einer Verbindung mit dem Azure Database for MariaDB-Server treten Konnektivitätsfehler auf. Sie müssen eine erneute Konfiguration von SSL mit dem BaltimoreCyberTrustRoot-Zertifikat durchführen, um Konnektivität zu gewährleisten.

Häufig gestellte Fragen

1. Wenn ich ssl/TLS nicht verwende, muss ich die Stammzertifizierungsstelle trotzdem aktualisieren?

Wenn Sie SSL/TLS nicht verwenden, sind keine Schritte erforderlich.

2. Wenn ich SSL/TLS verwende, muss ich meinen Datenbankserver neu starten, um die Stammzertifizierungsstelle zu aktualisieren?

Nein, der Datenbankserver muss nicht neu gestartet werden, damit das neue Zertifikat verwendet werden kann. Die Zertifikataktualisierung ist eine clientseitige Änderung, und die eingehenden Clientverbindungen müssen das neue Zertifikat verwenden, um sicherzustellen, dass sie eine Verbindung mit dem Datenbankserver herstellen können.

3. Wie kann ich feststellen, ob ich SSL/TLS mit Stammzertifikatüberprüfung verwende?

Durch Überprüfen der Verbindungszeichenfolge können Sie ermitteln, ob Ihre Verbindungen das Stammzertifikat überprüfen.

  • Wenn Ihre Verbindungszeichenfolge sslmode=verify-ca oder sslmode=verify-identity enthält, müssen Sie das Zertifikat aktualisieren.
  • Wenn Ihre Verbindungszeichenfolge sslmode=disable, sslmode=allow, sslmode=prefer oder sslmode=require enthält, müssen Sie keine Zertifikate aktualisieren.
  • Wenn in Ihrer Verbindungszeichenfolge „sslmode“ nicht angegeben ist, müssen Sie keine Zertifikat aktualisieren.

Wenn Sie einen Client verwenden, der die Verbindungszeichenfolge abstrahiert, lesen Sie die Dokumentation des Clients, um zu ermitteln, ob Zertifikate überprüft werden.

4. Welche Auswirkungen hat die Verwendung von App Service mit Azure Database für MariaDB?

Für Azure App Service-Instanzen, die eine Verbindung mit Azure Database for MariaDB herstellen, gibt es zwei mögliche Szenarien, abhängig davon, wie Sie SSL mit Ihrer Anwendung verwenden.

  • Dieses neue Zertifikat wurde App Service auf Plattformebene hinzugefügt. Wenn Sie die SSL-Zertifikate verwenden, die in der App Service-Plattform in Ihrer Anwendung enthalten sind, ist keine Aktion erforderlich. Dies ist das häufigste Szenario.
  • Wenn Sie den Pfad zur SSL-Zertifikatsdatei explizit in Ihren Code einschließen, müssen Sie das neue Zertifikat herunterladen und den Code so aktualisieren, dass das neue Zertifikat verwendet wird. Ein gutes Beispiel für dieses Szenario: Wenn Sie benutzerdefinierte Container in App Service so verwenden, wie in der App Service-Dokumentation zu lesen ist. Dies ist ein ungewöhnliches Szenario, doch haben wir festgestellt, dass es von einigen Benutzern verwendet wird.

5. Welche Auswirkungen hat die Verwendung von Azure Kubernetes Services (AKS) mit Azure Database for MariaDB?

Wenn Sie versuchen, mithilfe von Azure Kubernetes Service (AKS) eine Verbindung mit Azure Database for MariaDB herzustellen, ähnelt dies dem Zugriff über eine dedizierte Kundenhostumgebung. Die entsprechenden Schritte finden Sie hier.

6. Welche Auswirkungen hat die Verwendung von Azure Data Factory zum Herstellen einer Verbindung mit Azure Database for MariaDB?

Ein Connector, der Azure Integration Runtime verwendet, nutzt Zertifikate im Windows-Zertifikatspeicher in der von Azure gehosteten Umgebung. Diese Zertifikate sind bereits mit den neu angewendeten Zertifikaten kompatibel, daher ist keine Aktion erforderlich.

Bei einem Connector, der die selbstgehostete Integration Runtime verwendet, für die Sie den Pfad zur SSL-Zertifikatsdatei explizit in die Verbindungszeichenfolge einschließen, müssen Sie das neue Zertifikat herunterladen und die Verbindungszeichenfolge aktualisieren, damit es verwendet werden kann.

7. Muss ich für diese Änderung eine Wartungsdowntime für den Datenbankserver planen?

Nein Da die Änderung hier nur auf der Clientseite erfolgt, um eine Verbindung mit dem Datenbankserver herzustellen, ist für diese Änderung keine Wartungsdowntime beim Datenbankserver erforderlich.

8. Wie oft aktualisiert Microsoft ihre Zertifikate oder was ist die Ablaufrichtlinie?

Diese von Azure Database for MariaDB verwendeten Zertifikate werden von vertrauenswürdigen Zertifizierungsstellen (ZS) bereitgestellt. Die Unterstützung dieser Zertifikate ist also an die Unterstützung dieser Zertifikate durch die ZS gebunden. Das BaltimoreCyberTrustRoot-Zertifikat läuft im Jahr 2025 ab, sodass Microsoft vor dem Ablauf eine Zertifikatänderung durchführen muss.

9. Wenn ich Lesereplikate verwende, muss ich dieses Update nur auf dem Quellserver oder den Lesereplikaten ausführen?

Da dieses Update eine clientseitige Änderung ist, müssen Sie die Änderungen auch für diese Clients anwenden, wenn der Client Daten vom Replikatserver gelesen hat.

10. Wenn ich die Data-In-Replikation verwende, muss ich eine Aktion ausführen?

  • Wenn die Datenreplikation von einem virtuellen Computer (lokal oder einem virtuellen Azure-Computer) zu Azure-Datenbank für MySQL stammt, müssen Sie überprüfen, ob SSL zum Erstellen des Replikats verwendet wird. Führen Sie SHOW SLAVE STATUS aus, und überprüfen Sie die folgende Einstellung.

    Master_SSL_Allowed            : Yes
    Master_SSL_CA_File            : ~\azure_mysqlservice.pem
    Master_SSL_CA_Path            :
    Master_SSL_Cert               : ~\azure_mysqlclient_cert.pem
    Master_SSL_Cipher             :
    Master_SSL_Key                : ~\azure_mysqlclient_key.pem
    

Wenn Sie die Datenreplikation verwenden, um eine Verbindung mit Azure Database for MySQL herzustellen, müssen Sie zwei Punkte berücksichtigen:

  • Wenn die Datenreplikation von einem virtuellen Computer (lokal oder einem virtuellen Azure-Computer) zu Azure-Datenbank für MySQL stammt, müssen Sie überprüfen, ob SSL zum Erstellen des Replikats verwendet wird. Führen Sie SHOW SLAVE STATUS aus, und überprüfen Sie die folgende Einstellung.

    Master_SSL_Allowed            : Yes
    Master_SSL_CA_File            : ~\azure_mysqlservice.pem
    Master_SSL_CA_Path            :
    Master_SSL_Cert               : ~\azure_mysqlclient_cert.pem
    Master_SSL_Cipher             :
    Master_SSL_Key                : ~\azure_mysqlclient_key.pem
    

    Wenn das Zertifikat für CA_file, SSL_Cert und SSL_Key bereitgestellt wird, müssen Sie die Datei aktualisieren, indem Sie das neue Zertifikat hinzufügen und eine kombinierte Zertifikatsdatei erstellen.

  • Wenn die Datenreplikation zwischen zwei Azure Database for MySQL-Instanzen erfolgt, müssen Sie das Replikat zurücksetzen, indem Sie CALL mysql.az_replication_change_master ausführen und das neue duale Stammzertifikat als letzten Parameter (master_ssl_ca) bereitstellen.

11. Gibt es eine serverseitige Abfrage, um zu überprüfen, ob SSL verwendet wird?

Um zu überprüfen, ob Sie eine SSL-Verbindung zum Herstellen einer Verbindung mit dem Server verwenden, lesen Sie die Informationen unter Überprüfen der SSL-Verbindung.

12. Ist eine Aktion erforderlich, wenn sich DigiCertGlobalRootG2 bereits in meiner Zertifikatsdatei befindet?

Nein Wenn in Ihrer Zertifikatsdatei DigiCertGlobalRootG2 bereits enthalten ist, ist keine Aktion erforderlich.

13. Was geschieht, wenn ich weitere Fragen habe?

Bei Fragen können Sie Antworten von Communityexperten auf Microsoft Q&A erhalten. Wenn Sie über einen Supportplan verfügen und technische Hilfe benötigen, kontaktieren Sie uns.