V dnešní době je zajištění šifrovaného připojení k webovému serveru zásadní, jelikož umožňuje používání zabezpečeného protokolu HTTPS pro váš web.
Pro tento účel využijeme Let’s Encrypt, certifikační autoritu, která vydává certifikáty zdarma, které jsou zcela v souladu s požadovanými bezpečnostními standardy. Let’s Encrypt zjednodušuje proces instalace certifikátu tak, že si s ním poradí i méně zkušení uživatelé. Umožňuje totiž zabezpečit web pomocí klienta Certbot.
Nejdříve se připojte ke svému serveru pomocí SSH. Pokud ještě nemáte SSH připojení k dispozici, doporučujeme návod na bezpečné připojení pomocí SSH protokolu. Pokud se jedná o lokální server, pokračujte k dalšímu kroku a otevřete terminál serveru
Instalace CertBot
Přidejte repozitář obsahující CertBot.
$ sudo add-apt-repository ppa:certbot/certbot
Poté nainstalujte Certbot pomocí příkazu:
$ sudo apt install python-certbot-apache
Po dokončení instalace můžete pokračovat v konfiguraci firewallu.
Configurace Firewallu
Prvním krokem v nastavení firewallu na vašem systému je povolení provozu HTTP a HTTPS.
Pokud používáte UFW firewall, máte pro Apache k dispozici předinstalované profily. Pojďme se tedy podívat, jak je povolit.
Pro kontrolu dostupných profilů spusťte tento příkaz:
$ sudo ufw app list
Na obrazovce se objeví seznam podobný tomuto:
Available applications:
Apache
Apache Full
Apache Secure
OpenSSH
Chcete-li povolit provoz HTTP (Port 80) a HTTPS (Port 443), použijte profil „Apache Full“.
Informace o profilu lze získat takto:
$ sudo ufw app info "Apache Full"
Na obrazovce se objeví informace o profilu:
Profile: Apache Full
Title: Web Server (HTTP,HTTPS)
Description: Apache v2 is the next generation of the omnipresent Apache web
server.
Ports:
80,443/tcp
Po kontrole těchto informací můžete povolit profil:
$ sudo ufw allow in "Apache Full"
Vytvoření SSL Certifikátu
Nyní požádejte o certifikát pro doménu, kterou si přejete zabezpečit pomocí dříve nainstalovaného Certbotu.
V příkazu níže nahraďte TVOJEDOMENA.CZ názvem domény, kterou chcete zabezpečit:
$ sudo certbot --apache -d TVOJEDOMENA.CZ -d TVOJEDOMENA.CZ
Formulace tohoto příkazu: --apache udává, že Certbot využívá Apache plugin, zatímco -d označuje domény, pro které bude certifikát použit.
Poté zadejte svou e-mailovou adresu, odsouhlaste smluvní podmínky a zvolte, zda chcete přesměrovat připojení k vašemu webu na připojení HTTPS.
Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access.
-------------------------------------------------------------------------------
1: No redirect - No further changes to the webserver configuration.
2: Redirect - To redirect all requests to secure HTTPS access. Choose this option fornew websites, or if you're confident your site works on HTTPS. You can undo this
change by editing your web server's configuration.
-------------------------------------------------------------------------------
Select the appropriate number [1-2] then [enter] (press 'c' to cancel):
Pozor, doporučujeme před přesměrováním provozu na HTTPS zkontrolovat, zda je Vaše webová aplikace správně nakonfigurována.
Zadejte číslo zvolené metody. Pokud byl proces úspěšný, na obrazovce se zobrazí potvrzovací zpráva.
Potvrzení obnovení Certifikátu
SSL certifikáty Let’s encrypt jsou platné po dobu 90 dnů. Po uplynutí této doby je nutné je obnovit. Certbot se stará o automatické obnovování certifikátů, pro ověření správné funkčnosti však doporučujeme, abyste se pokusili certifikát nejdříve obnovit ručně:
$ sudo certbot renew --dry-run
Pokud se nezobrazí žádná chybová hláška, obnova byla úspěšná. Pokud obnova certifikátu v budoucnu selže, bude na e-mail zadaný při vytváření certifikátu odesláno upozornění o blížící se expiraci certifikátu.