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 da desativação. É altamente recomendável que você atualize para o servidor flexível do Banco de Dados do Azure para MySQL. Para obter mais informações sobre a migração para o servidor flexível do Banco de Dados do Azure para MySQL, confira O que está acontecendo com o Servidor Único do Banco de Dados do Azure para MySQL?
O Banco de Dados do Azure para MySQL dá suporte à conexão de seu servidor de banco de dados com aplicativos cliente usando o protocolo SSL. Impor conexões SSL entre seu servidor de banco de dados e os aplicativos cliente ajuda a proteger contra ataques de "intermediários" criptografando o fluxo de dados entre o servidor e seu aplicativo.
Observação
Atualizar o valor do parâmetro do servidor require_secure_transport
não afeta o comportamento do serviço MySQL. Use os recursos de imposição SSL e TLS descritos neste artigo para proteger as conexões com o banco de dados.
Observação
Com base nos comentários dos clientes, estendemos a substituição do certificado raiz para nossa CA Raiz 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). Atualize o aplicativo para usar o novo certificado. Para saber mais, veja atualizações de certificado planejadas
Configurações de SSL padrão
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 desabilitar a opção SSL sempre que possível.
Ao provisionar um novo servidor de Banco de Dados do Azure para MySQL por meio do Portal e CLI do Azure, a imposição de conexões SSL está habilitada por padrão.
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 conectar-se ao 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 de acordo com o conector, por exemplo "ssl=true" ou "sslmode=require" ou "sslmode=required" e outras variações.
Em alguns casos, os aplicativos requerem um arquivo de certificado local gerado a partir de um arquivo de certificado de uma Autoridade de Certificação (AC) confiável para se conectar com segurança. Atualmente, os clientes só podem usar o certificado predefinido para se conectar a um servidor do Banco de Dados do Azure para MySQL, localizado em https://cacerts.digicert.com/DigiCertGlobalRootG2.crt.pem.
Da mesma forma, os links a seguir apontam para certificados de servidores em nuvens soberanas: Azure Governamental, Azure operado pela 21Vianet e Azure Alemanha.
Para saber como habilitar ou desabilitar a conexão SSL durante o desenvolvimento de aplicativos, consulte Como configurar o SSL.
Imposição do 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 servidor de banco de dados usando o protocolo TLS (armazenamento local de thread). O TLS é um protocolo padrão do setor que garante conexões de rede seguras entre o servidor de banco de dados e os aplicativos cliente, permitindo que você atenda aos requisitos de conformidade.
Configurações de protocolo TLS
O Banco de Dados do Azure para MySQL fornece a capacidade de impor a versão do TLS para as conexões de cliente. Para impor a versão do TLS, use a configuração de opção Versão mínima do TLS. Os valores a seguir são permitidos para essa configuração de opção:
Configuração de TLS mínima | Versão do TLS do cliente com suporte |
---|---|
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 | Versão TLS 1.2 e superior |
Por exemplo, definir o valor da versão mínima de configuração do 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 como 1.2 significa que você só permitirá conexões de clientes que usam o TLS 1.2 e superior e todas as conexões com o TLS 1.0 e o TLS 1.1 serão rejeitadas.
Observação
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 aplicar uma versão mínima do TLS, você não poderá desabilitar mais tarde a imposição mínima da versão.
A configuração mínima da versão do TLS não requer que nenhuma reinicialização do servidor possa ser definida enquanto o servidor estiver online. Para saber como definir a configuração do TLS para o Banco de Dados do Azure para MySQL, veja Como definir a configuração do TLS.
Suporte Cipher do Banco de Dados do Azure para MySQL servidor único
Como parte da comunicação do protocolo SSL/TLS, os conjuntos de criptografia são validados e apenas os conjuntos de criptografia com suporte têm permissão para se comunicar com o servidor do banco de dados. A validação do conjunto de criptografia é controlada na camada do gateway e não explicitamente no próprio nó. Se os conjuntos de criptografias não corresponderem a um dos conjuntos listados abaixo, as conexões de entrada do cliente serão rejeitadas.
Conjunto de criptografia com suporte
- 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óximas etapas
- Bibliotecas de conexão para o Banco de Dados do Azure para MySQL
- Saiba como configurar o SSL
- Saiba como configurar o TLS