GNU/Linux >> Znalost Linux >  >> Ubuntu

Zabezpečte Nginx pomocí Let's Encrypt na Ubuntu 18.04 - Jak na to?

Let's Encrypt je bezplatná a otevřená certifikační autorita (CA). Poskytuje jednoduchý způsob, jak získat, nainstalovat a obnovit bezplatné certifikáty TLS/SSL.

Zde v LinuxAPT, jako součást našich služeb správy serveru, pravidelně pomáháme našim zákazníkům provádět související dotazy Nginx.

V této souvislosti se podíváme na to, jak získat a nainstalovat bezplatný certifikát Let’s Encrypt SSL a Secure Nginx na serveru Ubuntu 18.04.


Jak nainstalovat Let's Encrypt na Ubuntu?

Před provedením tohoto postupu instalace se ujistěte, že jsou splněny následující požadavky:

  • Server Ubuntu s uživatelem bez oprávnění root s právy sudo.
  • Nginx musí být nainstalován a konfigurován, jak je uvedeno v této příručce.
  • Mějte pro svou doménu blok serveru Nginx, jak je uvedeno v této příručce.
  • Název vaší domény by měl ukazovat na IP adresu vašeho serveru.


Nyní postupujte podle kroků a použijte nástroj Certbot k získání bezplatného certifikátu SSL pro Nginx na serveru Ubuntu 18.04.


1. Nainstalujte klienta Certbot

SSL certifikáty Let's Encrypt můžete snadno získat, nainstalovat a obnovit pomocí klientského balíčku Certbot. Je užitečné nakonfigurovat webové servery tak, aby používaly certifikáty SSL. Balíček certbot je součástí výchozích repozitářů Ubuntu.

Nejprve aktualizujeme index seznamu balíčků zadáním:

$ sudo apt update

Nyní nainstalujte klienta Certbot provedením níže uvedeného příkazu:

$ sudo apt install python-certbot-nginx

Také můžete ověřit, zda je certbot nainstalován úspěšně nebo ne, zadáním:

$ certbot --version


2. Nakonfigurujte bránu firewall

Pokud je váš server chráněn UFW firewallem, musíte firewall upravit tak, aby umožňoval provoz HHTPS.

Chcete-li zobrazit aktuální nastavení podle typu:

$ sudo ufw status
Output
Status: active
To                         Action      From
--                         ------      ----
OpenSSH                    ALLOW       Anywhere                  
Nginx HTTP                 ALLOW       Anywhere                  
OpenSSH (v6)               ALLOW       Anywhere (v6)             
Nginx HTTP (v6)            ALLOW       Anywhere (v6)

Chcete-li získat provoz HTTPS, musíte povolit úplný profil Nginx a odstranit nadbytečný povolený profil HTTP Nginx:

$ sudo ufw allow 'Nginx Full'
$ sudo ufw delete allow 'Nginx HTTP'

Nyní bude stav vypadat takto:

Output
Status: active
To                         Action      From
--                         ------      ----
OpenSSH                    ALLOW       Anywhere                  
Nginx Full                 ALLOW       Anywhere                  
OpenSSH (v6)               ALLOW       Anywhere (v6)             
Nginx Full (v6)            ALLOW       Anywhere (v6)


3. Získejte certifikát Let's Encrypt SSL na Nginx

Certifikáty SSL můžete získat několika způsoby.

i. Zde použijeme klienta certbot k získání certifikátu SSL:

$ sudo certbot --nginx -d example.com -d www.example.com

Zde požadujeme domény example.com a www.example.com. Pokud se jedná o první instalaci, požádá vás o zadání e-mailové adresy a souhlas s podmínkami. Zadaná e-mailová adresa bude použita pro zasílání e-mailových upozornění souvisejících s obnovením a vypršením platnosti SSL.

Dále, pokud je ověření úspěšné, budete požádáni o konfiguraci nastavení HTTPS:

Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access.
-------------------------------------------------------------------------------
1: No redirect - Make no further changes to the webserver configuration.
2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for
new sites, 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):

ii. Vyberte možnost 1 nebo 2 podle svého výběru a pokračujte stisknutím klávesy Enter. Nginx Server Blocks se aktualizuje na základě vámi vybrané možnosti a znovu načte Nginx, aby se projevila nová nastavení.

Konečně je vaše doména zabezpečena pomocí Let's Encrypt SSL certifikátu. Můžete to ověřit návštěvou svého webu pomocí protokolu HTTPS.


Jak nastavit automatické obnovení pro Let's Encrypt SSL certifikát?

Certifikáty Let's Encrypt SSL mají krátkou životnost 90 dní, takže je třeba je před vypršením obnovit.

i. Certifikát SSL můžete obnovit před vypršením jeho platnosti zadáním:

$ sudo certbot renew

ii. Kromě toho můžete nastavit proces automatického obnovení pro certifikáty Let’s Encrypt SSL přidáním cronjob. Spuštěním níže uvedeného příkazu otevřete crontab:

$ sudo crontab -e

iii. Dále přidejte níže uvedený řádek na konec souboru. Příkaz spustí dvakrát denně a obnoví se, pokud platnost certifikátu brzy vyprší:

0 */12 * * * root test -x /usr/bin/certbot -a ! -d /run/systemd/system && perl -e 'sleep int(rand(43200))' && certbot -q renew

iv. Uložte a zavřete soubor.

v. Proces automatického obnovení certbot můžete také ověřit zadáním:

$ sudo certbot renew --dry-run



Ubuntu
  1. Jak zabezpečit Nginx pomocí Lets Encrypt na Ubuntu 20.04 / 18.04

  2. Jak zabezpečit Nginx pomocí Letsencrypt na Ubuntu 20.04

  3. Jak zabezpečit Nginx pomocí Let's Encrypt na Ubuntu 20.04

  1. Zabezpečte Nginx pomocí Lets Encrypt na Ubuntu 18.04

  2. Zabezpečte Nginx pomocí Lets Encrypt na Ubuntu 16.04

  3. Zabezpečte Nginx pomocí Lets Encrypt na Ubuntu 20.04

  1. Jak nainstalovat MediaWiki s Nginx na Ubuntu 16.04

  2. Jak nainstalovat Magento s Nginx na Ubuntu 15.10

  3. Jak nainstalovat Mailpile s Nginx na Ubuntu 15.10