Condividi tramite


Informazioni sulle modifiche nella rotazione CA radice per Database di Azure per MySQL

Database di Azure per MySQL come parte delle procedure consigliate per la manutenzione standard e la sicurezza completa la modifica del certificato radice a partire da luglio 2025. Questo articolo offre altri dettagli sulle modifiche, sulle risorse interessate e sui passaggi necessari per garantire che l'applicazione mantenga la connettività al server di database.

Nota

Se SHA-1 è un blocco corrente, seguire le istruzioni seguenti per creare un certificato CA combinato nel client e aprire una richiesta di supporto per ruotare l'Database di Azure per MySQL - CA radice del server flessibile.

Perché è necessario un aggiornamento del certificato radice?

Database di Azure per MySQL gli utenti possono usare solo il certificato predefinito per connettersi alle istanze del server MySQL. DigiCertGlobalRootCA è tuttavia un'autorità di certificazione basata su SHA-1. L'algoritmo hash SHA-1 è notevolmente meno sicuro delle alternative a causa di vulnerabilità individuate e quindi non è più conforme agli standard di sicurezza. Poiché Database di Azure per MySQL usato uno di questi certificati non conformi, è necessario ruotare il certificato alla versione conforme per ridurre al minimo la potenziale minaccia per i server flessibili MySQL.

È necessario apportare modifiche al client per mantenere la connettività?

Dopo aver completato la rotazione ca radice, è presente una transizione in cui non è più possibile accettare la CA DigiCertGlobalRoot precedente e la nuova CA DigiCertGlobalRootG2 è autorizzata. Per mantenere la connettività prima e dopo questa transizione, è consigliabile seguire i passaggi descritti di seguito in Creare un certificato CA combinato per aggregare entrambe le ca in un singolo file di certificato.

Creare un certificato CA combinato

  • Scaricare DigiCertGlobalRootCA & DigiCertGlobalRootG2 CA dai collegamenti seguenti:

  • Generare un archivio certificati CA combinato con certificati DigiCertGlobalRootCA e DigiCertGlobalRootG2 inclusi.

    • Per gli utenti Java (MariaDB Connector/J), eseguire:

      keytool -importcert -alias MySqlFlexServerCACert  -file D:\DigiCertGlobalRootCA.crt.pem  -keystore truststore -storepass password -noprompt
      
      keytool -importcert -alias MySqlFlexServerCACert2  -file D:\DigiCertGlobalRootG2.crt.pem -keystore truststore -storepass password  -noprompt
      

      Sostituire quindi il file dell'archivio chiavi originale con quello nuovo generato:

      • System.setProperty("javax.net.ssl.trustStore","path_to_truststore_file");
      • System.setProperty("javax.net.ssl.trustStorePassword","password");
    • Per gli utenti di .NET (MariaDB Connector/NET, MariaDBConnector), assicurarsi che BaltimoreCyberTrustRoot e DigiCertGlobalRootG2 esistano entrambi nell'archivio certificati di Windows, autorità di certificazione radice attendibili. Se non esistono certificati, importare il certificato mancante.

      Screenshot di Database di Azure per MySQL certificato .NET.

    • Per gli utenti .NET in Linux che usano SSL_CERT_DIR, assicurarsi che DigiCertGlobalRootCA e DigiCertGlobalRootG2 esistano entrambi nella directory indicata da SSL_CERT_DIR. Se non esistono certificati, creare il file di certificato mancante.

    • Per altri utenti (MariaDB Client/MariaDB Workbench/C/C++/Go/Python/Ruby/PHP/NodeJS/Perl/Swift), è possibile unire due file di certificato CA come questo formato di seguito: Copia

    -----BEGIN CERTIFICATE-----
    (Root CA1:DigiCertGlobalRootCA.crt.pem)
    -----END CERTIFICATE-----
    -----BEGIN CERTIFICATE-----
    (Root CA2: DigiCertGlobalRootG2.crt.pem)
    -----END CERTIFICATE-----
    
  • Sostituire il file .pem CA radice originale con il file CA radice combinato e riavviare l'applicazione/client.

  • In futuro, dopo la distribuzione del nuovo certificato sul lato server, è possibile modificare il file .pem dell’autorità di certificazione in DigiCertGlobalRootG2.crt.pem.

Cosa accade se è stato rimosso il certificato DigiCertGlobalRootCA?

Si inizia a osservare gli errori di connettività durante la connessione al Database di Azure per MySQL. Per mantenere la connettività, è necessario configurare di nuovo SSL con il certificato DigiCertGlobalRootCA .

Cosa accade se si vuole assicurarsi che le connessioni MySQL vengano stabilite sulla CA DigiCertGlobalRootG2?

Dopo la modifica del certificato radice, il certificato appena generato viene inserito nei server dei clienti. Tuttavia, richiede un riavvio del server per rendere effettivo il nuovo certificato. Pertanto, se un cliente deve assicurarsi di usare la CA DigiCertGlobalRootG2, deve riavviare i server dopo la modifica del certificato radice.

Domande frequenti

Se non si usa SSL/TLS, è comunque necessario aggiornare la CA radice?

No. Non sono necessarie azioni se non si usa SSL/TLS.

Se si usa SSL/TLS, è necessario riavviare il server di database per aggiornare la CA radice?

No. Se si usa SSL/TLS, non è necessario riavviare il server di database per iniziare a usare il nuovo certificato. L’aggiornamento del certificato è una modifica lato client e le connessioni client in ingresso devono usare il nuovo certificato per assicurarsi che possano connettersi al server di database.

Come è possibile sapere se si usa SSL/TLS con la verifica del certificato radice?

È possibile identificare se le connessioni verificano il certificato radice esaminando la stringa di connessione.

  • Se la stringa di connessione include sslmode=verify-ca o sslmode=verify-identity, è necessario aggiornare il certificato.
  • Se la stringa di connessione include sslmode=disable, sslmode=allow, sslmode=prefer o sslmode=require, non è necessario aggiornare i certificati.
  • Se la stringa di connessione non specifica sslmode, non è necessario aggiornare i certificati.

Se si usa un client che astrae la stringa di connessione, esaminare la documentazione del client per capire se verifica i certificati.

È disponibile una query sul lato server per verificare se è in uso SSL?

Per verificare se si usa una connessione SSL per connettersi al server, vedere Verifica SSL.

È necessario pianificare un tempo di fermo per la manutenzione del server di database per questa modifica?

No. Poiché la modifica si trova solo sul lato client per connettersi al server di database, non sono necessari tempi di fermo per la manutenzione del server di database per questa modifica.

Esiste un piano di rollback per la rotazione ca radice?

Se l'applicazione riscontra problemi dopo la rotazione della CA, sostituire il file ca reinstallando la CA combinata o la CA basata su SHA-2 a seconda del caso d'uso. È consigliabile non eseguire il rollback della modifica perché questa modifica è obbligatoria.

Con quale frequenza Microsoft aggiorna i certificati, oppure qual è il criterio di scadenza?

Questi certificati usati da Database di Azure per MySQL vengono forniti da autorità di certificazione (CA) attendibili. Il supporto di questi certificati è basato sul supporto fornito dalla CA per questi certificati. L'uso del certificato DigiCertGlobalRootCA dell'algoritmo hash SHA-1 meno sicuro compromette la sicurezza delle applicazioni che si connettono a Database di Azure per MySQL in modo che Microsoft debba eseguire una modifica del certificato.

DigiCertGlobalRootG2 è lo stesso certificato usato per il server singolo?

Sì. DigiCertGlobalRootG2 CA, la nuova CA radice di SHA-2 per Database di Azure per MySQL è uguale a Server singolo.

Se si usano repliche in lettura, è necessario eseguire questo aggiornamento solo nel server di origine o nelle repliche in lettura?

Poiché questo aggiornamento è una modifica lato client, se più client leggono i dati dal server di replica, è necessario applicare anche le modifiche per tali client.

Se si usa la replica dei dati in ingresso, è necessario eseguire un'azione?

Se si usa la replica dei dati per connettersi a Database di Azure per MySQL e la replica dei dati è compresa tra due Database di Azure per MySQL, è necessario reimpostare la replica eseguendo CALL mysql.az_replication_change_master e specificare il nuovo certificato radice duale come ultimo parametro master_ssl_ca.

È necessaria un'azione se nel file del certificato è già presente DigiCertGlobalRootG2?

No. Non è necessaria alcuna azione se il file del certificato include già DigiCertGlobalRootG2.

A chi rivolgersi in caso di altre domande?

In caso di domande, è possibile contattare gli esperti della community di Microsoft Q&A.