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

O Base de Dados do Azure para MySQL exige que todas as ligações do cliente utilizem o Transport Layer Security (TLS), um protocolo padrão da indústria que encripta as comunicações entre o seu servidor de base de dados e as aplicações do cliente. O TLS substitui o antigo protocolo SSL, sendo apenas as versões 1.2 e 1.3 reconhecidas como seguras. A integridade da segurança TLS assenta em três pilares:

  • Usando apenas as versões TLS 1.2 ou 1.3.
  • O cliente valida o certificado TLS do servidor emitido por uma Autoridade Certificadora (CA) numa cadeia de CAs iniciada por uma CA raiz de confiança.
  • Negociar um conjunto de cifras seguras entre servidor e cliente.

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

O Base de Dados do Azure para MySQL Flexible Server suporta a ligação das suas aplicações clientes à instância do Base de Dados do Azure para MySQL Flexible Server utilizando a Secure Sockets Layer (SSL) com encriptação Transport Layer Security (TLS). 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, para que você possa cumprir os requisitos de conformidade.

O Base de Dados do Azure para MySQL Flexible Server suporta ligações encriptadas usando o Transport Layer Security (TLS 1.2) por defeito, e nega todas as ligações recebidas usando TLS 1.0 e TLS 1.1 por defeito. Pode configurar e alterar a imposição da ligação encriptada ou a configuração da versão do TLS no seu Servidor Flexível.

A tabela seguinte descreve as diferentes configurações de definições SSL e TLS que pode ter para o 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 planeava descontinuar totalmente o TLS 1.0 e 1.1 até setembro de 2024. No entanto, devido a dependências identificadas por alguns clientes, o prazo foi prolongado.

  • A partir de 31 de agosto de 2025, a atualização forçada começa para todos os servidores que ainda utilizam TLS 1.0 ou 1.1. Após essa data, quaisquer ligações que dependam do TLS 1.0 ou 1.1 podem deixar de funcionar a qualquer momento.

Para evitar interrupções no serviço, migre para o TLS 1.2 o mais rapidamente possível.

Scenario Configurações de parâmetros do servidor Description
Desativar a aplicação do TLS require_secure_transport = OFF Se a sua aplicação legada não suportar ligações encriptadas, desative a imposição de ligações encriptadas.
Aplicar o TLS com a versão < 1.2 do TLS (descontinuada em setembro de 2024) require_secure_transport = ON e tls_version = TLS 1.0 ou TLS 1.1 Já não está disponível!
Aplicar 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.
Implementar o TLS com a versão TLS = 1.3 require_secure_transport = ON e tls_version = TLS 1.3 Configuração recomendada; suportado apenas com Base de Dados do Azure para MySQL Flexible Server versão v8.0 e posteriores.

Note

Alterações ao TLS Cipher não são suportadas. Os conjuntos de cifras compatíveis com FIPS são aplicados por padrão quando o tls_version é definido para TLS 1.2 ou TLS 1.3.

Reveja connect usando SSL/TLS para aprender a identificar a versão TLS.

Certificados raiz confiáveis e rotação de certificados

Importante

Calendário de rotação de certificados raiz:

  • As atualizações para os certificados root CA do DigiCert Global Root CA (G1) para o DigiCert Global Root G2 nas regiões da China começam a 9 de março de 2026.
  • Se a configuração do teu cliente usar as configurações Recomendadas para TLS, não precisas de tomar qualquer ação.

Root CAs usadas pelo Azure Database para MySQL

As Root CAs são as autoridades de topo na cadeia de certificação. Atualmente, o Base de Dados do Azure para MySQL utiliza certificados de assinatura dupla emitidos por um ICA ancorado pelas seguintes CAs raiz:

As regiões da China utilizam atualmente as seguintes Autoridades Certificadoras:

Acerca das autoridades de certificação intermédias

O Base de Dados do Azure para MySQL utiliza CAs intermédias (ICAs) para emitir certificados de servidor. A Microsoft alterna periodicamente estes ICAs e os certificados de servidor que emite para garantir a segurança. Estas rotações são rotineiras e não são anunciadas antecipadamente.

A rotação atual das autoridades certificadoras intermédias para DigiCert Global Root G2 (ver rotação de certificados) começou em novembro de 2025 e está prevista para ser concluída no primeiro trimestre de 2026. Esta rotação substitui os CAs intermédios da seguinte forma. Se seguiu as práticas recomendadas, não precisa de fazer quaisquer alterações no seu ambiente.

Antiga cadeia CA

Esta informação é fornecida apenas para referência. Não uses CAs intermédias ou certificados de servidor na tua loja raiz de confiança.

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

A nova cadeia CA

Esta informação é fornecida apenas para referência. Não uses CAs intermédias ou certificados de servidor na tua loja raiz de confiança.

  • 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 Certificadoras (CAs) de confiança, começando na CA raiz, que emite certificados de CA intermédia (ICA). Os ICAs podem emitir certificados para ICAs de níveis inferiores. O ICA mais baixo da cadeia emite certificados individuais de servidor. Estabeleces a cadeia de confiança verificando cada certificado da cadeia até ao certificado da CA raiz.

Reduzir falhas de ligação

Utilize as configurações TLS recomendadas para reduzir o risco de falhas de ligação devido a rotações de certificados ou alterações em CAs intermédias. Especificamente, evite confiar em CAs intermédias ou certificados individuais de servidor, pois estas práticas podem levar a problemas inesperados de ligação quando a Microsoft atualiza a cadeia de certificados.

Importante

A Microsoft anuncia as alterações nas CAs raiz com antecedência para o ajudar a preparar as suas aplicações cliente. No entanto, as rotações de certificados do servidor e as alterações nas CAs intermédias são rotineiras e, por isso, não são anunciadas.

Atenção

O uso de configurações não suportadas (cliente) pode causar falhas inesperadas na ligação.

Melhor configuração

Boa configuração

  • Defina require_secure_transport = ON e tls_version = TLS 1.3. Se tens de suportar TLS 1.2, não definas o tls_version.
  • Use a verificação completa das aplicações do cliente (isto varia consoante o cliente).
  • Certifique-se de que o armazenamento raiz confiável contém o certificado de CA raiz atualmente utilizado pelo Base de Dados do Azure para MySQL:

Não desative completamente o TLS ao definir require_secure_transport para OFF.

Configurações não suportadas; não usar

O Azure MySQL não anuncia alterações sobre alterações intermédias na CA ou rotações individuais de certificados de servidor. Portanto, as seguintes configurações não são suportadas:

  • Utilizas certificados CA intermédios na tua loja de confiança.
  • Utiliza associação de certificados, como, por exemplo, utilizar certificados de servidor individuais no seu repositório de certificados fidedignos.

Atenção

As suas aplicações falham em ligar-se aos servidores de base de dados sem aviso prévio sempre que a Microsoft altera as CAs intermédias da cadeia de certificados ou roda o certificado do servidor.

Outras considerações para o 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 da rede. Nos Estados Unidos, essas organizações incluem o Departamento de Saúde e Serviços Humanos e o Instituto Nacional de Padrões e Tecnologia. O nível de segurança que o TLS fornece é mais afetado pela versão do protocolo TLS e pelos pacotes de codificação suportados.

Base de Dados do Azure para MySQL suporta TLS versões 1.2 e 1.3. No RFC 8996, a Força-Tarefa de Engenharia da Internet (IETF) afirma explicitamente que o TLS 1.0 e o TLS 1.1 não devem ser utilizados. Ambos os protocolos foram preteridos no final de 2019. Todas as ligações de entrada que utilizam versões anteriores e inseguras do protocolo TLS, como TLS 1.0 e TLS 1.1, são negadas por defeito.

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 do que o TLS 1.2.

Embora não seja recomendado, se necessário, pode desativar o TLS para ligações à sua base de dados Base de Dados do Azure para MySQL. Você pode atualizar o require_secure_transport parâmetro server para OFF.

Pacotes de cifragem

Um conjunto de cifras é um conjunto de algoritmos que inclui uma cifra, um algoritmo de troca de chaves e um algoritmo de hash. Use-os juntamente com o certificado TLS e a versão TLS para estabelecer uma ligação TLS segura. A maioria dos clientes e servidores TLS suporta múltiplos conjuntos de cifras e, por vezes, múltiplas versões TLS. Durante o estabelecimento da ligação, o cliente e o servidor negociam a versão TLS e a suíte de cifras para usar através de um handshake. Durante este aperto de mão, ocorre o seguinte:

  • O cliente envia uma lista de conjuntos de cifras aceitáveis.
  • O servidor seleciona a melhor (pela sua própria definição) conjunto de cifras da lista e informa o cliente da escolha.

Funcionalidades TLS não disponíveis no Base de Dados do Azure para MySQL

Neste momento, o Azure Database para MySQL não implementa as seguintes funcionalidades TLS:

  • Autenticação cliente baseada em certificado TLS através de TLS com autenticação mútua (mTLS).
  • Certificados de servidor personalizados (tragam os vossos próprios certificados TLS).