Todos os produtos
Search
Central de documentação

ApsaraDB RDS:Configure SSL encryption

Última atualização: Jul 03, 2026

O recurso de criptografia Secure Sockets Layer (SSL) do ApsaraDB RDS for SQL Server criptografa dados em trânsito. Isso aumenta a segurança da conexão tanto para endpoints internos quanto públicos e ajuda a atender aos requisitos de conformidade. É possível criptografar dados com certificados fornecidos pela Alibaba Cloud ou com certificados personalizados. Também é possível impor a criptografia SSL para todas as conexões e garantir a confidencialidade dos dados.

Como funciona

A criptografia SSL protege os dados transmitidos entre uma instância do ApsaraDB RDS for SQL Server e um cliente. Isso impede que terceiros interceptem, espionem ou adulterem as informações.

Após ativar a criptografia SSL, os clientes podem optar por se conectar à instância do ApsaraDB RDS for SQL Server com uma conexão criptografada ou não criptografada, a menos que a Criptografia Forçada esteja ativada.

Ao ativar a criptografia SSL, o ApsaraDB RDS for SQL Server gera um certificado de servidor e um par de chaves pública e privada.

Durante o handshake de uma conexão criptografada, a instância do ApsaraDB RDS for SQL Server envia o certificado de servidor, que contém a chave pública, ao cliente. O cliente usa essa chave pública para criptografar uma chave simétrica gerada. Somente a instância do ApsaraDB RDS for SQL Server possui a chave privada necessária para descriptografar essa chave simétrica. Em seguida, a instância e o cliente utilizam essa chave simétrica para criptografar e descriptografar toda a comunicação subsequente e assegurar a confidencialidade. O cliente também pode usar um certificado de Autoridade Certificadora (CA) para verificar o certificado do servidor. Essa verificação confirma a identidade da instância do ApsaraDB RDS for SQL Server e previne ataques do tipo man-in-the-middle.

Nota
  • O Transport Layer Security (TLS) é o sucessor do SSL. Neste tópico, o termo SSL refere-se a ambos os protocolos.

  • O ApsaraDB RDS for SQL Server oferece suporte às versões 1.0, 1,1 e 1,2 do TLS.

Pré-requisitos

Antes de usar um certificado personalizado para criptografia, conclua as etapas a seguir:

Observações de uso

  • Um certificado SSL tem validade de um ano. Para evitar falhas de conexão, renove o certificado antes que ele expire.

  • Ativar, desativar ou atualizar a criptografia SSL reinicia sua instância. Sua instância pode ficar indisponível por alguns minutos. Recomendamos executar essas operações fora do horário de pico.

  • A ativação da criptografia SSL aumenta significativamente a utilização da CPU. Ative a criptografia SSL apenas quando for necessária para conexões via endpoint público. Conexões via endpoint interno são relativamente seguras e geralmente não exigem criptografia.

Limitações

1. Ativar criptografia SSL

  1. Faça login no console do ApsaraDB RDS e acesse a página Instances. Na barra de navegação superior, selecione a região onde a instância RDS está localizada. Em seguida, localize a instância RDS e clique em no ID da instância.

  2. No painel de navegação à esquerda, clique em Data Security.

  3. Na aba SSL, clique em na chave ao lado de Disabled.

  4. Na caixa de diálogo Configure SSL, selecione um método de criptografia e configure os parâmetros.

    Certificado da Alibaba Cloud

    image

    Parâmetro

    Obrigatório

    Descrição

    Select Protected Endpoint:

    Sim

    Selecione o endpoint a ser criptografado. É possível criptografar um endpoint interno ou público, mas apenas um endpoint pode ser criptografado por vez.

    Nota

    Para criptografar um endpoint público, certifique-se de que um endpoint público esteja ativado para a instância.

    Forceful Encryption

    Não

    Ao ativar esta opção, os clientes são forçados a se conectar aos endpoints internos e públicos da instância por meio de uma conexão criptografada. Conexões não criptografadas deixam de ser suportadas e não é necessário um certificado CA para as conexões.

    Nota

    Este recurso é suportado apenas quando o tipo de rede da instância é Virtual Private Cloud (VPC).

    Earliest TLS Version Supported

    Não

    Selecione a versão mínima do TLS a ser suportada. As versões disponíveis são TLS 1.0, 1,1 e 1,2. O servidor rejeita conexões que usam uma versão de protocolo anterior à especificada.

    Por exemplo, se você selecionar TLS 1,1, o servidor aceitará solicitações de conexão apenas de clientes que usem TLS 1,1 ou TLS 1,2. Solicitações de clientes usando TLS 1.0 serão rejeitadas.

    Certificado personalizado

    Nota

    Antes de usar um certificado personalizado, verifique se você atende aos pré-requisitos.

    1. No painel Upload PFX Certificate to OSS Bucket, clique em Next.

    2. No painel Use Custom Key to Encrypt Data, configure os seguintes parâmetros e clique em Next.

      image

      Parâmetro

      Descrição

      OSS Bucket

      Selecione o bucket do OSS onde o certificado está armazenado.

      Certificate

      Selecione o certificado .pfx desejado.

      Password

      Insira a senha do certificado.

    3. No painel Configure Regular Option, configure os seguintes parâmetros.

      image

      Parâmetro

      Obrigatório

      Descrição

      Select Protected Endpoint:

      Sim

      Selecione o endpoint a ser criptografado. É possível criptografar um endpoint interno ou público, mas apenas um endpoint pode ser criptografado por vez.

      Nota

      Para criptografar um endpoint público, certifique-se de que um endpoint público esteja ativado para a instância.

      Forceful Encryption

      Não

      Ao ativar esta opção, os clientes são forçados a se conectar aos endpoints internos e públicos da instância por meio de uma conexão criptografada. Conexões não criptografadas deixam de ser suportadas e não é necessário um certificado CA para as conexões.

      Nota

      Este recurso é suportado apenas quando o tipo de rede da instância é Virtual Private Cloud (VPC).

      Earliest TLS Version Supported

      Não

      Selecione a versão mínima do TLS a ser suportada. As versões disponíveis são TLS 1.0, 1,1 e 1,2. O servidor rejeita conexões que usam uma versão de protocolo anterior à especificada.

      Por exemplo, se você selecionar TLS 1,1, o servidor aceitará solicitações de conexão apenas de clientes que usem TLS 1,1 ou TLS 1,2. Solicitações de clientes usando TLS 1.0 serão rejeitadas.

  5. Clique em OK. Sua instância passará a oferecer suporte a conexões criptografadas por SSL.

    A ativação da criptografia SSL leva cerca de um minuto. Atualize a página para visualizar o status da instância.

2. Baixar certificado SSL CA

É possível conectar-se a uma instância do ApsaraDB RDS for SQL Server por meio de uma conexão criptografada por SSL sem usar um certificado CA. No entanto, recomendamos baixar e usar um certificado CA. Esse certificado é utilizado durante o handshake SSL para verificar o certificado do servidor. Essa verificação confirma a identidade da instância do ApsaraDB RDS for SQL Server e ajuda a prevenir ataques do tipo man-in-the-middle.

  1. Faça login no console do ApsaraDB RDS e acesse a página Instances. Na barra de navegação superior, selecione a região onde a instância RDS está localizada. Em seguida, localize a instância RDS e clique em no ID da instância.

  2. No painel de navegação à esquerda, clique em Data Security.

  3. Na aba SSL, clique em Download CA Certificate.

    O arquivo baixado é um pacote compactado que contém os três arquivos a seguir:

    • Arquivo P7B: Para importar um certificado CA no Windows.

    • Arquivo PEM: Para importar um certificado CA em outros sistemas operacionais ou aplicativos.

    • Arquivo JKS: Um arquivo de truststore Java KeyStore (JKS) usado para importar a cadeia de certificados CA em aplicativos Java. A senha é apsaradb.

    Importante

    Ao usar o arquivo JKS em Java (com JDK 7 ou JDK 8), modifique a configuração de segurança padrão na máquina cliente. No arquivo jre/lib/security/java.security, altere as duas propriedades a seguir:

    jdk.tls.disabledAlgorithms=SSLv3, RC4, DH keySize < 224
    jdk.certpath.disabledAlgorithms=MD2, RSA keySize < 1024

    Caso não modifique essas configurações de segurança do JDK, você receberá o erro abaixo. Outros erros semelhantes também costumam ser causados pelas configurações de segurança do Java.

    javax.net.ssl.SSLHandshakeException: DHPublicKey does not comply to algorithm constraints

3. Configurar certificado SSL CA

Após ativar a criptografia SSL para sua instância do ApsaraDB RDS for SQL Server, configure o certificado SSL CA no seu cliente ou aplicativo. Esta seção usa o Microsoft SQL Server Management Studio (SSMS) como exemplo para descrever como instalar um certificado SSL CA. Para outros clientes ou aplicativos, consulte a documentação respectiva.

3.1 Importar certificado

  1. Na caixa de pesquisa da barra de tarefas, insira certmgr.msc e abra o aplicativo.

  2. No console certmgr, clique em com o botão direito em Trusted Root Certification Authorities.

  3. Selecione All Tasks > Import.

  4. Clique em Next.

  5. No Certificate Import Wizard, clique em em Browse para importar o certificado SSL CA baixado e, em seguida, clique em Next.

  6. Selecione o repositório de certificados e clique em Next.

  7. Clique em Done e aguarde a importação do certificado.

3.2 Configurar SSMS

  1. Abra o SQL Server Management Studio e clique em Config na caixa de diálogo de conexão.

    image.png

  2. Na aba Connection Properties, marque as caixas de seleção Encrypt connection e Trust server certificate e clique em Connection.

    image.png

  3. Execute a consulta a seguir. Se o resultado da consulta for TRUE, a conexão estará criptografada.

    SELECT ENCRYPT_OPTION FROM SYS.DM_EXEC_CONNECTIONS WHERE SESSION_ID = @@SPID

Apêndice: Código de exemplo

# -*- coding:utf-8 -*-

import ssl
import pyodbc

# Create an SSL context to establish a secure SSL connection in Python.
context = ssl.create_default_context(purpose=ssl.Purpose.SERVER_AUTH, cafile="D:\ca\ApsaraDB-CA-Chain.pem")

# Establish a connection.
# SERVER: The endpoint of your database instance.
# DATABASE: The database name.
# UID: The database username.
# PWD: The database password.
# Encrypt: Specifies whether to enable SSL encryption. Set the value to yes.
conn = pyodbc.connect('DRIVER={ODBC Driver 17 for SQL Server};SERVER=rm-2zec********.sqlserver.rds.aliyuncs.com;DATABASE=master;UID=zhttest;PWD=zht****;Encrypt=yes', ssl=context)
cursor = conn.cursor()
cursor.execute('SELECT @@version')

rows = cursor.fetchall()

for row in rows:
    print(row)

# Close the connection.
conn.close()
using System;
using System.Data.SqlClient;

namespace SqlConnectionSSLExample
{
    class Program
    {
        static void Main(string[] args)
        {
            // Establish a connection.
            // Data Source: The endpoint of your database instance.
            // Initial Catalog: The database name.
            // User ID: The database username.
            // Password: The database password.
            // Encrypt: Specifies whether to enable SSL encryption for data transmission. Set the value to true.
            string connectionString = "Data Source=rm-2ze********.sqlserver.rds.aliyuncs.com;Initial Catalog=master;User ID=zhttest;Password=zht****;Encrypt=true;";
            using (SqlConnection connection = new SqlConnection(connectionString))
            {
                // Open the connection.
                connection.Open();
                try
                {
                    // Run an SQL query.
                    SqlCommand cmd = new SqlCommand("SELECT @@version", connection);

                    string result = cmd.ExecuteScalar().ToString();

                    Console.WriteLine(result);
                }
                catch (Exception ex)
                {
                    Console.WriteLine($"Error: {ex.Message}");
                }
            }
        }
    }
}

Referência da API

Mais operações

Renovar certificado

Um certificado SSL para uma instância do ApsaraDB RDS for SQL Server tem validade de um ano. Se você não renovar o certificado após a expiração, os clientes que usam conexões criptografadas não conseguirão se conectar à instância. Caso utilize um certificado personalizado para criptografia SSL, a Alibaba Cloud notificará você antes da expiração do certificado por meio de e-mails e mensagens internas no Message Center. Renove o certificado antes que ele expire para garantir que os clientes possam se conectar à instância conforme esperado.

Importante

Esta operação reinicia a instância, período em que ela pode ficar indisponível por alguns minutos. Antes de prosseguir, planeje-se adequadamente para evitar interrupções no serviço.

  1. Faça login no console do ApsaraDB RDS e acesse a página Instances. Na barra de navegação superior, selecione a região onde a instância RDS está localizada. Em seguida, localize a instância RDS e clique em no ID da instância.

  2. No painel de navegação à esquerda, clique em Data Security.

  3. Na aba SSL, clique em Update Expiration Time.Atualizar validade do certificado

Desativar criptografia SSL

Importante
  • Desativar a criptografia SSL reinicia a instância do ApsaraDB RDS. O sistema aciona um failover primário/secundário para minimizar o tempo de inatividade.

  • Desativar a criptografia SSL pode melhorar o desempenho de acesso ao banco de dados, mas também reduz a segurança. Não desative a criptografia SSL em um ambiente inseguro.

  • Após desativar a criptografia SSL, será possível conectar-se à instância apenas por meio de conexões não criptografadas.

  1. Acesse a página RDS Instances, selecione sua região e clique em no ID da instância desejada. No painel de navegação à esquerda, clique em em Data Security. Na aba SSL, desative a chave ao lado de Enabled e clique em em OK na caixa de diálogo de confirmação.

Verificar status da criptografia

No SQL Server, execute o comando a seguir para verificar se a conexão atual está criptografada por SSL:

SELECT session_id,encrypt_option
FROM sys.dm_exec_connections;
GO

Se o valor de encrypt_option for true para sua sessão na visualização sys.dm_exec_connections, a criptografia SSL estará ativada para a conexão.

Perguntas frequentes

P: O que acontece se um certificado SSL não for renovado após a expiração? Isso afeta as operações da instância ou a segurança dos dados?

R: Se um certificado SSL expirar e não for renovado, os clientes que usam conexões criptografadas não poderão mais se conectar à instância. No entanto, isso não afeta as operações da instância nem a segurança dos dados.