Certificado SSL expirado: o que os visitantes veem

Por Fabien Hernoux 7 min de leitura

Um certificado expirado não produz um aviso discreto. Produz uma página inteira, geralmente vermelha, a explicar que a ligação não é privada e que uns atacantes talvez estejam a tentar roubar as suas informações. A maioria dos visitantes não a atravessa. Muitos concluem que o site foi pirateado.

Entretanto, o seu servidor está ótimo. Serve as páginas exatamente como ontem, responde em alguns milissegundos, e nenhum dos seus registos assinala seja o que for.

A mensagem exata diz-lhe qual dos quatro problemas tem

Antes de tocar em seja o que for, leia o código de erro mostrado sob a mensagem. Os navegadores escondem-no atrás de um link «avançadas», e é ele que contém toda a informação.

O que o navegador mostra O verdadeiro problema Reparação
ERR_CERT_DATE_INVALID O certificado expirou Renovar e recarregar
ERR_CERT_COMMON_NAME_INVALID Este nome de anfitrião não está coberto Reemitir incluindo o subdomínio
ERR_CERT_AUTHORITY_INVALID Cadeia incompleta ou certificado autoassinado Instalar o certificado intermédio
ERR_SSL_PROTOCOL_ERROR O serviço TLS não responde corretamente Configuração do servidor, não o certificado
Aviso só no telemóvel Cadeia incompleta, quase sempre Ver mais abaixo

As duas primeiras linhas corrigem-se com um comando. A terceira é a mais traiçoeira e merece a sua própria secção. A quarta não é de todo um problema de certificado.

Porque acontece a sites que funcionam

O lembrete partiu para um endereço que ninguém lê. As autoridades de certificação avisam por email, para o endereço introduzido na emissão: muitas vezes uma caixa genérica, por vezes um programador que saiu há dois anos.

A renovação automática falhou em silêncio. A tarefa está programada e sai em erro. Nada cai com estrondo: o certificado simplesmente deixa de ser substituído. É a causa mais frequente nos servidores modernos, e tem três variantes clássicas.

O certificado foi renovado mas não instalado. Um ficheiro novo existe no disco, datado de hoje, perfeitamente válido. O servidor web guarda o antigo em memória, porque ninguém o recarregou. Realmente exasperante, e muito comum.

Um subdomínio foi esquecido. O certificado cobre exemplo.pt e www, mas não o loja. que acrescentou em março. O site principal vai bem, e uma parte do tráfego bate contra uma parede.

O que faz um visitante perante essa página

Não lê o código de erro. Vê um cadeado cortado, um fundo vermelho, e uma frase que fala de roubo de informações. Três reações repartem o essencial: fechar o separador, voltar aos resultados de pesquisa e clicar no seguinte, ou escrever a alguém a assinalar que o seu site foi pirateado.

Nenhuma destas três reações é reparável depois. É o que distingue esta avaria de um erro de servidor ordinário: uma página que devolve um código 500 ou 503 inquieta um visitante; uma página que anuncia uma tentativa de roubo põe-no em fuga e deixa-lhe uma lembrança.

Desconfie dos números que circulam sobre a proporção de gente que passa adiante: vêm de amostras antigas e de contextos que não são o seu. O que é certo é que o botão para continuar está deliberadamente escondido atrás de dois cliques, e que o desenho dessa página visa exatamente que ninguém a atravesse.

O meio dia que sai mais caro

O bloqueio aparece no instante exato da expiração, muitas vezes de noite, muitas vezes num fim de semana, porque é aí que os noventa dias caíram. No tempo que alguém dá por isso na segunda-feira de manhã, o site mostra um aviso de segurança a cada visitante há trinta e seis horas.

Ninguém lhe telefonará durante esse tempo: as suas ferramentas internas não verão nada, e o seu alojador também não, já que do ponto de vista dele a máquina responde perfeitamente. É a avaria que mais se parece com uma avaria sem o ser, e por isso cabe no mesmo reflexo dos primeiros quinze minutos de um incidente: olhar do exterior antes de olhar para o código.

Verificar em trinta segundos

Um só comando dá a data de expiração do certificado realmente apresentado ao público, que nem sempre é o que anda pelo seu disco:

echo | openssl s_client -servername exemplo.pt -connect exemplo.pt:443 2>/dev/null \
  | openssl x509 -noout -dates -subject

notAfter dá o prazo, subject e os nomes alternativos dizem que anfitriões estão cobertos. Repita o comando para cada subdomínio que serve: cada um é uma pergunta distinta. Execute-o além disso a partir de uma máquina que não seja a sua: uma cache local ou uma entrada no seu ficheiro de anfitriões pode mostrar-lhe um resultado que nenhum visitante obtém alguma vez.

Se não tem um terminal à mão, ou quer apenas o número: o nosso leitor de certificados faz o mesmo a partir do navegador, e dá-lhe a data, os anfitriões cobertos e o estado da cadeia.

O caso da cadeia incompleta

É a armadilha que faz perder mais tempo, porque não se vê na máquina de quem verifica.

Um certificado não está sozinho: está assinado por um intermédio, ele próprio assinado por uma raiz. O seu servidor deve servir o certificado e o intermédio. Se esquecer o segundo, os navegadores de secretária safam-se muitas vezes, porque guardaram o intermédio em cache numa visita anterior a outro site. Os telemóveis, esses, recusam.

Resultado: o site funciona perfeitamente no seu posto, e mostra um aviso a uma parte dos seus visitantes. O teste faz-se a partir de um telemóvel em dados móveis, ou com o comando acima a partir de uma máquina que nunca visitou o site.

O que a duração curta mudou

Há dez anos, um certificado durava um ano ou mais, e o lembrete numa agenda partilhada fazia o trabalho. Os certificados gratuitos de hoje duram noventa dias, e a tendência geral vai para durações ainda mais curtas, por boas razões de segurança.

Isso desloca completamente o problema. Uma renovação anual é um acontecimento de que alguém se lembra; uma renovação trimestral é uma rotina automática que ninguém olha. A pergunta já não é, portanto, «quem se lembra de renovar» mas «quem verifica que o automatismo ainda funciona».

É uma inversão que merece ser enunciada, porque torna inúteis dois velhos reflexos. Anotar a data de expiração numa agenda já não serve de nada: muda quatro vezes por ano. Confiar no registo da renovação também não: as três avarias clássicas deixam lá um rasto que ninguém abre, e a terceira nem sequer deixa um erro.

Resta uma única verificação que conserva sentido, e é a que olha do exterior, como faria um visitante.

O que o evita realmente

Vigiar a data de expiração, não a tarefa de renovação. Uma verificação que lê o certificado apresentado pelo seu servidor e conta os dias restantes diz a verdade: vê o certificado que um visitante receberia, não o que existe no disco. As três causas acima acabam todas no mesmo sítio, e essa medida apanha-as às três.

Alertar com verdadeira margem. Trinta dias, depois sete, depois um. Trinta dias bastam para reparar com calma uma renovação partida; um dia basta para recuperar uma instalação que não recarregou.

Verificar cada nome de anfitrião que serve. Cada subdomínio é uma pergunta de certificado distinta, e aquele que se esquece é sempre o que foi acrescentado depois.

Pôr um endereço humano no certificado. Não custa nada e é a última linha de defesa quando tudo o resto foi esquecido.

O que não é

Não é uma pirataria, e dizê-lo com clareza a quem lho assinala evita uma hora de pânico inútil. Não é uma avaria de servidor: nada a reiniciar, nada a restaurar. E não é em primeiro lugar um problema de posicionamento.

O que o HTTPS muda realmente para os motores é mais modesto do que a urgência dessa página deixa crer. A razão para reparar um certificado é o visitante que vê vermelho, não o algoritmo.

Na Expansel Monitorização de sites A Expansel consulta os seus sites em intervalos regulares e escreve-lhe assim que um deixa de responder, ou quando o certificado está prestes a expirar.

Perguntas frequentes

O site está mesmo em baixo?

Não. O servidor serve as páginas perfeitamente. É o navegador que se recusa a mostrá-las, o que para um visitante dá no mesmo, e é pior: parece um problema de segurança, não uma avaria técnica.

Sou avisado com antecedência?

Não, se ninguém vigiar. As autoridades de certificação enviam lembretes por email para o endereço registado, que muitas vezes é uma caixa que ninguém lê há dois anos.

Os motores de busca importam-se?

Um rastreador que encontra um erro de certificado não consegue obter a página. Algumas horas não mudam nada; vários dias num site rastreado ativamente é outra conversa.

Nunca mais perca um backlink

Adicione os seus sites e links e deixe o Expansel vigiá-los por si.

Começar grátis