V tomto článku prozkoumáme proces instalace a konfigurace Certbot na linuxovém serveru. Vysvětlíme podrobně jak získat certifikát Let's Encrypt SSL/TLS pro vaši doménu. Popíšeme také, jak jej nainstalovat na webový server (jako je Nginx nebo Apache) a nastavit automatické obnovování certifikátů, aby bylo zajištěno nepřetržité zabezpečené spojení s vaším webovým zdrojem.
Certbot je bezplatný nástroj s otevřeným zdrojovým kódem určený pro automatické získávání a obnovování SSL/TLS certifikáty. Hraje klíčovou roli v zabezpečení spojení mezi serverem a klientem a chrání data před neoprávněným přístupem. Certbot zjednodušuje instalaci a proces obnovy SSL certifikátu. Certifikát nejen zvyšuje zabezpečení, ale také zvyšuje důvěru uživatelů ve váš webový zdroj, čímž zlepšuje reputaci webu i hodnocení ve vyhledávačích.
Instalace Certbota
Certbot je ve výchozím nastavení součástí většiny distribucí, takže jej lze nainstalovat Debian / Ubuntu systémů, stačí aktualizovat seznam balíčků:
apt update
Poté spusťte proces instalace:
apt install certbot
Certbot podporuje pluginy, které usnadňují nastavení a konfiguraci certifikátu pro webový server. Chcete-li nainstalovat tyto pluginy, použijte odpovídající příkaz:
apt install certbot python3-certbot-nginx # for Nginx
apt install certbot python3-certbot-apache # for Apache
Proces instalace pro Red Hat systémy (jako např RHEL, CentOS, Fedora) je trochu jiný. Zpočátku musíte přidat úložiště EPEL:
yum install epel-release
Poté nainstalujte nástroj:
yum install certbot
Podobně existuje možnost vybrat plugin pro konkrétní webový server:
yum install python3-certbot-nginx # for Nginx
yum install python3-certbot-apache # for Apache
Po instalaci můžete ihned přistoupit k získání certifikátu.
Získání SSL certifikátu
V této části probereme proces získání certifikátu nezávisle na konkrétním webovém serveru a následně popíšeme proces instalace certifikátu pro Nginx a Apache. Je však nezbytné nejprve porozumět syntaxi a funkčnosti programu. Vypadá to následovně:
certbot command option -d domain
Mezi hlavní příkazy patří:
certbot certonly - Načte certifikát, ale nenainstaluje jej.certbot certificates - Tento příkaz zobrazí seznam všech nainstalovaných certifikátů.certbot renew - Rozšiřuje stávající certifikát.certbot revoke - Zruší stávající certifikát.certbot delete - Odstraní stávající certifikát.
Nejčastěji používané možnosti jsou:
--nginx - Používá konfigurační skripty Nginx pro ověření domény.--apache - Používá konfigurační skripty Apache pro ověření domény.-d - Seznam domén, pro které je certifikát požadován.--standalone - Používá samostatný režim pro ověření domény.--manual - Provádí manuální ověření domény.
Toto je pouze příklad nejčastějších příkazů a možností. S úplným seznamem funkcí programu se můžete seznámit v sekci nápovědy:
certbot –help
Nyní přistoupíme k získání certifikátu. Jako příklad získáme certifikát pro a Virtuální server pro bezplatnou doménu třetí úrovně, jako je vaše uživatelské jméno.pserver.space
Nejprve musíte zadat příkaz:
certbot certonly
V odpovědi vás nástroj požádá, abyste zvolili metodu ověření vlastnictví domény:
První možnost je vhodná, pokud nemáte nakonfigurovaný webový server nebo nechcete provádět změny na stávajícím. Tato metoda vytvoří dočasný webový server pro potvrzení vašeho práva na doménu. Je ideální pro jednoduché a rychlé nastavení. Při výběru této metody je důležité ponechat port 80 volný.
Druhá možnost je vhodnější, pokud již máte v provozu webový server a chcete jej použít k ověření práva na doménu. Certbot umístí speciální soubory do složky na vašem serveru, které jsou následně zkontrolovány certifikačním centrem.
Vybereme první možnost a klikneme na další. V této fázi budete potřebovat:
- Zadejte e-mailovou adresu;
- souhlas s podmínkami služby;
- souhlasit nebo odmítnout přijímat e-maily jménem společnosti a jejích partnerů;
- Zadejte název domény, pro kterou je certifikát vydán.
Po dokončení procesu vydání certifikátu pomocí nástroje Certbot uvede cestu k adresáři, kde je uložen vydaný certifikát a údaje k vašemu účtu:
Zbývá jen, abyste získaný certifikát propojili s požadovanou službou.
Instalace certifikátu pro Nginx nebo Apache
Tato část předpokládá, že byly splněny určité základní podmínky:
- Již jste nainstalovali a nakonfigurovali webový server, buď Nginx nebo Apache. Musí být přístupný z internetu prostřednictvím názvu domény, pro kterou chcete certifikát získat;
- Během instalace nástroje jste také pomocí příslušného příkazu nainstalovali plugin pro Nginx nebo Apache;
- Firewall umožňuje připojení na portech 80 a 443. Pokud jsou tyto porty uzavřeny pro připojení, služba nebude dostupná pro příchozí připojení. Další podrobnosti o provozu brány firewall jsme probrali v článku o nastavení firewallu na Linuxu.
Po splnění všech podmínek můžete přejít přímo k vydání certifikátu. Jako příklad uvážíme proces získání certifikátu SSL na serveru pomocí Nginx. Pokud však používáte webový server Apache, proces je zcela identický.
Pro získání certifikátu je potřeba zadat příkaz:
certbot --nginx # for Nginx
certbot --apache # for Apache
Jako odpověď si nástroj vyžádá: e-mailovou adresu, souhlas s podmínkami používání služby Let's Encrypt a povolení k zasílání e-mailů jménem služby a jejích partnerů.
Poté budete muset zadat název domény, pro kterou je certifikát vydán. Certbot může automaticky určit doménu, pokud byla specifikována v název_serveru pole pro Nginx konfigurace popř Název_serveru a ServerAlias for Apache. Pokud není zadáno, program vás na to upozorní a požádá vás o ruční zadání názvu domény. Poté se nástroj zeptá, zda povolit přesměrování požadavků z protokolu HTTP na protokol HTTPS. Chcete-li nastavit automatické přesměrování, měli byste zvolit druhou možnost:
Po nějaké době vás Certbot informuje o úspěšném získání certifikátu pro zadanou doménu. Od tohoto okamžiku budou všechna příchozí připojení přesměrována z portu 80 na 443. Nástroj zobrazí adresáře, ve kterých najdete všechna data certifikátu a podrobnosti o účtu Let's Encrypt:
Ve zprávě bude také uvedena doba platnosti získaného certifikátu a důležité možnosti správy všech aktivních certifikátů:
- určitě. Tato volba se používá pro získání nebo aktualizaci certifikátu bez automatické konfigurace webového serveru. Certbot si pouze vyžádá nebo aktualizuje certifikát, ale neprovede žádné automatické změny v konfiguraci serveru. Dříve jsme tuto možnost používali k získání certifikátu bez vazby na webový server.
- obnovit slouží k automatické obnově všech certifikátů, které byly získány přes Certbot a jsou v době jejich platnosti. Program zkontroluje všechny certifikáty, a pokud některý z nich vyprší do 30 dnů nebo méně, bude automaticky obnoven.
Dále si v návodu probereme, jak nastavit automatickou obnovu certifikátů bez zásahu uživatele každé tři měsíce.
Automatická obnova certifikátu v Certbotu
Pro Debian/Ubuntu
Při použití těchto operačních systémů Certbot automaticky přidá skript do seznamu úkolů pro automatickou obnovu nainstalovaných certifikátů. Funkčnost skriptu můžete zkontrolovat pomocí následujícího příkazu:
systemctl status certbot.timer
Odpověď zobrazí stav služby a také adresář obsahující konfigurační soubor. Můžete jej otevřít pomocí libovolného textového editoru. Pokud nemáte zkušenosti s textovými editory v Linuxu, doporučujeme se s nimi seznámit náš přehled z nejoblíbenějších řešení. V tomto případě použijeme nano:
nano /lib/systemd/system/certbot.timer
Všechny důležité parametry jsou zvýrazněny:
- Rozpis uvádí, že služba bude jezdit dvakrát denně v 00:00 a 12:00;
- Druhá hodnota označuje náhodné zpoždění v sekundách, které bude přidáno ke spuštění časovače. V tomto případě je to 43,200 12 sekund (XNUMX hodin), díky čemuž je spuštění náhodnější a rozloží zátěž;
- Tento parametr zajišťuje, že pokud měl být časovač spuštěn během vypínání systému, bude aktivován ihned po spuštění.
Vynucenou kontrolu obnovení certifikátu můžete také spustit příkazem:
certbot renew --dry-run
Pomocí tohoto příkazu nebudou certifikáty aktualizovány. Místo toho bude nástroj po vypršení platnosti certifikátu provádět akce podobné získání certifikátu. Tímto způsobem můžete zajistit funkčnost služby ohledně automatického obnovení.
Pro CentOS, Fedoru a další
Proces povolení automatických aktualizací v systémech rodiny Red Hat se mírně liší. Na rozdíl od Debianu/Ubuntu je pro CentOS a další systémy potřeba ručně přidat úlohu do plánovače. K tomu použijeme cron Nástroj:
crontab -e
Poté do souboru, který se otevře, přidejte následující řádek:
0 12 * * * /usr/bin/certbot renew --quiet
Pojďme si rozebrat hlavní argumenty příkazu:
- Doba provedení. V tomto případě se příkaz automaticky spustí každý den ve 12:00;
- Příkaz k obnovení certifikátů SSL/TLS pomocí Certbotu;
- Jedno --klid příznak potlačuje výstup, takže proces je více skrytý a méně rušivý v systémových protokolech nebo zobrazení.
Po přidání příkazu je třeba uložit změny do souboru.
Stejně jako u Debian/Ubuntu můžete také zahájit nucenou kontrolu obnovení certifikátu:
certbot renew --dry-run
Výsledek úspěšného provedení příkazu vypadá následovně:
Závěr
Prozkoumali jsme komplexní proces instalace a konfigurace Certbota na serveru Linux. Podle poskytnutých pokynů můžete úspěšně získat certifikát SSL/TLS od Let's Encrypt, nainstalovat jej na váš webový server a nakonfigurovat automatické obnovování, abyste zajistili nepřetržitou ochranu a zvýšenou důvěru ve váš webový zdroj. S Certbot můžete snadno vytvořit spolehlivé a bezpečné prostředí pro uživatele.