Jak zabezpečit Apache s Let’s Encrypt na Debianu 11
Úvod
Zabezpečení webových serverů je v dnešní době nezbytností. Jedním z nejefektivnějších způsobů, jak toho dosáhnout, je použití certifikátu SSL/TLS. Certifikát SSL/TLS šifruje komunikaci mezi webovým serverem a prohlížečem, čímž chrání přenášená data před odposlechem a manipulací.
Let’s Encrypt je bezplatná certifikační autorita, která vydává SSL/TLS certifikáty. Tyto certifikáty jsou široce akceptovány webovými prohlížeči a poskytují rychlý a snadný způsob, jak zabezpečit webový server.
V tomto návodu vám ukážeme, jak zabezpečit webový server Apache pomocí Let’s Encrypt na Debianu 11.
Table of Contents
2. Instalace balíčků Apache a Certbot
Nejprve nainstalujte balíčky Apache a Certbot:
sudo apt update
sudo apt install apache2 certbot
3. Konfigurace Apache
Po instalaci balíčků otevřete konfigurační soubor Apache 000-default.conf
pomocí textového editoru:
sudo nano /etc/apache2/sites-available/000-default.conf
Přidejte následující řádky na konec souboru:
ServerAdmin [email protected]
ServerName example.com
DocumentRoot /var/www/html
Nahraďte example.com
názvem své domény a [email protected]
e-mailovou adresou administrátora webu.
3.1 Konfigurace virtuálních hostitelů
Pokud hostujete více webových stránek na svém serveru, budete muset vytvořit pro každou stránku virtuální hostitele. Virtuální hostitel je konfigurační soubor, který Apache sděluje, jak obsluhovat požadavky pro konkrétní doménu nebo 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 soubor virtuálního hostitele vypadal takto:
sudo nano /etc/apache2/sites-available/www.example.com.conf
Přidejte do souboru následující obsah:
<VirtualHost *:80>
ServerName www.example.com
ServerAlias example.com
DocumentRoot /var/www/html/example.com
</VirtualHost>
Nahraďte www.example.com
a /var/www/html/example.com
názvem domény a cestou ke kořenovému adresáři webové stránky.
3.2 Povolení modulu SSL
Modul SSL je v Apache vyžadován pro šifrování komunikace. Povolte modul SSL přidáním následujícího řádku do konfiguračního souboru Apache na začátek:
Include /etc/letsencrypt/options-ssl-apache.conf
4. Získání certifikátu Let’s Encrypt
Nyní můžeme získat certifikát Let’s Encrypt pomocí nástroje Certbot.
4.1 Získání certifikátu pomocí Certbotu
Spusťte následující příkaz pro získání certifikátu pro doménu nebo subdoménu, kterou jste nakonfigurovali v předchozích krocích:
sudo certbot --apache
Postupujte podle pokynů na obrazovce a vyberte doménu, pro kterou chcete získat certifikát.
4.2 Automatické obnovení certifikátu
Certbot může být nakonfigurován tak, aby automaticky obnovoval certifikáty před jejich vypršením. Chcete-li to povolit, spusťte následující příkaz:
sudo certbot renew --dry-run
Pokud nedojde k žádným chybám, vytvořte soubor crontab
pro automatické obnovení certifikátu:
sudo crontab -e
Na konec souboru přidejte následující řádek:
0 0,12 * certbot renew
5. Testování certifikátu
Po získání certifikátu restartujte Apache a zkontrolujte, zda je certifikát nainstalován správně:
sudo systemctl restart apache2
sudo openssl s_client -showcerts -connect example.com:443
Měli byste vidět informace o certifikátu, včetně názvu domény, platnosti a vydavatele.
6. Závěr
Zabezpečení webových serverů pomocí SSL/TLS je nezbytné pro ochranu dat uživatelů a zajištění soukromí. Let’s Encrypt poskytuje bezplatný a snadný způsob, jak získat SSL/TLS certifikát pro váš webový server Apache na Debianu 11.
Následující kroky jsme si ukázali v tomto návodu:
* Instalace balíčků Apache a Certbot
* Konfigurace Apache
* Konfigurace virtuálních hostitelů
* Získání certifikátu Let’s Encrypt
* Automatické obnovení certifikátu
* Testování certifikátu
Dodržováním těchto kroků zajistíte, že váš webový server Apache bude bezpečný a důvěryhodný.
Časté dotazy
1. Co je SSL/TLS?
SSL/TLS je protokol, který chrání komunikaci 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, která vydává SSL/TLS certifikáty.
3. Jak zjistím, zda mám na svém webu nainstalovaný certifikát SSL/TLS?
V adresním řádku prohlížeče zkontrolujte, zda je vedle adresy webové stránky ikona zámku.
4. Co když se při získávání certifikátu z Let’s Encrypt setkám s problémy?
Ujistěte se, že doména, kterou se pokoušíte zabezpečit, je správně nakonfigurována v Apache a že webový server běží.
5. Jak často by měl být certifikát SSL/TLS obnoven?
Certifikáty SSL/TLS mají obvykle platnost 90 dní. Doporučujeme nastavit automatické obnovení certifikátu pomocí Certbotu.
6. Mohu zabezpečit více domén pomocí jednoho certifikátu?
Ano, můžete použít certifikát typu SAN (Subject Alternative Name), který umožňuje zabezpečit více domén pomocí jediného certifikátu.
7. Co je virtuální hostitel?
Virtuální hostitel je konfigurační soubor, který Apache sděluje, jak obsluhovat 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 nutné restartovat Apache, aby se změny v konfiguraci projevily.
9. Jak mohu otestovat platnost certifikátu SSL/TLS?
Můžete použít nástroj pro testování SSL, jako je SSL Labs Server Test, pro testování platnosti a zabezpečení vašeho certifikátu SSL/TLS.
10. Jak zabráním tomu, aby můj web byl označen jako „Nebezpečný“ v prohlížečích?
Ujistěte se, že váš certifikát SSL/TLS je platný, že používáte silné šifrovací algoritmy a že web neobsahuje škodlivý obsah.