Conectividade SSL/TLS no Banco de Dados do Azure para MySQL

APLICA-SE A: Banco de Dados do Azure para MySQL - Servidor Único

Importante

O servidor único do Banco de Dados do Azure para MySQL está no caminho de desativação. É altamente recomendável que você atualize para o Banco de Dados do Azure para o servidor flexível MySQL. Para obter mais informações sobre como migrar para o Banco de Dados do Azure para servidor flexível MySQL, consulte O que está acontecendo com o Banco de Dados do Azure para Servidor Único MySQL?

O Banco de Dados do Azure para MySQL dá suporte à conexão do servidor de banco de dados a aplicativos cliente usando SSL (Secure Sockets Layer). A imposição de ligações SSL entre o servidor de base de dados e as aplicações de cliente ajuda a proteger contra ataques "man-in-the-middle" ao encriptar o fluxo de dados entre o servidor e a sua aplicação.

Nota

A atualização do valor do parâmetro do require_secure_transport servidor não afeta o comportamento do serviço MySQL. Use os recursos de imposição de SSL e TLS descritos neste artigo para proteger conexões com seu banco de dados.

Nota

Com base no feedback dos clientes, estendemos a substituição do certificado raiz para nossa CA raiz de Baltimore existente até 15 de fevereiro de 2021 (15/02/2021).

Importante

O certificado raiz SSL está definido para expirar a partir de 15 de fevereiro de 2021 (15/02/2021). Por favor, atualize seu aplicativo para usar o novo certificado. Para saber mais, consulte Atualizações de certificados planejadas

Configurações padrão de SSL

Por padrão, o serviço de banco de dados deve ser configurado para exigir conexões SSL ao se conectar ao MySQL. Recomendamos evitar desativar a opção SSL sempre que possível.

Ao provisionar um novo Banco de Dados do Azure para o servidor MySQL por meio do portal do Azure e da CLI, a imposição de conexões SSL é habilitada por padrão.

As cadeias de conexão para várias linguagens de programação são mostradas no portal do Azure. Essas cadeias de conexão incluem os parâmetros SSL necessários para se conectar ao seu banco de dados. No portal do Azure, selecione seu servidor. No cabeçalho Configurações, selecione as Cadeias de conexão. O parâmetro SSL varia com base no conector, por exemplo "ssl=true" ou "sslmode=require" ou "sslmode=required" e outras variações.

Em alguns casos, os aplicativos exigem um arquivo de certificado local gerado a partir de um arquivo de certificado de Autoridade de Certificação (CA) confiável para se conectarem com segurança. Atualmente, os clientes só podem usar o certificado predefinido para se conectar a um Banco de Dados do Azure para servidor MySQL, que está localizado em https://cacerts.digicert.com/DigiCertGlobalRootG2.crt.pem.

Da mesma forma, os links a seguir apontam para os certificados para servidores em nuvens soberanas: Azure Government, Microsoft Azure operado pela 21Vianet e Azure Germany.

Para saber como habilitar ou desabilitar a conexão SSL ao desenvolver o aplicativo, consulte Como configurar o SSL.

Imposição de TLS no Banco de Dados do Azure para MySQL

O Banco de Dados do Azure para MySQL dá suporte à criptografia para clientes que se conectam ao seu servidor de banco de dados usando TLS (Transport Layer Security). O TLS é um protocolo padrão do setor que garante conexões de rede seguras entre seu servidor de banco de dados e aplicativos cliente, permitindo que você cumpra os requisitos de conformidade.

Definições do TLS

O Banco de Dados do Azure para MySQL fornece a capacidade de impor a versão TLS para as conexões de cliente. Para impor a versão TLS, use a configuração da opção Versão mínima do TLS . Os seguintes valores são permitidos para essa configuração de opção:

Configuração mínima de TLS Versão TLS do cliente suportada
TLSEnforcementDisabled (padrão) Não é necessário TLS
TLS1_0 TLS 1.0, TLS 1.1, TLS 1.2 e superior
TLS1_1 TLS 1.1, TLS 1.2 e superior
TLS1_2 TLS versão 1.2 e superior

Por exemplo, definir o valor da versão mínima de configuração TLS como TLS 1.0 significa que seu servidor permite conexões de clientes usando TLS 1.0, 1.1 e 1.2+. Como alternativa, definir isso como 1.2 significa que você só permite conexões de clientes usando TLS 1.2+ e todas as conexões com TLS 1.0 e TLS 1.1 serão rejeitadas.

Nota

Por padrão, o Banco de Dados do Azure para MySQL não impõe uma versão mínima do TLS (a configuração TLSEnforcementDisabled).

Depois de impor uma versão mínima do TLS, você não poderá desativar posteriormente a imposição da versão mínima.

A configuração de versão mínima do TLS não requer nenhuma reinicialização do servidor pode ser definida enquanto o servidor está online. Para saber como definir a configuração TLS para seu Banco de Dados do Azure para MySQL, consulte Como definir a configuração TLS.

Suporte de codificação pelo Banco de Dados do Azure para servidor único MySQL

Como parte da comunicação SSL/TLS, os pacotes de codificação são validados e apenas os trajes de codificação de suporte têm permissão para se comunicar com o servidor de banco de dados. A validação do conjunto de codificação é controlada na camada de gateway e não explicitamente no nó em si. Se os pacotes de codificação não corresponderem a um dos pacotes listados abaixo, as conexões de cliente de entrada serão rejeitadas.

Pacote de codificação suportado

  • TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
  • TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
  • TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384
  • TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256

Próximos passos