U ovom članku ćemo istražiti proces instalacije i konfiguracije Certbot na Linux serveru. Objasnićemo detaljno kako dobiti Let's Encrypt SSL/TLS certifikat za vašu domenu. Također ćemo opisati kako ga instalirati na web server (kao što je Nginx ili Apache) i postaviti automatsko obnavljanje certifikata kako bismo osigurali kontinuiranu sigurnu vezu s vašim web resursom.
Certbot je besplatan alat otvorenog koda dizajniran za automatsku nabavku i obnavljanje SSL/TLS certifikati. On igra ključnu ulogu u osiguravanju veze između servera i klijenta, štiteći podatke od neovlaštenog pristupa. Certbot pojednostavljuje proces instalacije i obnove SSL certifikata. Certifikat ne samo da poboljšava sigurnost, već i povećava povjerenje korisnika u vaš web resurs, čime se poboljšava i reputacija stranice i rangiranje na pretraživačima.
Instaliranje Certbota
Certbot je uključen u većinu distribucija po defaultu, tako da ga instalirate Debian / Ubuntu sistema, trebate samo ažurirati listu paketa:
apt update
Zatim pokrenite proces instalacije:
apt install certbot
Certbot podržava dodatke koji olakšavaju postavljanje i konfiguraciju certifikata za web server. Da biste instalirali ove dodatke, koristite odgovarajuću naredbu:
apt install certbot python3-certbot-nginx # for Nginx
apt install certbot python3-certbot-apache # for Apache
Proces instalacije za crvena kapa sistemi (npr RHEL, CentOS, fedora) je malo drugačiji. U početku morate dodati EPEL spremište:
yum install epel-release
Zatim instalirajte alat:
yum install certbot
Slično, postoji mogućnost odabira dodatka za određeni web server:
yum install python3-certbot-nginx # for Nginx
yum install python3-certbot-apache # for Apache
Nakon instalacije, možete odmah nastaviti s dobivanjem certifikata.
Dobijanje SSL sertifikata
U ovom odeljku ćemo razgovarati o procesu dobijanja sertifikata nezavisno od određenog web servera, a zatim ćemo opisati proces instaliranja sertifikata za Nginx i Apache. Međutim, bitno je prvo razumjeti sintaksu i funkcionalnost programa. Čini se kako slijedi:
certbot command option -d domain
Glavne naredbe uključuju:
certbot certonly - preuzima certifikat, ali ga ne instalira.certbot certificates - Ova komanda prikazuje listu svih instaliranih certifikata.certbot renew - Proširuje postojeći certifikat.certbot revoke - Opoziva postojeći certifikat.certbot delete - Briše postojeći certifikat.
Najčešće korištene opcije su:
--nginx - Koristi Nginx konfiguracijske skripte za verifikaciju domena.--apache - Koristi Apache konfiguracijske skripte za verifikaciju domena.-d - Lista domena za koje se traži certifikat.--standalone - Koristi samostalni način za verifikaciju domena.--manual - Vrši ručnu verifikaciju domena.
Ovo je samo primjer najčešćih naredbi i opcija. Možete se upoznati sa kompletnom listom mogućnosti programa u odjeljku pomoći:
certbot –help
Sada prelazimo na dobijanje sertifikata. Kao primjer, dobit ćemo certifikat za a Virtuelni server za besplatnu domenu trećeg nivoa kao što je vaše korisničko ime.pserver.space
Prvo morate unijeti naredbu:
certbot certonly
Kao odgovor, uslužni program će od vas tražiti da odaberete metodu za provjeru vlasništva nad domenom:
Prva opcija je zgodna ako nemate konfigurisan web server ili ne želite da menjate postojeći. Ova metoda kreira privremeni web server za potvrdu vašeg prava na domenu. Idealan je za jednostavno i brzo postavljanje. Prilikom odabira ove metode važno je da port 80 ostane slobodan.
Druga opcija je poželjnija ako već imate web server koji radi i želite ga koristiti za verifikaciju prava na domenu. Certbot postavlja posebne datoteke u folder na vašem serveru, koje zatim provjerava centar za sertifikaciju.
Odaberemo prvu opciju i kliknemo dalje. U ovoj fazi, morat ćete:
- Unesite adresu e-pošte;
- Slažete se sa uslovima usluge;
- Pristati ili odbiti primanje e-pošte u ime kompanije i njenih partnera;
- Navedite ime domene za koju se izdaje certifikat.
Nakon dovršetka procesa izdavanja certifikata pomoću alata Certbot, on će naznačiti putanju do direktorija u kojem su pohranjeni izdani certifikat i podaci za vaš račun:
Ostaje samo da dobijeni sertifikat povežete sa traženom uslugom.
Instaliranje certifikata za Nginx ili Apache
Ovaj odjeljak pretpostavlja da su ispunjeni određeni osnovni uvjeti:
- Već ste instalirali i konfigurisali web server, bilo Nginx ili Apache. Mora biti dostupan sa interneta preko naziva domene za koji nameravate da dobijete sertifikat;
- Tokom instalacije alata, takođe ste instalirali dodatak za Nginx ili Apache koristeći odgovarajuću komandu;
- Firewall dozvoljava veze na portovima 80 i 443. Ako su ovi portovi zatvoreni za veze, usluga će biti nedostupna za dolazne veze. Za više detalja o radu firewall-a, raspravljali smo o tome u članku o postavljanje zaštitnog zida na Linuxu.
Kada su svi uslovi ispunjeni, možete nastaviti direktno sa izdavanjem sertifikata. Razmotrit ćemo proces dobivanja SSL certifikata na serveru koristeći Nginx kao primjer. Međutim, ako koristite Apache web server, proces je potpuno identičan.
Za dobijanje sertifikata potrebno je da unesete naredbu:
certbot --nginx # for Nginx
certbot --apache # for Apache
Kao odgovor, alat će tražiti: adresu e-pošte, pristanak na uslove korištenja usluge Let's Encrypt i dozvolu za slanje e-pošte u ime usluge i njenih partnera.
Nakon toga, morat ćete navesti ime domene za koju se izdaje certifikat. Certbot može automatski odrediti domenu ako je navedena u server_name polje za Nginx konfiguraciju ili ServerName i ServerAlias za apaš. Ako nije navedeno, program će vas obavijestiti i tražiti da ručno unesete naziv domene. Zatim će uslužni program pitati da li da omogući preusmjeravanje zahtjeva sa HTTP na HTTPS protokol. Da biste postavili automatsko preusmjeravanje, trebate odabrati drugu opciju:
Nakon nekog vremena, Certbot će vas obavijestiti o uspješnom preuzimanju certifikata za navedeni domen. Od ovog trenutka nadalje, sve dolazne veze će biti preusmjerene sa porta 80 na 443. Alat će prikazati direktorije u kojima možete pronaći sve podatke o certifikatima i detalje o računu Encrypt:
U poruci će se navesti i period važenja dobijenog certifikata i važne opcije za upravljanje svim aktivnim certifikatima:
- certonly. Ova opcija se koristi za dobivanje ili ažuriranje certifikata bez automatske konfiguracije web servera. Certbot će samo zatražiti ili ažurirati certifikat, ali neće napraviti nikakve automatske promjene u konfiguraciji servera. Ranije smo ovu opciju koristili za dobijanje sertifikata bez vezivanja za veb server.
- obnoviti se koristi za automatsko obnavljanje svih sertifikata koji su dobijeni putem Certbota i koji su u roku važenja. Program će provjeriti sve certifikate, a ako neki od njih istekne u roku od 30 dana ili manje, automatski će se obnoviti.
Sljedeće u uputama govorit ćemo o tome kako postaviti automatsko obnavljanje certifikata bez intervencije korisnika svaka tri mjeseca.
Automatsko obnavljanje certifikata u Certbot-u
Za Debian/Ubuntu
Kada koristite ove operativne sisteme, Certbot automatski dodaje skriptu na listu zadataka za automatsko obnavljanje instaliranih sertifikata. Funkcionalnost skripte možete provjeriti sljedećom naredbom:
systemctl status certbot.timer
Odgovor će prikazati status usluge, kao i direktorij koji sadrži konfiguracijski fajl. Ovo možete otvoriti koristeći bilo koji uređivač teksta. Ako nemate iskustva s uređivačima teksta u Linuxu, preporučujemo da se upoznate s njima naš pregled od najpopularnijih rješenja. U ovom slučaju ćemo koristiti nano:
nano /lib/systemd/system/certbot.timer
Svi važni parametri su istaknuti:
- Raspored pokazuje da će usluga raditi dva puta dnevno u 00:00 i 12:00;
- Druga vrijednost označava nasumično kašnjenje u sekundama koje će se dodati početku tajmera. U ovom slučaju, to je 43,200 sekundi (12 sati), što lansiranje čini nasumičnim i širi opterećenje;
- Ovaj parametar osigurava da će se tajmer aktivirati odmah po pokretanju, ako je tajmer trebalo da se izvrši tokom gašenja sistema.
Također možete pokrenuti prisilnu provjeru obnove certifikata naredbom:
certbot renew --dry-run
Koristeći ovu naredbu, certifikati se neće ažurirati. Umjesto toga, alat će izvršiti radnje slične dobivanju certifikata nakon njegovog isteka. Na taj način možete osigurati funkcionalnost usluge u pogledu automatskog obnavljanja.
Za CentOS, Fedoru i druge
Proces omogućavanja automatskog ažuriranja na sistemima porodice Red Hat malo se razlikuje. Za razliku od Debian/Ubuntua, za CentOS i druge sustave morate ručno dodati zadatak u planer. Za to ćemo koristiti Cron alat:
crontab -e
Zatim u datoteci koja se otvori dodajte sljedeći red:
0 12 * * * /usr/bin/certbot renew --quiet
Razložimo glavne argumente naredbe:
- Vrijeme izvršenja. U ovom slučaju, komanda će se automatski izvoditi u 12:00 svaki dan;
- Naredba za obnavljanje SSL/TLS certifikata koristeći Certbot;
- The --tiho flag potiskuje izlaz, čineći proces skrivenijim i manje nametljivim u sistemskim evidencijama ili prikazu.
Nakon dodavanja naredbe, potrebno je sačuvati promjene u datoteci.
Kao i kod Debian/Ubuntua, također možete pokrenuti prisilnu provjeru obnove certifikata:
certbot renew --dry-run
Rezultat uspješnog izvršenja naredbe izgleda ovako:
zaključak
Istražili smo sveobuhvatan proces instaliranja i konfigurisanja Certbota na Linux serveru. Prateći date upute, možete uspješno dobiti SSL/TLS certifikat od Let's Encrypt, instalirati ga na svoj web server i konfigurirati automatsku obnovu kako biste osigurali kontinuiranu zaštitu i povećano povjerenje u vaš web resurs. Uz Certbot možete lako stvoriti pouzdano i sigurno okruženje za korisnike.