Como posso ativar o SSL na minha instância de banco de dados compatível com o Aurora PostgreSQL e como posso me conectar à minha instância usando certificados SSL?
Data da última atualização: 16/12/2022
Quero me conectar ao meu cluster de banco de dados Amazon Aurora PostgreSQL Edition usando uma conexão SSL (Secure Socket Layer).
Breve descrição
Você pode criptografar uma conexão com seu cluster de banco de dados compatível com o Aurora PostgreSQL a partir da sua aplicação usando SSL ou Transport Layer Security (TLS). As conexões SSL e TLS fornecem uma única camada de segurança para seu cluster e criptografam os dados que se movem entre o cliente e o cluster. Para obter mais informações, consulte Como Usar SSL/TLS para criptografar uma conexão com um cluster de banco de dados.
Para serem seguras, as conexões SSL devem ser configuradas no cliente e no servidor antes de você fazer a conexão. Se o SSL não estiver configurado no servidor, o cliente poderá enviar informações confidenciais, como senhas. Para obter mais informações sobre como criar uma conexão protegida por SSL, consulte a documentação do PostgreSQL referente ao suporte a SSL.
Os modos SSL para PostgreSQL são:
- verify-full
- verify-ca
- require
- prefer
- permitir
- disable
Para obter mais informações sobre como escolher o modo SSL correto para seu caso de uso, consulte a documentação do PostgreSQL referente à proteção fornecida em diferentes modos.
Resolução
O Amazon Relational Database Service (Amazon RDS) cria a certificação SSL ou TLS para seu cluster quando você o cria. Para obter mais informações, consulte Segurança com o Amazon Aurora PostgreSQL.
Conectar-se ao seu cluster de banco de dados por SSL/TLS
1. Baixe o certificado SSL/TSL.
2. Importe o certificado para o sistema operacional.
3. Conecte-se ao seu cluster de banco de dados compatível com o Aurora PostgreSQL por SSL/TLS.
Veja este exemplo:
psql -h DBInstance.cluster-Account-Number.eu-west-1.rds.amazonaws.com -p 5432 "dbname=postgres user=postgres sslrootcert=global-bundle.pem sslmode=verify-full"
Quando você define rds.force_ssl como 1 (on), o arquivo pg_hba.conf da instância de banco de dados é modificado para oferecer suporte à nova configuração SSL. Use a visualização pg_hba_file_rules para visualizar o resumo do conteúdo do arquivo pg_hba.conf. O valor do tipo na visualização pg_hba_file_rules é atualizado para hostssl depois que rds.force_ssl é definido como 1 (ativado).
Você pode exigir que as conexões com seu cluster de banco de dados usem SSL/TLS. Para fazer isso, use o parâmetro rds.force_ssl. O parâmetro rds.force_ssl é definido como 0 por padrão, o que significa que está desativado. Para ativar esse parâmetro, defina rds.force_ssl como 1. Isso torna o SSL/TLS um requisito para conexões com seu cluster de banco de dados.
Para obter mais informações, consulte Como proteger dados do Aurora PostgreSQL com SSL/TLS.
Revisar a conexão SSL
Para verificar a conexão SSL, execute este comando:
postgres=> select ssl_is_used();
ssl_is_used
-------------
t
(1 row)
postgres=> select ssl_cipher();
ssl_cipher
-----------------------------
ECDHE-RSA-AES128-GCM-SHA256
(1 row)
Este artigo ajudou?
Precisa de ajuda com faturamento ou suporte técnico?