A expiração do SSL é previsível: como detectá-la em sites de clientes
Resumo
Todo certificado traz sua data de expiração, então um certificado expirado é uma falha de processo, não uma surpresa. Mesmo assim, a renovação automática quebra: o site mudou de hospedagem, o DNS mudou, uma tarefa de renovação parou. Desde 15 de março de 2026, certificados públicos valem no máximo 200 dias, caindo para 47 dias em 2029, e o Let's Encrypt parou de enviar e-mails de expiração em junho de 2025. Verifique um certificado com um único comando openssl e, se você cuida de muitos sites, deixe um monitor ler a data todos os dias e avisar você 30, 14, 7 e 1 dia antes. O Baromio faz exatamente isso: lê a data de expiração e o emissor a partir de um único local, e não verifica a cadeia nem as cifras.
A maioria das quedas chega sem aviso. Um certificado que expira é diferente: a data de expiração está escrita no próprio certificado, com meses de antecedência. Quando essa data passa, os navegadores substituem o site por um aviso de segurança em tela cheia.
Mesmo assim, isso acontece com equipes que deveriam saber evitar. Em 3 de fevereiro de 2020, o Microsoft Teams ficou fora do ar por algumas horas porque um certificado de autenticação havia expirado, como a Microsoft confirmou na época.
Por que os certificados ainda expiram nos sites de clientes
Hoje, a maioria dos sites de clientes usa certificados gratuitos que se renovam automaticamente. É a renovação que falha, e ela falha em silêncio. Motivos comuns:
- O site mudou de lugar. O DNS agora aponta para uma nova hospedagem ou CDN, mas o servidor antigo continua tentando renovar, ou o novo nunca foi configurado para isso.
- A tarefa de renovação parou. Uma atualização do servidor, uma versão diferente do PHP ou um disco cheio, e o cron job ou o cliente ACME deixa de rodar.
- A renovação funcionou, o servidor não recarregou. O novo certificado está no disco, mas o servidor web continua servindo o antigo.
- Alguém comprou manualmente. Um certificado pago da antiga agência do cliente ou da própria conta do cliente, renovado por quem se lembrar.
- Hostnames que ninguém acompanha.
wwwe o domínio semwww, um subdomínio da loja, um site de staging: cada um pode ter seu próprio certificado.
Duas mudanças tornam isso mais provável, não menos:
- O Let's Encrypt parou de enviar lembretes de expiração por e-mail em 4 de junho de 2025. Se a renovação falhar, ninguém avisa você, a menos que você a monitore.
- Os certificados estão ficando mais curtos. Pela votação SC-081 do CA/Browser Forum, certificados TLS públicos emitidos a partir de 15 de março de 2026 valem no máximo 200 dias; a partir de 15 de março de 2027, 100 dias; e a partir de 15 de março de 2029, 47 dias. Os certificados do Let's Encrypt já duram 90 dias por padrão, com renovação recomendada a cada 60. Um certificado comprado hoje não pode mais durar um ano, então as renovações manuais acontecem com frequência pelo menos duas vezes maior.
Verifique um certificado manualmente
Para um site, este comando mostra a data de expiração e o emissor:
echo | openssl s_client -connect example.com:443 -servername example.com 2>/dev/null | openssl x509 -noout -enddate -issuer
-servername faz diferença: um servidor que hospeda vários sites escolhe o certificado pelo nome. Rode o comando também para www.example.com e para cada subdomínio que o cliente usa. No navegador, clique no ícone à esquerda do endereço e abra os detalhes do certificado.
Uma regra útil para certificados do Let's Encrypt no ciclo padrão de 90 dias: a renovação deve acontecer quando faltam cerca de 30 dias. Se um certificado está com apenas 14 dias, a renovação muito provavelmente já falhou. Não espere o aviso de 7 dias.
Avisos que você realmente vai atender
Um aviso com 30 dias de antecedência é fácil de ignorar, e um aviso que chega no mesmo canal que todas as outras notificações se perde. Dois hábitos ajudam:
- Trate cada etapa de forma diferente. O aviso de 30 dias é um lembrete para conferir a configuração da renovação; os avisos de 7 dias e de 1 dia significam corrigir hoje.
- Envie os últimos avisos para um lugar que você lê todos os dias, não para um canal compartilhado movimentado.
O que o Baromio verifica
- O que ele lê: uma vez por dia, e logo depois que você ativa a opção, o Baromio se conecta ao host do monitor na porta 443 (ou na porta da URL) e lê a data de expiração e o emissor do certificado. A página do monitor mostra o emissor e "Válido até" com os dias restantes; o card do monitor mostra a mesma contagem como um selo SSL.
- Quando ele avisa você: quando faltam 30, 14, 7 e 1 dia, e uma vez quando o certificado expirou. Cada etapa alerta uma única vez, por e-mail e em qualquer canal de Slack, Discord ou webhook que você tenha conectado (Telegram nos planos Pro e Business). Um certificado renovado reinicia as etapas.
- Onde ativar: Monitorar Certificado SSL em um monitor HTTP ou de palavra-chave com uma URL
https://, em Adicionar Novo Monitor ou Editar. A opção vem desativada por padrão, inclusive em monitores criados por importação em massa, então ative-a em cada site. Está disponível em todos os planos: 20 monitores no plano Free, 30 no Pro (9 EUR por mês), 100 no Business (29 EUR por mês). - O que ele não faz: não valida a cadeia de certificados, não verifica se o nome corresponde, não testa versões de protocolo nem cifras e não verifica a partir de mais de um local. Não renova nada; a renovação continua com você ou com a hospedagem.
Uma rotina curta para sites de clientes
- Liste todos os hostnames de cada cliente: domínio sem
www,www, subdomínios, staging. - Coloque um monitor com a verificação SSL em cada um que sirva HTTPS.
- Quando chegar um aviso sobre um certificado que deveria se renovar sozinho, descubra por que a renovação falhou; não se limite a renovar manualmente e seguir em frente.
- Depois de mudar um site para uma nova hospedagem ou CDN, verifique o certificado no mesmo dia com o comando openssl acima.
Fontes
- Engadget, Microsoft Teams went down because of an expired certificate, 3 de fevereiro de 2020.
- Let's Encrypt, Ending Support for Expiration Notification Emails, 22 de janeiro de 2025: o serviço terminou em 4 de junho de 2025.
- Let's Encrypt, FAQ: os certificados padrão valem 90 dias, com renovação recomendada a cada 60 dias.
- CA/Browser Forum, Ballot SC081v3, aprovada em 11 de abril de 2025.
- DigiCert, TLS certificate lifetimes will officially reduce to 47 days, 16 de maio de 2025: o cronograma com datas (200 / 100 / 47 dias).