TLS (Transport Layer Security) no Banco de Dados do Azure para MySQL

O Banco de Dados do Azure para MySQL requer que todas as conexões de cliente usem o TLS (Transport Layer Security), um protocolo padrão do setor que criptografa as comunicações entre o servidor de banco de dados e os aplicativos cliente. O TLS substitui o protocolo SSL mais antigo, com apenas as versões TLS 1.2 e 1.3 reconhecidas como seguras. A integridade da segurança do TLS depende de três pilares:

  • Usando apenas as versões 1.2 ou 1.3 do TLS.
  • O cliente valida o certificado TLS do servidor emitido por uma AC (Autoridade de Certificação) em uma cadeia de ACs iniciada por uma AC raiz confiável.
  • Negociando um conjunto de criptografia seguro entre o servidor e o cliente.

Configurações de TLS no Banco de Dados do Azure para MySQL Flexible Server

O Servidor Flexível do Banco de Dados do Azure para MySQL oferece suporte à conexão dos seus aplicativos cliente à instância do Servidor Flexível do Banco de Dados do Azure para MySQL por meio de SSL (Secure Sockets Layer) com criptografia TLS (Transport Layer Security). O TLS é um protocolo padrão do setor que garante conexões de rede criptografadas entre o servidor de banco de dados e os aplicativos cliente, portanto, você pode atender aos requisitos de conformidade.

O Banco de Dados do Azure para MySQL – Servidor Flexível oferece suporte a conexões criptografadas por meio do Transport Layer Security (TLS 1.2) por padrão e, por padrão, recusa todas as conexões de entrada que usam TLS 1.0 e TLS 1.1. Você pode configurar e alterar a imposição de conexão criptografada ou a configuração de versão do TLS em seu Servidor Flexível.

A tabela a seguir descreve as diferentes configurações de configurações de SSL e TLS que você pode ter para seu Servidor Flexível:

Importante

De acordo com a remoção do suporte para os protocolos TLS 1.0 e TLS 1.1, o MySQL planejava preterir totalmente o TLS 1.0 e 1.1 até setembro de 2024. No entanto, devido às dependências identificadas por alguns clientes, a linha do tempo foi estendida.

  • A partir de 31 de agosto de 2025, a atualização forçada começa para todos os servidores que ainda usam o TLS 1.0 ou 1.1. Após essa data, todas as conexões que dependem do TLS 1.0 ou 1.1 podem parar de funcionar a qualquer momento.

Para evitar interrupções de serviço, migre para o TLS 1.2 assim que possível.

Scenario Configurações de parâmetro do servidor Description
Desabilitar a imposição do TLS require_secure_transport = OFF Se o aplicativo herdado não der suporte a conexões criptografadas, desabilite a imposição de conexões criptografadas.
Impor o TLS com a versão do TLS < 1.2 (descontinuado em setembro de 2024) require_secure_transport = ON e tls_version = TLS 1.0 ou TLS 1.1 Não está mais disponível!
Imponha o TLS com a versão TLS = 1.2 (Configuração padrão) require_secure_transport = ON e tls_version = TLS 1.2 Configuração padrão.
Aplicar o TLS com a versão TLS = 1.3 require_secure_transport = ON e tls_version = TLS 1.3 Configuração recomendada; compatível somente com o Banco de Dados do Azure para MySQL Servidor Flexível, versão v8.0 e posterior.

Note

Não há suporte para alterações na criptografia TLS. Os conjuntos de criptografia em conformidade com FIPS são impostos por padrão quando tls_version é definido como TLS 1.2 ou TLS 1.3.

Examine a conexão usando SSL/TLS para saber como identificar a versão do TLS.

Certificados raiz confiáveis e rotações de certificados

Importante

Agendamento de rotação de certificado raiz:

  • As atualizações dos certificados de autoridade de certificação raiz, do DigiCert Global Root CA (G1) para o DigiCert Global Root G2, nas regiões da China, terão início em 9 de março de 2026.
  • Se a configuração do cliente usar as configurações recomendadas para TLS, você não precisará executar nenhuma ação.

CAs raiz usadas pelo Banco de Dados do Azure para MySQL

As ACs raiz são as autoridades de nível superior na cadeia de certificados. Atualmente, o Banco de Dados do Azure para MySQL usa certificados com dupla assinatura emitidos por uma ICA ancorada pelas seguintes autoridades certificadoras raiz:

Atualmente, as regiões da China usam as seguintes ACs:

Sobre as ACs intermediárias

O Banco de Dados do Azure para MySQL usa ICAs (CAs) intermediárias para emitir certificados de servidor. A Microsoft renova periodicamente essas ICAs e os certificados de servidor emitidos por elas para manter a segurança. Essas rotações são rotineiras e não são anunciadas com antecedência.

A rotação atual de autoridades de certificação intermediárias para DigiCert Global Root G2 (ver rotação de certificados) começou em novembro de 2025 e está programada para ser concluída no primeiro trimestre de 2026. Essa rotação substitui as ACs intermediárias da seguinte maneira. Se você seguiu as práticas recomendadas, não precisará fazer nenhuma alteração em seu ambiente.

Cadeia de AC antiga

Essas informações são fornecidas somente para referência. Não use certificados de servidor ou CAs intermediários em seu repositório raiz confiável.

  • DigiCert Global Root G2
    • Microsoft Azure RSA TLS Issuing CA 03 / 04 / 07 / 08
      • Certificado do servidor

Nova cadeia de AC

Essas informações são fornecidas somente para referência. Não use certificados de servidor ou CAs intermediários em seu repositório raiz confiável.

  • DigiCert Global Root G2
    • Microsoft TLS RSA Root G2
      • Microsoft TLS G2 RSA CA OCSP 02 / 04 / 06 / 08 / 10 / 12 / 14 / 16
        • Certificado do servidor

Cadeias de certificados

Uma cadeia de certificados é uma sequência hierárquica de certificados emitidos por autoridades de certificação confiáveis (CAs), começando na AC raiz, que emite certificados de AC intermediária (ICA). As ICAs podem emitir certificados para ICAs de nível inferior. A ICA mais baixa da cadeia emite certificados de servidor individuais. Você estabelece a cadeia de confiança ao verificar cada certificado na cadeia até o certificado da Autoridade Certificadora raiz.

Reduzir falhas de conexão

Use as configurações de TLS recomendadas para reduzir o risco de falhas de conexão devido a rotações de certificado ou alterações em CAs intermediárias. Especificamente, evite confiar em CAs intermediárias ou certificados de servidor individuais, pois essas práticas podem levar a problemas de conexão inesperados quando Microsoft atualiza a cadeia de certificados.

Importante

A Microsoft anuncia antecipadamente alterações nos certificados de autoridade raiz (CAs) para ajudá-lo a preparar o seu aplicativo cliente. No entanto, rotações de certificado de servidor e alterações em CAs intermediárias são rotineiras e, portanto, não são anunciadas.

Caution

O uso de configurações sem suporte (cliente) pode causar falhas de conexão inesperadas.

Melhor configuração

Boa configuração

  • Definir require_secure_transport = ON e tls_version = TLS 1.3. Se você precisar dar suporte ao TLS 1.2, não defina o tls_version.
  • Use a verificação completa de aplicativos cliente (isso varia de acordo com o cliente).
  • Certifique-se de que o repositório raiz confiável contenha o certificado da Autoridade de Certificação raiz atualmente usado pelo Banco de Dados do Azure para MySQL:

Não desabilite o TLS completamente definindo require_secure_transport como OFF.

Configurações sem suporte; não use

O Azure MySQL não anuncia alterações em autoridades certificadoras intermediárias nem rotações individuais de certificados de servidor. Portanto, não há suporte para as seguintes configurações:

  • Você usa certificados de AC intermediários no seu repositório confiável.
  • Você usa o recurso de fixação de certificado, como o uso de certificados de servidor individuais em seu repositório de certificados confiáveis.

Caution

Seus aplicativos não conseguem se conectar aos servidores de banco de dados sem aviso sempre que a Microsoft altera os CAs intermediários da cadeia de certificados ou gira o certificado do servidor.

Outras considerações para TLS

Versões TLS inseguras e seguras

Várias entidades governamentais em todo o mundo mantêm diretrizes para TLS em relação à segurança de rede. Nos Estados Unidos, essas organizações incluem o Ministério da Saúde e Serviços Humanos e o National Institute of Standards and Technology. O nível de segurança que o TLS fornece é mais afetado pela versão do protocolo TLS e pelos pacotes de criptografia com suporte.

O Banco de Dados do Azure para MySQL dá suporte ao TLS versão 1.2 e 1.3. No RFC 8996, a IETF (Internet Engineering Task Force) declara explicitamente que o TLS 1.0 e o TLS 1.1 não devem ser usados. Ambos os protocolos foram preteridos no final de 2019. Todas as conexões de entrada que usam versões inseguras anteriores do protocolo TLS, como TLS 1.0 e TLS 1.1, são negadas por padrão.

O IETF lançou a especificação TLS 1.3 no RFC 8446 em agosto de 2018 e o TLS 1.3 é a versão recomendada, pois é mais rápido e seguro que o TLS 1.2.

Embora não seja recomendável, se necessário, você pode desabilitar o TLS para conexões com seu Banco de Dados do Azure para MySQL. Você pode atualizar o parâmetro do servidor require_secure_transport para OFF.

Conjuntos de criptografia

Um conjunto de criptografias é um conjunto de algoritmos que incluem uma criptografia, um algoritmo de troca de chaves e um algoritmo de hash. Use-os junto com o certificado TLS e a versão do TLS para estabelecer uma conexão TLS segura. A maioria dos clientes e servidores do TLS dá suporte a vários pacotes de criptografia e, às vezes, a várias versões do TLS. Durante o estabelecimento da conexão, o cliente e o servidor negociam a versão do TLS e o conjunto de criptografias a serem usados por meio de um handshake. Durante esse handshake, ocorre o seguinte:

  • O cliente envia uma lista de conjuntos de criptografia aceitáveis.
  • O servidor seleciona o melhor conjunto de criptografias (por sua própria definição) na lista e informa o cliente de sua escolha.

Recursos do TLS não disponíveis no Banco de Dados do Azure para MySQL

No momento, o Banco de Dados do Azure para MySQL não implementa os seguintes recursos do TLS:

  • Autenticação de cliente baseada em certificado TLS por meio do TLS com autenticação mútua (mTLS).
  • Certificados de servidor personalizados (traga seus próprios certificados TLS).