Kuidas lubada TLS 1.3 Nginxis Debian 9-s

Sissejuhatus

TLS 1.3 on transpordikihi turvalisuse (TLS) protokolli versioon, mis avaldati 2018. aastal RFC 8446 pakutud standardina . See pakub eelkäijatega võrreldes turvalisuse ja jõudluse täiustusi.

See juhend selgitab, kuidas lubada TLS 1.3, kasutades Debian 9-s Nginxi veebiserverit.

Nõuded

  • Nginxi versioon 1.13.0või uuem.
  • OpenSSL-i versioon 1.1.1või uuem.
  • Vultr Cloud Compute (VC2) eksemplar, milles töötab Debian 9 x64 (venitus).
  • Kehtiv domeeninime ja õigesti konfigureeritud A/ AAAA/ CNAMEDNS kirjed teie domeeni.
  • Kehtiv TLS-sertifikaat. Saame selle Let's Encryptilt.

Enne alustamist

Kontrollige Debiani versiooni.

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

Veenduge, et teie süsteem on ajakohane.

apt update && apt upgrade -y

Installige vajalikud paketid.

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

Looge uus juurdepääsuga mitte-root kasutajakonto sudoja lülituge sellele.

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

MÄRKUS. Asendage johndoeoma kasutajanimega.

Seadistage ajavöönd.

sudo dpkg-reconfigure tzdata

Installige Acme.sh klient ja hankige Let's Encrypti kaudu TLS-sertifikaat

Laadige alla ja installige 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 [email protected]
cd ~
source ~/.bashrc

Kontrolli versiooni.

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

Hankige oma domeeni jaoks RSA ja ECDSA sertifikaadid.

# 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

MÄRKUS. Asendage example.comoma domeeninimega.

Pärast eelmiste käskude käivitamist on teie sertifikaadid ja võtmed juurdepääsetavad järgmistes kohtades:

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

Ehitage Nginx allikast

Nginx lisas versioonis 1.13.0 TLS 1.3 toe. Enamikus Linuxi distributsioonides, sealhulgas Debian 9, on Nginx ehitatud vanema OpenSSL-i versiooniga, mis ei toeta TLS 1.3. Järelikult vajame oma kohandatud Nginxi ehitamist, mis on lingitud OpenSSL 1.1.1 väljalaskega, mis sisaldab TLS 1.3 tuge.

Laadige alla Nginxi lähtekoodi uusim põhiversioon ja eraldage see.

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

Laadige alla OpenSSL 1.1.1c lähtekood ja eraldage see.

# 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

Kustutage kõik .tar.gzfailid, kuna neid pole enam vaja.

rm -rf *.tar.gz

Sisestage Nginxi lähtekataloog.

cd ~/nginx-1.17.0

Nginxi konfigureerimine, kompileerimine ja installimine. Lihtsuse huvides koostame ainult hädavajalikud moodulid, mis on vajalikud TLS 1.3 töötamiseks. Kui vajate täielikku Nginxi konstruktsiooni, saate lugeda seda Vultri juhendit Nginxi koostamise kohta.

./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

Looge Nginxi süsteemirühm ja kasutaja.

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

Symlinki /usr/lib/nginx/moduleset /etc/nginx/modules. Viimane on Nginxi moodulite standardkoht.

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

Looge Nginxi vahemälu kataloogid ja määrake õiged õigused.

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/*

Kontrollige Nginxi versiooni.

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 . . .
# . . .

Looge Nginxi süsteemiüksuse fail.

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

Täitke fail järgmise konfiguratsiooniga.

[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äivitage ja lubage Nginx.

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

Loo conf.d, sites-availableja sites-enabledkatalooge /etc/nginx.

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

Käivitage sudo vim /etc/nginx/nginx.confja lisage faili lõppu, vahetult enne sulgemismärki, järgmised kaks käsku }.

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

Salvestage fail ja väljuge klahviga :+ W+ Q.

Nginxi konfigureerimine TLS 1.3 jaoks

Nüüd, kui oleme Nginxi edukalt üles ehitanud, oleme valmis selle konfigureerima, et alustada oma serveris TLS 1.3 kasutamist.

Käivitage sudo vim /etc/nginx/conf.d/example.com.confja sisestage fail järgmise konfiguratsiooniga.

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;
}

Salvestage fail ja väljuge klahviga :+ W+ Q.

Pange tähele direktiivi uut TLSv1.3parameetrit ssl_protocols. See parameeter on vajalik TLS 1.3 lubamiseks.

Kontrollige konfiguratsiooni.

sudo nginx -t

Laadige Nginx uuesti.

sudo systemctl reload nginx.service

TLS 1.3 kontrollimiseks võite kasutada brauseri arendaja tööriistu või SSL Labsi teenust. Allolevatel ekraanipiltidel on Chrome'i turvalisuse vahekaart, mis näitab, et TLS 1.3 töötab.

Kuidas lubada TLS 1.3 Nginxis Debian 9-s

Kuidas lubada TLS 1.3 Nginxis Debian 9-s

Palju õnne! Olete edukalt lubanud oma Debian 9 serveris TLS 1.3.


Seadistage Cacti Debian Jessies

Seadistage Cacti Debian Jessies

Sissejuhatus Cacti on avatud lähtekoodiga seire- ja graafikutööriist, mis põhineb täielikult RRD andmetel. Cacti kaudu saate jälgida peaaegu igat tüüpi seadmeid

Installige Lets Encrypt SSL ühe klõpsuga WordPressi rakendusse

Installige Lets Encrypt SSL ühe klõpsuga WordPressi rakendusse

Sissejuhatus Lets Encrypt on sertifikaatide väljastamise teenus, mis pakub tasuta TLS/SSL-sertifikaate. Paigaldusprotsessi lihtsustab Certbot,

Tekkiti klassikalise serveri seadistamine Ubuntu 16.10-s

Tekkiti klassikalise serveri seadistamine Ubuntu 16.10-s

Kas kasutate teistsugust süsteemi? Mis on Tekkit Classic? Tekkit Classic on modifikatsioonipakett mängule, mida kõik teavad ja armastavad; Minecraft. See sisaldab mõningaid ver

Seadistage iRedMail Debian Wheezys

Seadistage iRedMail Debian Wheezys

Kas kasutate teistsugust süsteemi? See õpetus näitab teile, kuidas installida grupitöö iRedMail Debian Wheezy värskele installile. Peaksite kasutama servi

Jekylli ajaveebi loomine Ubuntus 16.04

Jekylli ajaveebi loomine Ubuntus 16.04

Kas kasutate teistsugust süsteemi? Jekyll on suurepärane alternatiiv WordPressile ajaveebi pidamiseks või sisu jagamiseks. See ei nõua andmebaase ja see on väga lihtne

Järelevalveta versiooniuuenduste seadistamine Debian 9-s (venitamine)

Järelevalveta versiooniuuenduste seadistamine Debian 9-s (venitamine)

Kas kasutate teistsugust süsteemi? Kui ostate Debiani serveri, peaksid teil alati olema uusimad turvapaigad ja värskendused, olenemata sellest, kas magate või mitte

PHP 7.0 või PHP 7.1 installimine ja konfigureerimine Ubuntu 16.04-s

PHP 7.0 või PHP 7.1 installimine ja konfigureerimine Ubuntu 16.04-s

PHP ja sellega seotud paketid on veebiserveri juurutamisel kõige sagedamini kasutatavad komponendid. Selles artiklis õpime, kuidas seadistada PHP 7.0 või PHP 7.1 o

Kuidas installida CentOS-i Squid Proxy

Kuidas installida CentOS-i Squid Proxy

Squid on populaarne tasuta Linuxi programm, mis võimaldab teil luua edastamise veebipuhverserveri. Selles juhendis näete, kuidas installida Squid CentOS-i, et teid pöörata

Lighttpd (LLMP Stack) installimine CentOS 6-sse

Lighttpd (LLMP Stack) installimine CentOS 6-sse

Sissejuhatus Lighttpd on Apache'i hark, mille eesmärk on olla palju vähem ressursimahukas. See on kerge, sellest ka oma nimi, ja seda on üsna lihtne kasutada. Installin

Kolm tasuta serveri juhtpaneeli (kiire installimine)

Kolm tasuta serveri juhtpaneeli (kiire installimine)

1. Virtualmin/Webmin Virtualmin on võimas ja paindlik veebimajutuse juhtpaneel Linuxi ja UNIX süsteemidele, mis põhineb tuntud avatud lähtekoodiga veebibaasil

Yii rakenduse seadistamine Ubuntu 14.04-s

Yii rakenduse seadistamine Ubuntu 14.04-s

Yii on PHP raamistik, mis võimaldab teil rakendusi kiiremini ja lihtsamalt arendada. Yii installimine Ubuntule on lihtne, nagu saate täpselt teada

Ekraani kasutamine Ubuntu 14.04-s

Ekraani kasutamine Ubuntu 14.04-s

Ekraan on rakendus, mis võimaldab ühes aknas mitut terminaliseanssi kasutada. See võimaldab simuleerida mitut terminali akent, kus see ma

Seadistage Debianis/Ubuntus oma DNS-server

Seadistage Debianis/Ubuntus oma DNS-server

See õpetus selgitab, kuidas seadistada DNS-serverit Bind9 abil Debianis või Ubuntus. Asendage kogu artikli vältel oma-domeen-nimi.com vastavalt. Kell th

Logrotate kasutamine logifailide haldamiseks

Logrotate kasutamine logifailide haldamiseks

Sissejuhatus Logrotate on Linuxi utiliit, mis lihtsustab logifailide haldamist. Tavaliselt töötab see kord päevas cron-töö kaudu ja haldab logibaasi

Staatilise võrgu ja IPv6 konfigureerimine CentOS 7-s

Staatilise võrgu ja IPv6 konfigureerimine CentOS 7-s

VULTR on hiljuti teinud nende osas muudatusi ja kõik peaks nüüd töötama hästi, kui NetworkManager on lubatud. Kui soovite keelata

Icinga2 muutmine, et kasutada CentOS 6 või CentOS 7 põhi-/kliendimudelit

Icinga2 muutmine, et kasutada CentOS 6 või CentOS 7 põhi-/kliendimudelit

Icinga2 on võimas seiresüsteem ja kui seda kasutatakse põhikliendi mudelis, võib see asendada vajaduse NRPE-põhiste seirekontrollide järele. Meister-klient

Seadistage Red5 Media Server versioonis Ubuntu 16.04

Seadistage Red5 Media Server versioonis Ubuntu 16.04

Kas kasutate teistsugust süsteemi? Red5 on Java-s realiseeritud avatud lähtekoodiga meediumiserver, mis võimaldab käivitada mitme kasutajaga Flashi rakendusi, näiteks otseülekandeid.

Kompileerige ja installige Nginx mooduliga PageSpeed ​​Debian 8

Kompileerige ja installige Nginx mooduliga PageSpeed ​​Debian 8

Selles artiklis näeme, kuidas kompileerida ja installida Nginxi põhiliini ametlikest Nginxi allikatest mooduliga PageSpeed, mis võimaldab teil

Apache Cassandra 3.11.x installimine Ubuntu 16.04 LTS-i

Apache Cassandra 3.11.x installimine Ubuntu 16.04 LTS-i

Kas kasutate teistsugust süsteemi? Apache Cassandra on tasuta ja avatud lähtekoodiga NoSQL-i andmebaasihaldussüsteem, mis on loodud pakkuma skaleeritavust, hig.

Apache Cassandra 3.11.x installimine opsüsteemi CentOS 7

Apache Cassandra 3.11.x installimine opsüsteemi CentOS 7

Kas kasutate teistsugust süsteemi? Apache Cassandra on tasuta ja avatud lähtekoodiga NoSQL-i andmebaasihaldussüsteem, mis on loodud pakkuma skaleeritavust, hig.

Masinate tõus: AI tegelikud rakendused

Masinate tõus: AI tegelikud rakendused

Tehisintellekt ei ole tulevik, see on siin, olevikus. Sellest blogist loe, kuidas tehisintellekti rakendused on mõjutanud erinevaid sektoreid.

DDOS-i rünnakud: lühike ülevaade

DDOS-i rünnakud: lühike ülevaade

Kas olete ka DDOS-i rünnakute ohver ja olete segaduses ennetusmeetodite osas? Oma päringute lahendamiseks lugege seda artiklit.

Kas olete kunagi mõelnud, kuidas häkkerid raha teenivad?

Kas olete kunagi mõelnud, kuidas häkkerid raha teenivad?

Võib-olla olete kuulnud, et häkkerid teenivad palju raha, kuid kas olete kunagi mõelnud, kuidas nad sellist raha teenivad? arutleme.

Googlei revolutsioonilised leiutised, mis muudavad teie elu lihtsaks.

Googlei revolutsioonilised leiutised, mis muudavad teie elu lihtsaks.

Kas soovite näha Google'i revolutsioonilisi leiutisi ja seda, kuidas need leiutised muutsid iga inimese elu tänapäeval? Seejärel lugege ajaveebi, et näha Google'i leiutisi.

Reede oluline osa: mis juhtus tehisintellektiga juhitavate autodega?

Reede oluline osa: mis juhtus tehisintellektiga juhitavate autodega?

Isejuhtivate autode kontseptsioon tehisintellekti abil teedele jõudmiseks on meil juba mõnda aega unistus. Kuid vaatamata mitmele lubadusele pole neid kusagil näha. Lisateabe saamiseks lugege seda ajaveebi…

Tehnoloogiline singulaarsus: inimtsivilisatsiooni kauge tulevik?

Tehnoloogiline singulaarsus: inimtsivilisatsiooni kauge tulevik?

Kuna teadus areneb kiiresti, võttes üle suure osa meie jõupingutustest, suureneb ka oht, et allume seletamatule singulaarsusele. Loe, mida singulaarsus meie jaoks tähendada võiks.

Andmesalvestuse areng – infograafik

Andmesalvestuse areng – infograafik

Andmete säilitamise meetodid on arenenud alates andmete sünnist. See ajaveeb käsitleb infograafiku alusel andmete salvestamise arengut.

Suurandmete viitearhitektuuri kihtide funktsioonid

Suurandmete viitearhitektuuri kihtide funktsioonid

Lugege ajaveebi, et kõige lihtsamal viisil teada saada Big Data Architecture'i erinevaid kihte ja nende funktsioone.

6 hämmastavat eelist nutikate koduseadmete olemasolust meie elus

6 hämmastavat eelist nutikate koduseadmete olemasolust meie elus

Selles digipõhises maailmas on nutikad koduseadmed muutunud elu oluliseks osaks. Siin on mõned nutikate koduseadmete hämmastavad eelised, mis muudavad meie elu elamisväärseks ja lihtsamaks.

macOS Catalina 10.15.4 täienduse värskendus põhjustab rohkem probleeme kui lahendamine

macOS Catalina 10.15.4 täienduse värskendus põhjustab rohkem probleeme kui lahendamine

Hiljuti andis Apple välja macOS Catalina 10.15.4 täiendusvärskenduse probleemide lahendamiseks, kuid tundub, et värskendus põhjustab rohkem probleeme, mille tulemuseks on Maci masinate tellimine. Lisateabe saamiseks lugege seda artiklit