Sentinela.
← Back to blog

April 14, 2026 · 4 min · Carol

SSL TLS certificate security

Expired SSL certificate: what happens and how to avoid it

An expired SSL certificate takes your site down without warning. Why it happens, what the user sees, and why you only find out when someone calls to complain.

São 14:37 de uma terça-feira. Seu site para de receber pedidos. Ninguém deu deploy. O servidor está no ar. O banco responde. Mas o Chrome mostra uma tela vermelha gigante com "Sua conexão não é particular" e ninguém passa daí.

Bem-vindo ao clube de quem deixou o certificado SSL expirar.

O que é um certificado SSL e por que ele expira

Um certificado SSL/TLS é um arquivo assinado por uma autoridade certificadora (Let's Encrypt, DigiCert, Sectigo, etc.) que diz: "este servidor é mesmo o dono do domínio seusite.com.br". O navegador confia nesse arquivo porque confia em quem assinou.

Toda assinatura tem prazo de validade. Antigamente eram 2 anos, depois 1 ano, agora o padrão é 90 dias (Let's Encrypt) e o setor caminha pra 47 dias até 2029. A lógica: certificados de vida curta limitam o estrago se a chave privada vazar.

O problema é simples: se ninguém renovar antes do vencimento, o navegador para de confiar e o site fica inacessível.

O que o usuário vê

Cada navegador tem sua versão do mesmo aviso. No Chrome:

Sua conexão não é particular NET::ERR_CERT_DATE_INVALID Os invasores podem estar tentando roubar suas informações de seusite.com.br

Existe um link minúsculo "Avançado" que permite continuar mesmo assim — mas:

  1. A grande maioria dos usuários desiste ali mesmo.
  2. Aplicativos mobile que consomem sua API simplesmente falham, sem opção de "avançar".
  3. Webhooks de outros sistemas (Stripe, Mercado Pago, gateways) param de chegar — eles validam o certificado e abortam silenciosamente.
  4. Robôs do Google registram o erro e podem rebaixar você no ranking.

Em e-commerce, o efeito é instantâneo: zero pedidos até alguém perceber.

Por que isso ainda acontece em 2026

Você pode pensar que com Let's Encrypt e renovação automática, ninguém mais deixa certificado vencer. Errado. As causas mais comuns:

1. Renovação automática quebrou e ninguém viu. O cron do Certbot tava configurado, mas o servidor foi migrado e a tarefa não veio junto. Ninguém testou. O certificado anterior estava com 80 dias de validade quando migrou. Dez dias depois, expira.

2. O domínio foi adicionado ao certificado, mas nunca incluído na renovação. Você comprou loja.seusite.com.br, gerou certificado pra esse subdomínio, mas o script automático só renova seusite.com.br. Três meses depois, só a loja cai.

3. Mudou o IP, mudou o provedor, mudou o jeito de fazer challenge. Let's Encrypt precisa provar que você controla o domínio. Se o método antigo (HTTP-01 na raiz) parar de funcionar porque você mudou o servidor pra Cloudflare proxy, a renovação falha em silêncio.

4. Certificado emitido manualmente. Alguém comprou um certificado anual de uma CA paga, configurou na mão, e foi embora da empresa. A renovação não está automatizada em lugar nenhum. Vence sem aviso.

5. O e-mail de aviso vai pra uma caixa morta. Certificadoras mandam aviso 30/14/7 dias antes do vencimento — pro e-mail do contato técnico cadastrado no WHOIS, que muitas vezes é admin@empresa.com.br de alguém que saiu há dois anos.

Como descobrir antes do usuário

A única defesa real é monitorar a validade ativamente, fora do servidor (porque se o servidor quebrar, ele não vai te avisar).

Uma checagem simples: a cada hora, um robô externo se conecta ao seu domínio, lê o certificado, vê a data de expiração, e dispara alerta se faltar menos de 30 dias, depois 7, depois 1. Três escadas de alerta dão margem pra agir antes do desastre.

O que o monitor deve checar:

  • Data de expiração (não basta — pega 99% mas falha em emissão errada)
  • Cadeia de certificados completa — falta de intermediário causa erro em Firefox/Safari mesmo com cert válido
  • Match do CN/SAN com o hostname acessado
  • Versão do TLS (1.0/1.1 ainda ativos contam como problema)
  • Revogação via OCSP

Como o Sentinela te avisa

A gente faz tudo isso. O probe TLS verifica:

  • Expiração do certificado folha
  • Validade da cadeia completa
  • Match do CN/SAN
  • Versões de TLS habilitadas (alerta pra 1.0/1.1 e ausência de 1.3)
  • Cipher suites fracas
  • HSTS configurado

E o monitor de uptime checa a cada minuto se o handshake TLS ainda fecha. Se o certificado vencer às 03:47 de um domingo, você é notificado em 60 segundos por e-mail, webhook ou Telegram — não pelo cliente furioso na segunda de manhã.

Tem 14 dias grátis no plano de monitoramento — configura em 2 minutos e nunca mais perde um vencimento.

A regra simples

Se o seu negócio depende de um site no ar, monitorar uptime sem monitorar certificado SSL é deixar metade da casa destrancada. O servidor pode estar perfeito, o código pode estar perfeito, e um arquivo de 4kb venceu — e ninguém comprou nada hoje.

Cheque hoje. Configure alerta hoje. Vai dormir mais tranquilo.

Keep reading