GNU/Linux >> Znalost Linux >  >> Ubuntu

Jak zabezpečit svůj web pomocí Let’s Encrypt na Ubuntu 20.04

Pojďme šifrovat je nezisková certifikační autorita (CA), která poskytuje bezplatný certifikát SSL/TLS. Let’s Encrypt vám umožní nainstalovat nebo požádat o certifikát SSL zdarma. SSL/TLS certifikát od Let’s Encrypt má platnost 90 dní a můžete si jej kdykoli zdarma obnovit.

V tomto tutoriálu použijeme Certbot k vyžádání nebo získání bezplatného SSL certifikátu od Let’s Encrypt.

Certbot je klient Let’s Encrypt, který spravuje certifikáty Let’s Encrypt SSL. Plně vybavený klient Let’s Encrypt, který dokáže automatizovat úlohy, získávání a obnovování certifikátů SSL.

Pokračujme kroky, jak zabezpečit náš web pomocí Let’s Encrypt.

1 Předpoklady

Certifikát Let’s Encrypt SSL/TLS lze nainstalovat pouze na server s registrovaným názvem domény. Musíte se ujistit, že váš záznam domény A směřuje na váš server, protože Let’s Encrypt potřebuje ověřit doménu, pokud je správně nasměrována na server, na kterém požadujete získat certifikát SSL.

2 Instalace Certbota

V této části vás provedeme instalací Certbota s webovým serverem Apache a Nginx.

Pro webový server Apache.

sudo apt install certbot python3-certbot-apache

Pro webový server Nginx.

sudo apt install certbot python3-certbot-nginx

3 Vygenerování certifikátu SSL

Pro webový server Apache.

 sudo certbot --apache

Po spuštění příkazu postupujte podle pokynů níže.

Output:
Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator apache, Installer apache
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: Y
Which names would you like to activate HTTPS for?
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1: domain.com
2: www.domain.com
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Select the appropriate numbers separated by commas and/or spaces, or leave input
blank to select all options shown (Enter 'c' to cancel): 1,2

Vybrali jsme 1 a 2 pro subdoménu www, která má být zahrnuta do certifikátů SSL.

Poznámka :Můžete se rozhodnout, pokud nechcete zahrnout subdoménu www, stačí vybrat 1 a stiskněte enter.

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):2
Redirecting vhost in /etc/apache2/sites-enabled/domain.com.conf to ssl vhost in /etc/apache2/sites-available/domain.com-le-ssl.conf

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Congratulations! You have successfully enabled https://domain.com
You should test your configuration at:
https://www.ssllabs.com/ssltest/analyze.html?d=domain.com
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at:
   /etc/letsencrypt/live/domain.com/fullchain.pem
   Your key file has been saved at:
   /etc/letsencrypt/live/domain.com/privkey.pem
   Your cert will expire on 2022-03-05. 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

Pro webový server Nginx.

sudo  certbot --nginx
OUTPUT:

Saving debug log to /var/log/letsencrypt/letsencrypt.log
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. Do you agree?
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(Y)es/(N)o: Y

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Would you be willing, once your first certificate is successfully issued, 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: Y
Account registered.

Which names would you like to activate HTTPS for?
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1: domain.com
2: www.domain.com
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Select the appropriate numbers separated by commas and/or spaces, or leave input
blank to select all options shown (Enter 'c' to cancel): 1,2
Requesting a certificate for domain.com

Successfully received certificate.
Certificate is saved at: /etc/letsencrypt/live/domain.com/fullchain.pem
Key is saved at:         /etc/letsencrypt/live/domain.com/privkey.pem
This certificate expires on 2022-07-28.
These files will be updated when the certificate renews.
Certbot has set up a scheduled task to automatically renew this certificate in the background.

Deploying certificate
Successfully deployed certificate for domain.com to /etc/nginx/sites-enabled/domain.com.conf
Congratulations! You have successfully enabled HTTPS on https://domain.com

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
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
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

To je velká gratulace!

4 Otestujte certifikát SSL

Po instalaci si můžete ověřit, zda je certifikát SSL nainstalován na vašem webu pouhým přístupem na https://domain.com. Můžete to také ověřit pomocí webové stránky SSL Checker, jako je https://www.sslshopper.com/ssl-checker.html.

5 Obnovení certifikátu SSL

Když nainstalujete Certbot automaticky nastaví skript automatického obnovení, protože Let’s Encrypt je platný pouze do 90 dnů nebo 3 měsíců. Chcete-li zkontrolovat, zda je spuštěn skript automatického obnovení, spusťte tento příkaz.

systemctl status certbot.timer
● certbot.timer - Run certbot twice daily
     Loaded: loaded (/lib/systemd/system/certbot.timer; enabled; vendor preset: enabled)
     Active: active (waiting) since Sun 2021-12-05 13:33:10 EST; 45min ago
    Trigger: Mon 2021-12-06 00:10:45 EST; 9h left
   Triggers: ● certbot.service

Dec 05 13:33:10 domain.com systemd[1]: Started Run certbot twice daily.

Certbot časovač se spustí dvakrát denně, aby zkontroloval, zda existují domény připravené na obnovení.

Existují případy, kdy časovač Certbot neobnoví domény včas, což způsobí vypršení platnosti certifikátů. V tomto případě můžete ručně obnovit domény spuštěním tohoto příkazu.

sudo certbot renew

Můžete také provést zkušební obnovu a otestovat, zda obnovení SSL funguje podle očekávání. Chcete-li to provést, spusťte tento příkaz.

sudo certbot renew --dry-run

6 Závěr

Ukázali jsme, jak zabezpečit naše stránky pomocí Let’s Encrypt SSL certifikátu. V tomto tutoriálu se také můžete naučit, jak používat Certbot k obnovení a získání bezplatného certifikátu Let’s Encrypt SSL.

Pokud se chcete dozvědět více o tom, jak zabezpečit váš server, můžete se podívat na tutoriál fail2ban.


Ubuntu
  1. Šifrujte svá data pomocí EncFS na Ubuntu 15.10

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

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

  1. Jak nastavit Let’s Encrypt (Certbot) na Ubuntu 20.04

  2. Jak nainstalovat Let’s Encrypt na Ubuntu 20.04 s Apache

  3. Jak zabezpečit Apache pomocí Lets Encrypt na Ubuntu 18.04

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

  2. Jak šifrovat adresáře pomocí eCryptfs na Ubuntu 16.04

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