Kā Ubuntu izveidot sertifikātu no Let’s Encrypt

Uzticama sertifikāta izveidošana priekš pārlūkprogrammas no Let’s Encrypt ar DNS autentifikāciju. Sertifikāta izveides laikā būs nepieciešama piekļuve pie DNS, lai izveidotu TXT ierakstu.

Certbot pakotnes instalācija.

Certbot pakotni ir iespējams instalēt no Ubuntu repozitorija vai Snap repozitorija. Ieteicams ir Snap repozitorijs, jo būs jaunāka programmas versija.

• Certbot pakotnes instalācija no Snap repozitorija.

snap install certbot --classic

Cloudflare DNS spraudņa instalācija, ja nepieciešams.

snap set certbot trust-plugin-with-root=ok
snap install certbot-dns-cloudflare

• Certbot pakotnes instalācija no Ubuntu repozitorija.

apt update
apt install certbot

Cloudflare DNS spraudņa instalācija, ja nepieciešams.

apt install python3-certbot-dns-cloudflare
DNS TXT ieraksta izveidošana manuāli.

Sertifikāta izveidošana.

certbot certonly --manual --preferred-challenges dns -d <domain>

Piemēram:

certbot certonly --manual --preferred-challenges dns -d 279.lv -d www.279.lv

Sekot līdzi paziņojumiem uz ekrāna. Sertifikāta izveides laikā būs jāizveido DNS TXT ieraksts, lai apstiprinātu ka esat domēna īpašnieks.

Vēlāk sertifikātu atjauno atkārtoti izpildot komandu.

Sertifikāta failu direktorija.

/etc/letsencrypt/live/<domain>
DNS TXT ieraksta izveidošana ar Cloudflare DNS spraudni.

Izmantojams, ja domēns izmanto Cloudflare DNS serverus.

1. Cloudflare API token izveidošana, lai veidotu DNS ierakstus. Instrukcija šeit.
Veidojot API token ir jāizvēlas veidne “Edit zone DNS”.

Cloudflare API token ir jāglabā droša vietā. Zinot API token ir iespējams DNS ierakstus veidot, dzēst un labot.

2. Faila izveidošana ar API token. Piemēram, /root/cloudflarednscred.ini

echo "dns_cloudflare_api_token = <cloudflare api token>" > <credentials file>
chmod 600 <credentials file>

3. Sertifikāta izveidošana.

certbot certonly \
--dns-cloudflare \
--dns-cloudflare-credentials <credentials file> \
-d <domain>

Pēc noklusējuma ACME serveris DNS ierakstu pārbauda pēc 10 sek. Šo laiku var mainīt ar parametru “–dns-cloudflare-propagation-seconds”.

certbot certonly \
--dns-cloudflare \
--dns-cloudflare-credentials <credentials file> \
--dns-cloudflare-propagation-seconds <seconds> \
-d <domain>

Piemēram:

certbot certonly \
--dns-cloudflare \
--dns-cloudflare-credentials /root/cloudflarednscred.ini \
--dns-cloudflare-propagation-seconds 30 \
-d 279.lv -d www.279.lv

Ja nevajag automātisku sertifikāta atjaunošanu, tad certbot komandu papildināt ar parametru “–no-autorenew”.

Sertifikāta atjaunošanas tests.

certbot renew --dry-run

Ja sertifikāta atjaunošanas laikā ir kļūda par DNS TXT ieraksta pārbaudi un ieteikums ir palielināt pārbaudes gaidīšanas laiku, tad izmaiņas var veikt sertifikāta konfigurācijas failā “/etc/letsencrypt/renewal/<domain>”. Sadaļā “renewalparams” pievieno rindu, piemēram 30 sek.,
dns_cloudflare_propagation_seconds = 30

Sertifikāta failu direktorija.

/etc/letsencrypt/live/<domain>
Sertifikāta eksports uz PFX failu (PKCS#12).
cd /etc/letsencrypt/live/<domain>
openssl pkcs12 -export -out `basename "$PWD"`.pfx -inkey privkey.pem -in cert.pem

PFX faila nosaukums sakrīt ar domēna nosaukumu. PFX fails aizsargāts ar paroli.

PFX failu var izmantot, lai instalētu sertifikātu citās vietās, piemēram, Windows serveros.

Certbot vairākas instalācijas.

Ja sākumā certbot ir instalēts no Ubuntu repozitorija un vēlāk no Snap repozitorija, tad būs divas certbot instalācijas. Pirmā gadījumā certbot būs direktorijā “/usr/bin”, bet otrā “/snap/bin”.

Lai startētu certbot no “/snap/bin” direktorijas, tad komandrindā ir jāizmanto pilns programmas ceļš “/snap/bin/certbot”.

Abas instalācijas izmanto kopīgu log direktoriju un sertifikātu failu direktoriju.

Rezultāts būs vienāds izpildot komandas:

/usr/bin/certbot certificates
/snap/bin/certbot certificates

Abas instalācijas izveidos savu sertifikātu atjaunošanas darbu, kurus var apskatīt ar komandu

systemctl list-timers

/usr/bin/certbot atinstalēšana, saglabājot log direktoriju un sertifikātu failu direktoriju.

apt remove certbot

/snap/bin/certbot atinstalēšana, saglabājot log direktoriju un sertifikātu failu direktoriju.

snap remove certbot
Noderīgas komandas.

Info par izveidotiem sertifikātiem.

certbot certificates

Sertifikātu dzēšana. Interaktīvā veidā norāda kuru sertifikātu dzēst.

certbot delete

Cetbot versija.

certbot --version

Vairāk par programmas iespējām.

man certbot

Rakstā sniegtā informācija tiek sniegta “tāda, kāda tā ir” (“as is”) bez jebkādas garantijas.


Publicēts