Šiame straipsnyje apžvelgsime diegimo ir konfigūravimo procesą Certbotas Linux serveryje. Mes išsamiai paaiškinsime kaip gauti Let's Encrypt SSL/TLS sertifikatą jūsų domenui. Taip pat aprašysime, kaip jį įdiegti žiniatinklio serveryje (pvz., „Nginx“ arba „Apache“) ir nustatyti automatinį sertifikato atnaujinimą, kad būtų užtikrintas nuolatinis saugus ryšys su žiniatinklio ištekliais.
Certbotas yra nemokamas atvirojo kodo įrankis, skirtas automatiškai įsigyti ir atnaujinti SSL/TLS sertifikatai. Ji atlieka itin svarbų vaidmenį užtikrinant ryšį tarp serverio ir kliento, apsaugant duomenis nuo neteisėtos prieigos. Certbot supaprastina SSL sertifikato diegimo ir atnaujinimo procesą. Sertifikatas ne tik padidina saugumą, bet ir padidina vartotojų pasitikėjimą jūsų žiniatinklio ištekliais, taip pagerindamas svetainės reputaciją ir paieškos variklio reitingą.
„Certbot“ diegimas
„Certbot“ yra įtrauktas į daugumą platinimų pagal numatytuosius nustatymus, todėl norint jį įdiegti „Debian“ / „Ubuntu“ sistemose, jums tereikia atnaujinti paketų sąrašą:
apt update
Tada pradėkite diegimo procesą:
apt install certbot
Certbot palaiko papildinius, kurie palengvina žiniatinklio serverio sertifikato sąranką ir konfigūraciją. Norėdami įdiegti šiuos papildinius, naudokite atitinkamą komandą:
apt install certbot python3-certbot-nginx # for Nginx
apt install certbot python3-certbot-apache # for Apache
Diegimo procesas, skirtas "Red Hat" sistemos (pvz RHEL, Centos, Minkšta fetrinė skrybėlė) šiek tiek skiriasi. Iš pradžių turite pridėti EPEL saugyklą:
yum install epel-release
Tada įdiekite įrankį:
yum install certbot
Panašiai yra galimybė pasirinkti konkretaus žiniatinklio serverio papildinį:
yum install python3-certbot-nginx # for Nginx
yum install python3-certbot-apache # for Apache
Įdiegę galite nedelsdami pradėti gauti sertifikatą.
SSL sertifikato gavimas
Šiame skyriuje aptarsime sertifikato gavimo procesą nepriklausomai nuo konkretaus žiniatinklio serverio, o po to – Nginx ir Apache sertifikato diegimo procesą. Tačiau pirmiausia svarbu suprasti programos sintaksę ir funkcionalumą. Tai atrodo taip:
certbot command option -d domain
Pagrindinės komandos apima:
certbot certonly - Gauna sertifikatą, bet neįdiegė.certbot certificates - Ši komanda rodo visų įdiegtų sertifikatų sąrašą.certbot renew - Praplečia esamą sertifikatą.certbot revoke - Panaikina esamą sertifikatą.certbot delete - Ištrina esamą sertifikatą.
Dažniausiai naudojamos parinktys:
--nginx - Naudoja Nginx konfigūracijos scenarijus domeno patvirtinimui.--apache - Naudoja Apache konfigūracijos scenarijus domeno patvirtinimui.-d - Domenų, kuriems prašoma sertifikato, sąrašas.--standalone - Domeno patvirtinimui naudojamas atskiras režimas.--manual - Atlieka rankinį domeno patikrinimą.
Tai tik dažniausiai pasitaikančių komandų ir parinkčių pavyzdys. Su visu programos galimybių sąrašu galite susipažinti pagalbos skyriuje:
certbot –help
Dabar pradedame gauti sertifikatą. Pavyzdžiui, gausime sertifikatą a Virtualus serveris nemokamam trečiojo lygio domenui, pvz., jūsųnaudotojovardas.pserver.space
Pirmiausia turite įvesti komandą:
certbot certonly
Atsakydama į tai, programa paprašys jūsų pasirinkti domeno nuosavybės patvirtinimo metodą:
Pirmoji parinktis yra patogi, jei neturite sukonfigūruoto žiniatinklio serverio arba nenorite keisti esamo. Šis metodas sukuria laikiną žiniatinklio serverį, kad patvirtintų jūsų teisę į domeną. Tai idealiai tinka paprastam ir greitam nustatymui. Renkantis šį metodą, svarbu, kad 80 prievadas būtų laisvas.
Antroji parinktis yra tinkamesnė, jei jau veikia žiniatinklio serveris ir norite jį naudoti norėdami patvirtinti teisę į domeną. „Certbot“ talpina specialius failus į jūsų serverio aplanką, kuriuos vėliau patikrina sertifikavimo centras.
Mes pasirenkame pirmąjį variantą ir spaudžiame kitą. Šiame etape jums reikės:
- Įveskite el. pašto adresą;
- Sutikite su paslaugų teikimo sąlygomis;
- Sutikti arba atsisakyti gauti el. laiškus įmonės ir jos partnerių vardu;
- Nurodykite domeno pavadinimą, kuriam išduotas sertifikatas.
Užbaigus sertifikato išdavimo procesą su Certbot įrankiu, jis nurodys kelią į katalogą, kuriame saugomas išduotas sertifikatas ir jūsų paskyros duomenys:
Jums belieka susieti gautą sertifikatą su reikiama paslauga.
Nginx arba Apache sertifikato diegimas
Šiame skyriuje daroma prielaida, kad įvykdytos tam tikros pagrindinės sąlygos:
- Jau įdiegėte ir sukonfigūravote žiniatinklio serverį, „Nginx“ arba „Apache“. Jis turi būti pasiekiamas iš interneto per domeno pavadinimą, kuriam ketinate gauti sertifikatą;
- Diegdami įrankį taip pat įdiegėte Nginx arba Apache įskiepį naudodami atitinkamą komandą;
- Ugniasienė leidžia prisijungti prie 80 ir 443 prievadų. Jei šie prievadai yra uždaryti ryšiams, paslauga nebus pasiekiama įeinantiems ryšiams. Norėdami gauti daugiau informacijos apie ugniasienės veikimą, tai aptarėme straipsnyje užkardos nustatymas Linux sistemoje.
Įvykdę visas sąlygas, galite pereiti tiesiai prie sertifikato išdavimo. Mes apsvarstysime SSL sertifikato gavimo procesą serveryje naudodami Nginx kaip pavyzdį. Tačiau jei naudojate „Apache“ žiniatinklio serverį, procesas yra visiškai identiškas.
Norėdami gauti sertifikatą, turite įvesti komandą:
certbot --nginx # for Nginx
certbot --apache # for Apache
Atsakant, įrankis paprašys: elektroninio pašto adreso, sutikimo su „Užšifruokime“ paslaugos naudojimo sąlygomis ir leidimo siųsti el. laiškus paslaugos ir jos partnerių vardu.
Po to turėsite nurodyti domeno vardą, kuriam išduotas sertifikatas. Certbot gali automatiškai nustatyti domeną, jei jis buvo nurodytas serverio pavadinimas laukas skirtas nginx konfigūracija arba Serverio pavadinimas bei Serveris Alias forumas apache. Jei jis nenurodytas, programa jums praneš ir paprašys įvesti domeno pavadinimą rankiniu būdu. Tada programa paklaus, ar įgalinti užklausų peradresavimą iš HTTP į HTTPS protokolą. Norėdami nustatyti automatinį peradresavimą, turėtumėte pasirinkti antrą parinktį:
Po kurio laiko Certbot jus informuos apie sėkmingą nurodyto domeno sertifikato įsigijimą. Nuo šio momento visi įeinantys ryšiai bus peradresuojami iš 80 prievado į 443. Įrankis parodys katalogus, kuriuose rasite visus sertifikato duomenis ir informaciją apie Užšifruokime paskyrą:
Pranešime taip pat bus nurodytas gauto sertifikato galiojimo laikas ir svarbios visų aktyvių sertifikatų tvarkymo parinktys:
- tikrai. Ši parinktis naudojama norint gauti arba atnaujinti sertifikatą be automatinės žiniatinklio serverio konfigūracijos. Certbot tik paprašys sertifikato arba jį atnaujins, bet neatliks jokių automatinių serverio konfigūracijos pakeitimų. Anksčiau šią parinktį naudojome norėdami gauti sertifikatą neprisirišę prie žiniatinklio serverio.
- atnaujinti naudojamas automatiniam visų sertifikatų, gautų per Certbot ir kurių galiojimo laikas, atnaujinimui. Programa patikrins visus sertifikatus ir, jei kuris nors iš jų baigs galioti per 30 dienų ar mažiau, bus automatiškai atnaujintas.
Toliau instrukcijose aptarsime, kaip nustatyti automatinį sertifikatų atnaujinimą be vartotojo įsikišimo kas tris mėnesius.
Automatinis sertifikato atnaujinimas Certbot
Skirta Debian/Ubuntu
Naudodamas šias operacines sistemas, Certbot automatiškai prideda scenarijų į užduočių sąrašą, kad automatiškai atnaujintų įdiegtus sertifikatus. Galite patikrinti scenarijaus funkcionalumą naudodami šią komandą:
systemctl status certbot.timer
Atsakyme bus rodoma paslaugos būsena, taip pat katalogas, kuriame yra konfigūracijos failas. Tai galite atidaryti naudodami bet kurį teksto rengyklę. Jei neturite patirties dirbant su Linux teksto rengyklėmis, rekomenduojame su jais susipažinti mūsų apžvalga populiariausių sprendimų. Šiuo atveju naudosime nano:
nano /lib/systemd/system/certbot.timer
Paryškinami visi svarbūs parametrai:
- Grafike nurodyta, kad paslauga veiks du kartus per dieną 00:00 ir 12:00 val.
- Antroji reikšmė rodo atsitiktinį delsą sekundėmis, kuri bus pridėta prie laikmačio pradžios. Šiuo atveju tai yra 43,200 12 sekundžių (XNUMX valandų), todėl paleidimas yra labiau atsitiktinis ir paskirstomas krovinys;
- Šis parametras užtikrina, kad jei laikmatis turėjo būti paleistas sistemos išjungimo metu, jis bus suaktyvintas iš karto po paleidimo.
Taip pat galite atlikti priverstinį sertifikato atnaujinimo patikrinimą naudodami komandą:
certbot renew --dry-run
Naudojant šią komandą, sertifikatai nebus atnaujinti. Vietoje to įrankis atliks veiksmus, panašius į sertifikato gavimą pasibaigus jo galiojimo laikui. Tokiu būdu galite užtikrinti paslaugos funkcionalumą dėl automatinio atnaujinimo.
„CentOS“, „Fedora“ ir kt
Automatinių naujinimų įjungimo Red Hat šeimos sistemose procesas šiek tiek skiriasi. Skirtingai nei „Debian“ / „Ubuntu“, „CentOS“ ir kitose sistemose turite rankiniu būdu pridėti užduotį prie planavimo priemonės. Tam naudosime cron priemonė:
crontab -e
Tada atidarytame faile pridėkite šią eilutę:
0 12 * * * /usr/bin/certbot renew --quiet
Išskirkime pagrindinius komandos argumentus:
- Vykdymo laikas. Tokiu atveju komanda bus automatiškai paleista kiekvieną dieną 12:00;
- Komanda atnaujinti SSL/TLS sertifikatus naudojant Certbot;
- Geriausios -- tyliai vėliavėlė slopina išvestį, todėl procesas tampa labiau paslėptas ir mažiau įsiveržia į sistemos žurnalus ar ekraną.
Pridėję komandą, turite išsaugoti pakeitimus faile.
Kaip ir naudojant Debian/Ubuntu, taip pat galite inicijuoti priverstinį sertifikato atnaujinimo patikrinimą:
certbot renew --dry-run
Sėkmingo komandos vykdymo rezultatas atrodo taip:
Išvada
Išnagrinėjome išsamų Certbot diegimo ir konfigūravimo Linux serveryje procesą. Vadovaudamiesi pateiktomis instrukcijomis, galite sėkmingai gauti SSL/TLS sertifikatą iš Let's Encrypt, įdiegti jį savo žiniatinklio serveryje ir sukonfigūruoti automatinį atnaujinimą, kad užtikrintumėte nuolatinę apsaugą ir didesnį pasitikėjimą žiniatinklio ištekliais. Naudodami Certbot galite lengvai sukurti patikimą ir saugią aplinką vartotojams.