Configuración de la capa de conexión segura en Oracle Cloud Infrastructure Database con PostgreSQL
Introducción
Oracle Cloud Infrastructure Database con PostgreSQL (OCI Database with PostgreSQL) solo soporta el cifrado de capa de conexión segura (SSL) para instancias de base de datos. Mediante SSL, puede cifrar la conexión entre las aplicaciones y las instancias de base de datos PostgreSQL.
El cifrado SSL es esencial para proteger las conexiones de cliente a las instancias de OCI Database with PostgreSQL, lo que garantiza la protección de datos durante la transmisión. Mediante la configuración del tipo de conexión hostssl
y el uso del parámetro sslmode
, puede controlar el nivel de verificación de SSL para mayor seguridad. Por defecto, TLSv1.2
está activado para las conexiones de cliente y servidor, de acuerdo con las prácticas estándar del sector. Para un entorno PostgreSQL totalmente seguro y compatible, es fundamental aprovechar esta configuración de SSL.
Para conexiones de cliente seguras, OCI Database with PostgreSQL solo permite el tipo de conexión hostssl
en el archivo pg_hba.conf
. La entrada hostssl
garantiza que las conexiones TCP/IP se cifren mediante SSL, lo que requiere que los clientes utilicen SSL para la autenticación. También puede especificar el nivel de verificación de SSL mediante el parámetro sslmode
, que incluye opciones como require
, verify-ca
y verify-full
.
Actualmente, tanto los parámetros ssl_max_protocol_version
como ssl_min_protocol_version
están configurados en OCI Database with PostgreSQL para utilizar TLSv1.2
tanto para las conexiones de cliente como de servidor. Sin embargo, es importante tener en cuenta que OCI Database with PostgreSQL no puede aplicar versiones de TLS específicas, ya que estos parámetros son variables del sistema de solo lectura.
Para obtener más información sobre la compatibilidad con SSL en bases de datos PostgreSQL, consulte Conexiones TCP/IP seguras con SSL.
Nota: El soporte SSL está disponible en todas las regiones de OCI para PostgreSQL.
Objetivos
- Conecte OCI Database with PostgreSQL mediante el cifrado SSL para proteger las instancias de base de datos. Destacará la importancia de configurar el tipo de conexión
hostssl
en el archivopg_hba.conf
para garantizar conexiones TCP/IP cifradas y demostrará cómo el parámetrosslmode
controla los niveles de verificación SSL. Además, en este tutorial se aclarará la configuración de la versión de TLS para las conexiones de cliente y servidor.
Modos SSL
En la siguiente tabla se muestran los riesgos abordados por diferentes valores sslmode
, así como las implicaciones de seguridad y los gastos generales asociados para cada uno.
sslmode | Protección contra intrusiones | Protección MITM | Sentencia |
---|---|---|---|
disable | N.º | N.º | No me importa la seguridad, y no quiero pagar la sobrecarga del cifrado. |
Permitir | Tal vez | N.º | No me importa la seguridad, pero pagaré la sobrecarga de cifrado si el servidor insiste en ello. |
preferidos | Tal vez | N.º | No me importa el cifrado, pero deseo pagar la sobrecarga del cifrado si el servidor lo admite. |
requerir | Sí | N.º | Quiero que mis datos estén cifrados y acepto la sobrecarga. Confío en que la red se asegurará de que siempre me conecte al servidor que quiero. |
verificar-ca | Sí | Depende de la política de CA | Quiero que se cifren mis datos y acepto la sobrecarga. Quiero asegurarme de conectarme a un servidor en el que confío. |
verificación completa | Sí | Sí | Quiero que se cifren mis datos y acepto la sobrecarga. Quiero estar seguro de que me conecto a un servidor en el que confío, y que es el que especifico. |
Para obtener más información sobre sslmodes
, consulte la Tabla 31-1 DESCRIPCIONES DEL MODO SSL.
En OCI Database with PostgreSQL, sslmode
se debe definir en require
o superior (verify-ca
o verify-full
), ya que las conexiones no SSL no están soportadas debido a los requisitos normativos y de conformidad. La conectividad SSL es obligatoria para garantizar que todas las conexiones en tránsito estén cifradas, de acuerdo con los estándares de cumplimiento de OCI.
Los certificados utilizados en los nodos de base de datos de OCI Database with PostgreSQL son emitidos por una autoridad de certificación (CA) privada gestionada a través del servicio OCI Certificates, que cumple con las configuraciones estandarizadas aprobadas por OCI. Este enfoque difiere de los certificados autofirmados tradicionales, que a menudo utilizan configuraciones no estándar generadas con herramientas como OpenSSL.
Establecimiento de una conexión a OCI Database with PostgreSQL mediante varios modos SSL
Los intentos de conexión a OCI Database with PostgreSQL sin SSL se rechazan con el siguiente mensaje.
no pg_hba.conf entry for host "yy.yy.yy.yy", user "xxxxx", database "zzzzzz", no encryption
Siempre que aparezca el mensaje de error anterior, se recomienda comprobar el valor del modo SSL y definir el parámetro sslmode
en require
o superior para resolver el problema.
-
Defina el modo SSL
require
.Este modo fuerza la conexión a utilizar SSL, pero el certificado del servidor no se verifica.
psql "sslmode=require host=<endpoint_fqdn> dbname=<database_name> user=<user_name>"
-
Verify Certificate Authority with
verify-ca
SSL Mode.Este modo fuerza SSL y el certificado del servidor se verifica con una CA de confianza. No verifica que el certificado del servidor coincida con el nombre de host.
psql "sslmode=verify-ca sslrootcert=<parent_directory>/<dbsystem.pub> host=<endpoint_fqdn> dbname=<database_name> user=<user_name>"
sslrootcert
: descargue el certificado de CA de la sección de detalles de conexión del sistema de base de datos y guárdelo en la siguiente ubicación:<parent_directory>/<dbsystem.pub>
y este archivo contiene los certificados de CA de confianza. Esto garantiza que el certificado del servidor esté firmado por una CA válida.
-
Verifique Full (Completo) con el modo SSL
verify-full
.Este modo fuerza SSL, verifica el certificado del servidor en una CA de confianza y también comprueba que el certificado del servidor coincida con el host al que se está conectando (el nombre de host en la cadena de conexión).
psql "sslmode=verify-full sslrootcert=<parent_directory>/<dbsystem.pub> host=<endpoint_fqdn> dbname=<database_name> user=<user_name>"
sslrootcert
: descargue el certificado de CA de la sección de detalles de conexión del sistema de base de datos y guárdelo en la siguiente ubicación:<parent_directory>/<dbsystem.pub>
y este archivo contiene los certificados de CA de confianza.
Confrontación de nombre de host: esta es la opción más segura porque garantiza que tanto el certificado de servidor esté firmado por una CA privada gestionada mediante el servicio OCI Certificates como que el certificado coincida con el nombre de host esperado.
Determinación de las versiones de TLS en OCI Database with PostgreSQL
En la siguiente imagen se muestra el estado de cifrado de la conexión al conectarse a la instancia de OCI Database with PostgreSQL.
Puede ejecutar la siguiente consulta para recuperar información de pg_settings
.
Puede recopilar información detallada sobre el uso de SSL de la instancia de OCI Database with PostgreSQL por proceso, cliente y aplicación mediante la siguiente consulta.
Puede utilizar la vista del sistema pg_stat_ssl
para ver el estado SSL de todas las conexiones. Para obtener más información, consulte la Table 27.8. pg_stat_ssl
View.
Configuración del modo SSL en diferentes herramientas de GUI
A continuación, se muestran algunas herramientas de GUI de código abierto que se pueden utilizar para conectarse a bases de datos PostgreSQL de OCI. En esta tarea se muestra cómo configurar sslmode
en require
o superior en estas herramientas para evitar problemas de conectividad al conectarse a bases de datos PostgreSQL de OCI.
-
pgAdmin
-
En pgAdmin, vaya a Servidor, Registrarse, Servidor e introduzca los detalles de conexión a la base de datos necesarios.
-
Haga clic en Parámetros, vaya a la sección SSL, donde puede configurar el valor del modo SSL.
-
Asegúrese de que
sslmode
esté definido enrequire
o en un nivel superior (comoverify-ca
overify-full
) en el menú desplegable disponible para cumplir con los requisitos de conexión segura.
-
-
DBeaver
-
En DBeaver, vaya a Crear y haga clic en Conexiones.
-
Seleccione PostgreSQL en la lista de tipos de base de datos y haga clic en Siguiente para continuar.
-
En Configuración de conexión, seleccione la sección SSL en los valores de conexión para configurar los parámetros SSL.
-
Defina SSL mode en
require
.
-
Acuses de recibo
- Autor: Kaviya Selvaraj (personal técnico de miembros superiores)
Más recursos de aprendizaje
Explore otros laboratorios en docs.oracle.com/learn o acceda a más contenido de aprendizaje gratuito en el canal YouTube de Oracle Learning. Además, visite education.oracle.com/learning-explorer para convertirse en un explorador de Oracle Learning.
Para obtener documentación sobre el producto, visite Oracle Help Center.
Configure Secure Socket Layer in OCI Database with PostgreSQL
G39561-01
Copyright ©2025, Oracle and/or its affiliates.