Yksityiskohtaisen selvityksen Let’s Encrypt DNS-01 -haasteen (tai DNS-validoinnin) toiminnasta saat artikkelista Mikä on Let's Encrypt DNS-01 Challenge ja kuinka sitä käytetään SSL-sertifikaattien hankkimiseen.
Tässä artikkelissa näytämme, kuinka Let’s Encrypt DNS -validointia käytetään SSL-varmenteen saamiseksi verkkotunnuksellesi käyttämällä Certbot- ja Certbot CloudFlare DNS -laajennuksia.
Sisällön aihe:
- Verkkotunnuksen hallinta CloudFlare DNS:n avulla
- Certbotin ja Certbot CloudFlare -laajennuksen asentaminen Ubuntuun/Debianiin
- Certbotin ja Certbot CloudFlare -laajennuksen asentaminen Fedoraan
- Certbotin ja Certbot CloudFlare -laajennuksen asentaminen RHEL/AlmaLinux/Rocky Linux/CentOS Streamiin
- Tarkistamme, onko Certbot ja Certbot CloudFlare -laajennus asennettu oikein
- Luodaan CloudFlare API Token
- CloudFlare API Tokenin turvallinen tallentaminen tietokoneelle/palvelimelle
- SSL-varmenteen luominen Certbot CloudFlare DNS -validoinnin avulla
- Luettelo Let’s Encrypt SSL-varmenteet Certbotilla
- Uusitaan Let’s Encrypt SSL -sertifikaatit Certbotilla
- Johtopäätös
- Viitteet
Verkkotunnuksen hallinta CloudFlare DNS:n avulla
Saadaksesi Let’s Encrypt SSL -varmenteen CloudFlaren DNS-validoinnin avulla, sinulla on oltava CloudFlare-tili ja verkkotunnuksesi on käytettävä CloudFlare DNS:ää. Sinä pystyt luo CloudFlare-tili ilmaiseksi ja CloudFlare DNS -palvelu on myös ilmainen käyttää.
Voit hallita verkkotunnustasi CloudFlare DNS:n avulla jollakin seuraavista tavoista:
- Rekisteröi verkkotunnuksesi CloudFlaresta
- Siirrä verkkotunnuksesi CloudFlareen
- Vaihda verkkotunnuksesi DNS-nimipalvelin CloudFlare DNS-nimipalvelimeksi verkkotunnuksesi rekisteröijän kojelaudalta
Sinun ei tarvitse ostaa verkkotunnusta CloudFlarelta tai siirtää verkkotunnusta CloudFlarelle hallitaksesi sitä CloudFlaren DNS-palvelun avulla. Voit vain vaihtaa verkkotunnuksesi nimipalvelimen CloudFlaren DNS-nimipalvelimeksi verkkotunnuksesi rekisteröintipalvelun (jolta ostit verkkotunnuksen) kojelaudalta ja hallita verkkotunnustasi CloudFlaresta. Lisätietoja verkkotunnuksesi nimipalvelimen vaihtamisesta CloudFlare DNS -nimipalvelimeksi on tässä artikkelissa.
Certbotin ja Certbot CloudFlare -laajennuksen asentaminen Ubuntuun/Debianiin
Certbot ja Certbot CloudFlare -laajennus ovat saatavilla Ubuntu/Debianin virallisessa pakettivarastossa. Joten voit asentaa ne Ubuntuun/Debianiin erittäin helposti.
Päivitä ensin APT-pakettivaraston välimuisti seuraavalla komennolla:
$ sudo osuva päivitys
Asenna Certbot ja Certbot CloudFlare DNS -laajennus suorittamalla seuraava komento:
$ sudo apt Asentaa certbot python3-certbot-dns-cloudflare Vahvista asennus painamalla 'Y' ja sitten paina
Certbot ja Certbot CloudFlare DNS -laajennus asennetaan. Valmistuminen kestää jonkin aikaa.
Tässä vaiheessa Certbot ja Certbot CloudFlare DNS -laajennus tulisi asentaa.
Certbotin ja Certbot CloudFlare -laajennuksen asentaminen Fedoraan
Certbot ja Certbot CloudFlare -laajennus ovat saatavilla Fedoran virallisessa pakettivarastossa, ja ne voidaan asentaa Fedoraan erittäin helposti.
Päivitä ensin DNF-pakettitietokanta seuraavalla komennolla:
$ sudo dnf makecache
Asenna Certbot ja Certbot CloudFlare DNS -laajennus Fedoraan suorittamalla seuraava komento:
$ sudo dnf Asentaa certbot python3-certbot-dns-cloudflare Vahvista asennus painamalla 'Y' ja sitten paina
Certbot ja Certbot CloudFlare DNS -laajennus asennetaan. Valmistuminen kestää jonkin aikaa.
Tässä vaiheessa Certbot ja Certbot CloudFlare DNS -laajennus tulisi asentaa Fedoraan.
Certbotin ja Certbot CloudFlare -laajennuksen asentaminen RHEL/AlmaLinux/Rocky Linux/CentOS Streamiin
Certbot CloudFlare DNS -laajennus ei ole saatavilla RHEL/AlmaLinux/Rocky Linux/CentOS Streamin virallisissa pakettivarastoissa. Certbot CloudFlare DNS -laajennus on saatavilla EPEL-pakettivarastosta. Voit ottaa EPEL-pakettivaraston käyttöön RHEL/AlmaLinux/Rocky Linux/CentOS Streamissa ja asentaa Certbot CloudFlare DNS -laajennuksen sieltä.
Kun olet ottanut EPEL-pakettivaraston käyttöön, päivitä DNF-tietokannan välimuisti seuraavalla komennolla:
$ sudo dnf makecache
Asenna sitten Certbot ja Certbot CloudFlare DNS-laajennus RHEL/AlmaLinux/Rocky Linux/CentOS Stream -järjestelmääsi seuraavalla komennolla:
$ sudo dnf Asentaa certbot python3-certbot-dns-cloudflare Vahvista asennus painamalla 'Y' ja sitten paina
Certbot ja Certbot CloudFlare DNS -laajennus asennetaan. Valmistuminen kestää jonkin aikaa.
Hyväksy EPEL-arkiston GPG-avain painamalla “Y” ja sitten painamalla
Tässä vaiheessa Certbot ja Certbot CloudFlare DNS -laajennus tulisi asentaa.
Tarkistamme, onko Certbot ja Certbot CloudFlare -laajennus asennettu oikein
Voit tarkistaa, onko Certbot asennettu tietokoneellesi, suorittamalla seuraava komento:
$ certbot --versioJos Certbot on asennettu, komennon pitäisi tulostaa asennetun Certbotin versionumero tietokoneellesi.
Kuten näet, Debian-koneellemme on asennettu Certbot 2.1.0.
Voit tarkistaa, onko Certbot CloudFlare DNS -laajennus asennettu tietokoneellesi, suorittamalla seuraava komento:
$ sudo certbot-laajennuksetJos Certbot CloudFlare DNS -laajennus on asennettu, sinun pitäisi löytää 'dns-cloudflare' laajennusluettelosta seuraavan kuvakaappauksen mukaisesti:
Luodaan CloudFlare API Token
Varmistaakseen verkkotunnuksen omistajuuden Certbotin on lisättävä TXT-tietue verkkotunnukseen, jota hallitsee CloudFlare DNS -palvelin. Tätä varten Certbot tarvitsee pääsyn CloudFlare API -tunnukseen. Voit luoda API-tunnuksen verkkotunnuksellesi CloudFlaren hallintapaneelista.
Kirjaudu ensin CloudFlare-tilillesi. Napsauta sitten profiilisi kuvaketta
> Profiilini sivun oikeasta yläkulmasta.
Siirry 'API Tokens' -osioon [1] ja napsauta 'Luo tunnus' [2] .
Napsauta Muokkaa vyöhykettä DNS -osiossa 'Käytä mallia'.
Myönnä 'Lupa'-osiossa 'DNS-vyöhykkeen' muokkausoikeus valitsemalla merkityt vaihtoehdot pudotusvalikoista.
Jos hallitset useita verkkotunnuksia CloudFlaren avulla, voit sallia 'Tietytyn vyöhykkeen' muokkaamisen 'Vyöhykeresurssit'-osiosta. API-tunnuksen salliminen muokata vain yhtä vyöhykettä on turvallisempaa kuin se, että API-tunnus muuttaa kaikkia vyöhykkeitä. Tämä johtuu siitä, että jos API-tunnus vaarantuu, hyökkäyspinta on pienempi ja vahinkoja tapahtuu vähemmän.
Jos haluat muokata kaikkia CloudFlaren hallinnoimia verkkotunnuksiasi yhdellä API-avaimella, valitse 'Vyöhykeresurssi'-osiosta 'Kaikki vyöhykkeet'.
Kun olet määrittänyt API-tunnuksesi, napsauta 'Jatka yhteenvetoon'.
Näkyviin tulee yhteenveto toiminnoista, joita voit suorittaa CloudFlaren hallinnoimilla verkkotunnuksillasi API-tunnuksella. Napsauta 'Luo tunnus'.
API-tunnus tulee luoda. Kopioi API-tunnus jonnekin turvalliseen paikkaan, jotta et menetä sitä. Kun poistut tältä sivulta, et enää löydä tätä API-tunnusta. Sinun on luotava uusi API-tunnus siltä varalta, että menetät sen:
LyPCAcOBygX1UMHvcsvBFo41aItm2cCVxnjloZj5
CloudFlare API Tokenin turvallinen tallentaminen tietokoneelle/palvelimelle
Certbotin on käytettävä CloudFlare API -tunnusta lisätäkseen verkkotunnuksellesi uuden TXT-tietueen CloudFlare DNS -palvelimeen. Joten sinun on tallennettava CloudFlare API -tunnus tietokoneellesi/palvelimellesi. API-tunnuksen tallentaminen varmistamatta asianmukaisia tiedostojen käyttöoikeuksia voi antaa muille ohjelmille/käyttäjille pääsyn API-tunnukseen. Tätä et halua turvallisuussyistä. Tässä osiossa näytämme sinulle, kuinka CloudFlare API -tunnus tallennetaan turvallisesti tiedostojärjestelmään.
Luo ensin hakemisto (eli ~/.secrets/certbot), johon haluat tallentaa CloudFlare API -avaimen seuraavasti:
$ mkdir -pv ~ / .salaisuuksia / certbot
Luo 'cloudflare.ini'-tiedosto äskettäin luotuun hakemistoon (eli ~/.secrets/certbot) ja avaa se suosikkitekstieditorillasi (esim. nano) seuraavasti:
$ nano ~ / .salaisuuksia / certbot / cloudflare.ini Kirjoita seuraava rivi 'cloudflare.ini'-tiedostoon ja paina
Varmistaaksesi 'cloudflare.ini'-tiedoston oikeat käyttöoikeudet, suorita seuraavat komennot varmistaaksesi, että vain pääkäyttäjällä on luku- ja kirjoitusoikeudet tiedostoon:
$ sudo chown root:root ~ / .salaisuuksia / certbot / cloudflare.ini$ sudo chmod 0600 ~ / .salaisuuksia / certbot / cloudflare.ini
Kuten näet, vain pääkäyttäjällä on luku- ja kirjoitusoikeudet 'cloudflare.ini'-tiedostoon.
$ ls -lh ~ / .salaisuuksia / certbot / cloudflare.ini
Muut käyttäjät, jotka yrittävät lukea 'cloudflare.ini'-tiedostoa, saavat 'Permission denied' -virheilmoituksen.
$ kissa ~ / .salaisuuksia / certbot / cloudflare.ini
SSL-varmenteen luominen Certbot CloudFlare DNS -validoinnin avulla
Luo Let’s Encrypt SSL -varmenne jokerimerkkiverkkotunnukselle “*.nodekite.com” käyttämällä CloudFlare DNS -tarkistusta suorittamalla cerbot-komento seuraavasti:
$ sudo certbot certonly --dns-cloudflare --dns-cloudflare-credentials ~ / .salaisuuksia / certbot / cloudflare.ini -d * .nodekite.comLet’s Encrypt SSL -varmenteen luominen verkkotunnuksille 'nodekite.com' ja 'www.nodekite.com” using the CloudFlare DNS validation, use the “-d” option of the certbot command for each domain name as follows':
$ sudo certbot certonly --dns-cloudflare --dns-cloudflare-credentials ~ / .salaisuuksia / certbot / cloudflare.ini -d www.nodekite.com -d nodekite.comJos DNS-muutosten leviäminen suosituille DNS-nimipalvelimille maailmanlaajuisesti kestää kauan, voit käyttää Certbotin '–dns-cloudflare-propagation-seconds' -vaihtoehtoa asettaaksesi sekuntien määrän, jonka haluat Certbotin odottavan ennen DNS-tarkistusta. on esitetty.
$ sudo certbot certonly --dns-cloudflare --dns-cloudflare-credentials ~ / .salaisuuksia / certbot / cloudflare.ini --dns-cloudflare-propagation-seconds 60 -d * .nodekite.com Kun suoritat Certbot-komennon, sinua pyydetään kirjoittamaan sähköpostiosoitteesi. Kirjoita sähköpostiosoitteesi ja paina
Paina 'Y' ja paina sitten
Paina 'Y' ja paina sitten
Let’s Encrypt SSL -sertifikaatti myönnetään. Valmistuminen kestää jonkin aikaa.
Tässä vaiheessa Let’s Encrypt SSL -sertifikaatti myönnetään. Koko polku, johon SSL-varmennetiedostot tallennetaan, tulisi näkyä. Myös SSL-varmenteen viimeinen voimassaolopäivä tulee näyttää.
Luettelo Let's Encrypt SSL-varmenteet Certbotilla
Voit luetella kaikki Let’s Encrypt SSL -sertifikaatit, jotka olet luonut Certbotilla seuraavalla komennolla:
$ sudo certbot-sertifikaatitKuten näet, luotu Let's Encrypt SSL -sertifikaatti 'nodekite.com' -verkkotunnukselle on luettelossa [1] . Jokerimerkki SSL-varmenne myönnetään 'nodekite.com' -sivustolle [2] verkkotunnus. Sertifikaatin viimeinen voimassaolopäivä on 2024-03-20 (voimassa 89 päivää) [3] . Varmenne ja yksityisen avaimen polku on myös lueteltu tässä [4] .
Certbot tallentaa kaikki verkkotunnuksille luomasi SSL-varmenteet '/etc/letsencrypt/live' -hakemistoon omissa kansioissaan.
$ sudo ls -Rlh / jne / letsencrypt / elää /
Let’s Encrypt SSL -varmenteiden uusiminen Certbotilla
Certbot uusii automaattisesti kaikki Let’s Encrypt SSL -varmenteet, jotka olet luonut CloudFlaren DNS-validoinnin avulla.
Testaa, toimiiko Let’s Encrypt SSL -sertifikaattien automaattinen uusimisominaisuus suorittamalla seuraava komento:
$ sudo certbot uusitaan --kuivaharjoitteluAutomaattinen uusimistoiminto simuloidaan jokaiselle luomillesi Let’s Encrypt SSL -sertifikaateille.
Jos testit onnistuvat, sinua onnitellaan. Onnistunut testi tarkoittaa, että SSL-varmenteet uusitaan automaattisesti ennen niiden vanhenemista. Sinun ei tarvitse tehdä mitään muuta.
Jotta Certbotin automaattinen uusimisominaisuus toimisi, 'cerbot.timer' systemd -ajastimen on oltava käytössä ja aktiivinen tietokoneellasi/palvelimellasi.
Voit tarkistaa, onko “cerbot.timer” systemd ajastin käytössä ja aktiivinen seuraavalla komennolla:
$ sudo systemctl-tila certbot.timerKuten näet, 'certbot.timer' systemd -ajastin on käytössä (käynnistyy automaattisesti käynnistyksen yhteydessä) [1] ja aktiivinen [2] . Certbot tarkistaa, onko SSL-varmenne uusittava jo 11 minuutin kuluttua (seuraavan kuvakaappauksen mukaan) ja uusii SSL-varmenteet, jotka ovat vanhentumassa [3] .
Voit tarkistaa manuaalisesti, onko jokin SSL-varmenne vanhentumassa ja uusia vanhenevat SSL-varmenteet suorittamalla seuraavan komennon:
$ sudo certbot uusitaanMeidän tapauksessamme mikään SSL-varmenne ei ole vanhenemassa. Joten Certbot ei yrittänyt uusia mitään SSL-varmennetta.
Jos haluat pakottaa Certbotin uusimaan tietyn toimialueen SSL-varmenteen (kuten *.nodekite.com), suorita seuraava komento:
$ sudo certbot certonly -- pakottaa uusimaan -d * .nodekite.com Paina '1' ja paina
SSL-varmenne on uusittava.
Johtopäätös
Jotta voit saada Let’s Encrypt SSL -varmenteen käyttämällä CloudFlare DNS -tarkistusta Certbotilla, tarvitset pääsyn CloudFlare API -tunnukseen. Tässä artikkelissa näytimme sinulle, kuinka voit luoda CloudFlare API -tunnuksen verkkotunnuksellesi ja tallentaa sen turvallisesti tietokoneellesi/palvelimellesi, jotta voit käyttää sitä tarvittaessa Certbotin avulla. Näimme myös, kuinka Certbot ja Certbot CloudFlare DNS -laajennus asennetaan suosituimpiin Linux-jakeluihin. Näimme sinulle, kuinka voit luoda Let’s Encrypt jokerimerkkien SSL-varmenteita sekä SSL-varmenteita yksittäisille verkkotunnuksille Certbot- ja CloudFlare DNS-tarkistuksen avulla. Lopuksi näytimme sinulle, kuinka Let’s Encrypt SSL -sertifikaatit uusitaan Certbotilla automaattisesti ja manuaalisesti.