Preduvjeti
Instalirajte Certbot
Konfiguriranje Nginxa
Dobivanje Let's Encrypt SSL certifikata
Automatizirana obnova
Poboljšana konfiguracija
Let's Encrypt je tijelo za izdavanje certifikata (CA) koje pruža besplatne SSL certifikate s automatiziranim klijentom. Korištenjem Let's Encrypt SSL certifikata možete šifrirati promet između svoje web stranice i posjetitelja. Cijeli je proces jednostavan, a obnove se mogu automatizirati. Također, imajte na umu da instalacija ili obnova certifikata ne uzrokuje zastoje.
U ovom vodiču koristit ćemo Certbot za dobivanje, instalaciju i automatsko obnavljanje vašeg SSL certifikata. Certbot aktivno razvija Electronic Frontier Foundation (EFF) i on je preporučeni klijent za Let's Encrypt.
Preduvjeti
- Vultr instanca koja pokreće Ubuntu 16.04
- Registrirani naziv domene koji upućuje na vaš poslužitelj
- Nginx
Instalirajte Certbot
Da biste dobili Let's Encrypt SSL certifikat, morate instalirati Certbot klijenta na svoj poslužitelj.
Dodajte spremište. Pritisnite ENTERtipku kada se od vas zatraži da prihvatite.
add-apt-repository ppa:certbot/certbot
Ažurirajte popis paketa.
apt-get update
Nastavite tako da instalirate Certbot i Certbotov Nginx paket.
apt-get -y install python-certbot-nginx
Konfiguriranje Nginxa
Certbot automatski konfigurira SSL za Nginx, ali da bi to učinio mora pronaći blok poslužitelja u vašoj Nginx konfiguracijskoj datoteci. To čini usklađivanjem server_namedirektive u konfiguracijskoj datoteci s nazivom domene za koju tražite certifikat.
Ako koristite zadanu konfiguracijsku datoteku, /etc/nginx/sites-available/defaultotvorite je u uređivaču teksta kao što je nanoi pronađite server_namedirektivu. Zamijenite donju crtu, _, s vlastitim nazivima domene:
nano /etc/nginx/sites-available/default
Nakon uređivanja konfiguracijske datoteke, server_namedirektiva bi trebala izgledati kako slijedi. U ovom primjeru pretpostavljam da je vaša domena example.com i da tražite certifikat za example.com i www.example.com.
server_name example.com www.example.com;
Nastavite tako da provjerite sintaksu svojih izmjena.
nginx -t
Ako je sintaksa ispravna, ponovno pokrenite Nginx da biste koristili novu konfiguraciju. Ako dobijete bilo kakve poruke o pogrešci, ponovno otvorite konfiguracijsku datoteku i provjerite ima li grešaka u kucanju, a zatim pokušajte ponovno.
systemctl restart nginx
Dobivanje Let's Encrypt SSL certifikata
Sljedeća naredba će za vas dobiti certifikat. Uredite konfiguraciju Nginxa da biste je koristili i ponovno učitajte Nginx.
certbot --nginx -d example.com -d www.example.com
Također možete zatražiti SSL certifikat za dodatne domene. Samo dodajte opciju " -d" koliko god puta želite.
certbot --nginx -d example.com -d www.example.com -d example.net -d example.net
U slučaju da samo želite dobiti certifikat od Let's Encrypt bez da ga automatski instalirate, možete koristiti sljedeću naredbu. To čini privremene promjene u vašoj konfiguraciji Nginxa za dobivanje certifikata i vraća ih nakon preuzimanja certifikata.
certbot --nginx certonly -d example.com -d www.example.com
Ako prvi put pokrećete Certbot, od vas će se tražiti da unesete adresu e-pošte i prihvatite uvjete pružanja usluge. Ova e-mail adresa će se koristiti za obnavljanje i sigurnosne obavijesti. Nakon što unesete adresu e-pošte, Certbot će zatražiti certifikat od Let's Encrypt i pokrenuti izazov kako bi potvrdio da kontrolirate predmetnu domenu.
Ako Certbot može dobiti SSL certifikat, pitat će vas kako želite konfigurirati svoje HTTPSpostavke. Posjetitelje koji posjećuju vašu web stranicu možete preusmjeriti putem nezaštićene veze ili im dopustiti da joj pristupe putem nezaštićene veze. To bi obično trebalo biti omogućeno jer osigurava da posjetitelji pristupaju samo SSL zaštićenoj verziji vaše web stranice. Odaberite svoj izbor, a zatim pritisnite 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):
Konačno, Certbot će potvrditi da je proces bio uspješan i gdje su pohranjeni vaši certifikati. Vaši su certifikati sada preuzeti i instalirani.
Automatizirana obnova
Budući da je Let's Encrypt besplatno tijelo za izdavanje certifikata, a kako bi potaknuli korisnike da automatiziraju proces obnove, certifikati vrijede samo 90 dana. Certbot će se pobrinuti za automatsko obnavljanje certifikata. To čini pokretanjem certbot renewdva puta dnevno putem systemd.
Možete provjeriti funkcionira li automatska obnova pokretanjem ove naredbe.
certbot renew --dry-run
Također možete ručno obnoviti svoj certifikat u bilo kojem trenutku pokretanjem sljedeće naredbe.
certbot renew
Poboljšana konfiguracija
Gornje naredbe dobivaju i instaliraju SSL certifikat s konfiguracijom koja je prikladna za većinu slučajeva. Ako želite implementirati napredne sigurnosne mjere za svoju web stranicu, možete koristiti sljedeću naredbu za dobivanje certifikata.
certbot --nginx --rsa-key-size 4096 --must-staple -d example.com -d www.example.com
--rsa-key-size 4096Koristi 4096-bitni RSA ključ umjesto 2048 bitnim ključem, koji je sigurniji. Nedostatak ovoga je što veći ključ rezultira malim troškovima performansi. Osim toga, stariji preglednici i uređaji možda neće podržavati 4096-bitne RSA ključeve.
--must-stapleDodaje OCSP mora Staple proširenje certifikata i konfigurira Nginx za OCSP klamanje. Ovo proširenje omogućuje preglednicima da provjere da vaš certifikat nije opozvan i da mu se može vjerovati. Međutim, ne podržavaju svi preglednici ovu značajku.