Vissza a bloghoz

Az SSL tanúsítvány lejárt - mit tegyél

· 6 perc olvasás

A lejárt SSL tanúsítvány nem biztonságos kapcsolat üzenettel blokkolja a hozzáférést, a konverzió nullára esik. Mit tegyél azonnal és hogyan előzd meg.

Az SSL tanúsítvány lejárt - mit tegyél

Mit lát a látogató

A lejárt tanúsítvány teljes képernyős figyelmeztetést indít a böngészőben:

  • 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"

Egy átlagos látogató a "Vissza" gombra kattint. A látogatók túlnyomó többsége egy ilyen figyelmeztetésnél elhagyja az oldalt. A keresőmotorok crawlerei (Googlebot, Bingbot) leállítják az indexelést, és néhány nap múlva elkezded elveszíteni a pozícióidat a keresőben.

Eljárás, ha most járt le

  1. Azonosítsd, ki adta ki a certet. A terminálban: openssl s_client -connect mywebsite.com:443 -servername mywebsite.com < /dev/null 2>/dev/null | openssl x509 -noout -issuer -dates
  2. Let's Encrypt (ingyenes, 90 napos érvényesség): jellemzően certbot renew paranccsal vagy a hosting paneljén (One-click renewal).
  3. Kereskedelmi cert (DigiCert, Sectigo, GlobalSign): jelentkezz be a kibocsátó admin paneljébe, generálj új CSR-t, és menj végig a domain validáláson (DNS TXT rekord vagy email).
  4. Telepítsd az új certet a reverse proxy-ba (nginx, Caddy, Traefik) és indítsd újra vagy töltsd be újra (reload) a folyamatot.
  5. Ellenőrizd SSL Labs-en vagy a SSL check eszközünkkel, hogy a cert helyesen szolgálódik ki és a tanúsítványlánc teljes.

Figyelem: Ne felejtsd az intermediate certet sem - nélküle a modern böngészők ugyan AIA-n keresztül le tudják húzni a chaint, de a régebbi kliensek és néhány API könyvtár hibázni fog.

Automatikus megújítás: Let's Encrypt + certbot

A legegyszerűbb megelőzés a megújítás teljes automatizálása. A Let's Encrypt cert 90 naponta megújul certbot-tal:

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

Ez a cron naponta hajnali 3:00-kor fut. A certbot belül ellenőrzi, hogy a cert közeledik-e a lejárathoz (amikor kevesebb mint az élettartama egyharmada van hátra, ami egy 90 napos Let's Encrypt certnél nagyjából 30 nappal a lejárat előttre esik). Ha igen, megújítja és siker esetén újratölti az nginxet. Egyébként semmit sem tesz.

Caddy és Traefik: teljesen automatikusan

Ha Caddy-t vagy Traefik-et használsz reverse proxy-ként, az ACME challenge be van építve magába a binárisba. Csak jelölj meg domaint a configban, és a szerver maga kéri és újítja meg a certet:

# Caddyfile
mywebsite.com {
  reverse_proxy localhost:3000
}

Nincs certbot, nincs cron. A Caddy a háttérben hívja a Let's Encrypt API-t és kezeli a teljes megújítási ciklust.

Kereskedelmi certek: 1-3 év érvényesség

2020 szeptemberétől minden nyilvánosan megbízható certnek maximum 398 nap az élettartama (CA/B Forum baseline). Egyes cégek ennek ellenére továbbra is preferálják a kereskedelmi CA-kat, mégpedig a következő okokból:

  • Extended Validation (EV) a szervezetet mutatja a címsorban (a Chrome már 2019 óta nem prominens módon jeleníti meg).
  • Wildcard sok aldomainhez bár a Let's Encrypt is már támogat wildcardokat DNS-01-en keresztül.
  • Warranty a CA pénzügyi felelőssége feltörés esetén.
  • Compliance / audit néhány iparágnak külső követelményei vannak.

A legtöbb weboldalhoz elég a Let's Encrypt vagy egy másik ingyenes CA (ZeroSSL, Buypass).

Lejárat monitorozás biztonsági hálóként

Még ha van is automatikus megújításod, a lejárat monitorozása biztosításként működik. A megújítás ugyanis több okból is hibázhat:

  • rate limit a CA részéről (Let's Encrypt: 5 duplikátum / 7 nap)
  • DNS változás, ami eltöri az ACME challenge-et
  • tűzfal szabály, ami blokkolja a 80-as portot (HTTP-01 challenge)
  • a certbot folyamat vagy a cron összeomlása, amit senki nem vett észre

Az ePulz.io minden ellenőrzött endpoint lejáratát követi, és 30, 14, 7, 3 és 1 nappal a lejárat előtt riasztást küld. Elég egy zöld jel, hogy a cert időben megújult - és biztos lehetsz benne, hogy az automatika működik.

Aktiváld az SSL monitorozást

Riasztás 30/14/7/3/1 nappal a lejárat előtt. Konfiguráció nélkül, DNS változás nélkül. 7 nap ingyen.

Monitoring indítása →

Megosztás: Link másolva

Próbálja ki az ePulz.io-t ingyen - 7 nap bankkártya nélkül.

Fiók létrehozása