Jak zabezpečit Apache s Let’s Encrypt na Debian 11

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.

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ů

  11 nejlepších aplikací pro písma pro iPhone, které změní vaši textovou hru

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:

  Jak spustit pokročilou kontrolu pozadí


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?

  Jezte svou zeleninu z fotografie analyzuje, co máte na talíři [Paid]

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.