Uso de SSL/TLS para cifrar una conexión a una instancia o clúster de base de datos - Amazon Relational Database Service

Uso de SSL/TLS para cifrar una conexión a una instancia o clúster de base de datos

Puede utilizar la capa de sockets seguros (SSL) o la seguridad de la capa de transporte (TLS) desde su aplicación para cifrar una conexión a una base de datos que ejecute Db2, MariaDB, Microsoft SQL Server, MySQL, Oracle o PostgreSQL.

Las conexiones SSL y TLS proporcionan una capa de seguridad al cifrar los datos que circulan entre el cliente y la instancia o clúster de base de datos. Si lo desea, su conexión SSL/TLS puede realizar una verificación de identidad del servidor validando el certificado del servidor instalado en su base de datos. Para solicitar la verificación de la identidad del servidor, siga este proceso general:

  1. Elija la entidad de certificación (CA) que firma el certificado del servidor de base de datos, para su base de datos. Para obtener más información sobre las entidades de certificación, consulte Entidades de certificación.

  2. Descargue un paquete de certificados para usarlo cuando se conecte a la base de datos. Para descargar una agrupación de certificados, consulte Agrupaciones de certificados por Región de AWS.

    nota

    Todos los certificados están disponibles solo para descarga con conexiones SSL/TLS.

  3. Conéctese a la base de datos mediante el proceso del motor de base de datos para la implementación de las conexiones SSL/TLS. Cada motor base de datos tiene su propio proceso para implementar SSL/TLS. Para obtener información sobre cómo implementar SSL/TLS para su base de datos, siga el enlace que corresponda a su motor de base de datos:

Entidades de certificación

La entidad de certificación (CA) es el certificado que identifica la CA raíz en la parte superior de la cadena de certificados. La CA firma el certificado del servidor de base de datos, que está instalado en cada instancia de base de datos. El certificado del servidor de base de datos identifica la instancia de base de datos como un servidor de confianza.

Información general de la entidad de certificación

Amazon RDS proporciona las siguientes CA para firmar el certificado del servidor de base de datos de una base de datos.

Entidad de certificación (CA) Descripción Nombre común (NC)

rds-ca-rsa2048-g1

Utiliza una entidad de certificación con el algoritmo de clave privada RSA 2048 y el algoritmo de firma SHA256 en la mayoría de las Regiones de AWS.

En las AWS GovCloud (US) Regions, este certificado utiliza una entidad de certificación con el algoritmo de clave privada RSA 2048 y el algoritmo de firma SHA384.

Esta CA admite la rotación automática de certificados de servidor.

Amazon RDS region-identifier RSA2048 G1

rds-ca-rsa4096-g1

Utiliza una entidad de certificación con el algoritmo de clave privada RSA 4096 y el algoritmo de firma SHA384. Esta CA admite la rotación automática de certificados de servidor.

Amazon RDS region-identifier RSA4096 G1

rds-ca-ecc384-g1

Utiliza una entidad de certificación con el algoritmo de clave privada ECC 384 y el algoritmo de firma SHA384. Esta CA admite la rotación automática de certificados de servidor.

Amazon RDS region-identifier ECC384 G1
nota

Si utiliza la AWS CLI, puede ver la validez de las entidades de certificación enumeradas anteriormente mediante describe-certificates.

Estos certificados de CA se incluyen en el paquete de certificados regionales y globales. Al utilizar la CA rds-ca-rsa2048-g1, rds-ca-rsa4096-g1 o rds-ca-ecc384-g1 con una instancia de base de datos, RDS administra el certificado del servidor de base de datos en la base de datos. RDS rota el certificado del servidor de base de datos de forma automática antes de que caduque.

Configuración de la CA para su base de datos

Puede definir la CA para una base de datos con las tareas siguientes:

nota

La CA predeterminada está establecida en rds-ca-rsa2048-g1. Puede anular la CA predeterminada para su Cuenta de AWS mediante el comando modify-certificates.

Las CA disponibles dependen del motor de base de datos y de la versión del motor de base de datos. Al utilizar la AWS Management Console, puede elegir la CA mediante la configuración de la Entidad de certificación, tal como se muestra en la siguiente imagen.

Opción Entidad de certificación

La consola solo muestra las CA que están disponibles para le motor de base de datos y la versión del motor de base de datos. Si utiliza la AWS CLI, puede configurar la CA para una instancia de base de datos mediante los comandos create-db-instance o modify-db-instance. Puede configurar la CA para un clúster de base de datos multi-AZ mediante el comando create-db-clúster o modify-db-clúster.

Si utiliza la AWS CLI, puede ver las CA disponibles para su cuenta mediante el comando describe-certificates. Este comando también muestra la fecha de caducidad de cada CA en ValidTill en la salida. Puede buscar las CA que están disponibles para un motor de base de datos y una versión de motor de base de datos específicos mediante el comando describe-db-engine-versions.

El siguiente ejemplo muestra las CA disponibles para la versión predeterminada del motor de base de datos de RDS para PostgreSQL.

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

Su resultado es similar al siguiente. Las CA disponibles se enumeran en SupportedCACertificateIdentifiers. El resultado también muestra si la versión del motor de base de datos admite la rotación del certificado sin reiniciarlo en 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" ] } ] }

Validez del certificado del servidor de base de datos

La validez del certificado del servidor de base de datos depende del motor de base de datos y de la versión del motor de base de datos. Si la versión del motor de base de datos admite la rotación de certificados sin reinicio, el certificado del servidor de base de datos tiene una validez de 1 año. De no ser así, la validez es de 3 años.

Para obtener más información acerca de la rotación de certificados del servidor de base de datos, consulte Rotación automática de certificados del servidor.

Visualización de la CA de su instancia de base de datos

Puede ver los detalles sobre la CA de una base de datos en la pestaña Conectividad y seguridad de la consola, como se muestra en la siguiente imagen.

Detalles de la entidad de certificación

Si utiliza la AWS CLI, puede ver los detalles de la CA de una instancia de base de datos mediante el comando describe-db-instances. Puede ver los detalles sobre la CA de un clúster de base de datos multi-AZ mediante el comando describe-db-clústers.

Descarga de agrupaciones de certificados para Amazon RDS

Cuando se conecta a la base de datos con SSL o TLS, la instancia de base de datos requiere un certificado de confianza de Amazon RDS. Seleccione el enlace correspondiente en la siguiente tabla para descargar la agrupación correspondiente a la Región de AWS donde se aloja la base de datos.

Agrupaciones de certificados por Región de AWS

Los paquetes de certificados para todas las Regiones de AWS y para regiones de GovCloud (EE. UU.) incluyen los siguientes certificados:

  • rds-ca-rsa2048-g1

  • rds-ca-rsa4096-g1

  • rds-ca-ecc384-g1

El almacén de confianza de la aplicación solo necesita registrar el certificado CA de raíz.

nota

El proxy de Amazon RDS usa certificados de AWS Certificate Manager (ACM). Si está utilizando RDS Proxy, no es necesario descargar certificados de Amazon RDS ni actualizar aplicaciones que usen conexiones RDS Proxy. Para obtener más información, consulte Uso de TLS/SSL con RDS Proxy.

Para descargar una agrupación de certificados de una Región de AWS, seleccione el enlace de la Región de AWS en la que se aloja la base de datos en la tabla siguiente.

Región de AWS Paquete de certificados (PEM) Paquete de certificados (PKCS7)
Cualquier Región de AWS comercial global-bundle.pem global-bundle.p7b
EE.UU. Este (Norte de Virginia) us-east-1-bundle.pem us-east-1-bundle.p7b
US East (Ohio) us-east-2-bundle.pem us-east-2-bundle.p7b
EE.UU. Oeste (Norte de California) us-west-1-bundle.pem us-west-1-bundle.p7b
EE.UU. Oeste (Oregón) us-west-2-bundle.pem us-west-2-bundle.p7b
Africa (Cape Town) af-south-1-bundle.pem af-south-1-bundle.p7b
Asia Pacific (Hong Kong) ap-east-1-bundle.pem ap-east-1-bundle.p7b
Asia-Pacífico (Hyderabad) ap-south-2-bundle.pem ap-south-2-bundle.p7b
Asia-Pacífico (Yakarta) ap-southeast-3-bundle.pem ap-southeast-3-bundle.p7b
Asia-Pacífico (Malasia) ap-southeast-5-bundle.pem ap-southeast-5-bundle.p7b
Asia-Pacífico (Melbourne) ap-southeast-4-bundle.pem ap-southeast-4-bundle.p7b
Asia Pacific (Bombay) ap-south-1-bundle.pem ap-south-1-bundle.p7b
Asia Pacific (Osaka) ap-northeast-3-bundle.pem ap-northeast-3-bundle.p7b
Asia Pacífico (Tokio) ap-northeast-1-bundle.pem ap-northeast-1-bundle.p7b
Asia Pacific (Seoul) ap-northeast-2-bundle.pem ap-northeast-2-bundle.p7b
Asia Pacífico (Singapur) ap-southeast-1-bundle.pem ap-southeast-1-bundle.p7b
Asia Pacífico (Sídney) ap-southeast-2-bundle.pem ap-southeast-2-bundle.p7b
Canada (Central) ca-central-1-bundle.pem ca-central-1-bundle.p7b
Oeste de Canadá (Calgary) ca-west-1-bundle.pem ca-west-1-bundle.p7b
Europe (Fráncfort) eu-central-1-bundle.pem eu-central-1-bundle.p7b
Europe (Irlanda) eu-west-1-bundle.pem eu-west-1-bundle.p7b
Europe (Londres) eu-west-2-bundle.pem eu-west-2-bundle.p7b
Europe (Milan) eu-south-1-bundle.pem eu-south-1-bundle.p7b
Europe (Paris) eu-west-3-bundle.pem eu-west-3-bundle.p7b
Europa (España) eu-south-2-bundle.pem eu-south-2-bundle.p7b
Europa (Estocolmo) eu-north-1-bundle.pem eu-north-1-bundle.p7b
Europa (Zúrich) eu-central-2-bundle.pem eu-central-2-bundle.p7b
Israel (Tel Aviv) il-central-1-bundle.pem il-central-1-bundle.p7b
Medio Oriente (Baréin) me-south-1-bundle.pem me-south-1-bundle.p7b
Medio Oriente (EAU) me-central-1-bundle.pem me-central-1-bundle.p7b
América del Sur (São Paulo) sa-east-1-bundle.pem sa-east-1-bundle.p7b
Cualquier AWS GovCloud (US) Region global-bundle.pem global-bundle.p7b
AWS GovCloud (EE. UU. Este) us-gov-east-1-bundle.pem us-gov-east-1-bundle.p7b
AWS GovCloud (EE. UU. Oeste) us-gov-west-1-bundle.pem us-gov-west-1-bundle.p7b

Visualización del contenido de su certificado de CA

Para comprobar el contenido del paquete de certificados de la CA, utilice el siguiente comando:

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