Compartilhar via


Solucionar problemas de falhas de conexão do TLS

Importante

A Microsoft iniciou uma rotação de certificados TLS para o Banco de Dados do Azure para PostgreSQL para atualizar certificados de autoridade certificadora intermediária e a cadeia de certificação resultante. Os CAs raiz permanecem os mesmos.

Se a configuração do cliente usar as configurações recomendadas para TLS, você não precisará executar nenhuma ação.

Programação de rotação de certificado

  • As regiões do Azure Centro-Oeste dos EUA, Leste da Ásia e Sul do Reino Unido iniciaram sua rotação de certificados TLS em 11 de novembro de 2025.
  • A partir de 19 de janeiro de 2026, essa rotação de certificados está prevista para se estender para as regiões restantes (exceto a China), incluindo o Azure Government.
  • Após o Festival da Primavera (Ano Novo Chinês) de 2026, as regiões da China também passarão por uma rotação de certificados que inclui uma mudança em um dos ACs raiz.

Validar a configuração do cliente

Para validar a configuração do cliente antes de qualquer rotação planejada, certifique-se de implementar as configurações recomendadas para TLS.

Verifique o repositório de certificados raiz

Verifique se o repositório de certificados raiz do cliente contém os certificados raiz mínimos necessários ou o conjunto completo de certificados raiz.

Cuidado

Confie apenas nos certificados de AC raiz do Azure armazenados no repositório de certificados raiz dos seus clientes. Não confie em CAs intermediárias ou certificados de servidor individuais. Se você confiar nesses certificados, poderá encontrar problemas inesperados de conexão quando a Microsoft atualizar a cadeia de certificados ou alternar certificados individuais do servidor.

Determinar o status da conexão TLS

Para determinar o status da conexão TLS atual, carregue a extensão sslinfo e chame a ssl_is_used() função para determinar se o TLS está sendo usado. A função retornará t se a conexão usar TLS. Caso contrário, ele retornará f. Você também pode coletar todas as informações sobre o uso do TLS da instância de servidor flexível do Banco de Dados do Azure para PostgreSQL por processo, cliente e aplicativo usando a seguinte consulta:

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;

Testar a conexão TLS usando o OpenSSL

Para testar, use o openssl comando para se conectar ao Banco de Dados do Azure para PostgreSQL e exibir os certificados TLS.

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

Esse comando imprime várias informações de protocolo de baixo nível, como a versão do TLS e a criptografia. Você deve usar a opção -starttls postgres. Caso contrário, esse comando informa que nenhum TLS está em uso. O uso desse comando requer pelo menos o OpenSSL 1.1.1.

Réplicas de leitura

Quando a migração da CA raiz ocorre para a Microsoft RSA Root CA 2017, as réplicas recém-criadas podem usar um certificado de CA raiz mais recente do que o do servidor primário, caso o servidor primário tenha sido criado antes. Para clientes que usam configurações de sslmode=verify-ca e sslmode=verify-full, você precisa aceitar os novos e anteriores certificados raiz de CA até que a rotação seja concluída em servidores novos e existentes.

Troubleshoot

  1. Reproduza o problema.
  2. Colete dados de diagnóstico, como mensagens de erro do lado do cliente, saída do psql, saída do OpenSSL s_client e logs do servidor.
  3. Verifique os parâmetros do servidor, incluindo require_secure_transport, ssl_min_protocol_versione ssl_max_protocol_version.
  4. Verifique a cadeia de certificados, as configurações de cliente sslmode e sslrootcert para identificar incompatibilidades em versões de protocolo, conjuntos de criptografia ou certificados ausentes ou substituídos.

Erros de conectividade do TLS

  1. Identifique as mensagens de erro que você ou seus usuários veem ao tentar acessar sua instância de servidor flexível do Banco de Dados do Azure para PostgreSQL na criptografia TLS do cliente. Dependendo do aplicativo e da plataforma, as mensagens de erro podem ser diferentes. Em muitos casos, elas apontam para a questão subjacente.
  2. Verifique a configuração do TLS do servidor de banco de dados e do cliente do aplicativo para garantir que eles dão suporte a versões compatíveis e pacotes de criptografia.
  3. Analise quaisquer discrepâncias ou lacunas entre o servidor de banco de dados e as versões do TLS do cliente e os conjuntos de criptografia. Tente resolvê-las habilitando ou desabilitando determinadas opções, fazendo upgrade ou downgrade de software ou alterando certificados ou chaves. Por exemplo, talvez seja necessário habilitar ou desabilitar versões específicas do TLS no servidor ou no cliente, dependendo dos requisitos de segurança e compatibilidade. Talvez seja necessário desabilitar o TLS 1.0 e o TLS 1.1, que são considerados não seguros e preteridos, e habilitar o TLS 1.2 e o TLS 1.3, que são mais seguros e modernos.
  4. O certificado mais recente emitido pelo Microsoft RSA Root CA 2017 tem um intermediário na cadeia, assinado pela CA Raiz Global G2 da Digicert. Algumas das bibliotecas cliente do Postgres, ao usar a configuração sslmode=verify-full ou sslmode=verify-ca, podem apresentar falhas de conexão com certificados AC raiz que têm assinatura cruzada entre certificados intermediários. O resultado são caminhos de confiança alternativos.

Para contornar esses problemas, adicione todos os certificados necessários ao repositório de certificados do cliente ou especifique explicitamente o sslrootcert parâmetro. Ou defina a variável de ambiente PGSSLROOTCERT para um caminho local em que o certificado de AC raiz Microsoft RSA Root CA 2017 seja definido, do valor padrão de %APPDATA%\postgresql\root.crt.

Problemas de autoridade de certificação

Observação

Se você não usar as configurações sslmode=verify-full ou sslmode=verify-ca na cadeia de conexão do seu aplicativo cliente, as rotações de certificado não afetarão você. Portanto, você não precisa seguir as etapas nesta seção.

  1. Crie uma lista de certificados em seu repositório raiz confiável.
  2. Você está usando a fixação de certificado se tiver certificados intermediários individuais ou certificados de servidor PostgreSQL individuais. Esta configuração não tem suporte.
  3. Para remover o pinning de certificado, remova todos os certificados do seu repositório de raízes confiáveis e adicione apenas certificados de CA raiz.

Se você tiver problemas mesmo após seguir estas etapas, entre em contato com o suporte da Microsoft. Inclua ICA Rotation 2026 no título.

Problemas de fixação de certificado

Se você não usar as configurações na cadeia de conexão do aplicativo cliente sslmode=verify-full ou sslmode=verify-ca, as rotações de certificado não afetarão você. Portanto, você não precisa seguir as etapas nesta seção.

  1. Verifique se você está usando a fixação de certificado em seu aplicativo.
  2. Crie uma lista de certificados em seu repositório raiz confiável. Por exemplo:
    • Obtenha uma lista de certificados confiáveis no Repositório de Chaves Java programaticamente.
    • Verifique o repositório de chaves java cacerts para ver se ele já contém certificados necessários.
  3. Você está usando a fixação de certificado se tiver certificados intermediários individuais ou certificados de servidor PostgreSQL individuais.
  4. Para remover a fixação de certificado, remova todos os certificados do repositório raiz confiável e adicione os novos certificados.
  5. Você pode baixar os certificados atualizados do repositório oficial da Microsoft: detalhes da Autoridade de Certificação do Azure.

Se você tiver problemas mesmo após seguir estas etapas, entre em contato com o suporte da Microsoft. Inclua ICA Rotation 2026 no título.

Verificar cadeia de certificados

Cadeia antiga

  • DigiCert Global Root G2
    • Autoridade de Certificação RSA TLS do Microsoft Azure 03 / 04 / 07 / 08
    • Certificado do servidor

Nova cadeia

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