Partilhar via


Resolução de falhas de ligação TLS

Importante

Iniciámos uma rotação de certificados TLS para a Azure Database for PostgreSQL , para atualizar novos certificados intermédios de CA e a cadeia de certificados resultante. As CAs raiz mantêm-se as mesmas.

Não é necessária qualquer ação se a configuração do cliente implementar as configurações Recomendadas para TLS.

Calendário de rotação de certificados

  • As regiões Azure Oeste Central dos EUA, Este Asiático e Reino Unido Sul iniciaram a rotação de certificados TLS a 11 de novembro de 2025.
  • A partir de 19 de janeiro de 2026, esta rotação de certificados está planeada para se estender às restantes regiões (exceto 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 a alteração de uma das CAs raízes.

Validar a configuração do cliente

Para validar a configuração do seu cliente antes de qualquer rotação planeada, certifique-se de implementar configurações Recomendadas para TLS.

Verificar o seu armazenamento de certificados raiz

Deve ter instalados na loja de certificados raiz do seu cliente os certificados raiz mínimos exigidos ou o conjunto completo de certificados raiz.

Atenção

Confie apenas nos certificados de CA raiz do Azure na loja de certificados raiz dos seus clientes. Evite confiar em CAs intermédias ou certificados individuais de servidor, pois estas práticas podem levar a problemas inesperados de ligação quando a Microsoft atualiza a cadeia de certificados ou roda certificados individuais do servidor.

Determinar o estado da ligação TLS

Para determinar o estado atual da tua ligação TLS, podes carregar a extensão sslinfo e depois chamar a ssl_is_used() função para saber se o TLS está a ser usado. A função retorna t se a ligação estiver a usar TLS. Caso contrário, ele retornará f. Também pode recolher toda a informação sobre a utilização de TLS da sua Base de Dados Azure para a instância de servidor flexível PostgreSQL por processo, cliente e aplicação, utilizando 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 ligação TLS com OpenSSL

Para testar, pode usar o openssl comando para se ligar à sua base de dados Azure para o PostgreSQL e mostrar os certificados TLS.

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

Este comando imprime informações de protocolo de baixo nível, como a versão TLS e a cifra. Você deve usar a opção -starttls postgres. Caso contrário, este comando indica que não está a ser utilizado nenhum TLS. Usar este comando requer pelo menos OpenSSL 1.1.1.

Réplicas de leitura

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

Troubleshoot

  1. Comece por reproduzir o problema
  2. Recolha de dados de diagnóstico (mensagens de erro do lado do cliente, saída psql, saída de s_client OpenSSL e registos do servidor).
  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 definições do cliente sslmode/sslrootcert para identificar incompatibilidades em versões de protocolo, conjuntos de cifras ou certificados em falta/rotação.

Erros de conectividade TLS

  1. O primeiro passo para resolver a compatibilidade da versão do protocolo TLS é identificar as mensagens de erro que você ou os seus utilizadores estão a ver quando tentam aceder à sua instância de servidor flexível Azure Database for PostgreSQL sob encriptação TLS a partir do cliente. Dependendo do aplicativo e da plataforma, as mensagens de erro podem ser diferentes. Em muitos casos, apontam para a questão subjacente.
  2. Para ter a certeza da compatibilidade com versões do protocolo TLS, verifique a configuração TLS do servidor de base de dados e do cliente da aplicação para garantir que suportam versões compatíveis e suites de cifras.
  3. Analise quaisquer discrepâncias ou lacunas entre o servidor de base de dados e as versões TLS e suites de cifras do cliente. Tente resolvê-los ativando ou desativando determinadas opções, atualizando ou fazendo downgrade de software ou alterando certificados ou chaves. Por exemplo, pode ser necessário ativar ou desativar 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 obsoletos, e habilitar o TLS 1.2 e o TLS 1.3, que são mais seguros e modernos.
  4. O mais novo certificado emitido com o Microsoft RSA Root CA 2017 tem intermediário na cadeia cross-signed pela Digicert Global Root G2 CA. Algumas das bibliotecas de cliente Postgres, ao usar sslmode=verify-full ou sslmode=verify-ca configurações, podem enfrentar falhas de conexão com certificados de CA raiz que são assinados cruzados com certificados intermediários. O resultado são caminhos de confiança alternativos.

Para contornar estes problemas, adicione todos os certificados necessários ao armazenamento de certificados do cliente ou especifique explicitamente o sslrootcert parâmetro. Ou, defina a PGSSLROOTCERT variável de ambiente para o caminho local onde o certificado de autoridade de certificação raiz Microsoft RSA 2017 é colocado, a partir do valor padrão de %APPDATA%\postgresql\root.crt.

Questões da Autoridade Certificadora

Observação

Se não estiver a usar sslmode=verify-full ou sslmode=verify-ca nas definições da cadeia de ligação da aplicação cliente, então as rotações de certificados não o afetam. Portanto, você não precisa seguir as etapas nesta seção.

  1. Produza sua lista de certificados que estão em seu armazenamento raiz confiável
    1. Por exemplo, você pode obter uma lista de certificados confiáveis no Java Key Store programaticamente.
    2. Por exemplo, você pode verificar cacerts java keystore para ver se ele já contém certificados necessários.
  2. Estás a usar pinagem de certificados, se tiveres certificados intermédios individuais ou certificados individuais de servidor PostgreSQL. Esta é uma configuração não suportada.
  3. Para remover a pinagem de certificados, remova todos os certificados do seu repositório raiz confiável e adicione apenas os certificados de CA raiz.

Se estiver a ter problemas mesmo depois de seguir estes passos, contacte o suporte da Microsoft. Coloque no título Rotação ICA 2026.

Problemas de fixação de certificados

Se não estiver a usar sslmode=verify-full ou sslmode=verify-ca nas definições na cadeia de ligação da sua aplicação cliente, então as rotações dos certificados não o afetam. Portanto, você não precisa seguir as etapas nesta seção.

  1. Verifica se estás a usar pinagem de certificados na tua aplicação.
  2. Produza a sua lista de certificados que estão na sua loja raiz de confiança. Por exemplo:
    1. Obtenha uma lista de certificados de confiança na Java Key Store de forma programática.
    2. Verifica a loja de chaves Java do Cacerts para ver se já contém os certificados necessários.
  3. Estás a usar fixação de certificado, se tiveres certificados intermédios individuais ou certificados individuais do servidor PostgreSQL.
  4. Para remover a pinagem de certificados, remova todos os certificados do seu armazenamento raiz confiável e adicione os novos certificados.
  5. Pode descarregar os certificados atualizados do repositório oficial da Microsoft: detalhes da Azure Certificate Authority.

Se estiver a ter problemas mesmo depois de seguir estes passos, contacte o suporte da Microsoft. Inclua "ICA Rotation 2026" no título.

Verificar cadeia de certificados

Corrente antiga

  • DigiCert Global Root G2
    • Microsoft Azure RSA TLS Emissão CA 03 / 04 / 07 / 08
    • Certificado do servidor

Nova cadeia de blocos

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