Podrobné vysvetlenie toho, ako funguje výzva Let’s Encrypt DNS-01 (alebo validácia DNS), si prečítajte v článku s názvom Čo je to výzva na šifrovanie DNS-01 a ako ju použiť na získanie certifikátov SSL.
V tomto článku vám ukážeme, ako použiť overenie Let’s Encrypt DNS na získanie certifikátu SSL pre názov vašej domény pomocou doplnku Certbot a Certbot CloudFlare DNS.
Téma obsahu:
- Správa vašej domény pomocou CloudFlare DNS
- Inštalácia doplnku Certbot a Certbot CloudFlare na Ubuntu/Debian
- Inštalácia doplnku Certbot a Certbot CloudFlare na Fedore
- Inštalácia doplnku Certbot a Certbot CloudFlare na RHEL/AlmaLinux/Rocky Linux/CentOS Stream
- Kontrola, či sú Certbot a Certbot CloudFlare Plugin správne nainštalované
- Generovanie tokenu CloudFlare API
- Bezpečné uloženie tokenu CloudFlare API na počítači/serveri
- Generovanie certifikátu SSL pomocou overenia DNS Certbot CloudFlare
- Zoznam Let's Encrypt SSL Certificates Using Certbot
- Obnovenie certifikátov Let's Encrypt SSL pomocou Certbotu
- Záver
- Referencie
Správa vašej domény pomocou CloudFlare DNS
Ak chcete získať certifikát Let’s Encrypt SSL pomocou overenia DNS CloudFlare, musíte mať účet CloudFlare a vaša doména musí používať CloudFlare DNS. Môžeš vytvorte si zadarmo účet CloudFlare a služba CloudFlare DNS je tiež zadarmo.
Ak chcete spravovať svoju doménu pomocou služby CloudFlare DNS, môžete vykonať jeden z nasledujúcich krokov:
- Zaregistrujte si svoju doménu od CloudFlare
- Preneste svoju doménu do CloudFlare
- Zmeňte DNS nameserver názvu vašej domény na CloudFlare DNS nameserver z hlavného panela vášho registrátora domény
Nemusíte si kupovať doménu od CloudFlare ani prenášať doménu do CloudFlare, aby ste ju mohli spravovať pomocou služby CloudFlare DNS. Stačí zmeniť nameserver svojej domény na DNS nameserver CloudFlare z dashboardu vášho registrátora domény (odkiaľ ste si doménu kúpili) a spravovať svoju doménu od CloudFlare. Ďalšie informácie o zmene názvového servera vašej domény na názvový server DNS CloudFlare nájdete v tomto článku.
Inštalácia doplnku Certbot a Certbot CloudFlare na Ubuntu/Debian
Certbot a Certbot CloudFlare plugin sú dostupné v oficiálnom úložisku balíkov Ubuntu/Debian. Môžete ich teda nainštalovať na Ubuntu/Debian veľmi ľahko.
Najprv aktualizujte vyrovnávaciu pamäť balíka APT pomocou nasledujúceho príkazu:
$ sudo apt update
Ak chcete nainštalovať doplnok Certbot a Certbot CloudFlare DNS, spustite nasledujúci príkaz:
$ sudo apt Inštalácia certbot python3-certbot-dns-cloudflare Na potvrdenie inštalácie stlačte „Y“ a potom stlačte
Inštaluje sa doplnok Certbot a Certbot CloudFlare DNS. Dokončenie chvíľu trvá.
V tomto bode by mal byť nainštalovaný doplnok Certbot a Certbot CloudFlare DNS.
Inštalácia doplnku Certbot a Certbot CloudFlare na Fedore
Doplnok Certbot a Certbot CloudFlare je dostupný v oficiálnom úložisku balíkov Fedory a dá sa do Fedory veľmi jednoducho nainštalovať.
Najprv aktualizujte databázu balíkov DNF pomocou nasledujúceho príkazu:
$ sudo dnf makecache
Ak chcete nainštalovať doplnok Certbot a Certbot CloudFlare DNS na Fedore, spustite nasledujúci príkaz:
$ sudo dnf Inštalácia certbot python3-certbot-dns-cloudflare Na potvrdenie inštalácie stlačte „Y“ a potom stlačte
Inštaluje sa doplnok Certbot a Certbot CloudFlare DNS. Dokončenie chvíľu trvá.
V tomto bode by mal byť na Fedore nainštalovaný doplnok Certbot a Certbot CloudFlare DNS.
Inštalácia doplnku Certbot a Certbot CloudFlare na RHEL/AlmaLinux/Rocky Linux/CentOS Stream
Doplnok Certbot CloudFlare DNS nie je dostupný v oficiálnych archívoch balíkov RHEL/AlmaLinux/Rocky Linux/CentOS Stream. Doplnok Certbot CloudFlare DNS je dostupný v úložisku balíkov EPEL. Môžete povoliť úložisko balíkov EPEL na RHEL/AlmaLinux/Rocky Linux/CentOS Stream a odtiaľ nainštalovať doplnok Certbot CloudFlare DNS.
Po povolení úložiska balíkov EPEL aktualizujte vyrovnávaciu pamäť databázy DNF pomocou nasledujúceho príkazu:
$ sudo dnf makecache
Potom nainštalujte doplnok Certbot a Certbot CloudFlare DNS do svojho systému RHEL/AlmaLinux/Rocky Linux/CentOS Stream pomocou nasledujúceho príkazu:
$ sudo dnf Inštalácia certbot python3-certbot-dns-cloudflare Na potvrdenie inštalácie stlačte „Y“ a potom stlačte
Inštaluje sa doplnok Certbot a Certbot CloudFlare DNS. Dokončenie chvíľu trvá.
Ak chcete prijať kľúč GPG z úložiska EPEL, stlačte „Y“ a potom stlačte
V tomto bode by mal byť nainštalovaný doplnok Certbot a Certbot CloudFlare DNS.
Kontrola, či sú Certbot a Certbot CloudFlare Plugin správne nainštalované
Ak chcete skontrolovať, či je na vašom počítači nainštalovaný Certbot, spustite nasledujúci príkaz:
$ certbot --verziaAk je nainštalovaný Certbot, príkaz by mal vytlačiť číslo verzie nainštalovaného Certbota na vašom počítači.
Ako môžete vidieť, na našom stroji Debian máme nainštalovaný Certbot 2.1.0.
Ak chcete skontrolovať, či je na vašom počítači nainštalovaný doplnok Certbot CloudFlare DNS, spustite nasledujúci príkaz:
$ sudo pluginy certbotAk je nainštalovaný doplnok Certbot CloudFlare DNS, mali by ste nájsť „dns-cloudflare“ v zozname doplnkov, ako je označené na nasledujúcej snímke obrazovky:
Generovanie tokenu CloudFlare API
Na overenie vlastníctva domény musí Certbot pridať záznam TXT na doménu, ktorú spravuje server DNS CloudFlare. Na to potrebuje Certbot prístup k tokenu CloudFlare API. Token API pre svoju doménu môžete vytvoriť z ovládacieho panela CloudFlare.
Najprv sa prihláste do svojho účtu CloudFlare. Potom kliknite na ikonu svojho profilu
> Môj profil z pravého horného rohu stránky.
Prejdite do časti „Tokeny API“. [1] a kliknite na „Vytvoriť token“ [2] .
Kliknite na „Použiť šablónu“ v časti „Upraviť DNS zóny“.
V sekcii „Povolenie“ povoľte povolenie „Upraviť“ pre „Zónu DNS“ výberom označených možností z rozbaľovacích ponúk.
Ak spravujete viacero domén pomocou CloudFlare, môžete povoliť úpravu „špecifickej zóny“ v sekcii „Zone Resource“. Povoliť tokenu API upravovať iba jednu zónu je bezpečnejšie ako povoliť tokenu rozhrania API upravovať všetky zóny. Je to preto, že ak je token API kompromitovaný, plocha útoku bude menšia a spôsobí sa menšie poškodenie.
Ak chcete použiť jeden kľúč API na úpravu všetkých vašich domén spravovaných CloudFlare, v sekcii „Zone Resource“ vyberte „All zones“.
Po dokončení konfigurácie tokenu API kliknite na „Pokračovať na súhrn“.
Zobrazí sa súhrn akcií, ktoré môžete vykonať na svojich doménach spravovaných CloudFlare s tokenom API. Kliknite na „Vytvoriť token“.
Mal by sa vytvoriť token rozhrania API. Skopírujte token API na bezpečné miesto, aby ste ho nestratili. Keď opustíte túto stránku, tento token rozhrania API už nebudete môcť nájsť. V prípade, že ho stratíte, musíte vygenerovať nový token API:
LyPCAcOBygX1UMHvcsvBFo41aItm2cCVxnjloZj5
Bezpečné uloženie tokenu CloudFlare API na počítači/serveri
Certbot potrebuje použiť token CloudFlare API na pridanie nového záznamu TXT pre vašu doménu na server DNS CloudFlare. Takže token CloudFlare API musíte uložiť na svojom počítači/serveri. Uloženie tokenu API bez zaistenia správnych povolení na prístup k súborom môže umožniť prístup k tokenu API iným programom/používateľom. Toto z bezpečnostných dôvodov nechcete. V tejto časti vám ukážeme, ako bezpečne uložiť token CloudFlare API na súborovom systéme.
Najprv vytvorte adresár (t.j. ~/.secrets/certbot), do ktorého chcete uložiť kľúč API CloudFlare, a to nasledovne:
$ mkdir -pv ~ / .tajomstvá / certbot
Vytvorte súbor „cloudflare.ini“ v novovytvorenom adresári (t.j. ~/.secrets/certbot) a otvorte ho vo svojom obľúbenom textovom editore (t.j. nano) takto:
$ nano ~ / .tajomstvá / certbot / cloudflare.ini Napíšte nasledujúci riadok do súboru „cloudflare.ini“ a stlačte
Ak chcete zabezpečiť správne prístupové povolenie pre súbor „cloudflare.ini“, spustite nasledujúce príkazy, aby ste sa uistili, že prístup na čítanie a zápis do súboru má iba používateľ root:
$ sudo chown root:root ~ / .tajomstvá / certbot / cloudflare.ini$ sudo chmod 0600 ~ / .tajomstvá / certbot / cloudflare.ini
Ako vidíte, iba používateľ root má oprávnenia na čítanie a zápis do súboru „cloudflare.ini“.
$ ls -lh ~ / .tajomstvá / certbot / cloudflare.ini
Ostatným používateľom, ktorí sa pokúsia prečítať súbor „cloudflare.ini“, sa zobrazí chybové hlásenie „Povolenie odmietnuté“.
$ kat ~ / .tajomstvá / certbot / cloudflare.ini
Generovanie certifikátu SSL pomocou overenia DNS Certbot CloudFlare
Ak chcete vygenerovať certifikát Let’s Encrypt SSL pre názov domény so zástupným znakom „*.nodekite.com“ pomocou overenia DNS CloudFlare, spustite príkaz cerbot takto:
$ sudo certbot určite --dns-cloudflare --dns-cloudflare-poverenia ~ / .tajomstvá / certbot / cloudflare.ini -d * .nodekite.comAk chcete vygenerovať certifikát Let's Encrypt SSL pre názvy domén „nodekite.com“ a „www.nodekite.com” using the CloudFlare DNS validation, use the “-d” option of the certbot command for each domain name as follows:
$ sudo certbot určite --dns-cloudflare --dns-cloudflare-poverenia ~ / .tajomstvá / certbot / cloudflare.ini -d www.nodekite.com -d nodekite.comAk sa zmeny DNS prejavia na populárnych názvových serveroch DNS po celom svete, môžete použiť možnosť „–dns-cloudflare-propagation-seconds“ Certbota na nastavenie počtu sekúnd, počas ktorých má Certbot čakať pred overením DNS. sa vykonáva.
$ sudo certbot určite --dns-cloudflare --dns-cloudflare-poverenia ~ / .tajomstvá / certbot / cloudflare.ini --dns-cloudflare-propagation-seconds 60 -d * .nodekite.com Po spustení príkazu Certbot sa zobrazí výzva na zadanie vašej e-mailovej adresy. Zadajte svoju e-mailovú adresu a stlačte
Stlačte „Y“ a potom stlačte
Stlačte „Y“ a potom stlačte
Vydáva sa certifikát Let's Encrypt SSL. Dokončenie chvíľu trvá.
V tomto okamihu je vydaný certifikát Let’s Encrypt SSL. Mala by sa zobraziť úplná cesta, kde sú uložené súbory certifikátu SSL. Tiež by sa mal zobraziť dátum vypršania platnosti certifikátu SSL.
Zoznam Let's Encrypt SSL Certificates Using Certbot
Všetky certifikáty Let's Encrypt SSL, ktoré ste vygenerovali pomocou Certbotu, môžete zobraziť pomocou nasledujúceho príkazu:
$ sudo certifikáty certbotAko vidíte, je uvedený vygenerovaný certifikát Let’s Encrypt SSL pre doménu „nodekite.com“. [1] . Pre „nodekite.com“ je vydaný zástupný SSL certifikát [2] doménové meno. Dátum vypršania platnosti certifikátu je 20.03.2024 (platí 89 dní) [3] . Je tu tiež uvedená cesta certifikátu a súkromného kľúča [4] .
Certbot ukladá všetky certifikáty SSL, ktoré ste vygenerovali pre svoje domény, v adresári „/etc/letsencrypt/live“ v ich príslušnom priečinku.
$ sudo ls -Rlh / atď / letsencrypt / naživo /
Obnovenie certifikátov Let's Encrypt SSL pomocou Certbotu
Certbot automaticky obnovuje všetky certifikáty Let’s Encrypt SSL, ktoré ste vygenerovali pomocou overenia DNS CloudFlare.
Ak chcete otestovať, či funguje funkcia automatického obnovenia certifikátov Let’s Encrypt SSL, spustite nasledujúci príkaz:
$ sudo obnoviť certbot --suchý chodAkcia automatického obnovenia je simulovaná pre každý z certifikátov Let’s Encrypt SSL, ktoré ste vygenerovali.
Ak budú testy úspešné, budete zablahoželať. Úspešný test znamená, že SSL certifikáty budú automaticky obnovené pred uplynutím ich platnosti. Nebudete musieť robiť nič iné.
Aby funkcia automatického obnovenia Certbot fungovala, musí byť na vašom počítači/serveri povolený a aktívny systémový časovač „cerbot.timer“.
Pomocou nasledujúceho príkazu môžete skontrolovať, či je systémový časovač „cerbot.timer“ povolený a aktívny:
$ sudo systemctl status certbot.timerAko vidíte, systémový časovač „certbot.timer“ je povolený (automaticky sa spustí pri štarte) [1] a aktívny [2] . Certbot skontroluje, či je potrebné obnoviť nejaký SSL certifikát už po 11 minútach (podľa nasledujúcej snímky obrazovky) a obnoví SSL certifikáty, ktorých platnosť čoskoro vyprší [3] .
Ak chcete manuálne skontrolovať, či sa blíži koniec platnosti niektorého certifikátu SSL a obnoviť platnosť certifikátov SSL, ktorej platnosť sa končí, spustite nasledujúci príkaz:
$ sudo obnoviť certbotV našom prípade nie je ukončená platnosť žiadneho certifikátu SSL. Certbot sa teda nepokúsil obnoviť žiadny certifikát SSL.
Ak chcete prinútiť Certbot, aby obnovil certifikát SSL konkrétnej domény (povedzme *.nodekite.com), spustite nasledujúci príkaz:
$ sudo certbot určite --vynútiť-obnoviť -d * .nodekite.com Stlačte „1“ a stlačte
SSL certifikát by sa mal obnoviť.
Záver
Ak chcete získať certifikát Let’s Encrypt SSL pomocou overenia DNS CloudFlare pomocou Certbot, potrebujete prístup k tokenu CloudFlare API. V tomto článku sme vám ukázali, ako vytvoriť token CloudFlare API pre vašu doménu a bezpečne ho uložiť na vašom počítači/serveri, aby ste k nemu mali v prípade potreby pristupovať pomocou Certbotu. Tiež sme vám ukázali, ako nainštalovať Certbot a doplnok Certbot CloudFlare DNS na najobľúbenejšie distribúcie Linuxu. Ukázali sme vám, ako pomocou overenia DNS Certbot a CloudFlare vygenerovať zástupné SSL certifikáty Let’s Encrypt, ako aj certifikáty SSL pre jednotlivé domény. Nakoniec sme vám ukázali, ako automaticky a manuálne obnoviť certifikáty Let’s Encrypt SSL pomocou Certbotu.