Uso de SSL/TLS para cifrar una conexión a una instancia
Puede utilizar Capa de sockets seguros (SSL) o Seguridad de la capa de transporte (TLS) desde una aplicación para cifrar una conexión a una instancia de base de datos que ejecuta 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 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 instancia de 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 un paquete de certificados, consulte Paquetes de certificados para todas las Regiones de AWS y Paquetes de certificados para Regiones de AWS específicas.
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:
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 instancia de base de datos.
Entidad de certificación (CA) | Descripción |
---|---|
rds-ca-2019 |
Utiliza una entidad de certificación con el algoritmo de clave privada RSA 2048 y el algoritmo de firma SHA256. Esta CA vence en 2024 y no admite la rotación automática de certificados de servidor. Si utiliza esta CA y desea mantener el mismo estándar, le recomendamos que cambie a la CA rds-ca-rsa2048-g1. |
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 sigue siendo válida durante más tiempo que la CA rds-ca-2019. Esta CA admite la rotación automática de certificados de servidor. |
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. |
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. |
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: puede definir la CA al crear una instancia de base de datos. Para obtener más información, consulte Creación de una instancia de base de datos de Amazon RDS.
-
Modificar una instancia de base de datos: puede configurar la CA de una instancia de base de datos modificándola. Para obtener más información, consulte Modificación de una instancia de base de datos de 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.
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-2019",
"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 base de datos
Puede ver los detalles sobre la CA para una instancia de base de datos consultando la pestaña Connectivity & security (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.
Para comprobar el contenido del paquete de certificados de la CA, utilice el siguiente comando:
keytool -printcert -v -file global-bundle.pem
Paquetes de certificados para todas las Regiones de AWS
Para obtener un paquete de certificados que contenga los certificados intermedio y raíz de todas las regiones de Regiones de AWS, descárguelo en https://truststore.pki.rds.amazonaws.com/global/global-bundle.pem
Si l aplicación está en Microsoft Windows y requiere un archivo PKCS7, puede descargar el paquete de certificados PKCS7. Este paquete contiene los certificados intermedio y raíz en https://truststore.pki.rds.amazonaws.com/global/global-bundle.p7b
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.
Paquetes de certificados para Regiones de AWS específicas
Para obtener un paquete de certificados que contenga los certificados intermedio y raíz de una Región de AWS, descárguelo desde el enlace de dicha Región de AWS en la tabla siguiente.
AWS GovCloud (US)Certificados de
Para obtener un paquete de certificados que contenga los certificados intermedio y raíz de una AWS GovCloud (US) Region, descárguelo en https://truststore.pki.us-gov-west-1.rds.amazonaws.com/global/global-bundle.pem
Si l aplicación está en Microsoft Windows y requiere un archivo PKCS7, puede descargar el paquete de certificados PKCS7. Este paquete contiene los certificados intermedio y raíz en https://truststore.pki.us-gov-west-1.rds.amazonaws.com/global/global-bundle.p7b
Para obtener un paquete de certificados que contenga los certificados intermedio y raíz de una AWS GovCloud (US) Region, descárguelo desde el enlace de dicha AWS GovCloud (US) Region en la tabla siguiente.
AWS GovCloud (US) Region | Paquete de certificados (PEM) | Paquete de certificados (PKCS7) |
---|---|---|
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 |