GNU/Linux >> Znalost Linux >  >> Linux

Jak zabezpečit LEMP server pomocí Let's Encrypt Free SSL na Ubuntu 18.04 VPS

LEMP je open-source model zásobníků webových služeb složený ze čtyř komponent:Linux, Nginx, MariaDB a PHP. Zásobník LEMP se používá pro vývoj a nasazení webových aplikací. Většina webových aplikací běží na zásobníku LEMP, takže je velmi důležité, aby správce systému byl schopen zabezpečit zásobník LEMP pomocí SSL. Pokud jste nový webový vývojář nebo blogger, který hledá lepší organický webový provoz, pak je nezbytné mít webový server s podporou SSL pro SEO (optimalizaci pro vyhledávače).

Let’s Encrypt je bezplatná certifikační autorita s otevřeným zdrojovým kódem, která poskytuje bezplatné certifikáty SSL. Let’s Encrypt je nezisková certifikační autorita, jejímž cílem je vytvořit bezpečnější web podporou širokého přijetí HTTPS.

V tomto tutoriálu se naučíme, jak zabezpečit LEMP server pomocí Let’s Encrypt free SSL na Ubuntu 18.04 VPS.

Předpoklady

  • Nový server VPS Ubuntu 18.04 v cloudu Atlantic.net.
  • Platný název domény odkazující na vaši IP adresu VPS. V tomto tutoriálu použijeme example.com.

Krok 1 – Vytvořte cloudový server Atlantic.Net

Nejprve se přihlaste ke svému cloudovému serveru Atlantic.Net. Vytvořte nový server a jako operační systém vyberte Ubuntu 18.04 s alespoň 2 GB RAM. Připojte se ke svému cloudovému serveru přes SSH a přihlaste se pomocí přihlašovacích údajů zvýrazněných v horní části stránky.

Jakmile se přihlásíte na svůj server Ubuntu 18.04, spusťte následující příkaz a aktualizujte svůj základní systém nejnovějšími dostupnými balíčky.

apt-get update -y

Krok 2 – Instalace LEMP na server

Nejprve nainstalujte LEMP na server spuštěním následujícího příkazu:

apt-get install nginx mariadb-server php php-common -y

Jakmile jsou všechny balíčky nainstalovány, spusťte webovou službu Nginx a povolte její spuštění po restartu systému pomocí následujícího příkazu:

systemctl start nginx
systemctl enable nginx

Dále otevřete webový prohlížeč a zadejte adresu URL http://example.com. Měli byste vidět výchozí stránku Nginx:

Krok 3 – Vytvořte web Nginx pro svou doménu

Dále budete muset vytvořit virtuálního hostitele Nginx pro vaši doménu. Na tento web později nainstalujeme bezplatné SSL Let’s Encrypt.

Můžete jej vytvořit pomocí následujícího příkazu:

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

Přidejte následující řádky:

server {
   listen 80;

   root /var/www/html;

   index index.html;

   server_name example.com;

   location / {
      try_files $uri $uri/ =404;
   }

}

Uložte a zavřete soubor. Poté povolte virtuálního hostitele Nginx pomocí následujícího příkazu:

ln -s /etc/nginx/sites-available/example.com.conf /etc/nginx/sites-enabled/

Dále zkontrolujte Nginx, zda neobsahuje chyby syntaxe pomocí následujícího příkazu:

nginx -t

Pokud vše půjde dobře, měli byste vidět následující výstup:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Nakonec restartujte službu Nginx, abyste použili změny konfigurace:

systemctl restart nginx

Dále vytvořte soubor index.html pro vaši doménu:

nano /var/www/html/index.html
Add the following lines:

<html>
Nginx web server is now secured with Let's Encrypt free SSL
</html>

Uložte a zavřete soubor. Poté změňte vlastnictví souboru na www-data pomocí následujícího příkazu:

chown www-data: /var/www/html/index.html

Krok 4 – Nainstalujte Let’s Encrypt na vaši doménu

Nginx je nyní nainstalován a spuštěn. Je čas to zabezpečit pomocí bezplatného SSL Let’s Encrypt.

Nejprve si budete muset nainstalovat nástroj Certbot, abyste získali bezplatný certifikát SSL z Let’s Encrypt a nainstalovali jej na svou doménu. Certbot je bezplatný a plně vybavený nástroj, který automatizuje proces získávání a instalace SSL ve vaší doméně.

Úložiště můžete přidat pomocí následujícího příkazu:

add-apt-repository ppa:certbot/certbot

Jakmile je úložiště přidáno, aktualizujte úložiště a nainstalujte Certbot pomocí následujícího příkazu:

apt-get update -y
apt-get install python-certbot-nginx -y

Po instalaci spusťte následující příkaz pro získání a instalaci certifikátu pro vaši doménu:

certbot --nginx -d example.com

Během instalace budete muset zadat svou e-mailovou adresu a souhlasit s podmínkami služby, jak je uvedeno níže:

Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator nginx, Installer nginx
Enter email address (used for urgent renewal and security notices) (Enter 'c' to
cancel): [email protected]

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Please read the Terms of Service at
https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. You must
agree in order to register with the ACME server at
https://acme-v02.api.letsencrypt.org/directory
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(A)gree/(C)ancel: A

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Would you be willing to share your email address with the Electronic Frontier
Foundation, a founding partner of the Let's Encrypt project and the non-profit
organization that develops Certbot? We'd like to send you email about our work
encrypting the web, EFF news, campaigns, and ways to support digital freedom.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(Y)es/(N)o: N

Zadejte N a stiskněte Enter pokračovat. Měli byste vidět následující výstup:

Obtaining a new certificate
Performing the following challenges:
http-01 challenge for example.com
Waiting for verification...
Cleaning up challenges
Deploying Certificate to VirtualHost /etc/nginx/sites-enabled/example.com.conf

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):
Here, you will need to select option 1 or 2. Option 1 only downloads the Let's Encrypt certificate and does not change your web server configuration file.
Option 2 will download the Let's Encrypt certificate and configure your webserver config file to redirect all requests to secure HTTPS access.

Please select option 2 and hit Enter. Once the installation has been completed successfully, you should see the following output:

Redirecting all traffic on port 80 to ssl in /etc/nginx/sites-enabled/example.com.conf

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Congratulations! You have successfully enabled https://example.com

You should test your configuration at:
https://www.ssllabs.com/ssltest/analyze.html?d=example.com
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

IMPORTANT NOTES:
- Congratulations! Your certificate and chain have been saved at:
/etc/letsencrypt/live/example.com/fullchain.pem
Your key file has been saved at:
/etc/letsencrypt/live/example.com/privkey.pem
Your cert will expire on 2019-11-17. To obtain a new or tweaked
version of this certificate in the future, simply run certbot again
with the "certonly" option. To non-interactively renew *all* of
your certificates, run "certbot renew"
- Your account credentials have been saved in your Certbot
configuration directory at /etc/letsencrypt. You should make a
secure backup of this folder now. This configuration directory will
also contain certificates and private keys obtained by Certbot so
making regular backups of this folder is ideal.
- If you like Certbot, please consider supporting our work by:

Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate
Donating to EFF: https://eff.org/donate-le

Nyní otevřete webový prohlížeč a zadejte adresu URL https://example.com. Všimnete si, že to znamená, že váš web je zabezpečený.

Mezitím můžete také otestovat svůj server pomocí SSL Labs Server Test :

Krok 5 – Nastavení automatického obnovení certifikátu SSL šifrováním

Automatické obnovení můžete nastavit úpravou souboru crontab, jak je znázorněno níže:

crontab -e

Přidejte následující řádek:

12 8 * * * root /usr/bin/certbot renew >/dev/null 2>&1

Po dokončení uložte a zavřete soubor.

Certifikát SSL můžete také obnovit ručně pomocí následujícího příkazu:

certbot renew --dry-run

Pokud se zobrazí chyba, certbot automaticky obnoví certifikát pro váš web. Pokud se automatické obnovení nezdaří, budete upozorněni na zadanou e-mailovou adresu.

Závěr

Ve výše uvedeném článku jste se naučili, jak zabezpečit server LEMP pomocí Let’s Encrypt Free SSL na Ubuntu 18.04. Pokud jste připraveni začít s virtuálním soukromým serverem pro hostování vašich webových stránek, navštivte stránku VPS Hosting společnosti Atlantic.Net, kde najdete hostingový balíček, který je pro vás ten pravý.


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

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

  3. Jak nainstalovat Gitea s NGINX a Free Let's Encrypt SSL na Ubuntu 20.04

  1. Jak nainstalovat Let's Encrypt SSL na Ubuntu 18.04 s Nginx

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

  3. Jak zabezpečit připojení SSL s Apache na Ubuntu 18.04

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

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

  3. Jak nainstalovat Gitea s Nginx a zdarma Lets Encrypt SSL na Ubuntu 20.04