Este tópico descreve como configurar a criptografia SSL em uma instância do ApsaraDB RDS for PostgreSQL. A criptografia SSL protege as conexões entre o cliente de banco de dados e a instância RDS, garantindo a segurança dos dados transmitidos. Este tópico também explica como configurar um certificado cloud para ativar a criptografia SSL.
Informações básicas
O SSL é um protocolo desenvolvido para garantir comunicações seguras e proteger dados. A partir da versão 3,0, o SSL passou a se chamar TLS.
O ApsaraDB RDS for PostgreSQL oferece suporte a TLS 1.0, TLS 1.1 e TLS 1.2.
A tabela a seguir compara as configurações e os benefícios da criptografia SSL entre os diferentes tipos de certificados.
|
Item |
|||
|
Finalidade |
Certificado do servidor (banco de dados), usado pelo cliente para autenticar o servidor. |
Certificado do servidor (banco de dados), usado pelo cliente para autenticar o servidor. |
Certificado do cliente, usado pelo servidor (banco de dados) para autenticar o cliente. |
|
Método de obtenção |
Emitido pela Alibaba Cloud. |
Emitido por uma autoridade certificadora (CA) ou gerado como certificado autoassinado. |
Gerado como certificado autoassinado. |
|
Período de validade |
365 dias. |
Personalizado. |
Personalizado. |
|
Quantidade de endpoints protegidos |
1 |
1 ou mais. |
Varia conforme o certificado cloud ou personalizado usado. O número de endpoints protegidos não depende do certificado CA usado. |
Configure obrigatoriamente um certificado cloud ou personalizado para ativar a criptografia SSL e autenticar o servidor (banco de dados).
A configuração do certificado CA do cliente, usado pelo servidor para autenticar o cliente, é opcional.
Pré-requisitos
-
A instância RDS deve executar o PostgreSQL 10 ou superior e usar discos cloud.
NotaInstâncias RDS Serverless não são suportadas.
Baixe o cliente pgAdmin 4. Para mais informações, consulte pgAdmin 4.
Observações de uso
Um certificado cloud tem validade de um ano. Antes do vencimento, a Alibaba Cloud envia lembretes de renovação por meio de e-mails e mensagens internas no Event Center, e renova automaticamente o certificado dentro de um período específico. Personalize o horário de renovação configurando o Schedule Event. Para mais informações, consulte Scheduled events.
Após a renovação automática de um certificado cloud expirado, os programas clientes que usam conexões criptografadas não precisam baixar ou reconfigurar o certificado CA.
Ativar a criptografia SSL aumenta o uso da CPU e as latências de leitura e escrita.
Depois de ativar a criptografia SSL, feche a conexão existente e estabeleça uma nova para que a criptografia entre em vigor.
Ao configurar um certificado cloud, alterar o endpoint protegido por ele ou desativar a criptografia SSL, a instância RDS reinicia. Desconexões transitórias no nível de minuto podem ocorrer durante esse processo. Realize essas operações fora dos horários de pico.
Etapa 1: Usar um certificado cloud para ativar a criptografia SSL
Neste tópico, usamos certificados cloud para demonstrar a configuração da criptografia SSL.
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 desejada e clique em ID da instância.
-
No painel de navegação à esquerda, escolha > SSL.
NotaCaso a aba SSL não apareça no console, verifique se sua instância do ApsaraDB RDS for PostgreSQL atende aos requisitos de versão e tipo de armazenamento. Para mais detalhes, consulte Prerequisites.
-
Em Certificate Source, selecione Cloud Certificate. Clique em Configuration ao lado de Configure Database Certificate (to Prevent Database Disguise) e selecione o endpoint que deseja proteger.
NotaSe você ainda não ativou um endpoint público, a caixa de diálogo Select Protected Endpoint exibirá apenas o endpoint interno da instância do ApsaraDB RDS for PostgreSQL. Caso tenha ativado um endpoint público, ambos (interno e público) serão exibidos. Um certificado cloud protege somente um endpoint. Como as conexões internas são relativamente seguras, proteja o endpoint público. Para visualizar os endpoints internos e públicos, consulte View and change the internal and public endpoints and port numbers of an ApsaraDB RDS for PostgreSQL instance.
Para saber como proteger simultaneamente os endpoints interno e público, consulte Use a custom certificate to enable the SSL encryption feature.
Após configurar o certificado cloud, o Status da instância muda para Modifying SSL Settings. Esse processo leva cerca de três minutos. Aguarde até que o status mude para Running antes de prosseguir.
Etapa 2: Baixar o certificado CA do servidor
Após configurar o certificado cloud, baixe e salve o certificado CA do servidor (banco de dados) no seu cliente. Ao conectar-se à instância RDS a partir do cliente, use esse certificado CA para autenticar a instância.
Quando um certificado cloud for renovado automaticamente após a expiração, não será necessário baixar ou reconfigurar o certificado CA.
Em Certificate Source, selecione Cloud Certificate e clique em Download CA Certificate.
-
Descompacte o arquivo baixado.
O arquivo baixado é um pacote contendo os seguintes arquivos:
Arquivo PEM: adequado para a maioria dos cenários.
Arquivo JKS: Geralmente, importe o arquivo de certificado da autoridade certificadora (CA) no formato PEM para um truststore e converta-o em JKS para uso em aplicações Java. A senha é apsaradb.
Arquivo P7B: Indicado para algumas aplicações Windows que exigem certificados no formato PKCS#7.
Etapa 3: Conectar-se à instância RDS a partir do cliente de banco de dados
Neste exemplo, usamos o pgAdmin para demonstrar a conexão com a instância RDS via SSL.
Existem diversos métodos para conectar-se a uma instância RDS, incluindo o cliente de linha de comando psql e o Java Database Connectivity (JDBC). Para mais informações, consulte Connect to an ApsaraDB RDS for PostgreSQL instance over SSL connections.
Antes de estabelecer a conexão, certifique-se de que as listas de permissões de IP estejam configuradas e que as contas tenham sido criadas na instância. Para mais detalhes, consulte Configure an IP address whitelist e Create a database and an account on an ApsaraDB RDS for PostgreSQL instance.
Esta seção usa o
pgAdmin 4 v6.2.0como exemplo. Se as capturas de tela deste tópico diferirem da versão do seu cliente, consulte a documentação oficial e configure os parâmetros relacionados ao SSL conforme mostrado neste exemplo.
-
Clique com o botão direito em Servers e escolha Register > Server.

Na aba Connection, defina as configurações de Connection inserindo os seguintes parâmetros da sua instância.
-
Selecione a aba Parameters, adicione e configure os parâmetros de autenticação SSL.
Parâmetro
Descrição
SSL mode
Por motivos de segurança, defina este parâmetro como Require, Verify-CA ou Verify-Full. A lista abaixo detalha o significado de cada valor do parâmetro SSL mode:
-
Require: O cliente de banco de dados criptografa as conexões SSL usadas para transmitir dados, mas não valida a instância RDS.
-
Verify-CA: O cliente de banco de dados criptografa as conexões SSL usadas para transmitir dados e valida a instância RDS.
-
Verify-Full: Criptografa a conexão de dados, verifica a identidade do servidor e confirma se o Common Name (CN) ou nome DNS no certificado do servidor corresponde ao Host name/address fornecido para a conexão.
Root certificate
Este parâmetro é obrigatório quando o SSL mode estiver definido como Verify-CA ou Verify-Full. Especifica o caminho para o arquivo do certificado raiz da CA.
Nota-
Neste exemplo, o certificado CA baixado na aba SSL foi extraído para D:\CA\aliyunCA\. Extraia o certificado para qualquer diretório local.
-
No pgAdmin, o arquivo que contém o certificado CA do servidor está no formato PEM.
-