{"copy":"M\u00e1sol\u00e1s","expand":"R\u00e9szletek megjelen\u00edt\u00e9se","collapse":"Bez\u00e1r\u00e1s","copy_success":"M\u00e1solva!","copy_error":"Sikertelen m\u00e1sol\u00e1s!"}

TLS tanúsítvány megszerzése Linuxon az ACME protokoll segítségével

Az alábbi útmutató segít a tanúsítványok automatikus kiállításában és azok telepítésében linuxos szerverére a Certbot tanúsítványkezelő és -megújító eszköz segítségével. A leírás Apache webszerverre készült, azonban a Certbot Nginx, Haproxy és Plesk környezetben is használható. A Certbot nyílt forráskódú szoftver, ezért szabadon elérhető.

Előkészületek a tanúsítvány megszerzéséhez

Az ACME használata nagyon egyszerű, azonban némi előkészítést igényel. Mielőtt elkezdené használni, kérjük, olvassa el az alábbi részeket.

Hozzáférések beszerzése az autentikációhoz

A DigiCert ACME implementációja external account binding (EAB) autentikációt használ, ami azt jelenti, hogy saját hozzáférési adatokat kap a DigiCerthez. Ezeket az ACME hozzáféréseket (ACME credentials) egyszerűen létrehozhatja az SSLmarket ügyfélfiókjában.

Az ACME hozzáférések egy Key Identifier-ből (kulcsazonosító) és egy HMAC key-ből állnak, amely az Ön titkos kulcsa az adott ügyfélfiókhoz való hitelesítéshez. Ezekre az adatokra, valamint az ACME endpoint URL-jére szüksége lesz az ACME kliens (Certbot) konfigurálásához.

Figyelem: A tanúsítvány típusa, érvényessége és a szervezet kombinációja alapján minden esetben egyedi KID és HMAC kulcs jön létre. Ezek biztonságos tárolása az Ön felelőssége.

A tanúsítványok hitelesítésének összefoglalása

Minden DigiCert által kiadott tanúsítvány hitelesített. Egyes tanúsítványok minimális ellenőrzést igényelnek (DV), míg mások szervezeti hitelesítést (OV és EV). Az ACME esetében sincs ez másképp.

  • A DV tanúsítványok azonnal kiadhatók; elegendő létrehozni az ACME hozzáféréseket a DV termékhez és használni azokat. A DCV ellenőrzés HTTP-01 módszerrel történik, a tanúsítvány azonnal kiadásra kerül.
  • Az OV és EV tanúsítványok hitelesített szervezetet és a hozzá tartozó, ellenőrzött domaint igényelnek. Amennyiben a hitelesítés nem fejeződik be, az ACME kérés sem teljesül.
    • A domainek automatikusan ellenőrizhetők HTTP-01 módszerrel, vagy előzetesen DNS vagy e-mail segítségével (ez esetben vegye fel velünk a kapcsolatot). A DCV folyamata megegyezik a megszokott eljárással.
    • A szervezetet a tanúsítvány igénylése előtt hitelesíteni kell, különben a kérés várakozni fog, ami időtúllépéshez vezethet. Javasoljuk, hogy az ACME fiók aktiválása után várja meg a DigiCert általi szervezeti ellenőrzést, és szükség esetén egyeztessen az SSLmarket támogatásával.

OV és EV tanúsítványok esetén az ACME használata a szervezet hitelesítése után lehetséges (a domain- és szervezeti ellenőrzés 13 hónapig érvényes).

Certbot

A Certbot a legelterjedtebb ACME kliens, amely támogatja a főbb linuxos webszervereket.

A Certbot előkészítése a szerveren

A Certbot csomag gyakran előre telepítve van a linux disztribúciókban, azonban ezt az alapértelmezett csomagot el kell távolítani. A DigiCert EAB ACME használatához a Snap csomagot szükséges alkalmazni, más változatok nem feltétlenül működnek megfelelően. A telepítés az alábbi paranccsal történik:

snap install certbot --classic

A Certbot számos webszervert támogat. A használt típust paraméterrel adhatja meg, például --apache vagy --nginx. Más környezet esetén javasoljuk a hivatalos dokumentáció áttekintését.

Tanúsítvány megszerzése és telepítése

A Certbot használatára számos példa található az interneten, azonban a DigiCert ACME EAB módja miatt a parancsot ki kell egészíteni az ACME URL-lel és a két ACME hozzáféréssel. Ezek nélkül a kérés nem fog működni.

A terminálban indítsa el a tanúsítvány igénylését az alábbi paranccsal:
sudo certbot --apache --register-unsafely-without-email --server URL --eab-kid xxxxxx --eab-hmac-key yyyyyy -d www.domainneve.hu


A parancs paramétereinek magyarázata:

  • Certbot – elindítja a Certbot alkalmazást.
  • --apache – az Apache plugin használata, amely automatikusan telepíti a tanúsítványt.
  • --register-unsafely-without-email – kihagyja az e-mail cím megadását.
  • --server – megadja az ACME szervert, pl. https://acme.digicert.com/v2/acme/directory.
  • -d – a teljes domain név, amelyre a tanúsítvány készül. Több domain (SAN) is megadható, ha a tanúsítvány támogatja.

A parancs futtatása után a rendszer rákérdez, hogy szeretné-e azonnal engedélyezni a HTTP → HTTPS átirányítást: Output
Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access.
-------------------------------------------------------------------------------
1: No redirect - Make no further changes to the webserver configuration.
2: Redirect - Make all requests redirect to secure HTTPS access.
-------------------------------------------------------------------------------

Válassza ki a megfelelő opciót, majd nyomja meg az ENTER billentyűt. A kiválasztott beállítás életbe lép, és a webszerver újraindítása után betöltődik. A folyamat végén visszajelzést kap a sikeres kiállításról és a tanúsítványok elérési útjáról.

A Certbot automatikusan telepíti a szükséges Intermediate tanúsítványt. A telepítés ellenőrzéséhez használja online eszközünket az SSL tanúsítvány ellenőrzéséhez.

ACME.sh

A DigiCert ACME az ACME.sh eszközzel is használható. Ez a megoldás „könnyebb”, kevesebb függőséget igényel a szerveren.

Hozzon létre egy külön rendszerfelhasználót a futtatáshoz: useradd -r -s /bin/bash -m -d /home/acmeuser acmeuser mkdir -p /home/acmeuser/.acme.sh chown -R acmeuser:acmeuser /home/acmeuser/.acme.sh echo 'acmeuser ALL=(ALL) NOPASSWD: /usr/sbin/service nginx reload' | sudo tee /etc/sudoers.d/acmeuser

majd lépjen be a felhasználóval: sudo su - acmeuser

Az acme.sh telepítése

Töltse le és futtassa az ACME klienst: wget https://get.acme.sh -O acme.sh
sh acme.sh

  • telepíti a szkriptet
  • beállítja a cron feladatot

A tanúsítványkiadó regisztrálása: acme.sh --register-account --server https://one.digicert.com/mpki/api/v1/acme/v2/directory --eab-kid xxxxxx --eab-hmac-key yyyyyy

Tanúsítvány igénylése

acme.sh --issue --server https://one.digicert.com/mpki/api/v1/acme/v2/directory -d pelda.domain.hu --days 365 -w /www/webroot --key-file /etc/nginx/ssl/domain.key --fullchain-file /etc/nginx/ssl/domain.cer --force --log --reloadcmd "sudo systemctl reload nginx"

Kiadott tanúsítványok listája: acme.sh --list

Hasznos volt Önnek ez a cikk?