GNU/Linux >> Znalost Linux >  >> Debian

Zabezpečte Nginx pomocí Let's Encrypt SSL na Debianu 10/11

Přehled

V následujícím příspěvku se budeme zabývat postupem, jak zabezpečit Nginx pomocí Let's Encrypt SSL na počítači Debian 10 (Tento postup lze použít i na Debian 11). Příspěvek představí scénář, kdy potřebujeme nainstalovat certbota na náš stroj Debian a získat certifikát SSL od Let’s Encrypt, nastavit automatické přesměrování HTTPS a také vyzkoušet obnovu certifikátu. Zde již máme stroj Debian s předinstalovaným Nginxem, na kterém projdeme kroky, jak zabezpečit nginx pomocí let's encrypt ssl.

Požadavky

1.. Registrujte a platný název domény směřující na váš server Debian.

2.. Server Debian 10 (nebo server Debian 11)

3.. Nainstalovaný a spuštěný webový server Nginx

4.. Konfigurace brány firewall (otevřené porty HTTP a HTTPS)

Pokud máte firewall UFW nebo IPTABLES, musíte je nakonfigurovat tak, aby otevíraly porty 80 a 443 pro HTTP a HTTPS, abyste mohli nejen hostovat váš web

UFW

sudo ufw allow http
sudo ufw allow https

IPTABLES

sudo iptables -I INPUT -p tcp -m tcp --dport 80 -j ACCEPT

sudo iptables -I INPUT -p tcp -m tcp --dport 443 -j ACCEPT

or

sudo iptables -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT

sudo iptables -I INPUT -p tcp -m tcp --dport 443 -j ACCEPT

Instalace Certbota

K získání certifikátu SSL a pluginu Nginx pro certbota použijeme nástroj Let's Encrypt Cerbot. Oba nástroje nám pomohou velmi snadno, rychle získat certifikát a také provést potřebné konfigurační změny na Nginx. Kromě toho mají nástroje funkce automatizace, takže po vypršení platnosti SSL mohou certifikát obnovit a nainstalovat znovu.

sudo apt install certbot python3-certbot-nginx

Získejte certifikát SSL od Let’s Encrypt

Jakmile potvrdíte, že jsou otevřeny porty na firewallu a dokončíte instalaci certbota. K získání certifikátu SSL z Let’s encrypt stačí spustit příkaz:

sudo certbot --nginx -d yourdomain.com

Jedna poznámka – před spuštěním příkazu je nejprve potřeba do konfiguračního souboru nginx napsat do parametru server_name skutečný název domény, na který jste poukázali na váš server. Certbot se podívá na tento parametr v konfiguraci bloku vašeho serveru a podle tohoto parametru vytvoří konfigurační soubory let's encrypt. Příklad na obrázku níže:

sudo nano /etc/nginx/sites-available/example.com

Když spustíte tento příkaz, spustí se průvodce certbotem. Pokud spouštíte cerbot poprvé, nejprve vás požádá o poskytnutí e-mailové adresy, kterou chcete použít jako kontakt, a o souhlas s licenčními podmínkami Let’s encrypt.

Poté spustí http výzvu, získá certifikát a na konci se vás zeptá, zda chcete, aby hned nakonfiguroval přesměrování https, což je také dobrá volba.

Jakmile je konfigurace přesměrování dokončena, měla by nová doména s SSL certifikátem ihned fungovat.

Nastavte a otestujte automatické obnovení

Certifikáty Let’s encrypt jsou ve výchozím nastavení platné tři měsíce a automatická obnova cerbota je nakonfigurována tak, aby obnovila certifikát alespoň jednou, když má certifikát méně než 30 dní. Jakmile je certifikát SSL získán, platný a aktivní, zdvojnásobte jej, pokud je aktivní a běží služba časovače certbota, a otestujte proces obnovy pomocí možnosti suchého spuštění:

sudo systemctl status certbot.timer

sudo certbot renew --dry-run

Zkontrolujte konfiguraci Nginx

Můžete dvakrát zkontrolovat konfiguraci nginx, pokud cerbot úspěšně zapsal konfiguraci pro certifikáty ssl a pro přesměrování HTTPS. Cerbot restartuje nginx, jakmile skončí s konfigurací, měli byste mít svou doménu/web zabezpečenou a spuštěnou s aktivním SSL.

Shrnutí

Abychom to shrnuli, prošli jsme kroky, jak zabezpečit Nginx pomocí Let’s Encrypt SSL na stroji Debian 10 a také na stroji Debian 11. Pro žádosti o certifikát SSL jsme použili nástroj let’s encrypt’s certbot a je to automatická obnova. Naštěstí pro certbot a jeho plugin nginx je proces opravdu jednoduchý a přímočarý a rychle se dokončí. Jedním z návrhů je – bylo by dobrou možností mít zálohu složky let’s encrypt a nechat ji často zálohovat (jak sám certbot navrhl). To je samozřejmě volitelné a záleží na tom, jak máte nastavenou frekvenci obnovování certifikátu.

Službu Pojďme šifrovat, i když je bezplatná a mezi technickým světem velmi oblíbená, je to dobrá volba pro zabezpečení některých typů webových stránek. Jejich bezplatné certifikáty se však nedoporučují používat na webových stránkách elektronického obchodu pro příklad nebo jakýkoli typ webu, který potřebuje předávat a ukládat velmi citlivá data (kreditní karty a podobně). Proto se ve výchozím nastavení doporučuje mít pro SSL certifikáty krátkou dobu obnovy. Na tuto poznámku, Let’s encrypt není jedinou bezplatnou možností, kterou lze použít. Cloudflare má stejnou možnost poskytovat bezplatné SSL a lze jej použít také k zabezpečení vašeho webu Nginx. Pokud vás tato možnost zaujala, můžete se podívat na příspěvek na tomto odkazu.


Debian
  1. Zabezpečte Apache2 pomocí Let's Encrypt SSL na Debianu 10/11

  2. Nainstalujte WordPress s Nginx na Debian 10/11

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

  1. Zabezpečte Nginx pomocí Lets Encrypt na CentOS 7

  2. Zabezpečte Nginx pomocí Lets Encrypt na Debianu 9

  3. Zabezpečte Nginx pomocí Lets Encrypt na Debian 10 Linux

  1. Zabezpečte Apache pomocí Lets Encrypt na Debianu 10

  2. Nainstalujte Lets Encrypt and Secure Nginx pomocí SSL/TLS v Debianu 9

  3. Jak nastavit Zašifrujeme certifikát SSL pomocí Nginx na CentOS 8 / RHEL 8 &CentOS 7 / RHEL 7