Partilhar via


Rotação de certificados raiz para o Banco de Dados do Azure para MySQL

Para manter nossos padrões de segurança e conformidade, começamos a alterar os certificados raiz do Banco de Dados do Azure para o Servidor Flexível MySQL após 1º de setembro de 2025.

O certificado raiz atual DigiCert Global Root CA é substituído por dois novos certificados raiz:

  • DigiCert Raiz Global G2
  • Autoridade de certificação raiz Microsoft RSA 2017

Se você usar o Transport Layer Security (TLS) com verificação de certificado raiz, deverá ter todos os três certificados raiz instalados durante o período de transição. Uma vez que todos os certificados sejam atualizados, poderá remover o antigo certificado raiz SHA-1 DigiCert Global Root CA do repositório. Se você não adicionar os novos certificados antes de 1º de setembro de 2025, suas conexões com os bancos de dados falharão.

Este artigo fornece instruções sobre como adicionar os dois novos certificados raiz e respostas a perguntas frequentes.

Note

Se o uso continuado do SHA-1 for um bloqueador e você quiser que seus certificados sejam alterados antes da distribuição geral, siga as instruções neste artigo para criar um certificado de autoridade de certificação (CA) combinado no cliente. Em seguida, abra uma solicitação de suporte para girar seu certificado para o Banco de Dados do Azure para MySQL.

Por que é necessária uma atualização de certificado raiz?

Os usuários do Banco de Dados do Azure para MySQL só podem usar o certificado predefinido para se conectar às instâncias do servidor MySQL. Esses certificados são assinados por uma autoridade de certificação raiz. O certificado atual é assinado pela DigiCert Global Root CA. Ele usa SHA-1. O algoritmo de hash SHA-1 é consideravelmente inseguro, devido às vulnerabilidades descobertas. Já não está em conformidade com as nossas normas de segurança.

Precisamos alternar o certificado para um assinado por uma autoridade de certificação raiz compatível para corrigir o problema.

Como atualizar o armazenamento de certificados raiz no seu cliente

Para garantir que seus aplicativos possam se conectar ao Banco de Dados do Azure para MySQL após a rotação do certificado raiz, atualize o armazenamento de certificados raiz em seu cliente. Atualize o armazenamento de certificados raiz se estiver usando SSL/TLS com verificação de certificado raiz.

As etapas a seguir guiam você pelo processo de atualização do armazenamento de certificados raiz em seu cliente:

  1. Faça o download dos três certificados de raiz. Se você instalou o certificado DigiCert Global Root CA , você pode pular o primeiro download:

  2. Faça o download do certificado DigiCert Global Root CA.

  3. Faça o download do certificado DigiCert Global Root G2.

  4. Baixe o certificado Microsoft RSA Root Certificate Authority 2017.

  5. Adicione os certificados baixados ao armazenamento de certificados do cliente. O processo varia dependendo do tipo de cliente.

Atualize seu cliente Java

Siga estas etapas para atualizar seus certificados de cliente Java para a rotação de certificados raiz.

Criar um novo armazenamento de certificados raiz confiável

Para usuários Java , execute estes comandos para criar um novo armazenamento de certificados raiz confiável:

keytool -importcert -alias MySqlFlexServerCACert  -file digiCertGlobalRootCA.crt.pem  -keystore truststore -storepass password -noprompt
keytool -importcert -alias MySqlFlexServerCACert2  -file digiCertGlobalRootG2.crt.pem -keystore truststore -storepass password -noprompt
keytool -importcert -alias MicrosoftRSARootCert2017  -file MicrosoftRSARootCertificateAuthority2017.crt -keystore truststore -storepass password -noprompt

Em seguida, substitua o arquivo keystore original pelo recém-gerado:

  • System.setProperty("javax.net.ssl.trustStore","path_to_truststore_file");
  • System.setProperty("javax.net.ssl.trustStorePassword","password");

Atualizar um armazenamento de certificados raiz confiável existente

Para usuários Java, execute estes comandos para adicionar os novos certificados raiz confiáveis a um armazenamento de certificados raiz confiável existente:

keytool -importcert -alias MySqlFlexServerCACert2  -file digiCertGlobalRootG2.crt.pem -keystore truststore -storepass password -noprompt
keytool -importcert -alias MicrosoftRSARootCert2017  -file MicrosoftRSARootCertificateAuthority2017.crt -keystore truststore -storepass password -noprompt

Se você atualizar um armazenamento de chaves existente, não precisará alterar as javax.net.ssl.trustStore propriedades e javax.net.ssl.trustStorePassword .

Atualize seu cliente .NET

Siga estas etapas para atualizar seus certificados de cliente .NET para a rotação de certificados raiz.

.NET no Windows

Para usuários .NET no Windows, verifique se DigiCert Global Root CA, DigiCert Global Root G2 e Microsoft RSA Root Certificate Authority 2017 existem no armazenamento de certificados do Windows em Autoridades de Certificação Raiz Confiáveis. Se algum certificado não existir, importe-o.

Captura de ecrã da Base de Dados do Azure para certificados .NET MySQL.

.NET no Linux

Para usuários .NET no Linux que usam SSL_CERT_DIRo , certifique-se de que DigiCertGlobalRootCA.crt.pem, DigiCertGlobalRootG2.crt.peme Microsoft RSA Root Certificate Authority 2017.crt.pem existem no diretório indicado pelo SSL_CERT_DIR. Se algum certificado não existir, crie o arquivo de certificado ausente.

Converta o certificado para o Microsoft RSA Root Certificate Authority 2017.crt formato PEM executando o seguinte comando:

openssl x509 -inform der -in MicrosoftRSARootCertificateAuthority2017.crt -out MicrosoftRSARootCertificateAuthority2017.crt.pem

Outros clientes

Para outros usuários que usam outros clientes, você precisa criar um arquivo de certificado combinado que contenha todos os três certificados raiz.

Outros clientes, tais como:

  • Banco de trabalho MySQL
  • C ou C++
  • Go
  • Python
  • Ruby
  • PHP
  • Node.js
  • Perl
  • Rápido

Passos

  1. Crie um novo arquivo de texto e salve-o como combined-ca-certificates.pem
  2. Copie e cole o conteúdo de todos os três arquivos de certificado neste único arquivo no seguinte formato:
-----BEGIN CERTIFICATE-----
(Content from DigiCertGlobalRootCA.crt.pem)
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
(Content from DigiCertGlobalRootG2.crt.pem)
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
(Content from MicrosoftRSARootCertificateAuthority2017.crt.pem)
-----END CERTIFICATE-----

Replicação de dados de entrada MySQL

Para replicação de dados em que o primário e a réplica estão hospedados no Azure, você pode mesclar os arquivos de certificado da autoridade de certificação neste formato:

SET @cert = '-----BEGIN CERTIFICATE-----
(Root CA1:DigiCertGlobalRootCA.crt.pem)
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
(Root CA2: DigiCertGlobalRootG2.crt.pem)
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
(Root CA3: .crt.pem)
-----END CERTIFICATE-----'

Ligue mysql.az_replication_change_master da seguinte forma:

CALL mysql.az_replication_change_master('master.companya.com', 'syncuser', 'P@ssword!', 3306, 'mysql-bin.000002', 120, @cert);

Important

Reinicialize o servidor de réplica.