Šalu na stranu, osigurajte se na vrijeme!
Sadržaj:
- Preduvjeti
- Instaliranje Certbota
- Stvaranje snažne Dh (Diffie-Hellman) grupe
- Dobivanje šifriramo SSL certifikat Let's Šifriraj
- Automatska obnova Let's Šifriraj SSL certifikat
- Zaključak
Let's Encrypt je besplatno, automatizirano i otvoreno tijelo certifikata koje je razvila Internet Security Research Group (ISRG) koja pruža besplatne SSL certifikate.
Certifikati izdani Let's Encrypt vjeruju svi glavni preglednici i vrijede 90 dana od datuma izdavanja.
U ovom ćemo vodiču dati detaljne upute o tome kako instalirati besplatni Let's Encrypt SSL certifikat na CentOS 8 koji pokreće Nginx kao web poslužitelj. Također ćemo pokazati kako konfigurirati Nginx za korištenje SSL certifikata i omogućiti HTTP / 2.
Preduvjeti
Prije nego što nastavite, provjerite jeste li ispunili sljedeće preduvjete:
- Imate naziv domene koji upućuje na vaš javni IP. Koristit ćemo
example.com
. Na vašem CentOS poslužitelju instaliran je Nginx. Vaš vatrozid je konfiguriran za prihvaćanje veza na portove 80 i 443.
Instaliranje Certbota
Certbot je besplatni alat naredbenog retka koji pojednostavljuje postupak dobivanja i obnavljanja Šifrirajmo SSL certifikate i automatski omogućujući HTTPS na vašem poslužitelju.
Certbot paket nije uključen u standardna CentOS 8 spremišta, ali može se preuzeti s web mjesta dobavljača.
Izvedite sljedeću naredbu
wget
kao root ili sudo korisnik da biste preuzeli skriptu certbot u direktorij
/usr/local/bin
:
sudo wget -P /usr/local/bin
Nakon dovršetka preuzimanja napravite datoteku izvršnom:
sudo chmod +x /usr/local/bin/certbot-auto
Stvaranje snažne Dh (Diffie-Hellman) grupe
Razmjena ključeva Diffie-Hellman (DH) metoda je sigurne razmjene kriptografskih ključeva preko nezaštićenog komunikacijskog kanala.
Generirajte novi skup 2048-bitnih DH parametara upisivanjem sljedeće naredbe:
sudo openssl dhparam -out /etc/ssl/certs/dhparam.pem 2048
Dobivanje šifriramo SSL certifikat Let's Šifriraj
Za dobivanje SSL certifikata za domenu koristit ćemo Webroot dodatak koji djeluje stvaranjem privremene datoteke za provjeru tražene domene u
${webroot-path}/.well-known/acme-challenge
direktoriju
${webroot-path}/.well-known/acme-challenge
. Poslužitelj Let's Encrypt postavlja HTTP zahtjeve u privremenu datoteku kako bi potvrdio da se zatražena domena rješava na poslužitelju na kojem se pokreće certbot.
Da bismo to pojednostavili,
/var/lib/letsencrypt
ćemo sve HTTP zahtjeve za
.well-known/acme-challenge
u jedan direktorij,
/var/lib/letsencrypt
.
Sljedeće naredbe stvorit će direktorij i učiniti ga zapisljivim za Nginx poslužitelj.
sudo mkdir -p /var/lib/letsencrypt/.well-known
sudo chgrp nginx /var/lib/letsencrypt
sudo chmod g+s /var/lib/letsencrypt
sudo chgrp nginx /var/lib/letsencrypt
sudo chmod g+s /var/lib/letsencrypt
Da biste izbjegli dupliciranje koda, izradite sljedeća dva isječka koji će biti uključeni u sve datoteke blokova Nginx poslužitelja:
sudo mkdir /etc/nginx/snippets
/etc/nginx/snippets/letsencrypt.conf
location ^~ /.well-known/acme-challenge/ { allow all; root /var/lib/letsencrypt/; default_type "text/plain"; try_files $uri =404; }
/etc/nginx/snippets/ssl.conf
ssl_dhparam /etc/ssl/certs/dhparam.pem; ssl_session_timeout 1d; ssl_session_cache shared:SSL:10m; ssl_session_tickets off; ssl_protocols TLSv1.2 TLSv1.3; ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384; ssl_prefer_server_ciphers off; ssl_stapling on; ssl_stapling_verify on; resolver 8.8.8.8 8.8.4.4 valid=300s; resolver_timeout 30s; add_header Strict-Transport-Security "max-age=63072000" always; add_header X-Frame-Options SAMEORIGIN; add_header X-Content-Type-Options nosniff;
Gornji isječak uključuje čipove koje preporučuje Mozilla, omogućava OCSP Stapanje, HTTP strogu sigurnost transporta (HSTS) i primjenjuje nekoliko HTTP zaglavlja usmjerenih na sigurnost.
Nakon izrade isječaka otvorite blok poslužitelja domene i uključite isječak
letsencrypt.conf
, kao što je prikazano u nastavku:
server { listen 80; server_name example.com www.example.com; include snippets/letsencrypt.conf; }
Ponovo učitajte konfiguraciju Nginx da bi promjene stupile na snagu:
sudo systemctl reload nginx
Pokrenite alat certbot s dodatkom webroot da biste dobili datoteke SSL certifikata za vašu domenu:
sudo /usr/local/bin/certbot-auto certonly --agree-tos --email [email protected] --webroot -w /var/lib/letsencrypt/ -d example.com -d www.example.com
Ako prvi put zazovete
certbot
, alat će instalirati nedostajuće ovisnosti.
Nakon što se SSL certifikat uspješno dobije, certbot će ispisati sljedeću poruku:
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 2020-03-12. To obtain a new or tweaked version of this certificate in the future, simply run certbot-auto again. To non-interactively renew *all* of your certificates, run "certbot-auto renew" - If you like Certbot, please consider supporting our work by: Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate Donating to EFF:
Sada kada imate datoteke certifikata, možete urediti blok poslužitelja domene na sljedeći način:
/etc/nginx/conf.d/example.com.conf
server { listen 80; server_name www.example.com example.com; include snippets/letsencrypt.conf; return 301 https://$host$request_uri; } server { listen 443 ssl http2; server_name www.example.com; ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem; include snippets/ssl.conf; include snippets/letsencrypt.conf; return 301 https://example.com$request_uri; } server { listen 443 ssl http2; server_name example.com; ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem; include snippets/ssl.conf; include snippets/letsencrypt.conf; #… other code }
S gornjom konfiguracijom forsiramo HTTPS i preusmjeravamo www na ne www verziju.
Na kraju, ponovno učitajte Nginx uslugu da bi promjene stupile na snagu:
sudo systemctl reload nginx
Sada otvorite svoju web stranicu pomoću
https://
i vidjet ćete zelenu ikonu zaključavanja.
Automatska obnova Let's Šifriraj SSL certifikat
Neka šifriraju potvrde vrijede 90 dana. Da biste automatski obnovili certifikate prije njihovog isteka, stvorite cronjob koji će se izvoditi dva puta dnevno i automatski obnavljati bilo koji certifikat 30 dana prije isteka roka.
Upotrijebite naredbu
crontab
za stvaranje novog cronjob-a:
sudo crontab -e
Zalijepite sljedeći redak:
0 */12 * * * root test -x /usr/local/bin/certbot-auto -a \! -d /run/systemd/system && perl -e 'sleep int(rand(3600))' && /usr/local/bin/certbot-auto -q renew --renew-hook "systemctl reload nginx"
Spremite i zatvorite datoteku.
Za testiranje postupka obnove možete upotrijebiti naredbu certbot nakon koje slijedi prekidač - sušenje
--dry-run
:
sudo certbot renew --dry-run
Ako nema pogrešaka, to znači da je postupak obnove testa bio uspješan.
Zaključak
U ovom smo vodiču pokazali kako pomoću klijenta Let's Encrypt, certbota možete preuzeti SSL certifikate za svoju domenu. Također smo stvorili isječke Nginx-a da izbjegnemo dupliciranje koda i konfigurirali Nginx za korištenje certifikata. Na kraju udžbenika postavili smo cronjob za automatsku obnovu certifikata.
Da biste saznali više o Certbotu, posjetite njihovu stranicu s dokumentacijom.
nginx centos šifrirajmo certbot sslOsigurajte nginx s šifriranjem na centos 7

U ovom ćemo vodiču dati korak po korak upute kako osigurati svoj Nginx pomoću alata Encrypt pomoću alata certbot na CentOS 7
Osigurajte nginx s šifriranjem na debianu 9

U ovom ćemo vodiču objasniti kako koristiti alat Certbot za dobivanje besplatnog SSL certifikata za Nginx na Debianu 9. Također ćemo pokazati kako konfigurirati Nginx za korištenje SSL certifikata i omogućiti HTTP / 2.
Osigurajte nginx s šifriranjem na ubuntu 18.04

Let's Encrypt je besplatno i otvoreno tijelo certifikata koje je razvila istraživačka grupa Internet Security. U ovom ćemo vodiču dati detaljne upute o tome kako osigurati svoj Nginx pomoću alata Encrypt pomoću alata certbot na Ubuntu 18.04