Depurando Erros de Cadeia de Certificação Incompleta em Produção | Heimdall Monitor
Pular para o conteúdo

Depurando Erros de Cadeia de Certificação Incompleta em Produção

Aprenda a isolar, diagnosticar e corrigir certificados intermediários ausentes que causam falhas intermitentes de handshake TLS.

D
Daniel Morgan
15 de mar. de 20264 min de leitura
Depurando Erros de Cadeia de Certificação Incompleta em Produção

Uma das falhas de rede mais insidiosas ocorre quando um site carrega perfeitamente bem no seu laptop, mas clientes de API, aplicativos móveis ou webhooks de backend falham com um erro de certificado não confiável. Esta é a marca registrada de uma cadeia de certificação incompleta.

Tudo parece saudável até que o tráfego desaparece de tipos de clientes específicos. Vamos detalhar exatamente o porquê isso acontece e como provar.

O Caminho da Confiança

Quando você adquire um certificado TLS, ele raramente é assinado diretamente por uma Autoridade de Certificação (CA) Raiz que reside no trust store de um dispositivo. Em vez disso, é assinado por uma CA Intermediária para proteger as chaves de raiz.

Como o cliente não sabe sobre essa CA Intermediária, a especificação do TLS exige que o seu servidor anexe os certificados intermediários durante o handshake. Se você apenas configurar seu servidor com o certificado leaf, o cliente não conseguirá construir um caminho até a Raiz confiável.

Por Que os Navegadores Escondem O Problema

Se a cadeia está quebrada, por que o Chrome ainda exibe um cadeado verde? Navegadores modernos fazem cache de certificados intermediários de sites visitados anteriormente e usam 'AIA Fetching' para baixar certs ausentes em tempo real.

No entanto, clientes programáticos (como um script axios, curl ou um backend Java) não têm esse luxo. Eles avaliam exatamente o que o servidor envia. Se o intermediário estiver ausente, o handshake falha imediatamente com 'unable to get local issuer certificate'.

Depuração Interativa com OpenSSL

Para provar que uma cadeia está intacta, devemos interrogar o servidor sem o cache do navegador atrapalhando. Use o openssl para inspecionar a sequência da cadeia:

openssl s_client -showcerts -connect suaapi.com:443

Procure pelo bloco 'Certificate chain' na saída. Se você ver apenas um certificado (depth=0), seu servidor está mal configurado. Uma cadeia saudável deve parecer com isto:

Certificate chain
 0 s:/CN=suaapi.com i:/C=US/O=Let's Encrypt/CN=R3
 1 s:/C=US/O=Let's Encrypt/CN=R3 i:/C=US/O=Internet Security Research Group/CN=ISRG Root X1

Estratégia de Monitoramento

É aqui que a maioria das configurações de monitoramento tem pontos cegos. Sistemas internos não costumam simular clientes programáticos brutos contra endpoints externos.

Para evitar isso, você precisa de monitoramento sintético explícito que imponha verificação SSL estrita. Utilizando uma plataforma como o Heimdall Observer, você pode avaliar continuamente a carga útil da cadeia completa da sua infraestrutura em redes globais. O Heimdall especificamente alerta sobre cadeias quebradas e emissores não confiáveis, dando a visibilidade necessária para corrigir balanceadores de carga mal configurados antes que os clientes de API comecem a falhar.

0 acharam útil
D
Escrito por Daniel Morgan

Engenheiro de infraestrutura focado em DNS, redes e nas camadas invisíveis que determinan se as aplicações são alcançáveis.

"Criamos o Heimdall Observer para solucionar os problemas discutidos neste artigo."