Úvod
V současném digitálním prostředí se ochrana webových serverů stala klíčovou nutností. Jedním z nejúčinnějších přístupů k dosažení tohoto cíle je implementace SSL/TLS certifikátů. Tyto certifikáty šifrují komunikaci mezi webovým serverem a prohlížečem, čímž brání neoprávněnému sledování a úpravám přenášených dat.
Let’s Encrypt je bezplatná certifikační autorita, která poskytuje SSL/TLS certifikáty. Prohlížeče je široce akceptují a představují rychlý a snadný způsob, jak zabezpečit webový server.
V tomto návodu si ukážeme, jak zabezpečit váš webový server Apache s využitím Let’s Encrypt na Debianu 11.
Instalace balíčků Apache a Certbot
Nejdříve je třeba nainstalovat potřebné balíčky, tedy Apache a Certbot:
sudo apt update sudo apt install apache2 certbot
Konfigurace Apache
Po dokončení instalace otevřete konfigurační soubor Apache, konkrétně 000-default.conf
, pomocí textového editoru:
sudo nano /etc/apache2/sites-available/000-default.conf
Na konec tohoto souboru vložte následující řádky:
ServerAdmin webmaster@example.com ServerName example.com DocumentRoot /var/www/html
Nezapomeňte nahradit example.com
názvem vaší domény a webmaster@example.com
e-mailovou adresou administrátora vašeho webu.
3.1 Konfigurace virtuálních hostitelů
V případě, že na vašem serveru hostujete více webových stránek, bude nezbytné vytvořit virtuální hostitele pro každou z nich. Virtuální hostitel představuje konfigurační soubor, který informuje Apache, jak má zpracovávat požadavky pro konkrétní doménu či subdoménu.
Pro každou doménu, kterou chcete zabezpečit, vytvořte nový soubor virtuálního hostitele v adresáři /etc/apache2/sites-available
. Například pro doménu www.example.com
by konfigurační soubor mohl vypadat takto:
sudo nano /etc/apache2/sites-available/www.example.com.conf
Do tohoto souboru vložte následující obsah:
<VirtualHost *:80> ServerName www.example.com ServerAlias example.com DocumentRoot /var/www/html/example.com </VirtualHost>
Nezapomeňte nahradit www.example.com
a /var/www/html/example.com
názvem vaší domény a cestou k adresáři s obsahem webu.
3.2 Aktivace SSL modulu
Pro šifrování komunikace je v Apache nezbytný modul SSL. Aktivujte jej vložením následujícího řádku na začátek konfiguračního souboru Apache:
Include /etc/letsencrypt/options-ssl-apache.conf
Získání certifikátu Let’s Encrypt
Nyní můžete zažádat o certifikát Let’s Encrypt pomocí nástroje Certbot.
4.1 Získání certifikátu přes Certbot
Pro získání certifikátu pro vámi nakonfigurovanou doménu nebo subdoménu použijte následující příkaz:
sudo certbot --apache
Postupujte podle instrukcí na obrazovce a vyberte doménu, pro kterou chcete certifikát vygenerovat.
4.2 Automatické obnovování certifikátu
Certbot má funkci automatického obnovování certifikátů před jejich vypršením platnosti. Pro aktivaci této funkce proveďte následující příkaz:
sudo certbot renew --dry-run
Pokud se neobjeví žádné chyby, vytvořte crontab
soubor pro automatické obnovování certifikátů:
sudo crontab -e
Na konec tohoto souboru přidejte následující řádek:
0 0,12 * * * certbot renew
Ověření certifikátu
Po úspěšném získání certifikátu restartujte Apache a ověřte, zda je certifikát správně nainstalován:
sudo systemctl restart apache2 sudo openssl s_client -showcerts -connect example.com:443
Měli byste vidět informace o vašem certifikátu, včetně jména domény, doby platnosti a vydavatele.
Závěr
Zabezpečení webového serveru pomocí SSL/TLS je klíčové pro ochranu dat uživatelů a zajištění jejich soukromí. Let’s Encrypt nabízí bezplatný a jednoduchý způsob, jak získat SSL/TLS certifikát pro váš webový server Apache na Debianu 11.
V tomto návodu jsme prošli následujícími kroky:
- Instalace balíčků Apache a Certbot
- Konfigurace Apache
- Konfigurace virtuálních hostitelů
- Získání certifikátu Let’s Encrypt
- Automatické obnovování certifikátu
- Ověření certifikátu
Díky dodržování těchto pokynů zajistíte, že váš webový server Apache bude zabezpečený a důvěryhodný.
Často kladené dotazy
1. Co je to SSL/TLS?
SSL/TLS je protokol pro zabezpečení komunikace mezi webovým serverem a prohlížečem pomocí šifrování.
2. Co je Let’s Encrypt?
Let’s Encrypt je bezplatná certifikační autorita poskytující SSL/TLS certifikáty.
3. Jak zjistím, zda má můj web nainstalovaný SSL/TLS certifikát?
V adresním řádku prohlížeče se podívejte, zda se vedle webové adresy zobrazuje ikona zámku.
4. Co dělat, pokud mám problémy s získáním certifikátu z Let’s Encrypt?
Ujistěte se, že doména, kterou se snažíte zabezpečit, je správně nakonfigurovaná v Apache a že webový server běží bez problémů.
5. Jak často je nutné obnovovat SSL/TLS certifikát?
SSL/TLS certifikáty mají obvykle platnost 90 dnů. Doporučujeme nastavit automatické obnovování certifikátů pomocí Certbotu.
6. Je možné zabezpečit více domén pomocí jediného certifikátu?
Ano, můžete použít certifikát typu SAN (Subject Alternative Name), který umožňuje zabezpečit více domén jediným certifikátem.
7. Co je virtuální hostitel?
Virtuální hostitel je konfigurační soubor, který informuje Apache o tom, jak zpracovávat požadavky pro konkrétní doménu nebo subdoménu.
8. Je nutné restartovat Apache po získání certifikátu?
Ano, po získání certifikátu je nezbytné Apache restartovat, aby se změny v konfiguraci projevily.
9. Jak mohu otestovat platnost SSL/TLS certifikátu?
Můžete využít nástroje pro testování SSL, jako je například SSL Labs Server Test, ke zjištění platnosti a zabezpečení vašeho SSL/TLS certifikátu.
10. Jak mohu předejít tomu, aby byl můj web označen jako „Nebezpečný“ v prohlížečích?
Ujistěte se, že váš SSL/TLS certifikát je platný, používáte silné šifrovací algoritmy a že váš web neobsahuje škodlivý obsah.