V tomto článku preskúmame proces inštalácie a konfigurácie Certbot na serveri Linux. Vysvetlíme podrobne ako získať certifikát Let's Encrypt SSL/TLS pre vašu doménu. Popíšeme tiež, ako ho nainštalovať na webový server (napríklad Nginx alebo Apache) a nastaviť automatické obnovovanie certifikátov, aby sa zabezpečilo nepretržité bezpečné spojenie s vaším webovým zdrojom.
Certbot je bezplatný nástroj s otvoreným zdrojom určený na automatické získavanie a obnovovanie SSL/TLS certifikáty. Zohráva kľúčovú úlohu pri zabezpečovaní spojenia medzi serverom a klientom, pričom chráni dáta pred neoprávneným prístupom. Certbot zjednodušuje proces inštalácie a obnovy certifikátu SSL. Certifikát nielen zvyšuje bezpečnosť, ale tiež zvyšuje dôveru používateľov vo váš webový zdroj, čím zlepšuje reputáciu stránky a jej hodnotenie vo vyhľadávačoch.
Inštalácia Certbotu
Certbot je štandardne zahrnutý vo väčšine distribúcií, takže ho môžete nainštalovať Debian / Ubuntu systémov, stačí aktualizovať zoznam balíkov:
apt update
Potom spustite proces inštalácie:
apt install certbot
Certbot podporuje pluginy, ktoré uľahčujú nastavenie a konfiguráciu certifikátu pre webový server. Ak chcete nainštalovať tieto doplnky, použite príslušný príkaz:
apt install certbot python3-certbot-nginx # for Nginx
apt install certbot python3-certbot-apache # for Apache
Proces inštalácie pre Red Hat systémy (ako napr RHEL, CentOS, Fedora) je trochu iný. Najprv musíte pridať úložisko EPEL:
yum install epel-release
Potom nainštalujte nástroj:
yum install certbot
Podobne existuje možnosť vybrať doplnok pre konkrétny webový server:
yum install python3-certbot-nginx # for Nginx
yum install python3-certbot-apache # for Apache
Po inštalácii môžete ihneď pristúpiť k získaniu certifikátu.
Získanie certifikátu SSL
V tejto časti sa budeme zaoberať procesom získania certifikátu nezávisle od konkrétneho webového servera, po ktorom nasleduje popis procesu inštalácie certifikátu pre Nginx a Apache. Je však nevyhnutné najprv pochopiť syntax a funkčnosť programu. Vyzerá to takto:
certbot command option -d domain
Medzi hlavné príkazy patria:
certbot certonly - Načíta certifikát, ale nenainštaluje ho.certbot certificates - Tento príkaz zobrazí zoznam všetkých nainštalovaných certifikátov.certbot renew - Rozširuje existujúci certifikát.certbot revoke - Zruší existujúci certifikát.certbot delete - Odstráni existujúci certifikát.
Najčastejšie používané možnosti sú:
--nginx - Používa konfiguračné skripty Nginx na overenie domény.--apache - Používa konfiguračné skripty Apache na overenie domény.-d - Zoznam domén, pre ktoré sa požaduje certifikát.--standalone - Používa samostatný režim na overenie domény.--manual - Vykonáva manuálne overenie domény.
Toto je len príklad najčastejších príkazov a možností. S úplným zoznamom možností programu sa môžete zoznámiť v sekcii pomocníka:
certbot –help
Teraz pristúpime k získaniu certifikátu. Ako príklad získame certifikát pre a virtuálny server pre bezplatnú doménu tretej úrovne, ako je vaseusername.pserver.space
Najprv musíte zadať príkaz:
certbot certonly
Ako odpoveď vás obslužný program požiada, aby ste si vybrali metódu overenia vlastníctva domény:
Prvá možnosť je vhodná, ak nemáte nakonfigurovaný webový server alebo nechcete robiť zmeny na existujúcom. Táto metóda vytvorí dočasný webový server na potvrdenie vášho práva na doménu. Je ideálny pre jednoduché a rýchle nastavenie. Pri výbere tejto metódy je dôležité ponechať port 80 voľný.
Druhá možnosť je vhodnejšia, ak už máte v prevádzke webový server a chcete ho použiť na overenie práva na doménu. Certbot umiestňuje špeciálne súbory do priečinka na vašom serveri, ktoré potom skontroluje certifikačné centrum.
Vyberieme prvú možnosť a klikneme ďalej. V tejto fáze budete potrebovať:
- Zadajte e-mailovú adresu;
- Súhlaste s podmienkami služby;
- súhlasiť alebo odmietnuť prijímať e-maily v mene spoločnosti a jej spoločníkov;
- Zadajte názov domény, pre ktorú je certifikát vydaný.
Po dokončení procesu vydania certifikátu pomocou nástroja Certbot sa zobrazí cesta k adresáru, kde je uložený vydaný certifikát a údaje k vášmu účtu:
Ostáva už len to, aby ste získaný certifikát prepojili s požadovanou službou.
Inštalácia certifikátu pre Nginx alebo Apache
Táto časť predpokladá, že boli splnené určité základné podmienky:
- Už ste nainštalovali a nakonfigurovali webový server, buď Nginx alebo Apache. Musí byť prístupný z internetu prostredníctvom názvu domény, pre ktorú chcete certifikát získať;
- Počas inštalácie nástroja ste pomocou príslušného príkazu nainštalovali aj plugin pre Nginx alebo Apache;
- Firewall umožňuje pripojenie na portoch 80 a 443. Ak sú tieto porty uzavreté pre pripojenia, služba nebude dostupná pre prichádzajúce pripojenia. Ďalšie podrobnosti o prevádzke brány firewall sme o tom diskutovali v článku o nastavenie brány firewall v systéme Linux.
Po splnení všetkých podmienok môžete prejsť priamo k vydaniu certifikátu. Ako príklad zvážime proces získania certifikátu SSL na serveri pomocou Nginx. Ak však používate webový server Apache, proces je úplne identický.
Na získanie certifikátu je potrebné zadať príkaz:
certbot --nginx # for Nginx
certbot --apache # for Apache
Ako odpoveď si nástroj vyžiada: e-mailovú adresu, súhlas s podmienkami používania služby Let's Encrypt a povolenie posielať e-maily v mene služby a jej partnerov.
Potom budete musieť zadať názov domény, pre ktorú je certifikát vydaný. Certbot dokáže automaticky určiť doménu, ak bola špecifikovaná v názov servera pole pre Nginx konfigurácia resp Názov servera a ServerAlias pre apache. Ak nie je zadaný, program vás na to upozorní a požiada vás o manuálne zadanie názvu domény. Potom sa obslužný program spýta, či povoliť presmerovanie požiadaviek z protokolu HTTP na protokol HTTPS. Ak chcete nastaviť automatické presmerovanie, mali by ste zvoliť druhú možnosť:
Po určitom čase vás Certbot informuje o úspešnom získaní certifikátu pre zadanú doménu. Od tohto bodu budú všetky prichádzajúce pripojenia presmerované z portu 80 na 443. Nástroj zobrazí adresáre, v ktorých nájdete všetky údaje certifikátu a podrobnosti účtu Let's Encrypt:
V správe bude špecifikovaná aj doba platnosti získaného certifikátu a dôležité možnosti správy všetkých aktívnych certifikátov:
- určite. Táto možnosť sa používa na získanie alebo aktualizáciu certifikátu bez automatickej konfigurácie webového servera. Certbot iba vyžiada alebo aktualizuje certifikát, ale nevykoná žiadne automatické zmeny v konfigurácii servera. Predtým sme túto možnosť používali na získanie certifikátu bez väzby na webový server.
- obnoviť slúži na automatickú obnovu všetkých certifikátov, ktoré boli získané cez Certbot a sú v lehote ich platnosti. Program skontroluje všetky certifikáty a ak niektorý z nich vyprší do 30 dní alebo menej, automaticky sa obnoví.
Ďalej si v návode rozoberieme, ako nastaviť automatickú obnovu certifikátov bez zásahu používateľa každé tri mesiace.
Automatické obnovenie certifikátu v Certbot
Pre Debian/Ubuntu
Pri používaní týchto operačných systémov Certbot automaticky pridá skript do zoznamu úloh na automatickú obnovu nainštalovaných certifikátov. Funkčnosť skriptu môžete skontrolovať pomocou nasledujúceho príkazu:
systemctl status certbot.timer
Odpoveď zobrazí stav služby, ako aj adresár obsahujúci konfiguračný súbor. Môžete ho otvoriť pomocou ľubovoľného textového editora. Ak nemáte skúsenosti s textovými editormi v Linuxe, odporúčame vám sa s nimi oboznámiť náš prehľad z najpopulárnejších riešení. V tomto prípade použijeme nano:
nano /lib/systemd/system/certbot.timer
Všetky dôležité parametre sú zvýraznené:
- Rozpis uvádza, že služba bude premávať dvakrát denne o 00:00 a 12:00;
- Druhá hodnota označuje náhodné oneskorenie v sekundách, ktoré sa pripočíta k spusteniu časovača. V tomto prípade je to 43,200 12 sekúnd (XNUMX hodín), vďaka čomu je spustenie náhodnejšie a rozloží záťaž;
- Tento parameter zaisťuje, že ak sa mal časovač spustiť počas vypínania systému, aktivuje sa ihneď po spustení.
Vynútenú kontrolu obnovy certifikátu môžete spustiť aj príkazom:
certbot renew --dry-run
Pomocou tohto príkazu sa certifikáty neaktualizujú. Namiesto toho nástroj po skončení platnosti vykoná akcie podobné získaniu certifikátu. Môžete tak zabezpečiť funkčnosť služby ohľadom automatického obnovovania.
Pre CentOS, Fedora a ďalšie
Proces povolenia automatických aktualizácií v systémoch rodiny Red Hat sa mierne líši. Na rozdiel od Debianu/Ubuntu, pre CentOS a iné systémy musíte úlohu do plánovača pridať manuálne. Na to použijeme cron Nástroj:
crontab -e
Potom do súboru, ktorý sa otvorí, pridajte nasledujúci riadok:
0 12 * * * /usr/bin/certbot renew --quiet
Poďme si rozobrať hlavné argumenty príkazu:
- Čas vykonania. V tomto prípade sa príkaz automaticky spustí každý deň o 12:00;
- Príkaz na obnovenie certifikátov SSL/TLS pomocou Certbotu;
- --tichý príznak potláča výstup, čím sa proces stáva skrytým a menej rušivým v systémových protokoloch alebo zobrazení.
Po pridaní príkazu je potrebné uložiť zmeny do súboru.
Rovnako ako v prípade Debian/Ubuntu môžete tiež spustiť nútenú kontrolu obnovy certifikátov:
certbot renew --dry-run
Výsledok úspešného vykonania príkazu vyzerá takto:
Záver
Preskúmali sme komplexný proces inštalácie a konfigurácie Certbotu na serveri Linux. Podľa poskytnutých pokynov môžete úspešne získať certifikát SSL/TLS od Let's Encrypt, nainštalovať ho na váš webový server a nakonfigurovať automatické obnovovanie, aby ste zabezpečili nepretržitú ochranu a zvýšenú dôveru vo váš webový zdroj. S Certbotom môžete ľahko vytvoriť spoľahlivé a bezpečné prostredie pre používateľov.