Baza znanja Preprosta navodila za delo s storitvijo Profitserver
Glavne Baza znanja Certbot: Namestitev potrdila Let's Encrypt

Certbot: Namestitev potrdila Let's Encrypt


V tem članku bomo raziskali postopek namestitve in konfiguracije Certbot na strežniku Linux. Podrobno vam bomo razložili kako pridobiti Let's Encrypt SSL/TLS certifikat za vašo domeno. Opisali bomo tudi, kako ga namestiti na spletni strežnik (kot je Nginx ali Apache) in nastaviti samodejno obnavljanje certifikatov, da zagotovite stalno varno povezavo z vašim spletnim virom.

Certbot je brezplačno, odprtokodno orodje, zasnovano za samodejno pridobivanje in obnavljanje SSL/TLS certifikati. Ima ključno vlogo pri varovanju povezave med strežnikom in odjemalcem ter ščiti podatke pred nepooblaščenim dostopom. Certbot poenostavlja postopek namestitve in obnove SSL certifikata. Certifikat ne le poveča varnost, ampak tudi poveča zaupanje uporabnikov v vaš spletni vir, s čimer se izboljša ugled spletnega mesta in njegova uvrstitev v iskalnikih.

Namestitev Certbota

Certbot je privzeto vključen v večino distribucij, tako da ga lahko namestite na Debian / Ubuntu sisteme, morate samo posodobiti seznam paketov:

apt update

Nato začnite postopek namestitve:

apt install certbot

Certbot podpira vtičnike, ki olajšajo nastavitev in konfiguracijo potrdila za spletni strežnik. Če želite namestiti te vtičnike, uporabite ustrezen ukaz:

apt install certbot python3-certbot-nginx # for Nginx
apt install certbot python3-certbot-apache # for Apache

Postopek namestitve za Red Hat sistemi (kot npr RHEL, CentOS, Fedora) je nekoliko drugačen. Najprej morate dodati repozitorij EPEL:

yum install epel-release

Nato namestite orodje:

yum install certbot

Podobno obstaja možnost izbire vtičnika za določen spletni strežnik:

yum install python3-certbot-nginx # for Nginx
yum install python3-certbot-apache # for Apache

Po namestitvi lahko takoj nadaljujete s pridobitvijo certifikata.

Pridobitev SSL certifikata

V tem razdelku bomo obravnavali postopek pridobitve certifikata neodvisno od določenega spletnega strežnika, nato pa bomo opisali postopek namestitve certifikata za Nginx in Apache. Vendar pa je bistveno, da najprej razumete sintakso in funkcionalnost programa. Videti je takole:

certbot command option -d domain

Glavni ukazi vključujejo:

certbot certonly - Pridobi potrdilo, vendar ga ne namesti.
certbot certificates - Ta ukaz prikaže seznam vseh nameščenih potrdil.
certbot renew - Razširi obstoječe potrdilo.
certbot revoke - Prekliče obstoječe potrdilo.
certbot delete - Izbriše obstoječe potrdilo.

Najpogosteje uporabljene možnosti so:

--nginx - Uporablja konfiguracijske skripte Nginx za preverjanje domene.
--apache - Uporablja konfiguracijske skripte Apache za preverjanje domene.
-d - Seznam domen, za katere se zahteva certifikat.
--standalone - Uporablja samostojni način za preverjanje domene.
--manual - Izvaja ročno preverjanje domene.

To je le primer najpogostejših ukazov in možnosti. S celotnim seznamom programskih zmogljivosti se lahko seznanite v razdelku za pomoč:

certbot –help
Razdelek za pomoč orodja Certbot

Zdaj nadaljujemo s pridobivanjem potrdila. Kot primer bomo pridobili certifikat za a virtualni strežnik za brezplačno domeno tretje ravni, kot je vašeuporabniškoime.pserver.space

Najprej morate vnesti ukaz:

certbot certonly

V odgovor vas bo pripomoček pozval, da izberete način za preverjanje lastništva domene:

Kako pridobiti Certbot SSL certifikat

Prva možnost je priročna, če nimate nastavljenega spletnega strežnika ali ne želite spreminjati obstoječega. Ta metoda ustvari začasni spletni strežnik za potrditev vaše pravice do domene. Idealen je za enostavno in hitro nastavitev. Pri izbiri te metode je pomembno, da so vrata 80 prosta.

Druga možnost je boljša, če že imate delujoč spletni strežnik in želite z njim preveriti pravico do domene. Certbot shrani posebne datoteke v mapo na vašem strežniku, ki jih nato preveri certifikacijski center.

Izberemo prvo možnost in kliknemo naprej. Na tej stopnji boste morali:

  1. Vnesite e-poštni naslov;
  2. se strinjate s pogoji storitve;
  3. Se strinjate ali zavrnete prejemanje e-pošte v imenu podjetja in njegovih partnerjev;
  4. Določite ime domene, za katero je izdan certifikat.
Podatki za pridobitev SSL certifikata

Po zaključku postopka izdaje potrdila z orodjem Certbot bo le-to pokazalo pot do imenika, kjer so shranjeni izdani certifikat in podatki za vaš račun:

Podatki o pridobljenem SSL certifikatu

Preostane vam le še, da pridobljeni certifikat povežete z želeno storitvijo.

Namestitev potrdila za Nginx ali Apache

Ta razdelek predvideva, da so izpolnjeni nekateri temeljni pogoji:

  1. Ste že namestili in konfigurirali spletni strežnik, bodisi Nginx ali Apache. Dostopen mora biti iz interneta prek imena domene, za katero nameravate pridobiti certifikat;
  2. Med namestitvijo orodja ste z ustreznim ukazom namestili tudi vtičnik za Nginx ali Apache;
  3. Požarni zid dovoljuje povezave na vratih 80 in 443. Če so ta vrata zaprta za povezave, storitev ne bo na voljo za dohodne povezave. Za več podrobnosti o delovanju požarnega zidu smo o tem razpravljali v članku o nastavitev požarnega zidu v sistemu Linux.

Ko so izpolnjeni vsi pogoji, lahko nadaljujete neposredno z izdajo potrdila. Postopek pridobivanja SSL certifikata na strežniku bomo obravnavali na primeru Nginx. Če pa uporabljate spletni strežnik Apache, je postopek popolnoma enak.

Za pridobitev certifikata morate vnesti ukaz:

certbot --nginx # for Nginx
certbot --apache # for Apache

V odgovor bo orodje zahtevalo: e-poštni naslov, soglasje s pogoji uporabe storitve Let's Encrypt in dovoljenje za pošiljanje e-pošte v imenu storitve in njenih partnerjev.

Pridobitev SSL certifikata za Nginx in Apache

Nato boste morali določiti ime domene, za katero je certifikat izdan. Certbot lahko samodejno določi domeno, če je navedena v ime_strežnika polje za Nginx konfiguracijo oz Ime strežnika in ServerAlias za Apache. Če ni navedeno, vas bo program o tem obvestil in zahteval ročni vnos imena domene. Nato bo pripomoček vprašal, ali naj omogoči preusmeritev zahtev iz protokola HTTP na protokol HTTPS. Če želite nastaviti samodejno preusmeritev, morate izbrati drugo možnost:

Preusmerjanje zahtev iz HTTP v HTTPS

Čez nekaj časa vas bo Certbot obvestil o uspešni pridobitvi certifikata za navedeno domeno. Od te točke dalje bodo vse dohodne povezave preusmerjene iz vrat 80 na 443. Orodje bo prikazalo imenike, v katerih lahko najdete vse podatke potrdila in podrobnosti računa Let's Encrypt:

Uspešna izdaja certifikata Certbot

V sporočilu bo naveden tudi rok veljavnosti pridobljenega certifikata in pomembne možnosti za upravljanje vseh aktivnih certifikatov:

  1. zagotovo. Ta možnost se uporablja za pridobitev ali posodobitev potrdila brez samodejne konfiguracije spletnega strežnika. Certbot bo samo zahteval ali posodobil potrdilo, vendar ne bo samodejno spremenil konfiguracije strežnika. Prej smo to možnost uporabljali za pridobitev certifikata brez vezave na spletni strežnik.
  2. obnovi se uporablja za samodejno podaljšanje vseh certifikatov, ki so bili pridobljeni preko Certbota in so v roku veljavnosti. Program bo preveril vsa potrdila in, če kateremu od njih poteče v 30 dneh ali manj, ga bo samodejno obnovil.

V nadaljevanju v navodilih bomo obravnavali, kako nastaviti samodejno obnavljanje certifikatov brez posredovanja uporabnika vsake tri mesece.

Samodejno obnavljanje potrdila v Certbotu

Za Debian/Ubuntu

Pri uporabi teh operacijskih sistemov Certbot samodejno doda skript na seznam opravil za samodejno obnavljanje nameščenih certifikatov. Delovanje skripte lahko preverite z naslednjim ukazom:

systemctl status certbot.timer
Preverjanje statusa storitve certbot.timer

Odgovor bo prikazal status storitve in imenik, ki vsebuje konfiguracijsko datoteko. To lahko odprete s katerim koli urejevalnikom besedil. Če nimate izkušenj z urejevalniki besedil v Linuxu, priporočamo, da se seznanite z njimi naš pregled najbolj priljubljenih rešitev. V tem primeru bomo uporabili nano:

nano /lib/systemd/system/certbot.timer
Ogled konfiguracije certbot.timer

Označeni so vsi pomembni parametri:

  1. Iz urnika je razvidno, da bo storitev potekala dvakrat dnevno ob 00:00 in 12:00;
  2. Druga vrednost označuje naključno zakasnitev v sekundah, ki bo dodana začetku časovnika. V tem primeru je to 43,200 sekund (12 ur), zaradi česar je izstrelitev bolj naključna in porazdeli obremenitev;
  3. Ta parameter zagotavlja, da če naj bi se časovnik izvedel med zaustavitvijo sistema, se bo aktiviral takoj po zagonu.

Zaženete lahko tudi prisilno preverjanje obnove certifikata z ukazom:

certbot renew --dry-run

Z uporabo tega ukaza se potrdila ne posodobijo. Namesto tega bo orodje ob izteku veljavnosti izvajalo dejanja, podobna pridobitvi potrdila. Na ta način lahko zagotovite funkcionalnost storitve glede samodejnega podaljšanja.

Za CentOS, Fedora in druge

Postopek omogočanja samodejnih posodobitev v sistemih družine Red Hat se nekoliko razlikuje. Za razliko od Debian/Ubuntu morate za CentOS in druge sisteme ročno dodati nalogo v razporejevalnik. Za to bomo uporabili cron Orodje:

crontab -e

Nato v datoteko, ki se odpre, dodajte naslednjo vrstico:

0 12 * * * /usr/bin/certbot renew --quiet

Razčlenimo glavne argumente ukaza:

  1. Čas izvedbe. V tem primeru se bo ukaz samodejno zagnal vsak dan ob 12:00;
  2. Ukaz za obnovitev potrdil SSL/TLS z uporabo Certbota;
  3. Naš --tiho zastavica onemogoči izpis, zaradi česar je proces bolj skrit in manj vsiljiv v sistemskih dnevnikih ali na zaslonu.

Ko dodate ukaz, morate spremembe shraniti v datoteko.

Tako kot pri Debian/Ubuntu lahko sprožite tudi prisilno preverjanje obnov potrdil:

certbot renew --dry-run

Rezultat uspešne izvedbe ukaza izgleda takole:

Rezultat uspešnega preverjanja ukaza za obnovitev

zaključek

Raziskali smo obsežen postopek namestitve in konfiguracije Certbota na strežniku Linux. Če sledite navedenim navodilom, lahko uspešno pridobite potrdilo SSL/TLS od Let's Encrypt, ga namestite na svoj spletni strežnik in konfigurirate samodejno obnavljanje, da zagotovite stalno zaščito in povečano zaupanje v vaš spletni vir. S Certbotom lahko preprosto ustvarite zanesljivo in varno okolje za uporabnike.

❮ Prejšnji članek Zmanjšanje obremenitve strežnika
Naslednji članek ❯ Linux paketni vodje

Vprašajte nas o VPS

Vedno smo pripravljeni odgovoriti na vaša vprašanja kadarkoli podnevi ali ponoči.