Šalu na stranu, osigurajte se na vrijeme!
Sadržaj:
- Preduvjeti
- Instaliranje Certbota
- Stvaranje 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.
Ovaj vodič pokazuje kako instalirati besplatni certifikat Let's Šifriraj SSL na Debian 10, Buster 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 nastavka vodiča osigurajte da su ispunjeni sljedeći preduvjeti:
- Prijavljeni ste kao korijen ili korisnik s sudo privilegijama. Domena za koju želite dobiti SSL certifikat mora ukazivati na IP vašeg javnog poslužitelja. Koristit ćemo primjerak
example.com
.Nginx.
Instaliranje Certbota
Koristit ćemo alat certbot za dobivanje i obnovu certifikata.
Certbot je potpuno opremljen i jednostavan za korištenje alat koji automatizira zadatke za dobivanje i obnavljanje Let's Šifriramo SSL certifikate i konfigurira web poslužitelje za korištenje certifikata.
Paket certbot uključen je u zadane spremišta Debiana. Pokrenite sljedeće naredbe za instaliranje certbota:
sudo apt update
sudo apt install certbot
Stvaranje Dh (Diffie-Hellman) grupe
Razmjena ključeva Diffie-Hellman (DH) metoda je sigurne razmjene kriptografskih ključeva preko nezaštićenog komunikacijskog kanala.
Generirat ćemo novi skup 2048 bitnih DH parametara za jačanje sigurnosti:
sudo openssl dhparam -out /etc/ssl/certs/dhparam.pem 2048
Možete promijeniti i veličinu do 4096 bita, ali generacija može potrajati više od 30 minuta, ovisno o entropiji sustava.
Dobivanje šifriramo SSL certifikat Let's Šifriraj
Za dobivanje SSL certifikata za domenu koristit ćemo dodatak Webroot.
${webroot-path}/.well-known/acme-challenge
stvaranjem privremene datoteke za provjeru tražene domene u
${webroot-path}/.well-known/acme-challenge
direktoriju. 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.
Mapirat ćemo sve HTTP zahtjeve za
.well-known/acme-challenge
u jedan direktorij,
/var/lib/letsencrypt
.
Pokrenite sljedeće naredbe da biste stvorili direktorij i učinili ga upisivim za Nginx poslužitelj:
mkdir -p /var/lib/letsencrypt/.well-known
chgrp www-data /var/lib/letsencrypt
chmod g+s /var/lib/letsencrypt
Da izbjegnemo dupliciranje koda, napravit ćemo dva isječka koji će biti uključeni u sve datoteke blokova Nginx poslužitelja.
Otvorite uređivač teksta i stvorite prvi isječak,
letsencrypt.conf
:
sudo nano /etc/nginx/snippets/letsencrypt.conf
/etc/nginx/snippets/letsencrypt.conf
location ^~ /.well-known/acme-challenge/ { allow all; root /var/lib/letsencrypt/; default_type "text/plain"; try_files $uri =404; }
Drugi isječak
ssl.conf
uključuje
ssl.conf
je preporučila Mozilla, omogućava OCSP spajanje, HTTP strogu sigurnost transporta (HSTS) i nameće nekoliko HTTP zaglavlja usmjerenih na sigurnost.
sudo nano /etc/nginx/snippets/ssl.conf
/etc/nginx/snippets/ssl.conf
ssl_dhparam /etc/ssl/certs/dhparam.pem; ssl_session_timeout 1d; ssl_session_cache shared:SSL:50m; 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;
Nakon završetka, otvorite datoteku bloka poslužitelja domene i uključite isječak
letsencrypt.conf
kao što je prikazano u nastavku:
sudo nano /etc/nginx/sites-available/example.com
/etc/nginx/sites-available/example.com
server { listen 80; server_name example.com www.example.com; include snippets/letsencrypt.conf; }
Stvorite simboličku vezu do direktorija s
sites-enabled
biste omogućili blok poslužitelja domene:
sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/
Ponovno pokrenite Nginx uslugu da bi promjene stupile na snagu:
sudo systemctl restart nginx
Sada ste spremni nabaviti SSL datoteke certifikata pokretanjem sljedeće naredbe:
sudo certbot certonly --agree-tos --email [email protected] --webroot -w /var/lib/letsencrypt/ -d example.com -d www.example.com
Ako je SSL certifikat uspješno dobiven, na vašem terminalu će se ispisati sljedeća poruka:
IMPORTANT NOTES: 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-02-22. To obtain a new or tweaked version of this certificate in the future, simply run certbot again. To non-interactively renew *all* of your certificates, run "certbot renew" - If you like Certbot, please consider supporting our work by: Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate Donating to EFF:
Uredite blok poslužitelja domene i uključite datoteke SSL certifikata na sljedeći način:
sudo nano /etc/nginx/sites-available/example.com
/etc/nginx/sites-available/example.com
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 }
Gornja konfiguracija upućuje Nginx da preusmjerava s HTTP-a na HTTPS i s www na verziju koja nije www.
Ponovo pokrenite ili ponovno učitajte Nginx uslugu da bi promjene stupile na snagu:
sudo systemctl restart nginx
Otvorite svoju web stranicu koristeći
https://
i vidjet ćete zelenu ikonu zaključavanja.
Automatska obnova Let's Šifriraj SSL certifikat
Neka šifriraju potvrde vrijede 90 dana. Da bi automatski obnavljao certifikate prije njihovog isteka, certbot paket stvara cronjob koji se izvodi dva puta dnevno i automatski obnavlja svaki certifikat 30 dana prije njegovog isteka.
Pri obnavljanju nginx usluga mora se ponovo učitati da bi poslužitelj učitao certifikat. Dodajte
--renew-hook "systemctl reload nginx"
u
/etc/cron.d/certbot
datoteku tako da izgleda ovako:
sudo nano /etc/cron.d/certbot
/etc/cron.d/certbot
0 */12 * * * root test -x /usr/bin/certbot -a \! -d /run/systemd/system && perl -e 'sleep int(rand(3600))' && certbot -q renew --renew-hook "systemctl reload nginx"
Testirajte postupak automatske obnove pokretanjem ove naredbe:
sudo certbot renew --dry-run
Ako nema pogrešaka, to znači da je proces obnove bio uspješan.
Zaključak
Imati SSL certifikat danas je nužno. To osigurava vašu web stranicu, povećava poziciju SERP-a i omogućava vam HTTP / 2 na vašem web poslužitelju.
U ovom smo vodiču pokazali kako generirati i obnavljati SSL certifikate pomoću certbot skripte. Također smo vam pokazali kako konfigurirati Nginx za upotrebu certifikata.
Da biste saznali više o Certbotu, posjetite Certbot dokumentaciju.
nginx debian š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 apache uz šifrirajmo na debianu 9

Ovaj će vas vodič voditi kroz postupak dobivanja besplatnog Šifrirajmo pomoću alata certbot na Debianu 9. Također ćemo pokazati kako konfigurirati Apache za korištenje novog SSL certifikata i omogućiti HTTP / 2