Pular para o conteúdo

Expiração de certificado

Expiração de certificado no SysAdmin Crisis: um aviso antecipado no log e depois handshakes TLS que falham. Veja a assinatura e como distingui-la.

Última atualização:

O menor incidente do jogo, e o que mais vezes é levado pela desatenção. Ele se anuncia uma vez, sem rodeios, e depois não faz nada por um tempo.

O que ele faz

Chega em duas etapas. Quando é injetado, uma única linha de aviso diz que o certificado TLS do balanceador de carga está prestes a expirar — e nada mais acontece. Nenhuma métrica se move, nenhuma barra muda de cor, nenhuma máquina muda de estado.

Quando a janela de tolerância se esgota, o certificado expira e duas coisas acontecem ao mesmo tempo: o tráfego legítimo cai, porque os clientes não conseguem mais se conectar; e a tempestade de retries desses clientes queima a CPU dos balanceadores de carga até chegar a CRIT. A disponibilidade (uptime) cai pelos dois lados ao mesmo tempo.

A assinatura nos logs

Primeiro, um único aviso do monit no balanceador de carga; depois que o certificado expira, os erros de handshake caem no log de erros do nginx:

00:14:22 lb-01 monit[540]: 'shop-tls' certificate expiry test failed -- certificate expires in less than 1 day
00:19:40 lb-01 nginx: [crit] SSL_do_handshake() failed (SSL: error:0A000415:SSL routines::sslv3 alert certificate expired:SSL alert number 45) while SSL handshaking, client: 198.51.100.23, server: 0.0.0.0:443

O aviso passa despercebido no fluxo de logs e não se repete. Você pode ler a data real de expiração do certificado com openssl x509 -enddate -noout -in <cert>; o comando openssl mostra essa data exatamente como está no certificado.

Se você deixar de lado

O impacto dura pelo resto do turno. O aviso não se repete. Este é o único incidente em que a diferença entre “resolvido a tempo” e “notado tarde demais” é uma única linha de texto que você leu ou não leu.

Como distingui-lo

Nada mais no jogo produz um erro de handshake TLS, e nada mais avisa antes de causar dano. Se você vir certificate em uma linha de log, o diagnóstico é curto; a verdadeira questão é quando você leva o aviso a sério.

Quando ele aparece

Noite mínima4
Requeruma máquina lb (os balanceadores de carga entram na noite 3)
Peso55 — o incidente mais raro do catálogo
Ao mesmo tempouma instância

A intervenção não mostra seu efeito de imediato; mesmo depois que você age, a correção não é instantânea.