Usar SSL/TLS para criptografar uma conexão com uma instância ou 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 banco de dados que executa Db2, MariaDB, Microsoft SQL Server, MySQL, Oracle ou PostgreSQL.
As conexões SSL/TLS fornecem uma camada de segurança criptografando dados que se movem entre o cliente e a instância ou 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:
-
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.
-
Baixe um pacote de certificados para usar quando você estiver se conectando com o banco de dados. Para baixar um pacote de certificados, consulte Pacote de certificados por Região da AWS..
nota
Todos os certificados somente estão disponíveis para download usando conexões SSL/TLS.
-
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.
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 | Nome comum (CN) |
---|---|---|
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 é compatível com a alternância automática de certificados do servidor. |
Identificador de região do Amazon RDS RSA2048 G1 |
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. |
Identificador de região do Amazon RSA4096 G1 |
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. |
Identificador de região do Amazon RDS ECC384 G1 |
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 uma instância de banco de dados ou um cluster de banco de dados multi-AZ: é possível definir a CA ao criar uma instância ou um cluster de banco de dados. Para obter instruções, consulte Criar uma instância de banco de dados do Amazon RDS ou Criar um cluster de banco de dados multi-AZ para o Amazon RDS.
-
Modificar uma instância de banco de dados ou um cluster de banco de dados multi-AZ: é possível definir a CA para uma instância ou um cluster de banco de dados modificando-a. Para obter instruções, consulte Modificar uma instância de banco de dados do Amazon RDS ou Modificar um cluster de banco de dados multi-AZ para o Amazon RDS.
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.
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. É possível definir a CA para um cluster de banco de dados multi-AZ usando o comando create-db-cluster ou modify-db-cluster.
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-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.
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. É possível visualizar os detalhes sobre a CA para um cluster de banco de dados multi-AZ usando o comando describe-db-clusters.
Baixar pacotes de certificados para Amazon RDS
Quando você se conecta ao banco de dados com SSL ou TLS, a instância do banco de dados exige um certificado de confiança do Amazon RDS. Selecione o link apropriado na tabela a seguir para baixar o pacote que corresponde à Região da AWS onde você hospeda o banco de dados.
Pacote de certificados por Região da AWS
Os pacotes de certificados para todas as Regiões da AWS e as regiões GovCloud (EUA) contêm os seguintes certificados de CA raiz:
-
rds-ca-rsa2048-g1
-
rds-ca-rsa4096-g1
-
rds-ca-ecc384-g1
O repositório confiável da aplicação só precisa registrar o certificado CA raiz.
nota
O proxy do Amazon RDS usa 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.
Para baixar um pacote de certificados para uma Região da AWS, selecione o link da Região da AWS que hospeda o banco de dados na tabela a seguir.
Visualizar o conteúdo do certificado CA
Para verificar o conteúdo do pacote de certificados da CA, use o seguinte comando:
keytool -printcert -v -file global-bundle.pem