Anneli Mattila - Suojaan
Sisällysluettelo:
- edellytykset
- Asennetaan Certbot
- Luodaan 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ämä opetusohjelma näyttää kuinka asentaa ilmainen Let's Encrypt SSL -sertifikaatti Debian 10: lle, Busterille, 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
Varmista, että seuraavat edellytykset täyttyvät ennen oppaan jatkamista:
- Kirjautuneena sisään juurina tai käyttäjänä, jolla on sudo-oikeudet. Verkkotunnuksen, jolle haluat hankkia SSL-varmenteen, on osoitettava julkisen palvelimen IP-osoitteeseen. Käytämme
example.com.Nginx asennettuna.
Asennetaan Certbot
Käytämme certbot-työkalua sertifikaattien hankkimiseen ja uusimiseen.
Certbot on täysin varusteltu ja helppokäyttöinen työkalu, joka automatisoi Let's Encrypt SSL -sertifikaattien hankkimista ja uusimista sekä web-palvelimien määrittämistä varmenteita varten.
Certbot-paketti sisältyy Debianin oletusvarastoihin. Suorita seuraavat komennot asentaaksesi sertbot:
sudo apt update
sudo apt install certbot
Luodaan Dh (Diffie-Hellman) -ryhmää
Diffie – Hellman-avaintenvaihto (DH) on menetelmä salausavainten vaihtamiseksi turvallisesti suojaamattoman tietoliikennekanavan kautta.
Aiomme luoda uuden sarjan 2048-bittisiä DH-parametreja turvallisuuden parantamiseksi:
sudo openssl dhparam -out /etc/ssl/certs/dhparam.pem 2048
Voit myös muuttaa kokoa 4096 bittiin saakka, mutta luominen voi viedä yli 30 minuuttia järjestelmän entropiasta riippuen.
Salamme SSL-varmenteen
Saadaksemme verkkotunnuksen SSL-varmenteen, käytämme Webroot-laajennusta. Se toimii luomalla väliaikaisen tiedoston pyydetyn 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.
/var/lib/letsencrypt
.well-known/acme-challenge
/var/lib/letsencrypt
HTTP-pyynnöt yhteen hakemistoon,
/var/lib/letsencrypt
.
Suorita seuraavat komennot luodaksesi hakemisto ja tehdä siitä kirjoitettavissa Nginx-palvelimelle:
mkdir -p /var/lib/letsencrypt/.well-known
chgrp www-data /var/lib/letsencrypt
chmod g+s /var/lib/letsencrypt
Koodin päällekkäisyyksien välttämiseksi luomme kaksi katkelmaa, jotka sisällytetään kaikkiin Nginx-palvelinlohkotiedostoihin.
Avaa tekstieditori ja luo ensimmäinen katkelma,
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; }
Toinen katkelma
ssl.conf
sisältää Mozillan suosittelemat hakkurit, mahdollistaa OCSP-nidonnan, HSTS: n ja HTTP: n tiukan liikenneturvallisuuden sekä valvoo muutamaa tietoturvallisuuteen keskittynyttä
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;
Kun olet valmis, avaa verkkotunnuksen palvelinlohkotiedosto ja sisällytä
letsencrypt.conf
katkelma alla esitetyllä tavalla:
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; }
Luo symbolinen linkki
sites-enabled
hakemistoon, jotta verkkotunnuspalvelin estää:
sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/
Käynnistä Nginx-palvelu uudelleen, jotta muutokset tulevat voimaan:
sudo systemctl restart nginx
Olet nyt valmis hankkimaan SSL-varmennetiedostot suorittamalla seuraavan komennon:
sudo certbot certonly --agree-tos --email [email protected] --webroot -w /var/lib/letsencrypt/ -d example.com -d www.example.com
Jos SSL-varmenne saadaan onnistuneesti, seuraava viesti tulostetaan päätteellesi:
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:
Muokkaa verkkotunnuspalvelinlohkoa ja sisällytä SSL-varmennetiedostot seuraavasti:
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 }
Yllä oleva kokoonpano kertoo Nginxin ohjaamaan uudelleen HTTP: stä HTTPS: ään ja www: sta muuhun kuin www-versioon.
Käynnistä tai lataa Nginx-palvelu uudelleen, jotta muutokset tulevat voimaan:
sudo systemctl restart nginx
Avaa verkkosivusto verkkosivustolla
https://
, ja huomaat vihreän lukon kuvakkeen.

Automaattinen uusiminen Let's Encrypt SSL -varmenne
Salatko varmenteet ovat voimassa 90 päivää. Voit uusia sertifikaatit automaattisesti ennen niiden voimassaolon päättymistä. Certbot-paketti luo cronjobin, joka suoritetaan kahdesti päivässä ja uusii sertifikaatit automaattisesti 30 päivää ennen niiden voimassaolon päättymistä.
Uusimisen yhteydessä nginx-palvelu on ladattava uudelleen palvelimelle varmenteen lataamiseksi. Lisää
--renew-hook "systemctl reload nginx"
tiedostoon
/etc/cron.d/certbot
niin, että se näyttää tältä:
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"
Testaa automaattinen uusimisprosessi suorittamalla tämä komento:
sudo certbot renew --dry-run
Jos virheitä ei ole, uusimisprosessi onnistui.
johtopäätös
SSL-sertifikaatin hankkiminen on nykyään välttämätöntä. Se turvaa verkkosivustosi, lisää SERP: n sijoituspaikkaa ja sallii HTTP / 2: n käyttöönoton Web-palvelimella.
Tässä opetusohjelmassa olemme osoittaneet sinulle, kuinka luoda ja uudistaa SSL-varmenteita käyttämällä certbot-skriptiä. Olemme myös osoittaneet, kuinka Nginx määritetään käyttämään varmenteita.
Lisätietoja Certbotista on Certbot-ohjeissa.
nginx debian 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ä







