Anneli Mattila - Suojaan
Sisällysluettelo:
- edellytykset
- Asennetaan Certbot
- Luodaan vahva Dh (Diffie-Hellman) -ryhmä
- Salamme SSL-varmenteen
- Automaattinen uusiminen Let's Encrypt SSL -varmenne
- johtopäätös
Let's Encrypt on ilmainen, automatisoitu ja avoin sertifikaattien myöntäjä, jonka on kehittänyt Internet Security Research Group (ISRG) ja joka tarjoaa ilmaisia SSL-varmenteita.
Kaikkien tärkeimpien selainten luottamuksena ovat Let's Encryptin myöntämät sertifikaatit, ja ne ovat voimassa 90 päivää myöntämispäivästä.
Tässä opetusohjelmassa annamme vaiheittaiset ohjeet ilmaisen Let's Encrypt SSL -sertifikaatin asentamisesta CentOS 8: een, joka käyttää Nginxiä Web-palvelimena. Näytämme myös, kuinka Nginx määritetään käyttämään SSL-varmennetta ja ottamaan käyttöön HTTP / 2.
edellytykset
Ennen kuin jatkat, varmista, että olet täyttänyt seuraavat edellytykset:
- Sinulla on verkkotunnus, joka osoittaa julkiseen IP-osoitteeseesi. Käytämme
example.com. Sinulla on Nginx asennettuna CentOS-palvelimellesi. Palomuurisi on määritetty hyväksymään yhteydet portteihin 80 ja 443.
Asennetaan Certbot
Certbot on ilmainen komentorivityökalu, joka yksinkertaistaa Let's Encrypt SSL -varmenteiden hankkimis- ja uusimisprosessia palvelimelta ja HTTPS: n automaattisen käyttöönoton.
Certbot-paketti ei sisälly vakioihin CentOS 8 -varastoihin, mutta sen voi ladata myyjän verkkosivustolta.
Suorita seuraava
wget
komento root- tai sudo -käyttäjänä ladataksesi sertbot-skriptin
/usr/local/bin
:
sudo wget -P /usr/local/bin
Kun lataus on valmis, tee tiedosto suoritettavaksi:
sudo chmod +x /usr/local/bin/certbot-auto
Luodaan vahva Dh (Diffie-Hellman) -ryhmä
Diffie – Hellman-avaintenvaihto (DH) on menetelmä salausavainten vaihtamiseksi turvallisesti suojaamattoman tietoliikennekanavan kautta.
Luo uusi joukko 2048-bittisiä DH-parametreja kirjoittamalla seuraava komento:
sudo openssl dhparam -out /etc/ssl/certs/dhparam.pem 2048
Salamme SSL-varmenteen
SSL-varmenteen saamiseksi verkkotunnukselle aiomme käyttää Webroot-laajennusta, joka toimii luomalla väliaikaisen tiedoston
${webroot-path}/.well-known/acme-challenge
verkkotunnuksen validoimiseksi
${webroot-path}/.well-known/acme-challenge
hakemistossa
${webroot-path}/.well-known/acme-challenge
. Let's Encrypt -palvelin tekee HTTP-pyyntöjä väliaikaiseen tiedostoon vahvistaakseen, että pyydetty verkkotunnus ratkaisee palvelimelle, jossa certbot toimii.
Yksinkertaistamiseksi aiomme kartoittaa kaikki. Hyvin
.well-known/acme-challenge
HTTP-pyynnöt yhteen hakemistoon,
/var/lib/letsencrypt
.
Seuraavat komennot luovat hakemiston ja tekevät siitä kirjoitettavan Nginx-palvelimelle.
sudo mkdir -p /var/lib/letsencrypt/.well-known
sudo chgrp nginx /var/lib/letsencrypt
sudo chmod g+s /var/lib/letsencrypt
Koodin päällekkäisyyksien välttämiseksi luo seuraavat kaksi katkelmaa, jotka sisällytetään kaikkiin Nginx-palvelinlohkotiedostoihin:
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;
Yllä oleva katkelma sisältää Mozillan suosittelemat hakkurit, mahdollistaa OCSP-nidonnan, HTTP-tiukan liikenneturvallisuuden (HSTS) ja valvoo muutamaa tietoturvallisuuteen keskittynyttä
Kun katkelmat on luotu, avaa verkkotunnuspalvelinlohko ja sisällytä
letsencrypt.conf
katkelma seuraavasti:
server { listen 80; server_name example.com www.example.com; include snippets/letsencrypt.conf; }
Lataa Nginx-kokoonpano uudelleen, jotta muutokset tulevat voimaan:
sudo systemctl reload nginx
Suorita sertbot-työkalu webroot-laajennuksen avulla saadaksesi verkkotunnuksesi SSL-varmennetiedostot:
sudo /usr/local/bin/certbot-auto certonly --agree-tos --email [email protected] --webroot -w /var/lib/letsencrypt/ -d example.com -d www.example.com
Jos tämä otetaan ensimmäisen kerran käyttöön
certbot
, työkalu asentaa puuttuvat riippuvuudet.
Kun SSL-varmenne on saatu onnistuneesti, certbot tulostaa seuraavan viestin:
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:
Nyt kun sinulla on varmennetiedostot, voit muokata verkkotunnuksen palvelinlohkoa seuraavasti:
/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 }
Yllä olevalla kokoonpanolla pakotamme HTTPS: n ja ohjaamme www: n ei-www-versioon.
Lataa lopuksi Nginx-palvelu uudelleen, jotta muutokset tulevat voimaan:
sudo systemctl reload nginx
Avaa nyt verkkosivustosi käyttämällä
https://
, ja huomaat vihreän lukituskuvakkeen.

Automaattinen uusiminen Let's Encrypt SSL -varmenne
Salatko varmenteet ovat voimassa 90 päivää. Voit uusia sertifikaatteja automaattisesti ennen niiden voimassaolon päättymistä luomalla cronjob-toiminnon, joka suoritetaan kahdesti päivässä, ja uusi sertifikaatti automaattisesti 30 päivää ennen voimassaolon päättymistä.
Luo uusi cronjob
crontab
komennolla:
sudo crontab -e
Liitä seuraava rivi:
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"
Tallenna ja sulje tiedosto.
Voit testata uusimisprosessin käyttämällä certbot-komentoa, jota seuraa
--dry-run
kytkin:
sudo certbot renew --dry-run
Jos virheitä ei ole, se tarkoittaa, että testin uusimisprosessi onnistui.
johtopäätös
Tässä opetusohjelmassa olemme osoittaneet sinulle, kuinka Let's Encrypt client, certbot -sovelluksella voidaan ladata verkkotunnuksellesi SSL-varmenteita. Olemme myös luoneet Nginx-katkelmat koodin päällekkäisyyksien välttämiseksi ja määrittäneet Nginxin käyttämään varmenteita. Oppaan lopussa olemme perustaneet cronjob-sertifikaatin automaattiseen uusimiseen.
Lisätietoja Certbotista käy heidän dokumentaatiosivulla.
nginx centos salattava certbot sslSuojaa nginx salaamalla sentos 7
Tässä opetusohjelmassa annamme vaiheittaiset ohjeet siitä, kuinka Nginx voidaan suojata Let's Encrypt -sovelluksella käyttämällä Certbot-työkalua CentOS 7: ssä
Suojaa nginx salaamalla debian 9
Tässä opetusohjelmassa selitetään kuinka käyttää Certbot-työkalua ilmaisen SSL-varmenteen saamiseen Nginxille Debian 9: ssä. Osoitamme myös, kuinka Nginx määritetään käyttämään SSL-varmennetta ja ottamaan käyttöön HTTP / 2.
Suojaa nginx salaamalla ubuntu 18.04
Let's Encrypt on ilmainen ja avoin sertifikaattien myöntäjä, jonka on kehittänyt Internet Security Research Group. Tässä opetusohjelmassa annamme vaiheittaiset ohjeet siitä, kuinka Nginx voidaan suojata Let's Encrypt -sovelluksella käyttämällä certbot-työkalua Ubuntu 18.04: ssä







