Informazioni sulle modifiche apportate alla CA radice per Database di Azure per MariaDB

Importante

Database di Azure per MariaDB è sul percorso di ritiro. È consigliabile eseguire la migrazione a Database di Azure per MySQL. Per altre informazioni sulla migrazione a Database di Azure per MySQL, vedere What's happening to Database di Azure per MariaDB?.

Il database di Azure per MariaDB come parte delle procedure consigliate per la manutenzione e la sicurezza standard completeranno la modifica del certificato radice a partire da marzo 2023. 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

Questo articolo contiene riferimenti al termine slave, che Microsoft non usa più. Quando il termine verrà rimosso dal software, verrà rimosso anche dall'articolo.

Perché è necessario aggiornare il certificato radice?

Database di Azure per MariaDB gli utenti possono usare solo il certificato predefinito per connettersi al server MariaDB, che si trova qui. Tuttavia, il forum del browser autorità di certificazione (CA) ha recentemente pubblicato report di più certificati rilasciati dai fornitori della CA per essere non conformi.

In base ai requisiti di conformità del settore, i fornitori di autorità di certificazione hanno iniziato a revocare i certificati CA per ca non conformi, richiedendo ai server di usare certificati rilasciati da ca conformi e firmati da certificati CA da tali ca conformi. Poiché Database di Azure per MariaDB usato uno di questi certificati non conformi, è necessario ruotare il certificato alla versione conforme per ridurre al minimo la potenziale minaccia per i server MySQL.

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

Se sono stati seguiti i passaggi indicati in Creare un certificato CA combinato riportato di seguito, è possibile continuare a connettersi purché il certificato BaltimoreCyberTrustRoot non venga rimosso dal certificato CA combinato . Per mantenere la connettività, è consigliabile conservare il baltimoreCyberTrustRoot nel certificato ca combinato fino a quando non si noterà di più.

Creare un certificato ca combinato

  • Scaricare BaltimoreCyberTrustRoot & DigiCertGlobalRootG2 CA dai collegamenti seguenti:

  • Vengono inclusi un archivio certificati CA combinato con certificati BaltimoreCyberTrustRoot e DigiCertGlobalRootG2 .

    • Per gli utenti java (MariaDB Connessione or/J), eseguire:

      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
      

      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 Connessione or/NET, MariaDB Connessione or), assicurarsi che BaltimoreCyberTrustRoot e DigiCertGlobalRootG2 esistano entrambi nell'archivio certificati windows, nelle autorità di certificazione radice attendibili. Se non esistono certificati, importare il certificato mancante.

      Azure Database for MariaDB .net cert

    • Per gli utenti .NET in Linux che usano SSL_CERT_DIR, assicurarsi che BaltimoreCyberTrustRoot 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

    -----BEGIN CERTIFICATE-----
    (Root CA1: BaltimoreCyberTrustRoot.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 aver distribuito il nuovo certificato sul lato server, è possibile modificare il file PEM della CA in DigiCertGlobalRootG2.crt.pem.

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

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

Cosa accade se è stato rimosso il certificato BaltimoreCyberTrustRoot?

Si inizieranno a creare errori di connettività durante la connessione al server Database di Azure per MariaDB. Per mantenere la connettività, sarà necessario configurare di nuovo SSL con il certificato BaltimoreCyberTrustRoot .

Domande frequenti

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

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

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

No, 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.

3. Ricerca per categorie sapere se si usa SSL/TLS con la verifica del certificato radice?

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

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

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

4. Qual è l'impatto sull'uso di servizio app con Database di Azure per MariaDB?

Per i servizi app di Azure, connettersi a Database di Azure per MariaDB, esistono due possibili scenari a seconda di come si usa SSL con l'applicazione.

  • Questo nuovo certificato è stato aggiunto a servizio app a livello di piattaforma. Se si usano i certificati SSL inclusi nella piattaforma servizio app nell'applicazione, non è necessaria alcuna azione. Questo è lo scenario più comune.
  • Se si include in modo esplicito il percorso del file di certificato SSL nel codice, è necessario scaricare il nuovo certificato e aggiornare il codice per usare il nuovo certificato. Un buon esempio di questo scenario è quando si usano contenitori personalizzati in servizio app condivisi nella documentazione di servizio app. Si tratta di uno scenario non comune, ma alcuni utenti lo usano.

5. Qual è l'impatto se si usano servizio Azure Kubernetes (AKS) con Database di Azure per MariaDB?

Se si sta provando a connettersi al Database di Azure per MariaDB usando servizio Azure Kubernetes (servizio Azure Kubernetes), è simile all'accesso da un ambiente host clienti dedicato. Fare riferimento ai passaggi qui.

6. Qual è l'impatto sull'uso di Azure Data Factory per connettersi a Database di Azure per MariaDB?

Per il connettore che usa Azure Integration Runtime, il connettore usa i certificati nell'archivio certificati di Windows nell'ambiente ospitato in Azure. Questi certificati sono già compatibili con i certificati appena applicati e quindi non è necessaria alcuna azione.

Per il connettore che usa il runtime di integrazione self-hosted in cui si include in modo esplicito il percorso del file di certificato SSL nel stringa di connessione, è necessario scaricare il nuovo certificato e aggiornare il stringa di connessione per usarlo.

7. È necessario pianificare un tempo di inattività di manutenzione del server di database per questa modifica?

No. Poiché la modifica è disponibile solo sul lato client per connettersi al server di database, non sono necessari tempi di inattività di manutenzione per il server di database per questa modifica.

8. Con quale frequenza Microsoft aggiorna i certificati o qual è il criterio di scadenza?

Questi certificati usati da Database di Azure per MariaDB vengono forniti da autorità di certificazione (CA) attendibili. Il supporto di questi certificati è quindi associato al supporto di questi certificati da parte della CA. Il certificato BaltimoreCyberTrustRoot è pianificato per scadere nel 2025, quindi Microsoft dovrà eseguire una modifica del certificato prima della scadenza.

9. 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 il client usato per leggere i dati dal server di replica, sarà necessario applicare anche le modifiche per tali client.

10. Se si usa la replica dei dati, è necessario eseguire un'azione?

  • Se la replica dei dati proviene da una macchina virtuale (locale o da una macchina virtuale di Azure) a Database di Azure per MySQL, è necessario verificare se SSL viene usato per creare la replica. Eseguire SHOW SLAVE STATUS (MOSTRA STATO SLAVE) e controllare l'impostazione seguente.

    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
    

Se si usa la replica dei dati in ingresso per connettersi a Database di Azure per MySQL, è necessario considerare due aspetti:

  • Se la replica dei dati proviene da una macchina virtuale (locale o da una macchina virtuale di Azure) a Database di Azure per MySQL, è necessario verificare se SSL viene usato per creare la replica. Eseguire SHOW SLAVE STATUS (MOSTRA STATO SLAVE) e controllare l'impostazione seguente.

    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
    

    Se viene visualizzato il certificato per il CA_file, SSL_Cert e SSL_Key, sarà necessario aggiornare il file aggiungendo il nuovo certificato e creare un file di certificato combinato.

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

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

Per verificare se si usa la connessione SSL per connettersi al server, fare riferimento alla verifica SSL.

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

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

13. Cosa succede se ho altre domande?

In caso di domande, è possibile contattare gli esperti della community di Microsoft Q&A. Se hai un piano di supporto e hai bisogno di assistenza tecnica, contattaci.