Kuinka saada Let's Encrypt SSL-sertifikaatit Certbot CloudFlare DNS -validoinnin avulla

Kuinka Saada Let S Encrypt Ssl Sertifikaatit Certbot Cloudflare Dns Validoinnin Avulla



Certbot on Let’s Encrypt -sertifikaattiviranomaisen (CA) ACME-asiakas. Sitä käytetään Let’s Encrypt SSL -sertifikaatin luomiseen ja uusimiseen automaattisesti. Oletusarvoisesti Certbot käyttää Let’s Encrypt HTTP-01 -haastetta verkkotunnuksen omistajuuden vahvistamiseen ja SSL-varmenteen myöntämiseen toimialueelle. HTTP-01-haaste ei kuitenkaan toimi, ellei sinulla ole julkinen IP-osoite ja tietokoneesi on käytettävissä Internetistä. Joten jos haluat käyttää Let’s Encrypt SSL -varmenteita kotiverkkoosi tai yksityisverkkoosi, sinun on käytettävä DNS-01-haastetta. Kun DNS-01-haastetta käytetään, Let’s Encrypt varmistaa verkkotunnuksen omistajuuden käyttämällä toimialueen DNS-palvelinta. Joten se toimii myös yksityisissä verkoissa.

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:

  1. Verkkotunnuksen hallinta CloudFlare DNS:n avulla
  2. Certbotin ja Certbot CloudFlare -laajennuksen asentaminen Ubuntuun/Debianiin
  3. Certbotin ja Certbot CloudFlare -laajennuksen asentaminen Fedoraan
  4. Certbotin ja Certbot CloudFlare -laajennuksen asentaminen RHEL/AlmaLinux/Rocky Linux/CentOS Streamiin
  5. Tarkistamme, onko Certbot ja Certbot CloudFlare -laajennus asennettu oikein
  6. Luodaan CloudFlare API Token
  7. CloudFlare API Tokenin turvallinen tallentaminen tietokoneelle/palvelimelle
  8. SSL-varmenteen luominen Certbot CloudFlare DNS -validoinnin avulla
  9. Luettelo Let’s Encrypt SSL-varmenteet Certbotilla
  10. Uusitaan Let’s Encrypt SSL -sertifikaatit Certbotilla
  11. Johtopäätös
  12. 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

  Kuvakaappaus tietokoneesta Kuvaus luotiin automaattisesti

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

  Kuvakaappaus tietokoneesta Kuvaus luotiin automaattisesti

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 .

  Kuvakaappaus tietokoneesta Kuvaus luotiin automaattisesti

Certbot ja Certbot CloudFlare DNS -laajennus asennetaan. Valmistuminen kestää jonkin aikaa.

  Kuvakaappaus tietokoneohjelman kuvauksesta, joka luotiin automaattisesti

Tässä vaiheessa Certbot ja Certbot CloudFlare DNS -laajennus tulisi asentaa Fedoraan.

  Kuvakaappaus tietokoneesta Kuvaus luotiin automaattisesti

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

  Kuvakaappaus tietokoneesta Kuvaus luotiin automaattisesti

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 .

  Kuvakaappaus tietokoneesta Kuvaus luotiin automaattisesti

Certbot ja Certbot CloudFlare DNS -laajennus asennetaan. Valmistuminen kestää jonkin aikaa.

  Kuvakaappaus tietokoneesta Kuvaus luotiin automaattisesti

Hyväksy EPEL-arkiston GPG-avain painamalla “Y” ja sitten painamalla .

  Kuvakaappaus tietokoneesta Kuvaus luotiin automaattisesti

Tässä vaiheessa Certbot ja Certbot CloudFlare DNS -laajennus tulisi asentaa.

  Kuvakaappaus tietokoneesta Kuvaus luotiin automaattisesti

Tarkistamme, onko Certbot ja Certbot CloudFlare -laajennus asennettu oikein

Voit tarkistaa, onko Certbot asennettu tietokoneellesi, suorittamalla seuraava komento:

$ certbot --versio

Jos Certbot on asennettu, komennon pitäisi tulostaa asennetun Certbotin versionumero tietokoneellesi.

Kuten näet, Debian-koneellemme on asennettu Certbot 2.1.0.

  Kuvakaappaus tietokoneesta Kuvaus luotiin automaattisesti

Voit tarkistaa, onko Certbot CloudFlare DNS -laajennus asennettu tietokoneellesi, suorittamalla seuraava komento:

$ sudo certbot-laajennukset

Jos Certbot CloudFlare DNS -laajennus on asennettu, sinun pitäisi löytää 'dns-cloudflare' laajennusluettelosta seuraavan kuvakaappauksen mukaisesti:

  Kuvakaappaus tietokoneesta Kuvaus luotiin automaattisesti

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] .

  Kuvakaappaus tietokoneesta Kuvaus luotiin automaattisesti

Napsauta Muokkaa vyöhykettä DNS -osiossa 'Käytä mallia'.

  Kuvakaappaus tietokoneesta Kuvaus luotiin automaattisesti

Myönnä 'Lupa'-osiossa 'DNS-vyöhykkeen' muokkausoikeus valitsemalla merkityt vaihtoehdot pudotusvalikoista.

  Kuvakaappaus tietokoneesta Kuvaus luotiin automaattisesti

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.

  Kuvakaappaus tietokoneesta Kuvaus luotiin automaattisesti

Jos haluat muokata kaikkia CloudFlaren hallinnoimia verkkotunnuksiasi yhdellä API-avaimella, valitse 'Vyöhykeresurssi'-osiosta 'Kaikki vyöhykkeet'.

  Kuvakaappaus tietokoneesta Kuvaus luotiin automaattisesti

Kun olet määrittänyt API-tunnuksesi, napsauta 'Jatka yhteenvetoon'.

  Kuvakaappaus tietokoneesta Kuvaus luotiin automaattisesti

Näkyviin tulee yhteenveto toiminnoista, joita voit suorittaa CloudFlaren hallinnoimilla verkkotunnuksillasi API-tunnuksella. Napsauta 'Luo tunnus'.

  Kuvakaappaus tietokoneesta Kuvaus luotiin automaattisesti

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

  Kuvakaappaus tietokoneesta Kuvaus luotiin automaattisesti

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

  Kuvakaappaus tietokoneesta Kuvaus luotiin automaattisesti

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 + X sen jälkeen 'Y' ja tallentaaksesi sen (jos käytät nano-tekstieditoria).

dns_cloudflare_api_token = < sinun-cloudflare-api-tunnus >

  Kuvakaappaus tietokoneesta Kuvaus luotiin automaattisesti

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

  Kuvakaappaus tietokoneesta Kuvaus luodaan automaattisesti

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.com

Let’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.com

Jos 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 jatkaa.

Paina 'Y' ja paina sitten hyväksyä Let's Encryptin 'käyttöehdot'.

  Kuvakaappaus tietokoneesta Kuvaus luotiin automaattisesti

Paina 'Y' ja paina sitten .

  Kuvakaappaus tietokoneohjelman kuvauksesta, joka luotiin automaattisesti

Let’s Encrypt SSL -sertifikaatti myönnetään. Valmistuminen kestää jonkin aikaa.

  Kuvakaappaus tietokonevirheestä Kuvaus luotiin automaattisesti

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ää.

  Kuvakaappaus tietokoneesta Kuvaus luotiin automaattisesti

Luettelo Let's Encrypt SSL-varmenteet Certbotilla

Voit luetella kaikki Let’s Encrypt SSL -sertifikaatit, jotka olet luonut Certbotilla seuraavalla komennolla:

$ sudo certbot-sertifikaatit

Kuten 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] .

  Kuvakaappaus tietokoneesta Kuvaus luotiin automaattisesti

Certbot tallentaa kaikki verkkotunnuksille luomasi SSL-varmenteet '/etc/letsencrypt/live' -hakemistoon omissa kansioissaan.

$ sudo ls -Rlh / jne / letsencrypt / elää /

  Kuvakaappaus tietokoneesta Kuvaus luotiin automaattisesti

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 --kuivaharjoittelu

Automaattinen uusimistoiminto simuloidaan jokaiselle luomillesi Let’s Encrypt SSL -sertifikaateille.

  Kuvakaappaus tietokoneesta Kuvaus luotiin automaattisesti

Jos testit onnistuvat, sinua onnitellaan. Onnistunut testi tarkoittaa, että SSL-varmenteet uusitaan automaattisesti ennen niiden vanhenemista. Sinun ei tarvitse tehdä mitään muuta.

  Kuvakaappaus tietokoneesta Kuvaus luotiin automaattisesti

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.timer

Kuten 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] .

  Kuvakaappaus tietokoneesta Kuvaus luotiin automaattisesti

Voit tarkistaa manuaalisesti, onko jokin SSL-varmenne vanhentumassa ja uusia vanhenevat SSL-varmenteet suorittamalla seuraavan komennon:

$ sudo certbot uusitaan

Meidä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 valitaksesi ensimmäisen vaihtoehdon (DNS-tarkistukseen CloudFlare DNS:n avulla).

  Kuvakaappaus tietokoneesta Kuvaus luotiin automaattisesti

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.

Viitteet: