Compartilhar via


Solucionar problemas de falhas de conexão do TLS

Importante

Iniciamos uma rotação de certificados TLS para o Banco de Dados do Azure para PostgreSQL para atualizar novos certificados de autoridade certificadora intermediária e a cadeia de certificados resultante. As autoridades certificadoras raiz permanecem as mesmas.

Nenhuma ação será necessária se a configuração do cliente implementar as configurações recomendadas para TLS.

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, verifique se você implementa configurações recomendadas para TLS.

Verificando seu repositório de certificados raiz

Você deve ter os certificados raiz mínimos necessários ou o conjunto completo de certificados raiz instalados no repositório de certificados raiz do cliente.

Cuidado

Confie apenas nos certificados de AC raiz do Azure armazenados no repositório de certificados raiz dos seus clientes. Evite confiar em CAs intermediárias ou certificados de servidor individuais, pois essas práticas podem levar a problemas inesperados de conexão quando a Microsoft atualiza a cadeia de certificados ou gira certificados de servidor individuais.

Determinar o status da conexão TLS

Para determinar o status da conexão TLS atual, você pode carregar a extensão sslinfo e, em seguida, chamar a ssl_is_used() função para determinar se o TLS está sendo usado. A função retornará t se a conexão estiver usando 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 com o OpenSSL

Para testar, você pode usar 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

Com a migração da AC raiz para Microsoft RSA Root CA 2017, é viável que as réplicas recém-criadas estejam em um certificado de AC raiz mais recente do que o servidor primário criado anteriormente. Para clientes que usam sslmode=verify-ca e sslmode=verify-full nas configurações, é imperativo aceitar os certificados de CA raiz novos e anteriores até que a rotação seja concluída para servidores novos e existentes.

Troubleshoot

  1. Comece reproduzindo o problema
  2. Coletando dados de diagnóstico (mensagens de erro do lado do cliente, logs do servidor, saída do psql e saída do s_client do OpenSSL).
  3. Verificar parâmetros do servidor (require_secure_transport, ssl_min_protocol_version, ssl_max_protocol_version)
  4. Verifique a cadeia de certificados e as configurações de sslmode/sslrootcert do cliente para identificar incompatibilidades em versões de protocolo, conjuntos de criptografia ou certificados ausentes/girados.

Erros de conectividade do TLS

  1. A primeira etapa para solucionar problemas de compatibilidade de versão do protocolo TLS é identificar as mensagens de erro que você ou seus usuários estão vendo quando tentam acessar a instância do 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. Para ter certeza da compatibilidade de versão do protocolo TLS, verifique a configuração do TLS do servidor de banco de dados e do cliente do aplicativo para garantir que eles ofereçam 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. Por exemplo, 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 com Microsoft RSA Root CA 2017 tem intermediário na cadeia com assinatura cruzada pela AC Digicert Global Root G2. 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 estiver usando as configurações sslmode=verify-full ou sslmode=verify-ca na string de conexão do aplicativo cliente, as rotações de certificado não afetarão você. Portanto, você não precisa seguir as etapas nesta seção.

  1. Produzir sua lista de certificados que estão em seu repositório raiz confiável
    1. Por exemplo, você pode obter uma lista de certificados confiáveis no Repositório de Chaves Java programaticamente.
    2. Por exemplo, você pode verificar o repositório de chaves java cacerts para ver se ele já contém certificados necessários.
  2. Você está usando a fixação de certificado, se tiver certificados intermediários individuais ou certificados de servidor PostgreSQL individuais. Essa é uma configuração sem 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ê estiver enfrentando problemas mesmo depois de seguir essas etapas, entre em contato com o suporte da Microsoft. Inclua no título ICA Rotation 2026.

Problemas de fixação de certificado

Se você não estiver usando sslmode=verify-full ou sslmode=verify-ca configurações na cadeia de conexão do aplicativo cliente, 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. Produza sua lista de certificados que estão em seu repositório raiz confiável. Por exemplo:
    1. Obtenha uma lista de certificados confiáveis no Repositório de Chaves Java programaticamente.
    2. 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ê estiver enfrentando problemas mesmo depois de seguir essas etapas, entre em contato com o suporte da Microsoft. Inclua no título ICA Rotation 2026.

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