Compartir a través de


Solución de errores de conexión TLS

Importante

Hemos iniciado una rotación de certificados TLS para Azure Database for PostgreSQL para incorporar nuevas autoridades de certificación intermedias y la cadena de certificados resultante. Las CA raíz siguen siendo las mismas.

No se requiere ninguna acción si la configuración del cliente implementa las configuraciones recomendadas para TLS.

Programación de rotación de certificados

  • Las regiones de Azure Centro-oeste de EE. UU., Este de Asia y sur de Reino Unido iniciaron su rotación de certificados TLS el 11 de noviembre de 2025.
  • A partir del 19 de enero de 2026, esta rotación de certificados está prevista para ampliarse a las regiones restantes (excepto China), incluido Azure Government.
  • Después del Festival de Primavera (año nuevo chino) 2026, las regiones de China también se someten a una rotación de certificados que incluye un cambio a una de las CA raíz.

Validación de la configuración del cliente

Para validar la configuración del cliente antes de cualquier rotación planeada, asegúrese de implementar configuraciones recomendadas para TLS.

Comprobación del almacén de certificados raíz

Debe tener los certificados raíz mínimos necesarios o el conjunto completo de certificados raíz instalados en el almacén de certificados raíz del cliente.

Precaución

Confíe solo en los certificados de entidad de certificación raíz de Azure en el almacén de certificados raíz de los clientes. Evite confiar en entidades de certificación intermedias o certificados de servidor individuales, ya que estas prácticas pueden provocar problemas de conexión inesperados cuando Microsoft actualiza la cadena de certificados o gira certificados de servidor individuales.

Determinación del estado de conexión TLS

Para determinar el estado de conexión TLS actual, puede cargar la extensión sslinfo y, a continuación, llamar a la ssl_is_used() función para determinar si se usa TLS. La función devuelve t si la conexión usa TLS. De lo contrario, devuelve f. También puede recopilar toda la información sobre el uso de TLS en la instancia de servidor flexible de Azure Database for PostgreSQL por proceso, cliente y aplicación mediante la consulta siguiente:

SELECT datname as "Database name", usename as "User name", ssl, client_addr, application_name, backend_type
   FROM pg_stat_ssl
   JOIN pg_stat_activity
   ON pg_stat_ssl.pid = pg_stat_activity.pid
   ORDER BY ssl;

Prueba de la conexión TLS con OpenSSL

Para realizar pruebas, puede usar el openssl comando para conectarse a Azure Database for PostgreSQL y mostrar los certificados TLS.

openssl s_client -starttls postgres -showcerts -connect <your-postgresql-server-name>:5432

Este comando muestra información de protocolo de bajo nivel, como la versión de TLS y el cifrado. Debe usar la opción -starttls postgres. De lo contrario, este comando informa de que no hay NINGÚN TLS en uso. El uso de este comando requiere al menos OpenSSL 1.1.1.

Réplicas de lectura

Con la migración de CA raíz a Microsoft RSA Root CA 2017, es factible que las réplicas recién creadas estén en un certificado de CA raíz más reciente que el del servidor principal que se creó anteriormente. En el caso de los clientes que usan la configuración de sslmode=verify-ca y sslmode=verify-full, es imperativo aceptar los certificados de entidad de certificación raíz nuevos y anteriores hasta que se complete la rotación en servidores nuevos y existentes.

Troubleshoot

  1. Empiece reproduciendo el problema
  2. Recopilación de datos de diagnóstico (mensajes de error del lado del cliente, salida de psql, salida de OpenSSL s_client, y registros de servidor).
  3. Compruebe los parámetros del servidor (require_secure_transport, ssl_min_protocol_version, ssl_max_protocol_version)
  4. Verifique la cadena de certificados y la configuración sslmode/sslrootcert del cliente para identificar los desajustes en las versiones de protocolo, los conjuntos de cifrado o los certificados que faltan o han sido rotados.

Errores de conectividad TLS

  1. El primer paso para solucionar problemas de compatibilidad de versiones del protocolo TLS es identificar los mensajes de error que usted o los usuarios ven cuando intentan acceder a la instancia de servidor flexible de Azure Database for PostgreSQL en cifrado TLS desde el cliente. Dependiendo de la aplicación y la plataforma, los mensajes de error pueden ser diferentes. En muchos casos, apuntan al problema subyacente.
  2. Para asegurarse de la compatibilidad de versiones del protocolo TLS, compruebe la configuración de TLS del servidor de bases de datos y el cliente de la aplicación para asegurarse de que admiten versiones compatibles y conjuntos de cifrado.
  3. Analice las discrepancias o lagunas entre el servidor de bases de datos y las versiones tls del cliente y los conjuntos de cifrado. Intente resolverlos habilitando o deshabilitando determinadas opciones, actualizando o degradando software, o cambiando certificados o claves. Por ejemplo, es posible que tenga que habilitar o deshabilitar versiones TLS específicas en el servidor o el cliente, en función de los requisitos de seguridad y compatibilidad. Por ejemplo, es posible que tenga que deshabilitar TLS 1.0 y TLS 1.1, que se consideran no seguros y en desuso, y habilitar TLS 1.2 y TLS 1.3, que son más seguros y modernos.
  4. El certificado más reciente emitido con Microsoft RSA Root CA 2017 tiene un nivel intermedio en la cadena firmado por Digicert Global Root G2 CA. Algunas de las bibliotecas cliente de Postgres, al usar sslmode=verify-full o sslmode=verify-ca configuración, pueden experimentar errores de conexión con certificados de entidad de certificación raíz firmados con certificados intermedios. El resultado son rutas de acceso de confianza alternativas.

Para solucionar estos problemas, agregue todos los certificados necesarios al almacén de certificados de cliente o especifique explícitamente el sslrootcert parámetro . O bien, establezca la variable de entorno PGSSLROOTCERT en la ruta de acceso local en la que se coloque el CA raíz Microsoft RSA Root CA 2017, desde el valor predeterminado de %APPDATA%\postgresql\root.crt.

Problemas de la entidad de certificación

Nota:

Si no utiliza sslmode=verify-full o sslmode=verify-ca configuraciones en su cadena de conexión de la aplicación cliente, las rotaciones de certificados no le afectan. Por lo tanto, no es necesario seguir los pasos descritos en esta sección.

  1. Genera tu lista de certificados que se encuentran en el almacén raíz de confianza
    1. Por ejemplo, puede obtener una lista de certificados de confianza en el Almacén de claves de Java mediante programación.
    2. Por ejemplo, puede comprobar el almacén de claves java de cacerts para ver si ya contiene certificados necesarios.
  2. Está utilizando la fijación de certificados si tiene certificados intermedios individuales o certificados de servidor PostgreSQL individuales. Se trata de una configuración no admitida.
  3. Para eliminar el anclaje de certificados, elimine todos los certificados del almacén raíz de confianza y agregue solo certificados de entidad de certificación raíz.

Si tiene problemas incluso después de seguir estos pasos, póngase en contacto con el soporte técnico de Microsoft. Incluya en el título ICA Rotation 2026.

Problemas de anclaje de certificados

Si no usa las configuraciones sslmode=verify-full ni sslmode=verify-ca en la cadena de conexión de la aplicación cliente, las rotaciones de certificados no le afectan. Por lo tanto, no es necesario seguir los pasos descritos en esta sección.

  1. Compruebe si usa el anclaje de certificados en la aplicación.
  2. Genere la lista de certificados que se encuentran en el almacén raíz de confianza. Por ejemplo:
    1. Obtenga una lista de certificados de confianza en el Almacén de claves de Java mediante programación.
    2. Compruebe cacerts java keystore para ver si ya contiene certificados necesarios.
  3. Está usando la fijación de certificados si tiene certificados intermedios individuales o certificados de servidor PostgreSQL individuales.
  4. Para quitar el anclaje de certificados, quite todos los certificados del almacén raíz de confianza y agregue los nuevos certificados.
  5. Puede descargar los certificados actualizados del repositorio oficial de Microsoft: detalles de la entidad de certificación de Azure.

Si tiene problemas incluso después de seguir estos pasos, póngase en contacto con el soporte técnico de Microsoft. Incluya en el título ICA Rotation 2026.

Comprobación de la cadena de certificados

Cadena antigua

  • DigiCert Global Root G2
    • Microsoft Azure RSA TLS Issuing CA 03 / 04 / 07 / 08
    • Certificado de servidor

Nueva cadena

  • DigiCert Global Root G2
    • Raíz de RSA G2 de Microsoft TLS
    • Microsoft TLS G2 RSA CA OCSP 02 / 04 / 06 / 08 / 10 / 12 / 14 / 16
    • Certificado de servidor