Kuinka ottaa TLS 1.3 käyttöön Nginxissä Debian 9:ssä

Johdanto

TLS 1.3 on versio Transport Layer Security (TLS) -protokollasta, joka julkaistiin vuonna 2018 RFC 8446: n ehdotuksena standardina . Se tarjoaa parannuksia turvallisuuteen ja suorituskykyyn verrattuna edeltäjiinsä.

Tämä opas selittää, kuinka TLS 1.3 otetaan käyttöön Nginx-verkkopalvelimella Debian 9:ssä.

Vaatimukset

  • Nginx-versio 1.13.0tai uudempi.
  • OpenSSL-versio 1.1.1tai uudempi.
  • Vultr Cloud Compute (VC2) -esiintymä, jossa on Debian 9 x64 (venyttävä).
  • Kelvollinen verkkotunnus ja määritetty oikein A/ AAAA/ CNAMEDNS-tietueita.
  • Kelvollinen TLS-varmenne. Hankimme sellaisen Let's Encryptiltä.

Ennen kuin aloitat

Tarkista Debian-versio.

lsb_release -ds
# Debian GNU/Linux 9.9 (stretch)

Varmista, että järjestelmäsi on ajan tasalla.

apt update && apt upgrade -y

Asenna tarvittavat paketit.

apt install -y git unzip curl sudo socat build-essential

Luo uusi ei-root-käyttäjätili sudoja vaihda siihen.

adduser johndoe --gecos "John Doe"
usermod -aG sudo johndoe
su - johndoe

HUOMAA: Korvaa johndoekäyttäjätunnuksellasi.

Aseta aikavyöhyke.

sudo dpkg-reconfigure tzdata

Asenna Acme.sh-asiakas ja hanki TLS-sertifikaatti Let's Encryptiltä

Lataa ja asenna Acme.sh .

sudo mkdir /etc/letsencrypt
sudo git clone https://github.com/Neilpang/acme.sh.git
cd acme.sh 
sudo ./acme.sh --install --home /etc/letsencrypt --accountemail your_email@example.com
cd ~
source ~/.bashrc

Tarkista versio.

/etc/letsencrypt/acme.sh --version
# v2.8.2

Hanki RSA- ja ECDSA-sertifikaatit verkkotunnuksellesi.

# RSA 2048
sudo /etc/letsencrypt/acme.sh --issue --standalone --home /etc/letsencrypt -d example.com --ocsp-must-staple --keylength 2048
# ECDSA
sudo /etc/letsencrypt/acme.sh --issue --standalone --home /etc/letsencrypt -d example.com --ocsp-must-staple --keylength ec-256

HUOMAA: Korvaa example.comverkkotunnuksesi nimellä.

Edellisten komentojen suorittamisen jälkeen varmenteesi ja avaimesi ovat käytettävissä seuraavissa paikoissa:

  • RSA :/etc/letsencrypt/example.com
  • ECC/ECDSA :/etc/letsencrypt/example.com_ecc

Rakenna Nginx lähteestä

Nginx lisäsi tuen TLS 1.3:lle versiossa 1.13.0. Useimmissa Linux-jakeluissa, mukaan lukien Debian 9, Nginx on rakennettu vanhemmalla OpenSSL-versiolla, joka ei tue TLS 1.3:a. Siksi tarvitsemme oman mukautetun Nginx-koontiversion, joka on linkitetty OpenSSL 1.1.1 -julkaisuun, joka sisältää tuen TLS 1.3:lle.

Lataa Nginx-lähdekoodin uusin pääversio ja pura se.

wget https://nginx.org/download/nginx-1.17.0.tar.gz && tar zxvf nginx-1.17.0.tar.gz

Lataa OpenSSL 1.1.1c -lähdekoodi ja pura se.

# OpenSSL version 1.1.1c
wget https://www.openssl.org/source/openssl-1.1.1c.tar.gz && tar xzvf openssl-1.1.1c.tar.gz

Poista kaikki .tar.gztiedostot, koska niitä ei enää tarvita.

rm -rf *.tar.gz

Anna Nginx-lähdehakemisto.

cd ~/nginx-1.17.0

Määritä, käännä ja asenna Nginx. Yksinkertaisuuden vuoksi kokoamme vain olennaiset moduulit, jotka tarvitaan TLS 1.3:n toimimiseen. Jos tarvitset täyden Nginx-koontiversion, voit lukea tämän Vultr-oppaan Nginx-kokoelmasta.

./configure --prefix=/etc/nginx \
            --sbin-path=/usr/sbin/nginx \
            --modules-path=/usr/lib/nginx/modules \
            --conf-path=/etc/nginx/nginx.conf \
            --error-log-path=/var/log/nginx/error.log \
            --pid-path=/var/run/nginx.pid \
            --lock-path=/var/run/nginx.lock \
            --user=nginx \
            --group=nginx \
            --build=Debian \
            --builddir=nginx-1.17.0 \
            --http-log-path=/var/log/nginx/access.log \
            --http-client-body-temp-path=/var/cache/nginx/client_temp \
            --http-proxy-temp-path=/var/cache/nginx/proxy_temp \
            --http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp \
            --http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp \
            --http-scgi-temp-path=/var/cache/nginx/scgi_temp \
            --with-compat \
            --with-http_ssl_module \
            --with-http_v2_module \
            --with-openssl=../openssl-1.1.1c \
            --with-openssl-opt=no-nextprotoneg \
            --without-http_rewrite_module \
            --without-http_gzip_module

make
sudo make install

Luo Nginx-järjestelmäryhmä ja -käyttäjä.

sudo adduser --system --home /nonexistent --shell /bin/false --no-create-home --disabled-login --disabled-password --gecos "nginx user" --group nginx

Symlink /usr/lib/nginx/modulesosoitteeseen /etc/nginx/modules. Jälkimmäinen on tavallinen paikka Nginx-moduuleille.

sudo ln -s /usr/lib/nginx/modules /etc/nginx/modules

Luo Nginx-välimuistihakemistoja ja aseta oikeat käyttöoikeudet.

sudo mkdir -p /var/cache/nginx/client_temp /var/cache/nginx/fastcgi_temp /var/cache/nginx/proxy_temp /var/cache/nginx/scgi_temp /var/cache/nginx/uwsgi_temp
sudo chmod 700 /var/cache/nginx/*
sudo chown nginx:root /var/cache/nginx/*

Tarkista Nginx-versio.

sudo nginx -V

# nginx version: nginx/1.17.0 (Debian)
# built by gcc 6.3.0 20170516 (Debian 6.3.0-18+deb9u1)
# built with OpenSSL 1.1.1c  28 May 2019
# TLS SNI support enabled
# configure arguments: --prefix=/etc/nginx --sbin-path=/usr/sbin/nginx . . .
# . . .

Luo Nginx systemd -yksikkötiedosto.

sudo vim /etc/systemd/system/nginx.service

Täytä tiedosto seuraavalla kokoonpanolla.

[Unit]
Description=nginx - high performance web server
Documentation=https://nginx.org/en/docs/
After=network-online.target remote-fs.target nss-lookup.target
Wants=network-online.target

[Service]
Type=forking
PIDFile=/var/run/nginx.pid
ExecStartPre=/usr/sbin/nginx -t -c /etc/nginx/nginx.conf
ExecStart=/usr/sbin/nginx -c /etc/nginx/nginx.conf
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s TERM $MAINPID

[Install]
WantedBy=multi-user.target

Käynnistä ja ota Nginx käyttöön.

sudo systemctl start nginx.service
sudo systemctl enable nginx.service

Luo conf.d, sites-availableja sites-enabledhakemistoja /etc/nginx.

sudo mkdir /etc/nginx/{conf.d,sites-available,sites-enabled}

Suorita sudo vim /etc/nginx/nginx.confja lisää seuraavat kaksi ohjetta tiedoston loppuun juuri ennen sulkevaa }.

    . . .
    . . .
    include /etc/nginx/conf.d/*.conf;
    include /etc/nginx/sites-enabled/*.conf;
}

Tallenna tiedosto ja poistu :+ W+ Q.

Määritä Nginx TLS 1.3:lle

Nyt kun olemme rakentaneet Nginxin onnistuneesti, olemme valmiita määrittämään sen aloittamaan TLS 1.3:n käytön palvelimellamme.

Suorita sudo vim /etc/nginx/conf.d/example.com.confja täytä tiedosto seuraavalla kokoonpanolla.

server {
  listen 443 ssl http2;
  listen [::]:443 ssl http2;

  # RSA
  ssl_certificate /etc/letsencrypt/example.com/fullchain.cer;
  ssl_certificate_key /etc/letsencrypt/example.com/example.com.key;
  # ECDSA
  ssl_certificate /etc/letsencrypt/example.com_ecc/fullchain.cer;
  ssl_certificate_key /etc/letsencrypt/example.com_ecc/example.com.key;

  ssl_protocols TLSv1.2 TLSv1.3;
  ssl_ciphers 'ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256';
  ssl_prefer_server_ciphers on;
}

Tallenna tiedosto ja poistu :+ W+ Q.

Huomaa direktiivin uusi TLSv1.3parametri ssl_protocols. Tämä parametri on välttämätön TLS 1.3:n käyttöön ottamiseksi.

Tarkista kokoonpano.

sudo nginx -t

Lataa Nginx uudelleen.

sudo systemctl reload nginx.service

Voit varmistaa TLS 1.3:n käyttämällä selaimen kehitystyökaluja tai SSL Labs -palvelua. Alla olevissa kuvakaappauksissa näkyy Chromen suojausvälilehti, joka osoittaa, että TLS 1.3 toimii.

Kuinka ottaa TLS 1.3 käyttöön Nginxissä Debian 9:ssä

Kuinka ottaa TLS 1.3 käyttöön Nginxissä Debian 9:ssä

Onnittelut! Olet ottanut TLS 1.3:n käyttöön Debian 9 -palvelimellasi.

Jätä kommentti

Koneiden nousu: tekoälyn todelliset sovellukset

Koneiden nousu: tekoälyn todelliset sovellukset

Tekoäly ei ole tulevaisuudessa, se tässä nykyisyydessä Tässä blogissa Lue kuinka tekoälysovellukset ovat vaikuttaneet eri sektoreihin.

DDOS-hyökkäykset: lyhyt katsaus

DDOS-hyökkäykset: lyhyt katsaus

Oletko myös DDOS-hyökkäysten uhri ja hämmentynyt ehkäisymenetelmistä? Lue tämä artikkeli ratkaistaksesi kysymyksesi.

Oletko koskaan miettinyt, kuinka hakkerit ansaitsevat rahaa?

Oletko koskaan miettinyt, kuinka hakkerit ansaitsevat rahaa?

Olet ehkä kuullut, että hakkerit ansaitsevat paljon rahaa, mutta oletko koskaan miettinyt, kuinka he ansaitsevat tuollaista rahaa? keskustellaan.

Googlen vallankumouksellisia keksintöjä, jotka helpottavat elämääsi.

Googlen vallankumouksellisia keksintöjä, jotka helpottavat elämääsi.

Haluatko nähdä Googlen vallankumouksellisia keksintöjä ja kuinka nämä keksinnöt muuttivat jokaisen ihmisen elämää nykyään? Lue sitten blogia nähdäksesi Googlen keksinnöt.

Essential perjantai: Mitä tekoäly-ohjatuille autoille tapahtui?

Essential perjantai: Mitä tekoäly-ohjatuille autoille tapahtui?

Konsepti itseohjautuvista autoista lähteä tielle tekoälyn avulla on ollut haaveena jo jonkin aikaa. Mutta useista lupauksista huolimatta niitä ei näy missään. Lue tämä blogi saadaksesi lisätietoja…

Teknologinen singulaarisuus: ihmissivilisaation kaukainen tulevaisuus?

Teknologinen singulaarisuus: ihmissivilisaation kaukainen tulevaisuus?

Kun tiede kehittyy nopeasti ja ottaa haltuunsa suuren osan ponnisteluistamme, myös riskit altistaa itsemme selittämättömälle singulariteetille kasvavat. Lue, mitä singulaarisuus voisi tarkoittaa meille.

Big Datan referenssiarkkitehtuurikerrosten toiminnot

Big Datan referenssiarkkitehtuurikerrosten toiminnot

Blogista saat tietää Big Data -arkkitehtuurin eri kerroksista ja niiden toiminnoista yksinkertaisimmalla tavalla.

Tietojen tallennuksen evoluutio – Infografiikka

Tietojen tallennuksen evoluutio – Infografiikka

Tietojen säilytystavat ovat kehittyneet mahdollisesti Datan syntymästä lähtien. Tämä blogi käsittelee tiedon tallennuksen kehitystä infografian pohjalta.

6 uskomatonta etua älykkäiden kotilaitteiden käyttämisestä elämässämme

6 uskomatonta etua älykkäiden kotilaitteiden käyttämisestä elämässämme

Tässä digitaalisessa maailmassa kodin älylaitteista on tullut tärkeä osa elämää. Tässä on muutamia älykkäiden kodin laitteiden hämmästyttäviä etuja, joiden avulla ne tekevät elämästämme elämisen arvoista ja yksinkertaisempaa.

macOS Catalina 10.15.4 -täydennyspäivitys aiheuttaa enemmän ongelmia kuin ratkaiseminen

macOS Catalina 10.15.4 -täydennyspäivitys aiheuttaa enemmän ongelmia kuin ratkaiseminen

Apple julkaisi äskettäin macOS Catalina 10.15.4 -lisäpäivityksen ongelmien korjaamiseksi, mutta näyttää siltä, ​​että päivitys aiheuttaa lisää ongelmia, jotka johtavat mac-koneiden tiilikaamiseen. Lue tämä artikkeli saadaksesi lisätietoja