A Let's Encrypt működése és a megújítási problémák

Thursday, February 13, 2025

Cégünk az Infotechna Kft a díjmentesen használható Let's Encrypt SSL tanúsítvány használatát lehetővé teszi ügyfelei számára, de mielőtt beálítják, jérjük olvassák el tájékoztatónkat:

Let's Encrypt egy ingyenes, automatizált tanúsítványkiadó (CA), amely az ACME protokollt (Automated Certificate Management Environment) használja SSL/TLS tanúsítványok kiadására és kezelésére. Célja, hogy egyszerűvé és elérhetővé tegye a webes titkosítást. Íme a működésének fő lépései:

1. Domain tulajdonjog igazolása

A Let's Encrypt csak akkor ad ki tanúsítványt, ha a kérő igazolja, hogy rendelkezik a domain felett. Ezt úgy valósítja meg, hogy a kliens (pl. Certbot) "challenge" (kihívás) típusú feladatot teljesít:

  • HTTP-01 kihívás: A kliens létrehoz egy speciális fájlt a szerveren, amelyet a Let's Encrypt ellenőriz.

  • DNS-01 kihívás: A kliens hozzáad egy TXT rekordot a domain DNS-be.

  • TLS-SNI-01/02 (elavult, biztonsági okokból már nem használatos).

2. Tanúsítvány kiállítása

Ha a kihívás sikerül, a Let's Encrypt kiadja a tanúsítványt, amelyet a kliens telepít a szerverre. A tanúsítványok 90 napig érvényesek, így rendszeres megújításra van szükség.

3. Automatikus megújítás

A Certbot és más ACME-kliensek beállíthatók úgy, hogy automatikusan megújítsák a tanúsítványt, mielőtt lejárna (általában 30 nappal előtte). A folyamat ugyanaz, mint a kiadás: a kliens végrehajtja a kihívást, és frissíti a tanúsítványt.


Mikor nem tud megújulni a tanúsítvány?

A megújítás akkor meghiúsulhat, ha a folyamat során valamilyen akadály lép fel:

1. Kihívás sikertelen

  • HTTP-01:

    • A szerver nem elérhető vagy blokkolja a Let's Encrypt IP-címeit.

    • .well-known/acme-challenge könyvtár nem érhető el nyilvánosan.

    • Tűzfal/Proxy miatt a kérés nem jut el a célhoz.

  • DNS-01:

    • A DNS rekord nem frissült időben (pl. lassú DNS propagáció).

    • Hibás TXT rekord (pl. elírt token).

    • DNS szolgáltató API-jával kapcsolatos hibák (ha automatizált megújítás van).

2. Rate limit túllépése

A Let's Encrypt szigorú korlátozásokat alkalmaz a visszaélések elkerülése érdekében:

  • Tanúsítványok száma domainenként/héten: Legfeljebb 50 tanúsítvány egy domainre és aldomainjeire.

  • Duplikált tanúsítványok: Ugyanazon domainekre nem állítható ki új tanúsítvány 7 napon belül.

  • Failed validations: Túl sok sikertelen kihívás esetén ideiglenes blokkolás.

3. Konfigurációs hibák

  • A tanúsítvány útvonalai vagy fájljogosultságok helytelenek a szerveren.

  • A cron job vagy timer (pl. systemd) nem fut, így a megújítási parancs nem aktiválódik.

  • A web szerver (pl. Nginx, Apache) nincs újraindítva a tanúsítvány frissítése után.

4. Domain változások

  • A domain lejárt vagy át lett irányítva más szolgáltatóhoz, de a DNS nincs frissítve.

  • A tanúsítvány olyan domainre vagy aldomainre vonatkozik, amely már nem létezik.

5. Biztonsági problémák

  • A tanúsítvány visszavonásra került (pl. privát kulcs kompromittálódott), és a megújítás blokkolva van.

  • Az ACME kliens elavult és nem támogatja a legújabb biztonsági protokollokat.


Megelőzési tippek

  1. Ellenőrizze a naplókat (journalctl -u certbot vagy /var/log/letsencrypt).

  2. Tesztelje a megújítást manuálisan (certbot renew --dry-run).

  3. Frissítse az ACME klienst és a szerver szoftvereket.

  4. Használjon monitorozó eszközöket (pl. cron job értesítők) a lejárat közeledtére.

A Let's Encrypt megbízható, de a folyamat automatizálásához kritikus a helyes konfiguráció és a rendszeres ellenőrzés.