Torna al blog

Certificato SSL scaduto - cosa fare

· 6 min di lettura

Un certificato SSL scaduto blocca l'accesso con un avviso di connessione non sicura e la conversione crolla a zero. Cosa fare subito e come prevenirlo.

Certificato SSL scaduto - cosa fare

Cosa vede il visitatore

Un certificato scaduto innesca un avviso a tutto schermo nel browser:

  • Chrome / Edge: "Your connection is not private" (NET::ERR_CERT_DATE_INVALID)
  • Firefox: "Warning: Potential Security Risk Ahead" (SEC_ERROR_EXPIRED_CERTIFICATE)
  • Safari: "This Connection Is Not Private"

Un visitatore normale clicca "Indietro". La stragrande maggioranza dei visitatori abbandona la pagina di fronte a un avviso del genere. I crawler dei motori di ricerca (Googlebot, Bingbot) smettono di indicizzare e dopo qualche giorno inizi a perdere posizioni nella ricerca.

Procedura se è appena scaduto

  1. Identifica chi ha emesso il cert. Nel terminale: openssl s_client -connect mywebsite.com:443 -servername mywebsite.com < /dev/null 2>/dev/null | openssl x509 -noout -issuer -dates
  2. Let's Encrypt (gratis, validità 90 giorni): tipicamente tramite certbot renew o via il pannello dell'hosting (One-click renewal).
  3. Cert commerciale (DigiCert, Sectigo, GlobalSign): accedi al pannello admin dell'emittente, genera un nuovo CSR e passa la validazione del dominio (record DNS TXT o email).
  4. Distribuisci il nuovo cert al reverse proxy (nginx, Caddy, Traefik) e riavvia o ricarica il processo.
  5. Verifica tramite SSL Labs o tramite il nostro strumento SSL check che il cert sia servito correttamente e la catena di certificati sia completa.

Attenzione: Non dimenticare il cert intermedio - senza di esso i browser moderni possono recuperare la chain tramite AIA, ma client più vecchi e alcune librerie API falliranno.

Rinnovo automatico: Let's Encrypt + certbot

La prevenzione più semplice è automatizzare completamente il rinnovo. Il cert Let's Encrypt si rinnova ogni 90 giorni tramite certbot:

# /etc/cron.d/certbot-renew
0 3 * * * root certbot renew --quiet --deploy-hook "systemctl reload nginx"

Questo cron gira ogni giorno alle 3:00 del mattino. Certbot internamente controlla se il cert si avvicina alla scadenza (quando resta meno di un terzo della sua vita, che per un cert Let's Encrypt da 90 giorni corrisponde a circa 30 giorni prima della fine). Se sì, lo rinnova e in caso di successo ricarica nginx. Altrimenti non fa niente.

Caddy e Traefik: completamente automatico

Se usi Caddy o Traefik come reverse proxy, l'ACME challenge è integrato direttamente nel binario. Basta segnare il dominio nel config e il server richiede e rinnova il cert da solo:

# Caddyfile
mywebsite.com {
  reverse_proxy localhost:3000
}

Niente certbot, niente cron. Caddy chiama in background l'API di Let's Encrypt e gestisce l'intero ciclo di rinnovo.

Cert commerciali: validità 1-3 anni

Da settembre 2020 tutti i cert pubblicamente affidabili hanno una vita massima di 398 giorni (CA/B Forum baseline). Alcune aziende preferiscono comunque le CA commerciali, e ciò per queste ragioni:

  • Extended Validation (EV) mostra l'organizzazione nella barra degli indirizzi (Chrome non la visualizza in modo prominente dal 2019).
  • Wildcard per molti sottodomini anche se Let's Encrypt ora supporta wildcards tramite DNS-01.
  • Garanzia responsabilità finanziaria della CA in caso di compromise.
  • Conformità / audit alcuni settori hanno requisiti esterni.

Per la maggior parte dei siti Let's Encrypt o un'altra CA gratuita (ZeroSSL, Buypass) bastano.

Monitoraggio della scadenza come rete di sicurezza

Anche con il rinnovo automatico, il monitoraggio della scadenza funziona come assicurazione. Il rinnovo può infatti fallire per diversi motivi:

  • rate limit da parte della CA (Let's Encrypt: 5 duplicati / 7 giorni)
  • cambio DNS che rompe l'ACME challenge
  • regola firewall che blocca la porta 80 (HTTP-01 challenge)
  • crash del processo certbot o del cron che nessuno ha notato

ePulz.io segue la scadenza di ogni endpoint monitorato e invia un avviso 30, 14, 7, 3 e 1 giorno prima della fine validità. Basta un segnale verde che il cert si è rinnovato in tempo - e hai la certezza che l'automazione funziona.

Attiva il monitoraggio SSL

Avvisi 30/14/7/3/1 giorni prima della scadenza. Senza configurazione, senza modifiche DNS. 7 giorni gratis.

Avvia monitoraggio →

Condividi: Link copiato

Prova ePulz.io gratis - 7 giorni senza carta di credito.

Crea account