Za detaljno objašnjenje kako funkcionira izazov Let’s Encrypt DNS-01 (ili DNS validacija) pročitajte članak pod naslovom Što je izazov Let’s Encrypt DNS-01 i kako ga koristiti za dobivanje SSL certifikata.
U ovom ćemo vam članku pokazati kako koristiti Let’s Encrypt DNS provjeru valjanosti za dobivanje SSL certifikata za naziv vaše domene pomoću Certbot i Certbot CloudFlare DNS dodatka.
Tema sadržaja:
- Upravljanje vašom domenom uz CloudFlare DNS
- Instaliranje Certbota i Certbot CloudFlare dodatka na Ubuntu/Debian
- Instaliranje Certbota i Certbot CloudFlare dodatka na Fedoru
- Instaliranje Certbota i Certbot CloudFlare dodatka na RHEL/AlmaLinux/Rocky Linux/CentOS Stream
- Provjera jesu li Certbot i Certbot CloudFlare dodatak ispravno instalirani
- Generiranje CloudFlare API tokena
- Sigurno pohranjivanje CloudFlare API tokena na računalu/poslužitelju
- Generiranje SSL certifikata pomoću Certbot CloudFlare DNS Validation
- Navođenje Let's Encrypt SSL certifikata pomoću Certbota
- Obnavljanje Let’s Encrypt SSL certifikata pomoću Certbota
- Zaključak
- Reference
Upravljanje vašom domenom uz CloudFlare DNS
Da biste dobili Let’s Encrypt SSL certifikat pomoću CloudFlare DNS provjere, morate imati CloudFlare račun i vaša domena mora koristiti CloudFlare DNS. Možeš besplatno kreirajte CloudFlare račun a CloudFlare DNS usluga je također besplatna za korištenje.
Da biste upravljali svojom domenom s CloudFlare DNS-om, možete učiniti nešto od sljedećeg:
- Registrirajte svoju domenu iz CloudFlarea
- Prenesite svoju domenu na CloudFlare
- Promijenite DNS poslužitelj naziva svoje domene u CloudFlare DNS poslužitelj imena s nadzorne ploče vašeg registra domene
Ne morate kupiti domenu od CloudFlarea ili prenijeti domenu u CloudFlare da biste njome upravljali s CloudFlare DNS uslugom. Možete jednostavno promijeniti poslužitelj naziva svoje domene u CloudFlare DNS poslužitelj imena s nadzorne ploče registra domene (gdje ste kupili domenu) i upravljati svojom domenom iz CloudFlarea. Za više informacija o promjeni poslužitelja naziva vaše domene u CloudFlare DNS poslužitelj imena pročitajte ovaj članak.
Instaliranje Certbota i Certbot CloudFlare dodatka na Ubuntu/Debian
Certbot i Certbot CloudFlare dodatak dostupni su u službenom repozitoriju paketa Ubuntu/Debian. Dakle, možete ih vrlo lako instalirati na Ubuntu/Debian.
Najprije ažurirajte predmemoriju repozitorija APT paketa sljedećom naredbom:
$ sudo prikladno ažuriranje
Da biste instalirali Certbot i Certbot CloudFlare DNS dodatak, pokrenite sljedeću naredbu:
$ sudo prikladan instalirati certbot python3-certbot-dns-cloudflare Za potvrdu instalacije pritisnite “Y” i zatim pritisnite
Certbot i Certbot CloudFlare DNS dodatak se instaliraju. Potrebno je neko vrijeme da se završi.
U ovom trenutku trebali bi biti instalirani Certbot i Certbot CloudFlare DNS dodatak.
Instaliranje Certbota i Certbot CloudFlare dodatka na Fedoru
Certbot i Certbot CloudFlare dodatak dostupni su u službenom repozitoriju paketa Fedore i mogu se vrlo jednostavno instalirati na Fedoru.
Najprije ažurirajte bazu podataka DNF paketa sljedećom naredbom:
$ sudo dnf makecache
Da biste instalirali Certbot i Certbot CloudFlare DNS dodatak na Fedoru, pokrenite sljedeću naredbu:
$ sudo dnf instalirati certbot python3-certbot-dns-cloudflare Za potvrdu instalacije pritisnite “Y” i zatim pritisnite
Certbot i Certbot CloudFlare DNS dodatak se instaliraju. Potrebno je neko vrijeme da se završi.
U ovom trenutku, Certbot i Certbot CloudFlare DNS dodatak trebaju biti instalirani na Fedori.
Instaliranje Certbota i Certbot CloudFlare dodatka na RHEL/AlmaLinux/Rocky Linux/CentOS Stream
Certbot CloudFlare DNS dodatak nije dostupan u službenim spremištima paketa RHEL/AlmaLinux/Rocky Linux/CentOS Stream. Certbot CloudFlare DNS dodatak dostupan je u repozitoriju paketa EPEL. Možete omogućiti EPEL spremište paketa na RHEL/AlmaLinux/Rocky Linux/CentOS Stream i odatle instalirati Certbot CloudFlare DNS dodatak.
Nakon što omogućite repozitorij paketa EPEL, ažurirajte predmemoriju DNF baze podataka sljedećom naredbom:
$ sudo dnf makecache
Zatim instalirajte Certbot i Certbot CloudFlare DNS dodatak na vaš RHEL/AlmaLinux/Rocky Linux/CentOS Stream sustav sljedećom naredbom:
$ sudo dnf instalirati certbot python3-certbot-dns-cloudflare Za potvrdu instalacije pritisnite “Y” i zatim pritisnite
Certbot i Certbot CloudFlare DNS dodatak se instaliraju. Potrebno je neko vrijeme da se završi.
Za prihvaćanje GPG ključa EPEL repozitorija pritisnite “Y”, a zatim pritisnite
U ovom trenutku trebali bi biti instalirani Certbot i Certbot CloudFlare DNS dodatak.
Provjera jesu li Certbot i Certbot CloudFlare dodatak ispravno instalirani
Kako biste provjerili je li Certbot instaliran na vašem računalu, pokrenite sljedeću naredbu:
$ certbot --verzijaAko je Certbot instaliran, naredba bi trebala ispisati broj verzije instaliranog Certbota na vašem računalu.
Kao što vidite, na našem Debian stroju imamo instaliran Certbot 2.1.0.
Kako biste provjerili je li Certbot CloudFlare DNS dodatak instaliran na vašem računalu, pokrenite sljedeću naredbu:
$ sudo certbot dodaciAko je instaliran Certbot CloudFlare DNS dodatak, trebali biste pronaći 'dns-cloudflare' na popisu dodataka kao što je označeno na sljedećoj snimci zaslona:
Generiranje CloudFlare API tokena
Kako bi potvrdio vlasništvo nad domenom, Certbot mora dodati TXT zapis na domenu kojom upravlja CloudFlare DNS poslužitelj. Za to Certbot treba pristup CloudFlare API tokenu. Možete izraditi API token za svoju domenu s CloudFlare nadzorne ploče.
Prvo se prijavite na svoj CloudFlare račun. Zatim kliknite na ikonu svog profila
> Moj profil iz gornjeg desnog kuta stranice.
Dođite do odjeljka 'API tokeni'. [1] i kliknite na 'Stvori token' [2] .
Kliknite na 'Koristi predložak' u odjeljku 'Uredi DNS zone'.
U odjeljku 'Dozvola' dopustite dozvolu 'Uređivanje' za 'DNS Zonu' odabirom označenih opcija s padajućih izbornika.
Ako upravljate s više domena s CloudFlareom, možete dopustiti izmjenu 'Određene zone' iz odjeljka 'Resursi zone'. Dopuštanje API tokenu da mijenja samo jednu zonu sigurnije je od dopuštanja API tokenu da mijenja sve zone. To je zato što ako je API token ugrožen, površina napada bit će manja i bit će učinjena manja šteta.
Ako želite koristiti jedan API ključ za izmjenu svih vaših domena kojima upravlja CloudFlare, odaberite “Sve zone” u odjeljku “Resurs zone”.
Nakon što završite s konfiguriranjem svog API tokena, kliknite na 'Nastavi na sažetak'.
Prikazat će se sažetak radnji koje možete izvesti na svojim domenama kojima upravlja CloudFlare s API tokenom. Kliknite na 'Stvori token'.
Treba izraditi API token. Kopirajte API token na sigurno mjesto kako ga ne biste izgubili. Nakon što napustite ovu stranicu, više nećete moći pronaći ovaj API token. Morate generirati novi API token u slučaju da ga izgubite:
LyPCAcOBygX1UMHvcsvBFo41aItm2cCVxnjloZj5
Sigurno pohranjivanje CloudFlare API tokena na računalu/poslužitelju
Certbot treba koristiti CloudFlare API token za dodavanje novog TXT zapisa za vašu domenu u CloudFlare DNS poslužitelj. Dakle, morate pohraniti CloudFlare API token na svoje računalo/poslužitelj. Pohranjivanje API tokena bez osiguravanja odgovarajućih dozvola za pristup datotekama može dopustiti drugim programima/korisnicima pristup API tokenu. To nije ono što želite iz sigurnosnih razloga. U ovom odjeljku pokazat ćemo vam kako sigurno pohraniti CloudFlare API token na datotečni sustav.
Prvo stvorite direktorij (tj. ~/.secrets/certbot) u koji želite pohraniti CloudFlare API ključ na sljedeći način:
$ mkdir -pv ~ / .tajne / certbot
Napravite datoteku 'cloudflare.ini' u novostvorenom direktoriju (tj. ~/.secrets/certbot) i otvorite je u svom omiljenom uređivaču teksta (tj. nano) na sljedeći način:
$ nano ~ / .tajne / certbot / cloudflare.ini Upišite sljedeći redak u datoteku “cloudflare.ini” i pritisnite
Kako biste osigurali odgovarajuće dopuštenje pristupa za datoteku 'cloudflare.ini', pokrenite sljedeće naredbe kako biste bili sigurni da samo root korisnik ima pristup za čitanje i pisanje datoteke:
$ sudo žvakati korijen:korijen ~ / .tajne / certbot / cloudflare.ini$ sudo chmod 0600 ~ / .tajne / certbot / cloudflare.ini
Kao što vidite, samo root korisnik ima dopuštenja za čitanje i pisanje u datoteku 'cloudflare.ini'.
$ ls -lh ~ / .tajne / certbot / cloudflare.ini
Ostali korisnici koji pokušaju pročitati datoteku 'cloudflare.ini' dobit će poruku o pogrešci 'Dozvola odbijena'.
$ mačka ~ / .tajne / certbot / cloudflare.ini
Generiranje SSL certifikata pomoću Certbot CloudFlare DNS provjere
Za generiranje Let’s Encrypt SSL certifikata za naziv domene sa zamjenskim znakovima “*.nodekite.com” pomoću CloudFlare DNS provjere, pokrenite naredbu cerbot na sljedeći način:
$ sudo certbot sigurno --dns-cloudflare --dns-cloudflare-vjerodajnice ~ / .tajne / certbot / cloudflare.ini -d * .nodekite.comZa generiranje Let’s Encrypt SSL certifikata za nazive domena “nodekite.com” i “www.nodekite.com” using the CloudFlare DNS validation, use the “-d” option of the certbot command for each domain name as follows:
$ sudo certbot sigurno --dns-cloudflare --dns-cloudflare-vjerodajnice ~ / .tajne / certbot / cloudflare.ini -d www.nodekite.com -d nodekite.comAko promjenama DNS-a treba dugo vremena da se propagiraju na popularne DNS poslužitelje imena diljem svijeta, možete upotrijebiti opciju “–dns-cloudflare-propagation-seconds” Certbota da postavite broj sekundi koje želite da Certbot čeka prije provjere DNS-a. se izvodi.
$ sudo certbot sigurno --dns-cloudflare --dns-cloudflare-vjerodajnice ~ / .tajne / certbot / cloudflare.ini --dns-cloudflare-propagation-seconds 60 -d * .nodekite.com Nakon što pokrenete naredbu Certbot, od vas će se tražiti da upišete svoju adresu e-pošte. Upišite svoju e-mail adresu i pritisnite
Pritisnite 'Y', a zatim pritisnite
Pritisnite 'Y', a zatim pritisnite
Izdaje se SSL certifikat Let’s Encrypt. Potrebno je neko vrijeme da se završi.
U ovom trenutku izdaje se Let’s Encrypt SSL certifikat. Trebala bi se prikazati puna staza na kojoj su spremljene datoteke SSL certifikata. Također bi trebao biti prikazan datum isteka SSL certifikata.
Navođenje Let's Encrypt SSL certifikata pomoću Certbota
Možete popisati sve Let’s Encrypt SSL certifikate koje ste generirali pomoću Certbota sljedećom naredbom:
$ sudo certbot certifikatiKao što vidite, generirani Let's Encrypt SSL certifikat za domenu 'nodekite.com' je naveden [1] . Zamjenski SSL certifikat izdaje se za “nodekite.com” [2] naziv domene. Datum isteka certifikata je 20.3.2024 (vrijedi 89 dana) [3] . Certifikat i put privatnog ključa također su navedeni ovdje [4] .
Certbot pohranjuje sve SSL certifikate koje ste generirali za svoje domene u direktoriju “/etc/letsencrypt/live” u njihovoj odgovarajućoj mapi.
$ sudo ls -Rlh / itd / letsencrypt / uživo /
Obnavljanje Let’s Encrypt SSL certifikata pomoću Certbota
Certbot automatski obnavlja sve Let’s Encrypt SSL certifikate koje ste generirali pomoću CloudFlare DNS provjere.
Da biste testirali radi li značajka automatske obnove Let’s Encrypt SSL certifikata, pokrenite sljedeću naredbu:
$ sudo certbot obnoviti --testno pokretanjeAkcija automatske obnove simulira se za svaki od Let’s Encrypt SSL certifikata koje ste generirali.
Ako su testovi uspješni, bit će vam čestitano. Uspješan test znači da će se SSL certifikati automatski obnoviti prije isteka. Nećete morati raditi ništa drugo.
Da bi značajka automatskog obnavljanja Certbota radila, sistemski mjerač vremena “cerbot.timer” mora biti omogućen i aktivan na vašem računalu/poslužitelju.
Možete provjeriti je li 'cerbot.timer' systemd mjerač vremena omogućen i aktivan pomoću sljedeće naredbe:
$ sudo systemctl status certbot.timerKao što vidite, 'certbot.timer' systemd mjerač vremena je omogućen (automatski se pokreće tijekom pokretanja sustava) [1] i aktivan [2] . Certbot provjerava postoji li potreba za obnovom SSL certifikata nakon samo 11 minuta (prema sljedećoj snimci zaslona) i obnavlja SSL certifikate koji će uskoro isteći [3] .
Da biste ručno provjerili je li neki SSL certifikat uskoro istekao i obnovili SSL certifikate koji ističu, pokrenite sljedeću naredbu:
$ sudo certbot obnovitiU našem slučaju nijedan SSL certifikat neće isteći. Dakle, Certbot nije pokušao obnoviti nijedan SSL certifikat.
Kako biste prisilili Certbot da obnovi SSL certifikat određene domene (recimo *.nodekite.com), pokrenite sljedeću naredbu:
$ sudo certbot sigurno --prisilno obnoviti -d * .nodekite.com Pritisnite “1” i pritisnite
SSL certifikat treba obnoviti.
Zaključak
Da biste dobili Let’s Encrypt SSL certifikat pomoću CloudFlare DNS provjere pomoću Certbota, potreban vam je pristup CloudFlare API tokenu. U ovom smo vam članku pokazali kako izraditi CloudFlare API token za svoju domenu i sigurno ga pohraniti na svoje računalo/poslužitelj kako biste mu mogli pristupiti pomoću Certbota kada je potrebno. Također smo vam pokazali kako instalirati Certbot i Certbot CloudFlare DNS dodatak na najpopularnije Linux distribucije. Pokazali smo vam kako generirati Let’s Encrypt zamjenske SSL certifikate kao i SSL certifikate za pojedinačne domene koristeći Certbot i CloudFlare DNS provjeru valjanosti. Na kraju smo vam pokazali kako automatski i ručno obnoviti Let’s Encrypt SSL certifikate koristeći Certbot.