Šajā rakstā mēs izpētīsim instalēšanas un konfigurēšanas procesu Certbot Linux serverī. Mēs paskaidrosim sīkāk kā iegūt Let's Encrypt SSL/TLS sertifikātu jūsu domēnam. Mēs arī aprakstīsim, kā to instalēt tīmekļa serverī (piemēram, Nginx vai Apache) un iestatīt automātisku sertifikātu atjaunošanu, lai nodrošinātu nepārtrauktu drošu savienojumu ar jūsu tīmekļa resursu.
Certbot ir bezmaksas atvērtā koda rīks, kas paredzēts automātiskai iegūšanai un atjaunošanai SSL/TLS sertifikāti. Tam ir izšķiroša nozīme savienojuma nodrošināšanā starp serveri un klientu, aizsargājot datus no nesankcionētas piekļuves. Certbot vienkāršo SSL sertifikāta instalēšanas un atjaunošanas procesu. Sertifikāts ne tikai uzlabo drošību, bet arī palielina lietotāju uzticēšanos jūsu tīmekļa resursam, tādējādi uzlabojot gan vietnes reputāciju, gan tās meklētājprogrammu klasifikāciju.
Certbot instalēšana
Certbot pēc noklusējuma ir iekļauts lielākajā daļā izplatījumu, tāpēc, lai to instalētu Debian / Ubuntu sistēmām, jums tikai jāatjaunina pakotņu saraksts:
apt update
Pēc tam sāciet instalēšanas procesu:
apt install certbot
Certbot atbalsta spraudņus, kas atvieglo tīmekļa servera sertifikāta iestatīšanu un konfigurēšanu. Lai instalētu šos spraudņus, izmantojiet atbilstošo komandu:
apt install certbot python3-certbot-nginx # for Nginx apt install certbot python3-certbot-apache # for Apache
Instalēšanas process priekš Red Hat sistēmas (piemēram, RHEL, CentOS, Fedora) ir nedaudz atšķirīgs. Sākotnēji jums jāpievieno EPEL repozitorijs:
yum install epel-release
Pēc tam instalējiet rīku:
yum install certbot
Tāpat ir iespēja atlasīt spraudni konkrētam tīmekļa serverim:
yum install python3-certbot-nginx # for Nginx yum install python3-certbot-apache # for Apache
Pēc instalēšanas varat nekavējoties turpināt sertifikāta iegūšanu.
SSL sertifikāta iegūšana
Šajā sadaļā mēs apspriedīsim sertifikāta iegūšanas procesu neatkarīgi no konkrēta tīmekļa servera, pēc tam aprakstīsim sertifikāta instalēšanas procesu Nginx un Apache. Tomēr vispirms ir svarīgi saprast programmas sintaksi un funkcionalitāti. Tas izskatās šādi:
certbot command option -d domain
Galvenās komandas ietver:
certbot certonly
- Izgūst sertifikātu, bet neinstalē to.certbot certificates
- Šī komanda parāda visu instalēto sertifikātu sarakstu.certbot renew
- Paplašina esošo sertifikātu.certbot revoke
- Anulē esošo sertifikātu.certbot delete
- Dzēš esošo sertifikātu.
Visbiežāk izmantotās iespējas ir:
--nginx
- Domēna pārbaudei izmanto Nginx konfigurācijas skriptus.--apache
- Domēna pārbaudei izmanto Apache konfigurācijas skriptus.-d
- To domēnu saraksts, kuriem tiek pieprasīts sertifikāts.--standalone
- Domēna verifikācijai izmanto savrupu režīmu.--manual
- Veic manuālu domēna verifikāciju.
Šis ir tikai visbiežāk sastopamo komandu un opciju piemērs. Ar pilnu programmas iespēju sarakstu varat iepazīties palīdzības sadaļā:
certbot –help

Tagad mēs turpinām iegūt sertifikātu. Piemēram, mēs iegūsim sertifikātu a virtuālais serveris bezmaksas trešā līmeņa domēnam, piemēram, yourusername.pserver.space
Pirmkārt, jums jāievada komanda:
certbot certonly
Atbildot uz to, utilīta lūgs jums izvēlēties domēna īpašumtiesību pārbaudes metodi:

Pirmā iespēja ir ērta, ja jums nav konfigurēta tīmekļa servera vai nevēlaties veikt izmaiņas esošajā. Šī metode izveido pagaidu tīmekļa serveri, lai apstiprinātu jūsu tiesības uz domēnu. Tas ir ideāli piemērots vienkāršai un ātrai iestatīšanai. Izvēloties šo metodi, ir svarīgi, lai ports 80 būtu brīvs.
Otrā iespēja ir ieteicama, ja jums jau darbojas tīmekļa serveris un vēlaties to izmantot, lai pārbaudītu tiesības uz domēnu. Certbot ievieto īpašus failus jūsu servera mapē, ko pēc tam pārbauda sertifikācijas centrs.
Mēs izvēlamies pirmo opciju un noklikšķiniet uz Tālāk. Šajā posmā jums būs nepieciešams:
- Ievadiet e-pasta adresi;
- Piekrītiet pakalpojumu sniegšanas noteikumiem;
- Piekrist vai atteikties saņemt e-pastus uzņēmuma un tā partneru vārdā;
- Norādiet domēna nosaukumu, kuram izsniegts sertifikāts.

Pēc sertifikāta izsniegšanas procesa pabeigšanas ar Certbot rīku tas norādīs ceļu uz direktoriju, kurā tiek glabāts izsniegtais sertifikāts un jūsu konta dati:

Jums atliek tikai iegūto sertifikātu saistīt ar nepieciešamo pakalpojumu.
Nginx vai Apache sertifikāta instalēšana
Šajā sadaļā tiek pieņemts, ka ir izpildīti daži pamatnosacījumi:
- Jūs jau esat instalējis un konfigurējis tīmekļa serveri — Nginx vai Apache. Tam jābūt pieejamam no interneta, izmantojot domēna nosaukumu, kuram plānojat iegūt sertifikātu;
- Rīka instalēšanas laikā, izmantojot atbilstošo komandu, instalējāt arī spraudni Nginx vai Apache;
- Ugunsmūris ļauj izveidot savienojumus ar portiem 80 un 443. Ja šie porti ir slēgti savienojumiem, pakalpojums nebūs pieejams ienākošajiem savienojumiem. Lai iegūtu sīkāku informāciju par ugunsmūra darbību, mēs to apspriedām rakstā par ugunsmūra iestatīšana operētājsistēmā Linux.
Kad visi nosacījumi ir izpildīti, varat pāriet tieši uz sertifikāta izsniegšanu. Mēs apsvērsim SSL sertifikāta iegūšanas procesu serverī, izmantojot Nginx kā piemēru. Tomēr, ja izmantojat Apache tīmekļa serveri, process ir pilnīgi identisks.
Lai iegūtu sertifikātu, jums jāievada komanda:
certbot --nginx # for Nginx certbot --apache # for Apache
Atbildot uz to, rīks pieprasīs: e-pasta adresi, piekrišanu pakalpojuma Let's Encrypt lietošanas noteikumiem un atļauju sūtīt e-pastus pakalpojuma un tā partneru vārdā.

Pēc tam jums būs jānorāda domēna nosaukums, kuram sertifikāts tiek izsniegts. Certbot var automātiski noteikt domēnu, ja tas ir norādīts servera_vārds lauks priekš Nginx konfigurācija vai Servera nosaukums un ServerAlias forums Apache. Ja tas nav norādīts, programma jūs informēs un lūgs manuāli ievadīt domēna nosaukumu. Pēc tam utilīta jautās, vai iespējot pieprasījumu novirzīšanu no HTTP uz HTTPS protokolu. Lai iestatītu automātisko novirzīšanu, jāizvēlas otrā opcija:

Pēc kāda laika Certbot informēs par veiksmīgu sertifikāta iegūšanu norādītajam domēnam. No šī brīža visi ienākošie savienojumi tiks novirzīti no 80. porta uz 443. Rīks parādīs direktorijus, kuros varat atrast visus sertifikāta datus un konta informāciju par šifrēšanu:

Ziņojumā tiks norādīts arī iegūtā sertifikāta derīguma termiņš un svarīgas visu aktīvo sertifikātu pārvaldības iespējas:
- noteikti. Šī opcija tiek izmantota sertifikāta iegūšanai vai atjaunināšanai bez automātiskas tīmekļa servera konfigurācijas. Certbot tikai pieprasīs vai atjauninās sertifikātu, bet neveiks nekādas automātiskas izmaiņas servera konfigurācijā. Iepriekš mēs izmantojām šo iespēju, lai iegūtu sertifikātu bez piesaistes tīmekļa serverim.
- atjaunot tiek izmantots visu sertifikātu automātiskai atjaunošanai, kas iegūti, izmantojot Certbot un ir to derīguma termiņā. Programma pārbaudīs visus sertifikātus, un, ja kādam no tiem beidzas derīguma termiņš 30 dienu laikā vai ātrāk, tas tiks automātiski atjaunots.
Tālāk instrukcijās mēs apspriedīsim, kā ik pēc trim mēnešiem iestatīt automātisku sertifikātu atjaunošanu bez lietotāja iejaukšanās.
Automātiska sertifikāta atjaunošana pakalpojumā Certbot
Debian/Ubuntu
Lietojot šīs operētājsistēmas, Certbot automātiski pievieno skriptu uzdevumu sarakstam instalēto sertifikātu automātiskai atjaunošanai. Jūs varat pārbaudīt skripta funkcionalitāti ar šādu komandu:
systemctl status certbot.timer

Atbildē tiks parādīts pakalpojuma statuss, kā arī direktorijs, kurā ir konfigurācijas fails. To var atvērt, izmantojot jebkuru teksta redaktoru. Ja jums nav pieredzes darbā ar teksta redaktoriem operētājsistēmā Linux, iesakām iepazīties ar tiem mūsu pārskats no populārākajiem risinājumiem. Šajā gadījumā mēs izmantosim nano:
nano /lib/systemd/system/certbot.timer

Visi svarīgie parametri ir izcelti:
- Grafikā norādīts, ka pakalpojums kursēs divas reizes dienā 00:00 un 12:00;
- Otrā vērtība norāda nejaušu aizkavi sekundēs, kas tiks pievienota taimera sākumam. Šajā gadījumā tās ir 43,200 12 sekundes (XNUMX stundas), kas padara palaišanu nejaušāku un izkliedē slodzi;
- Šis parametrs nodrošina, ka, ja taimeris bija paredzēts sistēmas izslēgšanas laikā, tas tiks aktivizēts uzreiz pēc palaišanas.
Varat arī palaist piespiedu sertifikāta atjaunošanas pārbaudi, izmantojot komandu:
certbot renew --dry-run
Izmantojot šo komandu, sertifikāti netiks atjaunināti. Tā vietā rīks veiks darbības, kas līdzīgas sertifikāta iegūšanai pēc tā derīguma termiņa beigām. Tādā veidā jūs varat nodrošināt pakalpojuma funkcionalitāti attiecībā uz automātisko atjaunošanu.
CentOS, Fedora un citiem
Red Hat saimes sistēmu automātisko atjauninājumu iespējošana nedaudz atšķiras. Atšķirībā no Debian/Ubuntu, CentOS un citām sistēmām uzdevums plānotājam ir jāpievieno manuāli. Šim nolūkam mēs izmantosim cron rīks:
crontab -e
Pēc tam atvērtajā failā pievienojiet šādu rindu:
0 12 * * * /usr/bin/certbot renew --quiet
Sadalīsim galvenos komandas argumentus:
- Izpildes laiks. Šajā gadījumā komanda tiks automātiski izpildīta katru dienu pulksten 12:00;
- Komanda atjaunot SSL/TLS sertifikātus, izmantojot Certbot;
- The -- kluss karodziņš nomāc izvadi, padarot procesu slēptāku un mazāk traucējošu sistēmas žurnālos vai displejā.
Pēc komandas pievienošanas failā ir jāsaglabā izmaiņas.
Tāpat kā Debian/Ubuntu gadījumā, varat arī uzsākt piespiedu sertifikātu atjaunošanas pārbaudi:
certbot renew --dry-run
Veiksmīgas komandas izpildes rezultāts izskatās šādi:

Secinājumi
Mēs esam izpētījuši visaptverošo Certbot instalēšanas un konfigurēšanas procesu Linux serverī. Ievērojot sniegtos norādījumus, jūs varat veiksmīgi iegūt SSL/TLS sertifikātu no Let's Encrypt, instalēt to savā tīmekļa serverī un konfigurēt automātisko atjaunošanu, lai nodrošinātu nepārtrauktu aizsardzību un palielinātu uzticēšanos savam tīmekļa resursam. Izmantojot Certbot, varat viegli izveidot uzticamu un drošu vidi lietotājiem.