Vyhledávání na webu

Jak zabezpečit Apache pomocí bezplatného šifrování certifikátu SSL na Ubuntu a Debianu


Máte nově zaregistrovaný název domény a váš webový server funguje s SSL Self-Signed Certificate, který jste vydali, což vašim klientům způsobuje problémy při návštěvě domény kvůli chybám generovaným certifikátem? Máte omezený rozpočet a nemůžete si dovolit koupit certifikát vydaný důvěryhodnou CA? Právě tehdy přichází na scénu software Let’s Encrypt, který zachrání situaci.

Pokud chcete nainstalovat Let's Encrypt pro Apache nebo Nginx na RHEL, CentOS, Fedora nebo Ubuntu a Debian, postupujte podle následujících pokynů:

Nastavte Let's Encrypt to Secure Apache na RHEL a CentOS 7/6

Nastavte Let's Encrypt to Secure Nginx na Ubuntu a Debianu

Let's Encrypt je Certifikační autorita (CA), která vám usnadňuje získávání bezplatných certifikátů SSL/TLS potřebných pro vaše server, aby běžel bezpečně a zajistil uživatelům bezproblémové prohlížení bez jakýchkoli chyb.

Testovací ukázkové prostředí

Všechny kroky potřebné k vygenerování certifikátu jsou pro webový server Apache většinou automatizované. Navzdory softwaru vašeho webového serveru však musíte některé kroky provést ručně a certifikáty je nutné nainstalovat ručně, zejména v případě, že obsah vašich webových stránek obsluhuje démon Nginx.

Tento tutoriál vás provede instalací softwaru Let's Encrypt na Ubuntu nebo Debian, vygenerováním a získáním bezplatného certifikátu pro vaši doménu a jak certifikát můžete nainstalovat ručně na webové servery Apache a Nginx.

Požadavky

  1. Veřejný registrovaný název domény s platnými záznamy A, které odkazují zpět na externí IP adresu vašeho serveru. V případě, že je váš server za firewallem, proveďte nezbytná opatření, abyste zajistili, že váš server bude celoslovně dostupný z internetu, přidáním pravidel pro předávání portů na straně routeru.
  2. Webový server Apache nainstalovaný s povoleným modulem SSL a povoleným virtuálním hostingem v případě, že hostujete několik domén nebo subdomén.

Krok 1: Nainstalujte Apache a povolte modul SSL

1. Pokud na svém počítači ještě nemáte nainstalovaný webový server Apache, nainstalujte démona apache pomocí následujícího příkazu.

sudo apt-get install apache2

2. Aktivace modulu SSL pro webový server Apache na Ubuntu nebo Debianu je docela jednoduchá. Povolte modul SSL a aktivujte výchozí virtuální hostitel SSL Apache vydáním následujících příkazů:

sudo a2enmod ssl
sudo a2ensite default-ssl.conf
sudo service apache2 restart
or
sudo systemctl restart apache2.service

Návštěvníci nyní mohou přistupovat k názvu vaší domény prostřednictvím protokolu HTTPS. Protože však váš certifikát s vlastním podpisem serveru není vydán důvěryhodnou certifikační autoritou, v jejich prohlížečích se zobrazí chybové hlášení, jak je znázorněno na obrázku níže.

https://yourdomain.com

Krok 2: Nainstalujte klienta Free Let’s Encrypt

3. Abyste mohli nainstalovat software Let’s Encrypt na váš server, musíte mít v systému nainstalovaný balíček git. Chcete-li nainstalovat software git, zadejte následující příkaz:

sudo apt-get -y install git

4. Dále vyberte adresář ze své systémové hierarchie, kam chcete naklonovat úložiště git Let’s Encrypt. V tomto tutoriálu použijeme jako instalační cestu pro Let’s Encrypt adresář /usr/local/.

Přepněte se do adresáře /usr/local a nainstalujte klienta letsencrypt zadáním následujících příkazů:

cd /usr/local
sudo git clone https://github.com/letsencrypt/letsencrypt

Krok 4: Vygenerujte certifikát SSL pro Apache

5. Proces získání SSL certifikátu pro Apache je automatizován díky pluginu Apache. Vygenerujte certifikát vydáním následujícího příkazu proti názvu vaší domény. Zadejte název své domény jako parametr příznaku -d.

cd /usr/local/letsencrypt
sudo ./letsencrypt-auto --apache -d your_domain.tld

Pokud například potřebujete, aby certifikát fungoval na více doménách nebo subdoménách, přidejte je všechny pomocí příznaku -d pro každý další platný záznam DNS za názvem základní domény.

sudo ./letsencrypt-auto --apache -d your_domain.tld  -d www. your_domain.tld 

6. Odsouhlaste licenci, zadejte e-mailovou adresu pro obnovení a zvolte, zda mohou klienti procházet vaši doménu pomocí obou protokolů HTTP (zabezpečený i nezabezpečený), nebo přesměrovat všechny nezabezpečené požadavky na HTTPS.

7. Po úspěšném dokončení procesu instalace se na vaší konzoli zobrazí blahopřání, která vás informuje o datu vypršení platnosti a o tom, jak můžete otestovat konfiguraci, jak je znázorněno na níže uvedených snímcích obrazovky.

Nyní byste měli být schopni najít soubory certifikátů v adresáři /etc/letsencrypt/live s jednoduchým výpisem adresářů.

sudo ls /etc/letsencrypt/live

8. Chcete-li ověřit stav svého certifikátu SSL, navštivte následující odkaz. Podle toho nahraďte název domény.

https://www.ssllabs.com/ssltest/analyze.html?d=your_domain.tld&latest

Návštěvníci nyní také mohou přistupovat k názvu vaší domény pomocí protokolu HTTPS, aniž by se v jejich webových prohlížečích objevila jakákoli chyba.

Krok 4: Automatické obnovení umožňuje šifrovat certifikáty

9. Ve výchozím nastavení jsou certifikáty vydané autoritou Let’s Encrypt platné 90 dní. Chcete-li obnovit certifikát před datem vypršení platnosti, musíte klienta znovu ručně spustit pomocí přesných příznaků a parametrů jako dříve.

sudo ./letsencrypt-auto --apache -d your_domain.tld

Nebo v případě více subdomén:

sudo ./letsencrypt-auto --apache -d your_domain.tld  -d www. your_domain.tld

10. Proces obnovy certifikátu lze zautomatizovat tak, aby se spustil méně než 30 dní před datem vypršení platnosti pomocí plánovacího cron démona systému Linux.

sudo crontab -e

Přidejte následující příkaz na konec souboru crontab pouze pomocí jednoho řádku:

0 1 1 */2 * cd /usr/local/letsencrypt && ./letsencrypt-auto certonly --apache --renew-by-default --apache -d domain.tld >> /var/log/domain.tld-renew.log 2>&1

11. Podrobnosti o konfiguračním souboru pro obnovení domény pro software Let’s Encrypt naleznete v adresáři /etc/letsencrypt/renewal/.

cat /etc/letsencrypt/renewal/caeszar.tk.conf

Měli byste také zkontrolovat soubor /etc/letsencrypt/options-ssl-apache.conf, abyste viděli nový konfigurační soubor SSL pro webový server Apache.

12. Plugin Let’s encrypt apache také upravuje některé soubory v konfiguraci vašeho webového serveru. Chcete-li zkontrolovat, které soubory byly změněny, uveďte obsah adresáře /etc/apache2/sites-enabled.

ls /etc/apache2/sites-enabled/
sudo cat /etc/apache2/sites-enabled/000-default-le-ssl.conf

To je prozatím vše! V další sérii tutoriálů probereme, jak můžete získat a nainstalovat certifikát Let's Encrypt pro webový server Nginx na Ubuntu a Debian< a také na CentOS.