GNU/Linux >> Znalost Linux >  >> Linux

Jak zabezpečit webový server Apache pomocí Let's Encrypt na RHEL 8

V online světě, který je neustále zaplavován bezpečnostními hrozbami, by mělo být zabezpečení vašeho webového serveru na prvním místě. Jedním ze způsobů zabezpečení vašeho webového serveru je implementace protokolu HTTPS na váš web pomocí SSL/TLS certifikátu. Certifikát SSL/TLS nejenže zabezpečuje vaše stránky šifrováním informací vyměňovaných mezi webovým serverem a prohlížeči uživatelů, ale také pomáhá při hodnocení Google.

V této příručce se dozvíte, jak zabezpečit webový server Apache (http) pomocí Let’s Encrypt SSL/TLS na RHEL 8.

Předpoklady

Zde je to, co potřebujete, než budete pokračovat:

  • Instance serveru RHEL 8 s konfigurovaným uživatelem sudo.
  • Plně kvalifikovaný název domény (FQDN) odkazující na veřejnou IP adresu vašeho serveru. V této příručce budeme používat název domény linuxtechgeek.info.

Krok 1) Nainstalujte Apache na RHEL 8

Prvním krokem je instalace webového serveru Apache. Protože Apache již existuje v úložišti AppStream společnosti Red Hat, můžete jej nainstalovat pomocí správce balíčků DNF následovně.

$ sudo dnf install -y httpd

Po instalaci spusťte webový server Apache a povolte jeho spuštění při spouštění.

$ sudo systemctl start httpd
$ sudo systemctl enable httpd

Chcete-li ověřit, že Apache běží, spusťte příkaz:

$ sudo systemctl status httpd

Poznámka:V případě, že je spuštěn firewall, povolte následující porty Apache ve firewallu, spusťte

$ sudo firewall-cmd --add-port=80/tcp --permanent
$ sudo firewall-cmd --add-port=443/tcp –permanent
$ sudo firewall-cmd --realod

Nyní můžete přejít do svého webového prohlížeče a procházet svou doménu v adresním řádku.

Krok 2) Nainstalujte Certbot

Certbot je snadno použitelný opensource klient, který spravuje EFF (Electronic Frontier Foundation). Načte certifikát TLS z Lets Encrypt a nasadí jej na webový server. Díky tomu eliminuje potíže a bolesti spojené s implementací protokolu HTTPS pomocí certifikátu TLS.

Chcete-li nainstalovat Certbot a související balíčky, nejprve povolte EPEL (Extra Packages for Enterprise Linux).

$ sudo dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm -y

Dále nainstalujte certbot a balíček mod_ssl následovně.

$ sudo dnf install certbot python3-certbot-apache mod_ssl

Krok 3) Vytvořte soubor virtuálního hostitele Apache

Virtuální hostitelé umožňují hostovat více domén na jednom webovém serveru.

Prvním krokem je vytvoření adresáře v kořenovém adresáři dokumentu, do kterého budou vstupovat všechny soubory webu.

$ sudo mkdir -p /var/www/linuxtechgeek.info/html

Nastavte vlastnictví adresáře na uživatele Apache.

$ sudo chown -R apache:apache /var/www/linuxtechgeek.info/html

Ujistěte se, že jste nastavili oprávnění k adresáři podle obrázku.

$ sudo chmod -R 755 /var/www

S adresářem domény se všemi nastavenými vlastnictvími a oprávněními vytvoříme soubor virtuálního hostitele v adresáři /etc/httpd/conf.d/.

$ sudo vi /etc/httpd/conf.d/linuxtechgeek.info.conf

Vložte následující řádky a buďte opatrní, abyste použili svůj vlastní název domény.

<virtualhost *:80>
ServerName linuxtechgeek.info
ServerAlias www.linuxtechgeek.info
DocumentRoot /var/www/linuxtechgeek.info/html
ErrorLog /var/log/httpd/linuxtechgeek.info-error.log
CustomLog /var/log/httpd/linuxtechgeek.info-access.log combined
</virtualhost>

Uložte a ukončete soubor virtualhost.

Abychom otestovali, zda virtuální hostitel funguje, vytvoříme vzorový soubor HTML v adresáři webových stránek.

$ sudo vi /var/www/linuxtechgeek.info/html/index.html

Vložte následující ukázkový obsah. Neváhejte jej upravit podle svých preferencí.

<!DOCTYPE html>
<html>
     <body>
         <h1> Welcome to Linuxtechi virtualhost </h1>
      </body>
</html>

Uložte a ukončete soubor HTML. Chcete-li uložit všechny provedené změny, restartujte webový server Apache.

$ sudo systemctl restart httpd

Nyní procházejte svou doménu ještě jednou a tentokrát byste místo výchozí uvítací stránky Apache měli vidět vlastní HTML stránku, kterou jste právě nakonfigurovali. Toto je důkaz, že soubor virtuálního hostitele funguje.

Krok 4) Zabezpečte Apache pomocí Let's Encrypt Certificate

Posledním krokem je načtení a nasazení certifikátu Let’s Encrypt. Chcete-li to provést, jednoduše spusťte příkaz:

$ sudo certbot --apache

Po provedení příkazu vás certbot provede řadou výzev. Budete vyzváni k zadání vaší e-mailové adresy a budete požádáni o souhlas s podmínkami. Budete také dotázáni, zda si přejete dostávat pravidelné e-maily o novinkách EFF a kampaních o digitální svobodě.

Až budete vyzváni k zadání názvů, pro které chcete aktivovat HTTPS, stačí stisknout ENTER a certifikát použijete na všechny poskytnuté domény. 

Certbot přistoupí k načtení certifikátu TLS z Let’s Encrypt a jeho implementaci na váš webový server. Certbot poté vytiskne cestu, kam byly certifikát a klíč uloženy, a také cestu nasazení certifikátu pro vaše domény.

Chcete-li ověřit, že Let’s encrypt bylo úspěšně nasazeno, obnovte prohlížeč. Tentokrát si na začátku řádku URL všimnete ikony visacího zámku, která označuje, že web byl úspěšně zašifrován.

Kliknutím na ikonu visacího zámku zobrazíte další podrobnosti

Kromě toho můžete provést test ssl v laboratořích ssl a digitálně ověřit váš certifikát. Pokud všechno šlo dobře, měli byste dostat známku A.

Krok 5) Zašifrujeme obnovu certifikátu

Certifikát Let’s Encrypt má platnost pouze 90 dní. Několik týdnů před vypršením platnosti obvykle dostanete od EFF upozornění o blížícím se vypršení platnosti certifikátu a nutnosti obnovit certifikát.

Certifikát můžete ručně obnovit spuštěním příkazu:

$ sudo certbot renew

Chcete-li simulovat obnovu certifikátu, spusťte příkaz:

$ sudo certbot renew --dry-run

To pouze napodobuje skutečné obnovení certifikátu a neprovádí žádnou akci.

Chcete-li automatizovat obnovu certifikátu, otevřete soubor crontab

$ crontab -e

Zadejte úlohu cron, která se bude spouštět každou půlnoc.

0 0 * * * /usr/bin/certbot renew> /dev/null 2>&1

Závěr

Doufáme, že nyní můžete bez problémů nasadit certifikát Let’s Encrypt na RHEL pro zabezpečení webového serveru Apache.

Přečtěte si také :Jak zpevnit a zabezpečit webový server NGINX v systému Linux


Linux
  1. Jak nakonfigurovat webový server Apache

  2. Jak nakonfigurovat více webových stránek s webovým serverem Apache

  3. Jak nainstalovat Let's Encrypt SSL s Apache na Debian 11

  1. Jak zabezpečit Nginx pomocí SSL a Let's Encrypt ve FreeBSD

  2. Jak nainstalovat Let’s Encrypt na Ubuntu 20.04 s Apache

  3. Jak zabezpečit Apache pomocí Lets Encrypt na Ubuntu 18.04

  1. Jak nainstalovat webový server Apache na CentOS 7

  2. Zabezpečte Apache pomocí Lets Encrypt na CentOS 8

  3. Jak zabezpečit server Ubuntu pomocí brány firewall CSF