Usar SSL/TLS para criptografar uma conexão com um cluster de banco de dados - Amazon Aurora

Usar SSL/TLS para criptografar uma conexão com um cluster de banco de dados

É possível usar o Security Socket Layer (SSL) ou o Transport Layer Security (TLS) na aplicação para criptografar uma conexão com um cluster de banco de dados que executa o Aurora MySQL ou o Aurora PostgreSQL.

As conexões SSL/TLS fornecem uma camada de segurança criptografando dados que se movem entre o cliente e o cluster de banco de dados. Opcionalmente, sua conexão SSL/TLS pode realizar a verificação da identidade do servidor validando o certificado do servidor instalado no banco de dados. Para exigir a verificação da identidade do servidor, siga este processo geral:

  1. Escolha a Autoridade de certificação (CA) que assina ocertificado de servidor de banco de dados para seu banco de dados. Para obter mais informações sobre autoridades de certificação, consulte Autoridades certificadoras.

  2. Baixe um pacote de certificados para usar quando você estiver se conectando com o banco de dados. Para baixar um pacote de certificados, consulte Pacotes de certificados para todas as Regiões da AWS e Pacotes de certificados para Regiões da AWS específicas.

    nota

    Todos os certificados somente estão disponíveis para download usando conexões SSL/TLS.

  3. Conecte-se ao banco de dados usando o processo do mecanismo de banco de dados para implementar conexões SSL/TLS. Cada mecanismo de banco de dados tem seu próprio processo de implementação do SSL/TLS. Para saber como implementar o SSL/TLS para o banco de dados, siga o link correspondente ao seu mecanismo de banco de dados:

Autoridades certificadoras

A autoridade de certificação (CA) é o certificado que identifica a CA raiz no início da cadeia de certificados. A CA assina o certificado do servidor de banco de dados, que é instalado em cada instância de banco de dados. O certificado do servidor de banco de dados identifica a instância de banco de dados como um servidor confiável.


                            Visão geral sobre autoridade de certificação

O Amazon RDS fornece as CAs a seguir para assinar o certificado do servidor de banco de dados para um banco de dados.

Autoridade certificadora (CA) Descrição

rds-ca-2019

Utiliza uma autoridade de certificação com algoritmo de chave privada RSA 2048 e algoritmo de assinatura SHA256. Essa CA expira em 2024 e não é compatível com a alternância automática de certificados do servidor. Se você estiver usando essa CA e quiser manter o mesmo padrão, recomendamos alternar para a CA rds-ca-rsa2048-g1.

rds-ca-rsa2048-g1

Utiliza uma autoridade de certificação com algoritmo de chave privada RSA 2048 e algoritmo de assinatura SHA256 na maioria das Regiões da AWS.

Nas AWS GovCloud (US) Regions, essa CA utiliza uma autoridade de certificação com algoritmo de chave privada RSA 2048 e algoritmo de assinatura SHA384.

Essa CA permanece válida por mais tempo do que a CA rds-ca-2019. Essa CA é compatível com a alternância automática de certificados do servidor.

rds-ca-rsa4096-g1

Utiliza uma autoridade de certificação com algoritmo de chave privada RSA 4096 e algoritmo de assinatura SHA384. Essa CA é compatível com a alternância automática de certificados do servidor.

rds-ca-ecc384-g1

Utiliza uma autoridade de certificação com algoritmo de chave privada ECC 384 e algoritmo de assinatura SHA384. Essa CA é compatível com a alternância automática de certificados do servidor.

nota

Se você estiver usando a AWS CLI, poderá ver as validades das autoridades de certificação listadas acima usando describe-certificates.

Esses certificados CA estão incluídos no pacote de certificados regionais e globais. Quando você usa a CA rds-ca-rsa2048-g1, rds-ca-rsa4096-g1 ou rds-ca-ecc384-g1 com um banco de dados, o RDS gerencia o certificado do servidor no banco de dados. O RDS alterna automaticamente o certificado do servidor de banco de dados antes que ele expire.

Configurar a CA do banco de dados

Você pode definir a CA para um banco de dados ao realizar as seguintes tarefas:

  • Crie um cluster de banco de dados do Aurora: você pode definir a CA para uma instância de banco de dados em um cluster do Aurora ao criar a primeira instância de banco de dados no cluster de banco de dados usando a AWS CLI ou a API do RDS. Atualmente, você não pode definir a CA para as instâncias de banco de dados em um cluster de banco de dados ao criar o cluster de banco de dados com o uso do console do RDS. Para obter instruções, consulte Criar um cluster de bancos de dados do Amazon Aurora.

  • Modificar uma instância de banco de dados: você pode definir a CA para uma instância de banco de dados em um cluster de banco de dados modificando-a. Para obter instruções, consulte Modificar uma instância de banco de dados em um cluster de banco de dados.

nota

A CA padrão é definida como rds-ca-rsa2048-g1. Você pode substituir a CA padrão para sua Conta da AWS usando o comando modify-certificates.

As CAs disponíveis dependem do mecanismo de banco de dados e da versão do mecanismo de banco de dados. Ao usar o AWS Management Console, você pode selecionar a CA usando a configuração Certificate authority (Autoridade de certificação), conforme mostrado na imagem a seguir.


                        Opção de autoridade certificadora

O console mostra apenas as CAs que estão disponíveis para o mecanismo de banco de dados e a versão do mecanismo de banco de dados. Se estiver usando a AWS CLI, você poderá definir a CA para uma instância de banco de dados usando o comando create-db-instance ou modify-db-instance.

Se estiver usando a AWS CLI, você poderá ver as CAs disponíveis para sua conta usando o comando describe-certificates. Esse comando também mostra a data de expiração de cada CA em ValidTill na saída. Você pode encontrar as CAs que estão disponíveis para uma versão específica do mecanismo de banco de dados e do mecanismo de banco de dados usando o comando describe-db-engine-versions.

O exemplo a seguir mostra as CAs disponíveis para a versão padrão do mecanismo de banco de dados do RDS para PostgreSQL.

aws rds describe-db-engine-versions --default-only --engine postgres

A saída é semelhante à seguinte. As CAs disponíveis estão listadas em SupportedCACertificateIdentifiers. A saída também mostra se a versão do mecanismo de banco de dados é compatível com a alternância do certificado sem reiniciar em SupportsCertificateRotationWithoutRestart.

{ "DBEngineVersions": [ { "Engine": "postgres", "MajorEngineVersion": "13", "EngineVersion": "13.4", "DBParameterGroupFamily": "postgres13", "DBEngineDescription": "PostgreSQL", "DBEngineVersionDescription": "PostgreSQL 13.4-R1", "ValidUpgradeTarget": [], "SupportsLogExportsToCloudwatchLogs": false, "SupportsReadReplica": true, "SupportedFeatureNames": [ "Lambda" ], "Status": "available", "SupportsParallelQuery": false, "SupportsGlobalDatabases": false, "SupportsBabelfish": false, "SupportsCertificateRotationWithoutRestart": true, "SupportedCACertificateIdentifiers": [ "rds-ca-2019", "rds-ca-rsa2048-g1", "rds-ca-ecc384-g1", "rds-ca-rsa4096-g1" ] } ] }

Validades do certificado do servidor de banco de dados

A validade do certificado do servidor de banco de dados depende do mecanismo de banco de dados e da versão do respectivo mecanismo. Se a versão do mecanismo comportar a alternância de certificado sem reinicialização, a validade do certificado do mecanismo será de um ano. Caso contrário, será de três anos.

Para obter mais informações sobre alternância de certificados de servidor de banco de dados, consulte Alternância automática de certificados do servidor.

Visualizar a CA da instância de banco de dados

É possível visualizar os detalhes sobre a CA para um banco de dados na guia Conectividade e segurança no console, como na imagem a seguir.


                        Detalhes da autoridade certificadora

Se estiver usando a AWS CLI, você poderá visualizar os detalhes da CA de uma instância de banco de dados usando o comando describe-db-instances.

Para verificar o conteúdo do pacote de certificados da CA, use o seguinte comando:

keytool -printcert -v -file global-bundle.pem

Pacotes de certificados para todas as Regiões da AWS

Para obter um pacote de certificados que contenha os certificados intermediário e raiz para todas as Regiões da AWS, baixe-o em https://truststore.pki.rds.amazonaws.com/global/global-bundle.pem.

Se sua aplicação estiver no Microsoft Windows e exigir um arquivo PKCS7, você poderá baixar o pacote de certificados PKCS7. Esse pacote contém os certificados intermediário e raiz em https://truststore.pki.rds.amazonaws.com/global/global-bundle.p7b.

nota

O proxy do Amazon RDS e o Aurora Serverless v1 usam certificados do AWS Certificate Manager (ACM). Se você estiver usando o RDS Proxy, não será necessário baixar os certificados do Amazon RDS nem atualizar as aplicações que usam conexões do RDS Proxy. Para ter mais informações, consulte Usar TLS/SSL com o RDS Proxy.

Se você estiver usando o Aurora Serverless v1, não será necessário baixar certificados do Amazon RDS. Para ter mais informações, consulte Usar TLS/SSL com o Aurora Serverless v1.

Pacotes de certificados para Regiões da AWS específicas

Para obter um pacote de certificados que contenha os certificados intermediário e raiz de uma Região da AWS, baixe-o pelo link da Região da AWS na tabela a seguir.

Região da AWS Pacote de certificados (PEM) Pacote de certificados (PKCS7)
Leste dos EUA (N. da Virgínia) us-east-1-bundle.pem us-east-1-bundle.p7b
Leste dos EUA (Ohio) us-east-2-bundle.pem us-east-2-bundle.p7b
Oeste dos EUA (N. da Califórnia) us-west-1-bundle.pem us-west-1-bundle.p7b
Oeste dos EUA (Oregon) us-west-2-bundle.pem us-west-2-bundle.p7b
África (Cidade do Cabo) af-south-1-bundle.pem af-south-1-bundle.p7b
Ásia-Pacífico (Hong Kong) ap-east-1-bundle.pem ap-east-1-bundle.p7b
Ásia-Pacífico (Hyderabad) ap-south-2-bundle.pem ap-south-2-bundle.p7b
Ásia-Pacífico (Jacarta) ap-southeast-3-bundle.pem ap-southeast-3-bundle.p7b
Ásia-Pacífico (Melbourne) ap-southeast-4-bundle.pem ap-southeast-4-bundle.p7b
Ásia-Pacífico (Mumbai) ap-south-1-bundle.pem ap-south-1-bundle.p7b
Asia Pacific (Osaka) ap-northeast-3-bundle.pem ap-northeast-3-bundle.p7b
Ásia-Pacífico (Tóquio) ap-northeast-1-bundle.pem ap-northeast-1-bundle.p7b
Ásia-Pacífico (Seul) ap-northeast-2-bundle.pem ap-northeast-2-bundle.p7b
Ásia-Pacífico (Singapura) ap-southeast-1-bundle.pem ap-southeast-1-bundle.p7b
Ásia-Pacífico (Sydney) ap-southeast-2-bundle.pem ap-southeast-2-bundle.p7b
Canadá (Central) ca-central-1-bundle.pem ca-central-1-bundle.p7b
Oeste do Canadá (Calgary) ca-west-1-bundle.pem ca-west-1-bundle.p7b
Europa (Frankfurt) eu-central-1-bundle.pem eu-central-1-bundle.p7b
Europa (Irlanda) eu-west-1-bundle.pem eu-west-1-bundle.p7b
Europa (Londres) eu-west-2-bundle.pem eu-west-2-bundle.p7b
Europa (Milão) eu-south-1-bundle.pem eu-south-1-bundle.p7b
Europa (Paris) eu-west-3-bundle.pem eu-west-3-bundle.p7b
Europa (Espanha) eu-south-2-bundle.pem eu-south-2-bundle.p7b
Europa (Estocolmo) eu-north-1-bundle.pem eu-north-1-bundle.p7b
Europa (Zurique) eu-central-2-bundle.pem eu-central-2-bundle.p7b
Israel (Tel Aviv) il-central-1-bundle.pem il-central-1-bundle.p7b
Oriente Médio (Barém) me-south-1-bundle.pem me-south-1-bundle.p7b
Oriente Médio (Emirados Árabes Unidos) me-central-1-bundle.pem me-central-1-bundle.p7b
América do Sul (São Paulo) sa-east-1-bundle.pem sa-east-1-bundle.p7b

AWS GovCloud (US)Certificados de

Para obter um pacote de certificados que contenha os certificados intermediário e raiz para a região AWS GovCloud (US) Region, baixe em https://truststore.pki.us-gov-west-1.rds.amazonaws.com/global/global-bundle.pem.

Se o seu aplicativo estiver no Microsoft Windows e exigir um arquivo PKCS7, você poderá fazer download do pacote de certificados PKCS7. Este pacote contém os certificados intermediário e raiz em https://truststore.pki.us-gov-west-1.rds.amazonaws.com/global/global-bundle.p7b.

Para obter um pacote de certificados que contém os certificados intermediário e raiz de uma região AWS GovCloud (US) Region, baixe pelo link da AWS GovCloud (US) Region na tabela a seguir.

AWS GovCloud (US) Region Pacote de certificados (PEM) Pacote de certificados (PKCS7)
AWS GovCloud (Leste dos EUA) us-gov-east-1-bundle.pem us-gov-east-1-bundle.p7b
AWS GovCloud (Oeste dos EUA) us-gov-west-1-bundle.pem us-gov-west-1-bundle.p7b