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

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 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 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 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.

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.

image

Puede ejecutar la siguiente consulta para recuperar información de pg_settings.

image

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.

image

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.

image

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.

Acuses de recibo

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.