Configuración del cifrado SSL
SSL está habilitado de forma predeterminada cuando se crea una instancia de base de datos de RDS for PostgreSQL y no se puede deshabilitar después de crear la instancia. La encriptación SSL garantiza que todas las comunicaciones entre un cliente y un servidor estén cifradas, evitando la filtración y manipulación de datos y garantizando la integridad de los datos.
Comprobación de si SSL está habilitado en el servidor
De forma predeterminada, SSL está habilitado en el servidor de instancia de RDS for PostgreSQL. Puede iniciar sesión en la instancia y ejecutar el siguiente comando SQL para comprobar si SSL está habilitado:
show ssl;
- Si el valor ssl es on, SSL está habilitado en el servidor.
- Si el valor ssl es off, se deshabilita SSL en el servidor.
![](https://support.huaweicloud.com/intl/es-us/usermanual-rds/public_sys-resources/note_3.0-es-us.png)
SSL está habilitado en el servidor de forma predeterminada y no se puede deshabilitar.
Comprobación de si SSL está habilitado en el cliente
Puede comprobar si el cliente utiliza encriptación SSL de cualquiera de las siguientes maneras:
- Compruebe si se muestra la siguiente información cuando usa psql para conectarse a la instancia de base de datos:
SSL connection (protocol: TLSv1.2, cipher: ECDHE-RSA-AES256-GCM-SHA384, bits: 256, compression: off)
- protocol indica el protocolo de conexión SSL, que es TLSv1.2.
- cipher indica el algoritmo de encriptación utilizado para la conexión SSL, que es ECDHE-RSA-AES256-GCM-SHA384.
- bits indica la longitud de clave, que es 256 bits.
- Consulte la vista pg_stat_ssl para comprobar si el cliente utiliza una conexión SSL. En caso afirmativo, se muestra la información de conexión correspondiente en la vista.
SELECT * FROM pg_stat_ssl;
Esta consulta devuelve las estadísticas de todas las conexiones SSL actuales, incluidos el ID de proceso, la dirección IP del cliente, la versión del protocolo SSL, el algoritmo de encriptación SSL y la fecha de validez y caducidad del certificado de cliente. Si el cliente utiliza una conexión SSL, puede ver la información relacionada en esta vista.
Parámetros relacionados con el cifrado SSL en el servidor
Parámetro |
Valor |
Descripción |
---|---|---|
ssl |
on |
SSL está habilitado de forma predeterminada y no puede desactivarse. |
ssl_cert_file |
/CA/server.pem |
Ubicación del archivo de certificado SSL en el servidor que no se puede cambiar. |
ssl_ciphers |
ALL:!ADH:!LOW:!EXP:!MD5:!3DES:!DES:@STRENGTH; |
Lista de cifrado SSL para una conexión segura. Puede cambiar el valor en función de los requisitos de seguridad. Lista de cifrado recomendada: EECDH+ECDSA+AESGCM:EECDH+aRSA+AESGCM:EDH+aRSA+AESGCM:EDH+aDSS+AESGCM:!aNULL:!eNULL:!LOW:!3DES:!MD5:!EXP:!SRP:!RC4 |
ssl_key_file |
/CA/server.key |
Ubicación del archivo de clave privada SSL en el servidor, que no se puede cambiar. |
ssl_min_protocol_version |
TLSv1.2 |
Versión mínima del protocolo SSL/TLS a utilizar. Puede cambiar el valor en función de los requisitos de seguridad. Se recomienda TLSv1.2 o posterior. |
Parámetros relacionados con el cifrado SSL en el cliente
Después de que SSL está habilitado para una instancia de RDS for PostgreSQL, el cliente puede conectarse a la instancia a través de SSL.
Cuando el cliente se conecta a la instancia, puede establecer sslmode en función de los requisitos del sitio.
- Si se utiliza la conexión SSL, sslmode se puede establecer en allow, prefer, Require, Verify-CA o Verify-Full. El valor predeterminado es prefer.
- Si no se utiliza la conexión SSL, establezca sslmode en Disable.
![](https://support.huaweicloud.com/intl/es-us/usermanual-rds/public_sys-resources/note_3.0-es-us.png)
Si sslmode está establecido en Verify-CA o Verify-Full, debe establecer el parámetro Root certificate que indica la ruta de acceso del certificado de CA de la base de datos. El certificado de CA se puede descargar desde la consola.
Valor |
Descripción |
---|---|
disable |
El cliente no utiliza la conexión SSL. |
allow |
El cliente intenta establecer una conexión SSL o TLS. Si el servidor no admite la conexión SSL o TLS, el cliente se conecta al servidor en modo de texto común. |
prefer |
Valor predeterminado. El cliente primero intenta establecer una conexión SSL. Si el servidor no admite la conexión SSL, el cliente se conecta al servidor en modo de texto común. |
require |
El cliente solo intenta establecer una conexión SSL, cifra el enlace de datos y no verifica la validez del certificado de servidor. |
verify-ca |
El cliente utiliza SSL para conectarse al servidor y verifica la validez del certificado de servidor. |
verify-full |
El cliente utiliza SSL para conectarse al servidor, verifica la validez del certificado de servidor y comprueba si el CN o DNS del certificado es coherente con la dirección de conexión de base de datos configurada durante la conexión. |