Přehled
V následujícím příspěvku si ukážeme postup, jak zabezpečit Apache2 pomocí Let’s Encrypt SSL na Debianu 10 (tento postup funguje i na Debianu 11). Příspěvek představí scénář, kdy potřebujeme nainstalovat certbota na náš stroj Debian a získat certifikát SSL od Let’s Encrypt, nastavit automatické přesměrování HTTPS a také vyzkoušet obnovu certifikátu. Zde již máme počítač Debian s předinstalovaným Apache, na kterém si projdeme kroky, jak zabezpečit Apache2 pomocí let's encrypt ssl.
Požadavky
1. Zaregistrujte a platný název domény směřující na váš server Debian.
2. Server Debian 10 (nebo Debian 11)
3. Nainstalovaný a spuštěný webový server Apache
4. Konfigurace brány firewall (otevřené porty HTTP a HTTPS)
Pokud máte firewall UFW nebo IPTABLES, musíte je nakonfigurovat tak, aby otevíraly porty 80 a 443 pro HTTP a HTTPS, abyste mohli nejen hostovat váš web
UFW sudo ufw allow http sudo ufw allow https IPTABLES sudo iptables -I INPUT -p tcp -m tcp --dport 80 -j ACCEPT sudo iptables -I INPUT -p tcp -m tcp --dport 443 -j ACCEPT or sudo iptables -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT sudo iptables -I INPUT -p tcp -m tcp --dport 443 -j ACCEPT
Zabezpečte Apache2 pomocí Let’s Encrypt SSL na Debianu
Instalace Certbota
K získání certifikátu SSL a zásuvného modulu Apache2 pro certbota použijeme také nástroj Let’s Encrypt Cerbot. Oba nástroje nám pomohou velmi snadno, rychle získat certifikát a také provést potřebné konfigurační změny na Apache2. Kromě toho mají nástroje automatizační funkce, takže po vypršení platnosti SSL mohou certifikát obnovit a nainstalovat znovu.
sudo apt install certbot python3-certbot-nginx
Jedna poznámka – před spuštěním příkazu je nejprve potřeba do konfiguračního souboru nginx napsat do parametru ServerName skutečný název domény, na který jste poukázali na váš server. Certbot se podívá na tento parametr v konfiguraci bloku vašeho serveru a podle tohoto parametru vytvoří konfigurační soubory let's encrypt. Příklad na obrázku níže:
sudo nano /etc/apache2/sites-available/000-default.conf
Získejte certifikát SSL od Let’s Encrypt
Jakmile potvrdíte, že jsou otevřeny porty na firewallu a dokončíte instalaci certbota. K získání certifikátu SSL z Let’s encrypt stačí spustit příkaz:
sudo certbot --apache -d yourdomain.com
Když spustíte tento příkaz, spustí se průvodce certbotem. Pokud spouštíte cerbot poprvé, nejprve vás požádá o poskytnutí e-mailové adresy, kterou chcete použít jako kontakt, a o souhlas s licenčními podmínkami Let’s encrypt.
Poté spustí http výzvu, získá certifikát a na konci se vás zeptá, zda chcete, aby hned nakonfiguroval přesměrování https, což je také dobrá volba.
Jakmile je konfigurace přesměrování dokončena, měla by nová doména s SSL certifikátem ihned fungovat.
Nastavte a otestujte automatické obnovení
Certifikáty Let’s encrypt jsou ve výchozím nastavení platné tři měsíce a automatická obnova cerbota je nakonfigurována tak, aby obnovila certifikát alespoň jednou, když má certifikát méně než 30 dní. Jakmile je certifikát SSL získán, platný a aktivní, zdvojnásobte jej, pokud je aktivní a běží služba časovače certbota, a otestujte proces obnovy pomocí možnosti suchého spuštění:
sudo systemctl status certbot.timer
sudo certbot renew --dry-run
Zkontrolujte konfiguraci Apache
Pokud cerbot úspěšně zapsal konfiguraci pro certifikáty ssl a přesměrování HTTPS, můžete dvakrát zkontrolovat konfiguraci Apache. Cerbot restartuje Apache, jakmile bude dokončena konfigurace, měli byste mít svou doménu/web zabezpečenou a spuštěnou s aktivním SSL.
Shrnutí
Abychom to shrnuli, prošli jsme kroky, jak zabezpečit Apache2 pomocí Let’s Encrypt SSL na stroji Debian 10 a na stroji Debian 11. Pro žádosti o certifikát SSL jsme použili nástroj let’s encrypt’s certbot a je to automatická obnova. Naštěstí pro certbot a jeho plugin Apache je proces opravdu jednoduchý a přímočarý a rychle se dokončí. Jedním z návrhů je – bylo by dobrou možností mít zálohu složky let’s encrypt a nechat ji často zálohovat (jak sám certbot navrhl). To je samozřejmě volitelné a záleží na tom, jak máte nastavenou frekvenci obnovování certifikátu.
Službu Pojďme šifrovat, i když je bezplatná a mezi technickým světem velmi oblíbená, je to dobrá volba pro zabezpečení některých typů webových stránek. Jejich bezplatné certifikáty se však nedoporučují používat na webových stránkách elektronického obchodu pro příklad nebo jakýkoli typ webu, který potřebuje předávat a ukládat velmi citlivá data (kreditní karty a podobně). Proto se ve výchozím nastavení doporučuje mít pro SSL certifikáty krátkou dobu obnovení.