GNU/Linux >> Znalost Linux >  >> Linux

Let’s Encrypt:Získejte bezplatný certifikát SSL pomocí Certbotu

Výukový program krok za krokem, jak pomocí certbota Let’s Encrypt získat bezplatný certifikát SSL a jak jej automaticky obnovit.

Let’s Encrypt je především open source a je zcela zdarma. Umožňuje komukoli nainstalovat důvěryhodný certifikát SSL na své webové stránky a těžit z rozšířeného zabezpečení, které poskytuje šifrované připojení. Na rozdíl od certifikátu SSL s vlastním podpisem je certifikát Let’s Encrypt rozpoznán jako plně ověřený a v adresním řádku moderních webových prohlížečů zobrazuje ikonu visacího zámku.

Jak funguje Let's Encrypt

Před vydáním certifikátu Let's Encrypt ověří vlastnictví vaší domény. Klient Let’s Encrypt běžící na vašem hostiteli vytvoří dočasný soubor (token) s požadovanými informacemi. Ověřovací server poté odešle požadavek HTTP na načtení souboru a ověří token, který ověří, že záznam DNS pro vaši doménu se převádí na server, na kterém běží klient Let’s Encrypt. Níže uvedené příkazy proto musí být provedeny na serveru, který bude obsluhovat vaši doménu, pro kterou certifikát vydáváte.

1. Instalace certbot

Let’s Encrypt má automatický instalační program s názvem certbot . Prvním krokem k použití Let’s Encrypt k získání certifikátu SSL je jeho instalace na váš server.

Ubuntu:

sudo apt install certbot python3-certbot-nginx

Debian:

sudo apt install certbot

CentOS:

sudo yum install epel-release
sudo yum install certbot-nginx

2. Získání certifikátů Let’s Encrypt

Důležité! Před vydáním bezplatného certifikátu SSL Let's Encrypt musíte zastavit službu svého webového serveru. V opačném případě se zobrazí následující chyba:

Problem binding to port 80: Could not bind to IPv4 or IPv6

Pokud používáte Nginx, spusťte:

sudo systemctl stop nginx

Nyní můžeme přejít ke generování bezplatného SSL certifikátu Let’s Encrypt:

sudo certbot certonly --standalone --preferred-challenges http -d my-domain.com

Volba -d má název domény. Můžete použít více -d možnosti v jediném příkazu. Například:

sudo certbot certonly --standalone --preferred-challenges http -d my-domain.com -d www.my-domain.com 

Pokud spouštíte certbot poprvé , budete vyzváni k zadání e-mailové adresy a souhlasu s podmínkami služby. Poté certbot bude komunikovat se serverem Let’s Encrypt a poté spustí výzvu k ověření, že ovládáte doménu, pro kterou certifikát požadujete.

Pokud se to podaří, certbot se zakončí zprávou, že proces byl úspěšný a kde jsou vaše certifikáty uloženy.

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

3. Ověřte certifikáty

Seznam vašich certifikátů uložených v /etc/letsencrypt/live/my-domain.com adresář.

ls -l /etc/letsencrypt/live/my-domain.com/
total 4
-rw-r--r-- 1 root root 692 Mar  10 08:24 README
lrwxrwxrwx 1 root root  37 Mar  10 08:24 cert.pem -> ../../archive/my-domain.com/cert1.pem
lrwxrwxrwx 1 root root  38 Mar  10 08:24 chain.pem -> ../../archive/my-domain.com/chain1.pem
lrwxrwxrwx 1 root root  42 Mar  10 08:24 fullchain.pem -> ../../archive/my-domain.com/fullchain1.pem
lrwxrwxrwx 1 root root  40 Mar  10 08:24 privkey.pem -> ../../archive/my-domain.com/privkey1.pem

4. Upravte konfiguraci webového serveru

Aby váš webový server používal bezplatný SSL certifikát Let’s Encrypt, musíte je specifikovat v jeho konfiguraci. Pokud například používáte Nginx, musíte do konfiguračního souboru domény přidat následující blok /etc/nginx/sites-enabled/my-domain.conf

server {
    listen 443;
    server_name my-domain.com;
    ssl on;
    ssl_certificate /etc/letsencrypt/live/my-domain.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/my-domain.com/privkey.pem;
}

A je to. Všechny věci jsou nastaveny a hotovo. Nyní stačí spustit váš webový server:

sudo systemctl start nginx

Nakonec můžete zkontrolovat, zda je váš web nyní chráněn SSL. Stačí otevřít webovou stránku v prohlížeči a zkontrolovat, zda je k dispozici ikona visacího zámku.

5. Automaticky obnovte certifikáty Let’s Encrypt

Certifikáty jsou platné po dobu 90 dnů. Mohou být obnoveny 30 dní před vypršením platnosti. Zde přidáme úlohu cron, která je automaticky obnoví.

Nejprve tedy otevřete soubor crontab:

sudo crontab -e

poté přidejte certbot příkaz ke spuštění týdně:

@weekly certbot renew --pre-hook "systemctl stop nginx" --post-hook "systemctl start nginx" --renew-hook "systemctl reload nginx" --quiet 

Závěr

V tomto tutoriálu jsme viděli, jak nainstalovat bezplatný certifikát SSL od Let’s Encrypt za účelem zabezpečení webu. Kromě toho můžete navštívit oficiální web Let’s Encrypt, kde najdete další informace a podrobnosti.


Linux
  1. Zdarma SSL pro Nginx na Centos od Let’s encrypt

  2. Jak spravovat certifikáty Lets Encrypt SSL/TLS pomocí certbota

  3. Zabezpečení ISPConfig 3.1 pomocí bezplatného šifrovacího certifikátu SSL

  1. Top 7 bezplatných certifikačních služeb SSL

  2. Nainstalujte Let’s Encrypt SSL na HAProxy

  3. Jak získat bezplatný certifikát SSL s SSL It! a Let's Encrypt na Plesku

  1. Jak nastavit Let's Encrypt SSL certifikát s Nginx na Debian 10 / Debian 9

  2. Jak nastavit Zašifrujeme certifikát SSL pomocí Nginx na Ubuntu 18.04 a Ubuntu 16.04

  3. Jak nainstalovat certifikát Let's Encrypt pomocí Certbot v Ubuntu 20.04