Query Service opciones SSL

Para aumentar la seguridad, Adobe Experience Platform Query Service proporciona compatibilidad nativa con conexiones SSL para cifrar las comunicaciones cliente/servidor. Este documento describe las opciones SSL disponibles para las conexiones de cliente de terceros a Query Service y cómo conectarse mediante el valor del parámetro SSL verify-full.

Requisitos previos

Este documento supone que ya ha descargado una aplicación cliente de escritorio de terceros para utilizarla con los datos de Platform. En la documentación de la guía de conexión correspondiente encontrará instrucciones específicas sobre cómo incorporar la seguridad SSL al conectarse con un cliente de terceros. Para obtener una lista de todos los Query Service clientes admitidos, consulte la descripción general de las conexiones de cliente.

Opciones SSL disponibles available-ssl-options

Platform admite varias opciones SSL para satisfacer sus necesidades de seguridad de datos y equilibrar la sobrecarga de procesamiento del cifrado y el intercambio de claves.

Los diferentes valores de parámetro sslmode proporcionan niveles de protección diferentes. Al cifrar sus datos en movimiento con certificados SSL, ayuda a evitar ataques "man-in-the-middle" (MITM), escuchas y suplantación de identidad. La siguiente tabla proporciona un desglose de los diferentes modos SSL disponibles y el nivel de protección que proporcionan.

NOTE
Adobe Experience Platform no admite el valor SSL disable debido al cumplimiento de los requisitos de protección de datos.
sslmode
Protección contra escuchas
Protección MITM
Descripción
allow
Parcial
No
La seguridad no es una prioridad, la velocidad y una baja sobrecarga de procesamiento son más importantes. Este modo solo opta por el cifrado si el servidor insiste en él.
prefer
Parcial
No
No se requiere cifrado, pero la comunicación se cifrará si el servidor la admite.
require
No
Se requiere cifrado en todas las comunicaciones. La red es de confianza para conectarse al servidor correcto. No se requiere la validación del certificado SSL del servidor.
verify-ca
Depende de la directiva de CA
Se requiere cifrado en todas las comunicaciones. Se requiere la validación del servidor antes de compartir los datos. Esto requiere que configure un certificado raíz en el directorio principal de PostgreSQL. A continuación se proporcionan detalles
verify-full
Se requiere cifrado en todas las comunicaciones. Se requiere la validación del servidor antes de compartir los datos. Esto requiere que configure un certificado raíz en el directorio principal de PostgreSQL. A continuación se proporcionan detalles.
NOTE
La diferencia entre verify-ca y verify-full depende de la directiva de la entidad emisora de certificados (CA) raíz. Si ha creado su propia CA local para emitir certificados privados para sus aplicaciones, el uso de verify-ca suele proporcionar suficiente protección. Si se usa una CA pública, verify-ca permite conexiones a un servidor que otra persona podría haber registrado con la CA. verify-full siempre debe usarse con una CA raíz pública.

Al establecer una conexión de terceros con una base de datos de Platform, se recomienda usar sslmode=require como mínimo para garantizar una conexión segura para los datos en movimiento. Se recomienda el modo SSL verify-full para utilizarlo en la mayoría de los entornos confidenciales.

Configurar un certificado raíz para la verificación del servidor root-certificate

IMPORTANT
Los certificados TLS/SSL en entornos de producción para la API interactiva de Postgres del servicio de consulta se actualizaron el miércoles, 24 de enero de 2024.
Aunque se trata de un requisito anual, en esta ocasión el certificado raíz de la cadena también ha cambiado porque el proveedor de certificados TLS/SSL de Adobe ha actualizado su jerarquía de certificados. Esto puede afectar a ciertos clientes de Postgres si a su lista de autoridades de certificación les falta el certificado raíz. Por ejemplo, un cliente CLI de PSQL puede necesitar que se agreguen los certificados raíz a un archivo explícito ~/postgresql/root.crt; de lo contrario, esto puede provocar un error. Por ejemplo, psql: error: SSL error: certificate verify failed. Consulte la documentación oficial de PostgreSQL para obtener más información sobre este problema.
El certificado raíz que desea agregar se puede descargar desde https://cacerts.digicert.com/DigiCertGlobalRootG2.crt.pem.

Para garantizar una conexión segura, el uso de SSL debe configurarse tanto en el cliente como en el servidor antes de establecer la conexión. Si SSL solo está configurado en el servidor, el cliente puede enviar información confidencial como contraseñas antes de que se establezca que el servidor requiere una alta seguridad.

De manera predeterminada, PostgreSQL no realiza ninguna verificación del certificado del servidor. Para comprobar la identidad del servidor y garantizar una conexión segura antes de enviar datos confidenciales (como parte del modo SSL verify-full), debe colocar un certificado raíz (autofirmado) en el equipo local (root.crt) y un certificado hoja firmado por el certificado raíz en el servidor.

Si el parámetro sslmode está establecido en verify-full, libpq comprobará que el servidor es de confianza comprobando la cadena de certificados hasta el certificado raíz almacenado en el cliente. A continuación, comprueba que el nombre de host coincide con el nombre almacenado en el certificado del servidor.

Para permitir la verificación del certificado del servidor, debe colocar uno o más certificados raíz (root.crt) en el archivo PostgreSQL del directorio particular. La ruta de acceso del archivo sería similar a ~/.postgresql/root.crt.

Habilitar el modo SSL de verificación completa para utilizarlo con una conexión de terceros Query Service instructions

Si necesita un control de seguridad más estricto que sslmode=require, puede seguir los pasos indicados para conectar un cliente de terceros a Query Service mediante el modo SSL verify-full.

NOTE
Hay muchas opciones disponibles para obtener un certificado SSL. Debido a una creciente tendencia en certificados no fiables, DigiCert se utiliza en esta guía ya que es un proveedor global de confianza de soluciones de alta seguridad TLS/SSL, PKI, IoT y firma.
  1. Vaya a la lista de certificados raíz DigiCert disponibles

  2. Busque "DigiCert Global Root G2" de la lista de certificados disponibles.

  3. Seleccione Descargar PEM para descargar el archivo en su equipo local.
    Lista de certificados raíz DigiCert disponibles con PEM de descarga resaltado.

  4. Cambie el nombre del archivo del certificado de seguridad a root.crt.

  5. Copie el archivo en la carpeta PostgreSQL. La ruta de archivo necesaria es diferente en función del sistema operativo. Si la carpeta aún no existe, créela.

    • Si usa macOS, la ruta de acceso es /Users/<username>/.postgresql
    • Si utiliza Windows, la ruta es %appdata%\postgresql
TIP
Para encontrar la ubicación del archivo %appdata% en un sistema operativo Windows, presione ⊞ Win + R y escriba %appdata% en el campo de búsqueda.

Una vez que el archivo CRT DigiCert Global Root G2 esté disponible en la carpeta PostgreSQL, podrá conectarse a Query Service mediante la opción sslmode=verify-full o sslmode=verify-ca.

Pasos siguientes

Al leer este documento, tiene una mejor comprensión de las opciones SSL disponibles para conectar un cliente de terceros a Query Service, y también de cómo habilitar la opción SSL de verify-full para cifrar los datos en movimiento.

Si aún no lo ha hecho, siga las instrucciones sobre conectar un cliente de terceros a Query Service.

recommendation-more-help
ccf2b369-4031-483f-af63-a93b5ae5e3fb