A Let’s Encrypt DNS-01 kihívás (vagy DNS-ellenőrzés) működésével kapcsolatos részletes magyarázatért olvassa el a Mi az a Let’s Encrypt DNS-01 Challenge és hogyan kell használni az SSL-tanúsítványok beszerzéséhez című cikket.
Ebben a cikkben bemutatjuk, hogyan használhatja a Let’s Encrypt DNS-ellenőrzést, hogy SSL-tanúsítványt kapjon domainnevéhez a Certbot és a Certbot CloudFlare DNS-bővítmény használatával.
Tartalom témája:
- Domain kezelése CloudFlare DNS-sel
- A Certbot és a Certbot CloudFlare beépülő modul telepítése Ubuntu/Debian rendszeren
- A Certbot és a Certbot CloudFlare beépülő modul telepítése a Fedorán
- A Certbot és a Certbot CloudFlare beépülő modul telepítése RHEL/AlmaLinux/Rocky Linux/CentOS Stream rendszeren
- Annak ellenőrzése, hogy a Certbot és a Certbot CloudFlare beépülő modul megfelelően telepítve van-e
- CloudFlare API token generálása
- A CloudFlare API token biztonságos tárolása a számítógépen/szerveren
- SSL-tanúsítvány generálása a Certbot CloudFlare DNS-ellenőrzés segítségével
- Az SSL-tanúsítványok titkosítása Certbot használatával
- A Let’s Encrypt SSL-tanúsítványok megújítása Certbot használatával
- Következtetés
- Hivatkozások
Domain kezelése CloudFlare DNS-sel
Ahhoz, hogy a Let’s Encrypt SSL-tanúsítványt a CloudFlare DNS-ellenőrzéssel kapja meg, CloudFlare-fiókkal kell rendelkeznie, és domainjének a CloudFlare DNS-t kell használnia. tudsz hozzon létre ingyenes CloudFlare-fiókot és a CloudFlare DNS szolgáltatás is ingyenesen használható.
Domainjének CloudFlare DNS segítségével történő kezeléséhez tegye a következők egyikét:
- Regisztrálja domainjét a CloudFlare szolgáltatásból
- Vigye át domainjét a CloudFlare szolgáltatásba
- Módosítsa a domainnév DNS-névszerverét CloudFlare DNS-névszerverre a domainregisztrátor irányítópultján
Nem kell domaint vásárolnia a CloudFlare-től, vagy nem kell domaint átvinnie a CloudFlare-be, hogy kezelje azt a CloudFlare DNS-szolgáltatással. Csak módosíthatja a domain névszerverét a CloudFlare DNS névszerverre a domain regisztrátorának irányítópultján (ahonnan vásárolta a domaint), és kezelheti a domainjét a CloudFlare szolgáltatásból. Ha további információra van szüksége a domain névszerverének CloudFlare DNS-névszerverre való módosításáról, olvassa el ezt a cikket.
A Certbot és a Certbot CloudFlare beépülő modul telepítése Ubuntu/Debian rendszeren
A Certbot és a Certbot CloudFlare bővítmény elérhető az Ubuntu/Debian hivatalos csomagtárában. Tehát nagyon egyszerűen telepítheti őket Ubuntu/Debianra.
Először frissítse az APT csomagtár gyorsítótárát a következő paranccsal:
$ sudo találó frissítés
A Certbot és a Certbot CloudFlare DNS-bővítmény telepítéséhez futtassa a következő parancsot:
$ sudo alkalmas telepítés certbot python3-certbot-dns-cloudflare A telepítés megerősítéséhez nyomja meg az „Y” gombot, majd nyomja meg a gombot
A Certbot és a Certbot CloudFlare DNS beépülő modul telepítése folyamatban van. Eltart egy ideig, amíg elkészül.
Ezen a ponton telepíteni kell a Certbot és a Certbot CloudFlare DNS-bővítményt.
A Certbot és a Certbot CloudFlare beépülő modul telepítése a Fedorán
A Certbot és a Certbot CloudFlare bővítmény elérhető a Fedora hivatalos csomagtárában, és nagyon egyszerűen telepíthető a Fedorára.
Először frissítse a DNF-csomag adatbázist a következő paranccsal:
$ sudo dnf makecache
A Certbot és a Certbot CloudFlare DNS-bővítmény Fedorán való telepítéséhez futtassa a következő parancsot:
$ sudo dnf telepítés certbot python3-certbot-dns-cloudflare A telepítés megerősítéséhez nyomja meg az „Y” gombot, majd nyomja meg a gombot
A Certbot és a Certbot CloudFlare DNS-bővítmény telepítése folyamatban van. Eltart egy ideig, amíg elkészül.
Ezen a ponton a Certbot és a Certbot CloudFlare DNS beépülő modult telepíteni kell a Fedorára.
A Certbot és a Certbot CloudFlare beépülő modul telepítése RHEL/AlmaLinux/Rocky Linux/CentOS Stream rendszeren
A Certbot CloudFlare DNS-bővítmény nem érhető el az RHEL/AlmaLinux/Rocky Linux/CentOS Stream hivatalos csomagtárolóiban. A Certbot CloudFlare DNS-bővítmény elérhető az EPEL csomagtárában. Engedélyezheti az EPEL csomagtárat az RHEL/AlmaLinux/Rocky Linux/CentOS Streamen, és onnan telepítheti a Certbot CloudFlare DNS-bővítményt.
Miután engedélyezte az EPEL csomagtárat, frissítse a DNF-adatbázis gyorsítótárát a következő paranccsal:
$ sudo dnf makecache
Ezután telepítse a Certbot és a Certbot CloudFlare DNS-bővítményt RHEL/AlmaLinux/Rocky Linux/CentOS Stream rendszerére a következő paranccsal:
$ sudo dnf telepítés certbot python3-certbot-dns-cloudflare A telepítés megerősítéséhez nyomja meg az „Y” gombot, majd nyomja meg a gombot
A Certbot és a Certbot CloudFlare DNS beépülő modul telepítése folyamatban van. Eltart egy ideig, amíg elkészül.
Az EPEL adattár GPG kulcsának elfogadásához nyomja meg az „Y” gombot, majd nyomja meg a gombot
Ezen a ponton telepíteni kell a Certbot és a Certbot CloudFlare DNS-bővítményt.
Annak ellenőrzése, hogy a Certbot és a Certbot CloudFlare beépülő modul megfelelően telepítve van-e
Annak ellenőrzéséhez, hogy a Certbot telepítve van-e a számítógépen, futtassa a következő parancsot:
$ certbot --változatHa a Certbot telepítve van, a parancsnak ki kell nyomtatnia a telepített Certbot verziószámát a számítógépen.
Amint látja, a Certbot 2.1.0 telepítve van a Debian gépünkön.
Annak ellenőrzéséhez, hogy a Certbot CloudFlare DNS-bővítmény telepítve van-e a számítógépen, futtassa a következő parancsot:
$ sudo certbot bővítményekHa a Certbot CloudFlare DNS-bővítmény telepítve van, a „dns-cloudflare”-t meg kell találnia a bővítmények listájában, ahogy az a következő képernyőképen látható:
CloudFlare API token generálása
A tartomány tulajdonjogának ellenőrzéséhez a Certbotnak hozzá kell adnia egy TXT rekordot a CloudFlare DNS-kiszolgáló által kezelt tartományhoz. Ehhez a Certbotnak hozzá kell férnie a CloudFlare API tokenhez. A CloudFlare irányítópultjáról létrehozhat API-tokkent a domainjéhez.
Először jelentkezzen be CloudFlare-fiókjába. Ezután kattintson a profil ikonjára
> A profilom az oldal jobb felső sarkából.
Keresse meg az „API-tokenek” részt [1] és kattintson a „Token létrehozása” gombra [2] .
Kattintson a „Sablon használata” elemre a „Zóna DNS szerkesztése” részben.
Az „Engedély” részben engedélyezze a „Szerkesztés” engedélyt a „DNS-zóna” számára a megjelölt opciók kiválasztásával a legördülő menükből.
Ha több tartományt kezel a CloudFlare segítségével, engedélyezheti egy „Speciális zóna” módosítását a „Zóna erőforrás” részben. Ha megengedi, hogy egy API token csak egy zónát módosítson, biztonságosabb, mintha az API token az összes zónát módosítsa. Ennek az az oka, hogy ha az API token sérül, a támadási felület kisebb lesz, és kevesebb sebzés történik.
Ha egyetlen API-kulcsot szeretne használni az összes CloudFlare által felügyelt tartomány módosításához, válassza az „Összes zóna” lehetőséget a „Zóna erőforrás” részben.
Ha végzett az API token konfigurálásával, kattintson a „Tovább az összefoglalóhoz” gombra.
Megjelenik az API-tokennel a CloudFlare által kezelt domaineken végrehajtható műveletek összefoglalása. Kattintson a „Token létrehozása” gombra.
Létre kell hozni egy API tokent. Másolja az API tokent biztonságos helyre, hogy ne veszítse el. Ha elhagyja ezt az oldalt, nem fogja többé megtalálni ezt az API-tokkent. Létre kell hoznia egy új API tokent arra az esetre, ha elveszítené:
LyPCAcOBygX1UMHvcsvBFo41aItm2cCVxnjloZj5
A CloudFlare API token biztonságos tárolása a számítógépen/szerveren
A Certbotnak a CloudFlare API tokent kell használnia egy új TXT rekord hozzáadásához a domainhez a CloudFlare DNS-kiszolgálón. Tehát a CloudFlare API tokent a számítógépén/szerverén kell tárolnia. Az API-token tárolása a megfelelő fájl-hozzáférési engedélyek biztosítása nélkül lehetővé teheti a többi program/felhasználó számára, hogy hozzáférjenek az API-tokenhez. Ezt biztonsági okokból nem szeretné. Ebben a részben bemutatjuk, hogyan tárolhatja biztonságosan a CloudFlare API tokent a fájlrendszeren.
Először hozzon létre egy könyvtárat (azaz ~/.secrets/certbot), ahol tárolni kívánja a CloudFlare API-kulcsot az alábbiak szerint:
$ mkdir -pv ~ / .titkok / certbot
Hozzon létre egy „cloudflare.ini” fájlt az újonnan létrehozott könyvtárban (azaz ~/.secrets/certbot), és nyissa meg kedvenc szövegszerkesztőjével (pl. nano) az alábbiak szerint:
$ nano ~ / .titkok / certbot / cloudflare.ini Írja be a következő sort a „cloudflare.ini” fájlba, és nyomja meg a gombot
A „cloudflare.ini” fájl megfelelő hozzáférési engedélyének biztosításához futtassa a következő parancsokat, hogy megbizonyosodjon arról, hogy csak a root felhasználónak van olvasási és írási hozzáférése a fájlhoz:
$ sudo chown root:root ~ / .titkok / certbot / cloudflare.ini$ sudo chmod 0600 ~ / .titkok / certbot / cloudflare.ini
Mint látható, csak a root felhasználó rendelkezik olvasási és írási jogosultsággal a „cloudflare.ini” fájlhoz.
$ ls -lh ~ / .titkok / certbot / cloudflare.ini
Más felhasználók, akik megpróbálják elolvasni a „cloudflare.ini” fájlt, „Engedély megtagadva” hibaüzenetet kapnak.
$ macska ~ / .titkok / certbot / cloudflare.ini
SSL-tanúsítvány generálása a Certbot CloudFlare DNS-ellenőrzés segítségével
A Let’s Encrypt SSL-tanúsítvány létrehozásához a „*.nodekite.com” helyettesítő karakteres tartománynévhez a CloudFlare DNS-ellenőrzéssel, futtassa a cerbot parancsot az alábbiak szerint:
$ sudo certbot certonly --dns-cloudflare --dns-cloudflare-credentials ~ / .titkok / certbot / cloudflare.ini -d * .nodekite.comA Let’s Encrypt SSL tanúsítvány létrehozása a „nodekite.com” és a „www.nodekite.com” using the CloudFlare DNS validation, use the “-d” option of the certbot command for each domain name as follows” domainnevekhez:
$ sudo certbot certonly --dns-cloudflare --dns-cloudflare-credentials ~ / .titkok / certbot / cloudflare.ini -d www.nodekite.com -d nodekite.comHa a DNS-módosítások sok időt vesz igénybe, amíg elterjednek a világszerte népszerű DNS-névszervereken, a Certbot „–dns-cloudflare-propagation-seconds” opciójával beállíthatja, hogy a Certbot hány másodpercet várjon a DNS-ellenőrzés előtt. előadott.
$ sudo certbot certonly --dns-cloudflare --dns-cloudflare-credentials ~ / .titkok / certbot / cloudflare.ini --dns-cloudflare-propagation-seconds 60 -d * .nodekite.com A Certbot parancs futtatása után meg kell adnia az e-mail címét. Írja be e-mail címét és nyomja meg
Nyomja meg az „Y” gombot, majd nyomja meg a gombot
Nyomja meg az „Y” gombot, majd nyomja meg a gombot
A Let’s Encrypt SSL tanúsítvány kiadása folyamatban van. Eltart egy ideig, amíg elkészül.
Ekkor adják ki a Let’s Encrypt SSL tanúsítványt. Meg kell jelennie az SSL-tanúsítványfájlok mentésének teljes elérési útjának. Az SSL-tanúsítvány lejárati dátumát is meg kell jeleníteni.
Az SSL-tanúsítványok titkosítása Certbot használatával
A következő paranccsal felsorolhatja az összes Let’s Encrypt SSL-tanúsítványt, amelyet a Certbot segítségével generált:
$ sudo certbot tanúsítványokAmint láthatja, a „nodekite.com” domainhez generált Let’s Encrypt SSL-tanúsítvány szerepel a listán [1] . Helyettesítő karakteres SSL-tanúsítványt adnak ki a „nodekite.com” számára [2] domain név. A tanúsítvány lejárati ideje 2024-03-20 (érvényes 89 napig) [3] . Itt található a tanúsítvány és a privát kulcs elérési útja is [4] .
A Certbot a tartományaihoz létrehozott összes SSL-tanúsítványt a megfelelő mappában található „/etc/letsencrypt/live” könyvtárban tárolja.
$ sudo ls -Rlh / stb / letsencrypt / élő /
A Let’s Encrypt SSL-tanúsítványok megújítása Certbot használatával
A Certbot automatikusan megújítja az összes Let’s Encrypt SSL-tanúsítványt, amelyet a CloudFlare DNS-ellenőrzéssel generált.
Annak teszteléséhez, hogy a Let’s Encrypt SSL-tanúsítványok automatikus megújítási funkciója működik-e, futtassa a következő parancsot:
$ sudo certbot megújítani --szárazon futásAz automatikus megújítási műveletet a rendszer az Ön által generált Let’s Encrypt SSL-tanúsítványok mindegyikénél szimulálja.
Ha a tesztek sikeresek, akkor gratulálunk. A sikeres teszt azt jelenti, hogy az SSL-tanúsítványok lejáratuk előtt automatikusan megújulnak. Nem kell mást tenned.
A Certbot automatikus megújítási funkciójának működéséhez a „cerbot.timer” rendszeridőzítőnek engedélyezve és aktívnak kell lennie a számítógépen/szerveren.
A következő paranccsal ellenőrizheti, hogy a „cerbot.timer” systemd időzítő engedélyezve van-e és aktív-e:
$ sudo systemctl állapot certbot.timerAmint láthatja, a „certbot.timer” rendszeridőzítő engedélyezve van (automatikusan elindul a rendszerindításkor) [1] és aktív [2] . A Certbot már 11 perc elteltével ellenőrzi, hogy szükség van-e SSL-tanúsítvány megújítására (a következő képernyőkép szerint), és megújítja a lejáró SSL-tanúsítványokat [3] .
Annak manuális ellenőrzéséhez, hogy valamelyik SSL-tanúsítvány hamarosan lejár-e, és megújítsa a lejáró SSL-tanúsítványokat, futtassa a következő parancsot:
$ sudo certbot megújítaniEsetünkben egyetlen SSL-tanúsítvány sem fog lejárni. Tehát a Certbot nem kísérelte meg az SSL-tanúsítvány megújítását.
Ha arra szeretné kényszeríteni a Certbotot, hogy megújítsa egy adott tartomány SSL-tanúsítványát (tegyük fel, hogy *.nodekite.com), futtassa a következő parancsot:
$ sudo certbot certonly --erő-megújítás -d * .nodekite.com Nyomja meg az „1” gombot, majd nyomja meg a gombot
Az SSL tanúsítványt meg kell újítani.
Következtetés
Ahhoz, hogy egy Let’s Encrypt SSL-tanúsítványt kaphasson a CloudFlare DNS-ellenőrzéssel a Certbot használatával, hozzáférésre van szüksége a CloudFlare API tokenhez. Ebben a cikkben bemutattuk, hogyan hozhat létre CloudFlare API tokent a domainjéhez, és hogyan tárolhatja biztonságosan számítógépén/szerverén, hogy szükség esetén hozzáférhessen a Certbot segítségével. Azt is megmutattuk, hogyan telepítheti a Certbotot és a Certbot CloudFlare DNS-bővítményt a legnépszerűbb Linux-disztribúciókra. Megmutattuk, hogyan hozhat létre Let’s Encrypt helyettesítő karakteres SSL-tanúsítványokat, valamint SSL-tanúsítványokat egyedi domainekhez Certbot és CloudFlare DNS-ellenőrzéssel. Végül megmutattuk, hogyan újíthatja meg a Let’s Encrypt SSL-tanúsítványokat a Certbot segítségével automatikusan és manuálisan.