A causa mais evitável de tempo de inatividade
A expiração de certificados SSL é possivelmente a causa mais evitável de quedas de sites. Os certificados expiram de forma previsível. Você sabe a data exata com meses de antecedência. No entanto, certificados expirados derrubam sites importantes todos os anos.
Quando um certificado expira, os navegadores mostram um aviso de segurança em página inteira. Os usuários não podem acessar seu site sem clicar na assustadora mensagem “Sua conexão não é privada”. A maioria dos usuários não clica. Eles vão embora.
Para sites de e-commerce, um certificado expirado significa zero vendas até que seja corrigido. Para plataformas SaaS, significa que os usuários não podem fazer login. Para APIs, todas as conexões de cliente falham. O impacto nos negócios é imediato e total.
E a correção geralmente é simples: renovar o certificado e reiniciar o servidor web. O problema não é a correção. O problema é saber que precisa ser corrigido antes que os navegadores comecem a mostrar avisos.
Por que as equipes esquecem de renovar certificados
Parece impossível esquecer algo com um prazo conhecido com meses de antecedência. Mas a renovação de certificados passa despercebida por razões previsíveis.
A pessoa que configurou o certificado deixou a empresa. Seis meses depois, o aviso de renovação vai para um endereço de e-mail desativado. Ninguém mais sabe que o certificado existe até que ele expire.
A renovação automática falhou silenciosamente. Você configurou o certbot com renovação automática. Funcionou por um ano. Então uma permissão mudou, uma regra de firewall foi atualizada ou um registro DNS foi modificado. O script de renovação falhou. Ninguém percebeu porque ninguém estava monitorando.
O certificado cobre vários subdomínios. Você adicionou um novo subdomínio. O certificado não o cobre. Os usuários desse subdomínio veem um aviso. Os usuários do domínio principal não veem nada de errado.
Você usa várias autoridades certificadoras. Domínios diferentes, CAs diferentes, datas de renovação diferentes. Não há um único lugar para ver o status de todos os seus certificados.
O que o monitoramento SSL verifica
Um bom monitor SSL verifica mais do que apenas a data de expiração.
Data de expiração: A verificação mais óbvia. Você quer alertas com 30, 14 e 7 dias de antecedência. Múltiplos avisos lhe dão tempo para corrigir as coisas mesmo que o primeiro alerta seja perdido.
Cadeia de certificados: A cadeia completa é válida? Um certificado intermediário ausente quebra a cadeia e aciona avisos do navegador, mesmo que o certificado folha seja válido.
Sujeito e SANs: O certificado cobre o domínio sendo monitorado? Um certificado para example.com não cobre api.example.com a menos que os SANs o incluam.
Algoritmo de assinatura: O certificado está usando um algoritmo seguro? Certificados assinados com SHA-1 estão obsoletos. Navegadores modernos os rejeitam.
Tamanho da chave: Chaves RSA menores que 2048 bits são consideradas fracas. Chaves ECC são preferidas por desempenho.
Status de revogação: O certificado foi revogado pela CA? Isso é raro, mas crítico. Um certificado revogado deve ser substituído imediatamente.
Configurando o monitoramento SSL
O monitoramento SSL deve ser automático. Você não deveria ter que se lembrar de verificar manualmente as datas de expiração dos certificados.
O PingWatchdog inclui monitoramento SSL em todos os planos. Você adiciona um domínio e verificamos o certificado a cada 24 horas. Você recebe alertas com 30, 14 e 7 dias antes da expiração. Verificamos a cadeia completa, o sujeito, os SANs, o algoritmo de assinatura e o tamanho da chave.
Se algo estiver errado, você fica sabendo antes dos seus usuários. Esse é o objetivo.
Saiba mais sobre o monitoramento SSL do PingWatchdog.
Automatizando a renovação de certificados
O monitoramento avisa quando um certificado está prestes a expirar. A automação impede que a expiração aconteça.
Use o certbot com Let’s Encrypt: O Let’s Encrypt fornece certificados gratuitos de 90 dias com renovação automática. O Certbot gerencia o protocolo ACME. Configure um cron job ou timer systemd para executar certbot renew duas vezes ao dia. Adicione um monitor heartbeat ao script de renovação para saber se a renovação automática falhar.
Use os certificados gerenciados do seu provedor de hospedagem: Muitos provedores de nuvem e CDNs oferecem SSL gerenciado com renovação automática. AWS Certificate Manager, Cloudflare SSL e serviços similares gerenciam a renovação automaticamente. Você ainda quer monitoramento externo para verificar se o certificado é válido da perspectiva do usuário.
Use um serviço de monitoramento: Mesmo com renovação automática, monitore seus certificados externamente. A renovação automática pode falhar. Certificados gerenciados podem ter problemas. O monitoramento externo captura o que a automação interna perde.
Múltiplos domínios e subdomínios
Se você gerencia vários domínios ou subdomínios, o gerenciamento de certificados fica complicado rapidamente.
Uma pequena empresa SaaS pode ter: example.com, app.example.com, api.example.com, status.example.com, docs.example.com, cdn.example.com. Cada um precisa de um certificado válido. Alguns podem usar certificados wildcard (*.example.com). Outros podem usar certificados individuais de CAs diferentes.
Monitore cada um. Adicione um monitor SSL para cada domínio e subdomínio. Você obtém um único painel mostrando o status e a data de expiração de cada certificado. Quando um estiver se aproximando da expiração, você sabe qual e quando.
Monitoramento SSL vs. monitoramento de disponibilidade
O monitoramento SSL e o monitoramento de disponibilidade servem a propósitos diferentes. O monitoramento de disponibilidade diz “seu site está acessível”. O monitoramento SSL diz “seu site está acessível e a conexão é segura”.
Um site com um certificado expirado pode estar tecnicamente “no ar” de uma perspectiva TCP. O servidor responde. Mas o navegador bloqueia o acesso. Um monitor de disponibilidade configurado para verificar códigos de status HTTP veria a resposta. Mas se o monitor segue redirecionamentos ou aceita qualquer resposta, pode não detectar o problema do certificado.
Execute ambos. Monitoramento de disponibilidade para acessibilidade. Monitoramento SSL para a saúde dos certificados. Eles se complementam.
Monitoramento de transparência de certificados
Uma abordagem mais recente para o monitoramento SSL: logs de transparência de certificados (CT). Toda CA publicamente confiável deve registrar certificados nos logs CT. Você pode monitorar esses logs para novos certificados emitidos para seus domínios.
Isso detecta duas coisas: certificados legítimos que você não conhecia (alguém da sua equipe comprou um de outra CA) e certificados maliciosos (alguém se passando pelo seu domínio).
Ferramentas como Cert Spotter e o Certificate Transparency Monitor do Facebook fornecem isso. É uma medida avançada, mas útil para empresas com requisitos rigorosos de segurança.
Comece agora
O PingWatchdog inclui monitoramento SSL em todos os planos. O plano gratuito cobre seus domínios com verificações a cada 24 horas e alertas de expiração com 30/14/7 dias. Sem ferramenta separada. Sem assinatura separada.
Configurar monitoramento SSL ou conheça todos os recursos de monitoramento. Leia também: O que é monitoramento de disponibilidade?