Co je certifikát SSL?
V průběhu času přibývalo případů narušení bezpečnosti souvisejících s internetem, protože hackeři nepřetržitě pracují na krádeži uživatelských dat pro škodlivé účely. Certifikát SSL je digitální certifikát, který se instaluje na servery webových stránek především pro šifrování dat odesílaných mezi prohlížečem uživatele a serverem tak, aby k nim měl přístup pouze zamýšlený příjemce. To je zásadní, protože bez šifrování jsou informace odesílány jako prostá textová data a hackeři je mohou snadno zachytit.
Z tohoto důvodu většina e-shopů a platforem pro online platby peněz, jako je PayPal, šifruje své webové stránky. Certifikát SSL také umožňuje autentizaci a zajišťuje, že informace budou odeslány správnému serveru a nikoli hackerovi.
Google má rád zabezpečené stránky
Certifikát SSL pomáhá umístit váš web na vyšší hodnocení na Googlu. Podle oznámení společnosti Google budou weby šifrované pomocí SSL hodnoceny výše než ty, které nemají a které jsou považovány za nebezpečné. Zabezpečený web je symbolizován visacím zámkem na adresním řádku a URL, kterému předchází https namísto HTTP. Pokud vaše stránky nemají zabezpečené rozšíření HTTPS, Google označí adresu URL webu jako „Nezabezpečené“, což může negativně ovlivnit
hodnocení vašich stránek.
Nginx s certifikací Let's Encrypt SSL na Ubunutu
V tomto článku se podíváme na to, jak zabezpečit Nginx pomocí Let’s encrypt SSL na Ubuntu 18.04. Let’s Encrypt je bezplatné a automatické SSL poskytované autoritou Let’s encrypt. Do roku 2018 zajistila Let’s Encrypt více než 150 milionů webových stránek.
Začněme a uvidíme, jak můžeme zabezpečit Nginx pomocí Let's encrypt SSL na Ubuntu 18.04.
Předpoklady
Chcete-li začít, ujistěte se, že máte následující:
- Instance serveru Ubuntu serveru 18.04 s přístupem ssh
- Používání bez oprávnění root s právy sudo
- Plně kvalifikovaný název domény (FQDN) se záznamem A odkazujícím na IP adresu serveru
V tomto příkladu použijeme název domény crazytechgeek.info který ukazuje na VPS s IP adresou 18.191.46.130 .
Krok 1. Instalace Nginx
První věcí bude instalace webového serveru Nginx. Nejprve však aktualizujte svůj systém přihlášením jako uživatel bez oprávnění root a provedením následujícího příkazu.
$ sudo apt update
Dále nainstalujte Nginx pomocí následujícího příkazu.
$ sudo apt install nginx
Výstup :
Po instalaci ověřte, že Nginx běží spuštěním následujícího příkazu.
$ sudo systemctl status nginx
Výstup :
Skvělý! Nyní, když jsme nainstalovali náš webový server, přejdeme k dalšímu kroku.
Krok 2. Nainstalujte Certbot
Nyní nainstalujme Certbot na náš server. V tomto příkladu použijeme softwarové úložiště Ubuntu, které obsahuje všechny aktualizované soubory. Chcete-li přidat úložiště Certbot, spusťte následující příkaz.
$ sudo add-apt-repository ppa:certbot/certbot
Výstup :
Instalace Certbot
Chcete-li, aby si systémová úložiště uvědomila provedené změny, aktualizujte systém.
$ sudo apt update
Krok 3. Nainstalujte balíček Certbot Nginx
Poté nainstalujeme balíček Certbot Nginx. Chcete-li toho dosáhnout, spusťte příkaz níže:
$ sudo apt-get install python-certbot-nginx
Výstup
Krok 4. Aktualizace brány firewall, aby byl povolen provoz HTTPS
musíme povolit provoz HTTPS přes bránu firewall, aby SSL fungovalo pomocí portu 443. Nejprve zkontrolujeme stav brány firewall.
$ sudo ufw status
Výstup
Než povolíme firewall, nejprve povolme „Nginx Full“, který se postará o HTTP i HTTPS.
$ sudo ufw allow 'Nginx Full'
Výstup
Nyní povolme ufw firewall. Po zobrazení výzvy stiskněte „y“.
$ sudo ufw enable
Výstup
Pojďme ověřit, zda byla pravidla přidána do firewallu.
$ sudo ufw status
Výstup
Stav Ufw Aktivní
Krok 5. Vygenerování certifikátu SSL
Poslední částí je vygenerování SSL certifikátu Let’s Encrypt. Chcete-li toho dosáhnout, použijte níže uvedenou syntaxi.
$ sudo certbot --nginx -d example.com -d www.example.com
Tím se vygeneruje certifikát SSL, který bude platný pro example.com i www.example.com.
V našem případě budeme mít;
$ sudo certbot --nginx -d crazytechgeek.info -d www.crazytechgeek.info
Výstup
Pokud spouštíte Certbot poprvé, budete nejprve vyzváni k zadání e-mailové adresy.
Poté bude zahájena komunikace se serverem Let’s Encrypt a pokusí se ověřit, zda ovládáte doménu, o kterou žádáte certifikát.
Další. Stisknutím tlačítka A souhlasíte se smluvními podmínkami.
Dále budete dotázáni, zda chcete, aby byla vaše e-mailová adresa sdílena s EFF. Zde se můžete rozhodnout, zda se přihlásíte nebo odhlásíte.
Další krok je tam, kde na všem záleží. Toto je bod, kdy budete muset přesměrovat HTTP na HTTPS požadavky. Vyberte druhou možnost.
Pokud vše proběhlo v pořádku, obdržíte zprávu potvrzující, že vše proběhlo v pořádku.
Báječné! úspěšně jste nainstalovali Let’s encrypt SSL na váš webový server Nginx.
Chcete-li to ověřit, přejděte v prohlížeči na adresu svého serveru a obnovte stránku.
Vezměte na vědomí, že adresa URL se na začátku změnila z HTTP na HTTPS. Chcete-li zobrazit další informace o certifikátu SSL, klikněte na symbol visacího zámku a vyberte možnost „Certifikát“.
Výstup
Obnovení certifikátu Let's Encrypt SSL
Platnost certifikátu je 90 dní. To znamená, že obnovení je po 3 měsících. Obnovení pro automatizaci automaticky provádí Let’s encrypt. Chcete-li otestovat proces obnovy, proveďte zkušební provoz s Certbotem, jak je znázorněno.
sudo certbot renew --dry-run
Pokud se nevyskytnou žádné chyby, vše proběhlo podle plánu a podle potřeby proběhne automatické obnovení. Všechny zprávy o vypršení platnosti CA budou zasílány na e-mailovou adresu zadanou při konfiguraci.