Установка бесплатного SSL-сертификата (A-grade) Let's Encrypt на nginx (Ubuntu 16.04)
Talaan ng mga Nilalaman:
- Mga kinakailangan
- I-install ang Certbot
- Bumuo ng Malakas na Dh (Diffie-Hellman) Grupo
- Pagkuha ng isang I-encrypt na SSL sertipiko
- Pag-renew ng auto ng SSL certificate
- Konklusyon
Tayo ay Encrypt ay isang libre at bukas na awtoridad ng sertipiko na binuo ng Internet Security Research Group (ISRG). Ang mga sertipiko na inisyu ng Let Encrypt ay pinagkakatiwalaan ng halos lahat ng mga browser ngayon.
Sa Tutorial na ito, bibigyan kami ng isang hakbang sa pamamagitan ng mga tagubilin sa hakbang tungkol sa kung paano ma-secure ang iyong Nginx gamit ang Let's Encrypt gamit ang sertbot tool sa Ubuntu 16.04.
Mga kinakailangan
Tiyaking nakilala mo ang sumusunod na mga kinakailangan bago magpatuloy sa tutorial na ito:
- Mayroon kang isang domain name na tumuturo sa iyong public server IP. Sa tutorial na ito gagamitin namin ang
example.com.May naka-install ka ng Nginx sa pamamagitan ng pagsunod sa Paano Paano I-install ang Nginx sa Ubuntu 16.04.
I-install ang Certbot
Ang Certbot ay isang utility na nakasulat sa python na maaaring awtomatiko ang mga gawain para sa pagkuha at pag-renew ng Mga sertipiko ng SSL at pag-configure ng mga web server.
Una i-install ang
software-properties-common
package na nagbibigay ng
add-apt-repository
tool na kinakailangan para sa pagdaragdag ng mga karagdagang PPA.
I-update ang index ng mga pakete at i
software-properties-common
install ang mga pag
software-properties-common
install ng
software-properties-common
sa:
sudo apt update
sudo apt install software-properties-common
Kapag nakumpleto ang pag-install, idagdag ang repository ng PPA ng sertbot sa iyong system gamit ang sumusunod na utos:
sudo add-apt-repository ppa:certbot/certbot
I-update ang listahan ng mga pakete at i-install ang package ng certbot:
sudo apt update
sudo apt install certbot
Bumuo ng Malakas na Dh (Diffie-Hellman) Grupo
Ang diffie-Hellman key exchange (DH) ay isang paraan ng ligtas na pagpapalitan ng mga key ng cryptographic sa isang hindi ligtas na channel ng komunikasyon. Bumuo ng isang bagong hanay ng mga 2048 bit na mga parameter ng DH upang palakasin ang seguridad:
sudo openssl dhparam -out /etc/ssl/certs/dhparam.pem 2048
Kung gusto mo maaari mong baguhin ang laki ng hanggang sa 4096 bit, ngunit sa kasong iyon, ang henerasyon ay maaaring tumagal ng higit sa 30 minuto depende sa entropy ng system.
Pagkuha ng isang I-encrypt na SSL sertipiko
Upang makakuha ng isang SSL sertipiko para sa aming domain ay gagamitin namin ang plugin ng Webroot na gumagana sa pamamagitan ng paglikha ng isang pansamantalang file para sa pagpapatunay ng hiniling na domain sa
${webroot-path}/.well-known/acme-challenge
. Ginagawa ng server ng Let's Encrypt ang mga kahilingan ng HTTP sa pansamantalang file upang mapatunayan na ang hiniling na domain ay nagpasiya sa server kung saan tumatakbo ang sertbot.
Upang gawing mas simple ay i-map namin ang lahat ng mga kahilingan sa HTTP para sa
.well-known/acme-challenge
sa isang solong direktoryo,
/var/lib/letsencrypt
.
Ang sumusunod na mga utos ay lilikha ng direktoryo at gagawin itong mai-sulat para sa server ng Nginx.
mkdir -p /var/lib/letsencrypt/.well-known
chgrp www-data /var/lib/letsencrypt
chmod g+s /var/lib/letsencrypt
Upang maiwasan ang pagdoble ng code lumikha ng sumusunod na dalawang snippet na isasama namin sa lahat ng aming mga file ng block ng Nginx server.
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:50m; ssl_session_tickets off; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers 'ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA:ECDHE-ECDSA-DES-CBC3-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:DES-CBC3-SHA:!DSS'; ssl_prefer_server_ciphers on; 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=15768000; includeSubdomains; preload"; add_header X-Frame-Options SAMEORIGIN; add_header X-Content-Type-Options nosniff;
Kasama sa snippet sa itaas ang rekomendasyon ng tsinelas ni Mozilla, pinapayagan ang OCSP Stapling, HTTP Strict Transport Security (HSTS) at ipinatupad ang ilang seguridad ‑ na nakatuon ang mga header ng
Kapag nilikha ang mga snippet, buksan ang bloke ng server ng domain at isama ang
letsencrypt.conf
snippet tulad ng ipinakita sa ibaba:
server { listen 80; server_name example.com www.example.com; include snippets/letsencrypt.conf; }
Isaaktibo ang server block sa pamamagitan ng paglikha ng isang simbolikong link mula sa mga
sites-available
sa mga
sites-enabled
:
sudo ln -s /etc/nginx/sites-available/example.com.conf /etc/nginx/sites-enabled/example.com.conf
Reload ang pagsasaayos ng Nginx para sa mga pagbabago na magkakabisa:
sudo systemctl reload nginx
Patakbuhin ang script ng sertbot gamit ang plugin ng webroot at makuha ang mga file ng sertipiko ng SSL:
sudo certbot certonly --agree-tos --email [email protected] --webroot -w /var/lib/letsencrypt/ -d example.com -d www.example.com
Kung matagumpay na nakuha ang sertipiko ng SSL, i-print ng sertbot ang sumusunod na mensahe:
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 2018-04-23. 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:
Ngayon na mayroon kaming mga file ng sertipiko, i-edit ang block ng domain server tulad ng sumusunod:
/etc/nginx/sites-available/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 }
Gamit ang pagsasaayos sa itaas ay pinipilit natin ang HTTPS at muling pag-redirect sa bersyon ng domain ng domain sa
non www
bersyon ng
non www
.
Reload ang serbisyo ng Nginx para sa mga pagbabago na magkakabisa:
Pag-renew ng auto ng SSL certificate
Ang mga sertipiko ng Encrypt ay may bisa sa loob ng 90 araw. Upang awtomatikong i-renew ang mga sertipiko bago mag-expire, ang sertipikong package ay lumilikha ng isang cronjob na tatakbo nang dalawang beses sa isang araw at awtomatikong mai-renew ang anumang sertipiko 30 araw bago ito mag-expire.
Dahil gumagamit kami ng sertbot ng webbot na naka-plug sa isang beses na na-renew ang sertipiko mayroon din tayong i-reload ang serbisyo nginx. Upang magawa ito ay
--renew-hook "systemctl reload nginx"
sa
/etc/cron.d/certbot
file na tulad nito:
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"
Upang masubukan ang proseso ng pag-renew, gamitin ang switch ng certbot
--dry-run
:
sudo certbot renew --dry-run
Kung walang mga pagkakamali, nangangahulugan ito na matagumpay ang proseso ng pag-update.
Konklusyon
Sa tutorial na ito, ginamit mo ang client ng Let Encrypt, sertbot upang makakuha ng mga SSL sertipiko para sa iyong domain. Nilikha mo rin ang mga snippet ng Nginx upang maiwasan ang pagkopya ng code at na-configure ang Nginx upang magamit ang mga sertipiko. Sa pagtatapos ng tutorial ikaw ay nag-set up ng isang cronjob para sa pag-renew ng awtomatikong sertipiko.
nginx ubuntu sabihin encrypt ang sertbot sslPaminsan-minsan ang mga update ay napakahalaga, ngunit ang pinaka-tila tulad ng tinkering. Ang PS3's Disyembre 2, 2008 v2.53 update ay nagdagdag ng full-screen na suporta para sa Adobe Flash. Ang pag-update ng Nobyembre 5, 2008 v.2.52 ay nagdala ng tatlong mga pag-aayos sa maliit na glitch. Ang Hulyo 29, 2008 v2.42-update ang enigmatically "pagbutihin [d] ang kalidad ng pag-playback ng ilang PlayStation 3 at PlayStation format software." Ang pag-update ng Hulyo 8, 2008 v2.41 ay naayos
Huwag ako mali, sa tingin ko talagang kahanga-hanga na nais ng Sony na maglinis ng ilang frequency. Ngunit hindi dapat isang kumpanya na may mga mapagkukunan ng Sony at isang predictable hardware development platform malinaw na ang windshield maagang ng panahon?
IDC: Pag-urong sa Pag-iimbak sa Pag-iimbak ng Imbakan sa Pag-iimbak
Ang kita ng imbakan ng enterprise disk ay nahulog 18.2 porsiyento sa unang quarter, higit sa lahat dahil sa pag-iingat ng customer, ayon sa kumpanya ng pananaliksik IDC .
Kaya, ang nakikita natin mula sa malaking D sa oras na ito ay ang ilang pag-refresh ng 15-, 16-, at 17-inch na mga laptop sa linya ng Studio. Makakakuha kami ng mga ito sa isang segundo lamang. Ngunit bilang Isinasaalang-alang ng Dell ang M15x mula sa kanyang subsidiary ng Alienware ang "flagship core i7 product," dapat munang makarating sa monster machine muna. Ang M15x ay, sa maikling sabi, isang mas maliit na bersyon ng M17x - isang potensyal na makapangyarihang 15-inch gaming rig n
Alienware ay medyo nakakapagod tungkol sa pakete sa sandaling ito, na nagsasabi na ang M15x ay "magsisimula sa $ 1499." Ang mga ito ay nag-iiwan ng maraming puwang para sa susi







