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:
-
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.
-
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.
-
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:
-
Uso de SSL con una instancia de base de datos de Amazon RDS para Db2
-
Compatibilidad con SSL/TLS para instancias de base de datos de MariaDB en Amazon RDS
-
Uso de SSL con una instancia de base de datos de Microsoft SQL Server
-
Compatibilidad de SSL/TLS con instancias de bases de datos de MySQL en Amazon RDS
-
Uso de SSL con una instancia de base de datos de RDS para Oracle
-
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.
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:
-
Crear una instancia de base de datos o un clúster de base de datos multi-AZ: puede definir la CA al crear una instancia o un clúster de base de datos. Para obtener instrucciones, consulte Creación de una instancia de base de datos de Amazon RDS o Creación de un clúster de base de datos multi-AZ para Amazon RDS.
-
Modificar una instancia de base de datos o un clúster de base de datos multi-AZ: puede configurar la CA de una instancia o un clúster de base de datos modificándola. Para obtener instrucciones, consulte Modificación de una instancia de base de datos de Amazon RDS o Modificación de un clúster de base de datos multi-AZ para Amazon RDS..
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.
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.
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.
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