Si të aktivizoni TLS 1.3 në Nginx në Ubuntu 18.04 LTS

TLS 1.3 është një version i protokollit të Sigurisë së Shtresës së Transportit (TLS) që u publikua në 2018 si një standard i propozuar në RFC 8446 . Ai ofron përmirësime të sigurisë dhe performancës në krahasim me paraardhësit e tij.

Ky udhëzues do të demonstrojë se si të aktivizoni TLS 1.3 duke përdorur serverin në internet Nginx në Ubuntu 18.04 LTS.

Kërkesat

  • Versioni Nginx 1.13.0ose më i madh.
  • Versioni OpenSSL 1.1.1ose më i madh.
  • Shembulli i Vultr Cloud Compute (VC2) që ekzekuton Ubuntu 18.04.
  • Një emër i vlefshëm domain dhe konfiguruar si duhet A/ AAAA/ CNAMEtë dhënat DNS për domenin tuaj.
  • Një certifikatë e vlefshme TLS. Ne do të marrim një nga Let's Encrypt.

Perpara se te fillosh

Kontrolloni versionin e Ubuntu.

lsb_release -ds
# Ubuntu 18.04.1 LTS

Krijoni një non-rootllogari të re përdoruesi me sudoakses dhe kaloni në të.

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

SHËNIM: Zëvendësojeni johndoeme emrin tuaj të përdoruesit.

Vendosni zonën kohore.

sudo dpkg-reconfigure tzdata

Sigurohuni që sistemi juaj të jetë i përditësuar.

sudo apt update && sudo apt upgrade -y

Instaluar build-essential, socatdhe gitpaketa.

sudo apt install -y build-essential socat git

Instaloni klientin Acme.sh dhe merrni certifikatën TLS nga Let's Encrypt

Shkarkoni dhe instaloni Acme.sh .

sudo mkdir /etc/letsencrypt
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

Kontrolloni versionin.

acme.sh --version
# v2.8.0

Merrni certifikatat RSA dhe ECDSA për domenin tuaj.

# 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

SHËNIM: Zëvendësoni example.comkomandat me emrin e domenit tuaj.

Pas ekzekutimit të komandave të mëparshme, certifikatat dhe çelësat tuaj do të jenë të aksesueshme në:

  • Për RSA: /etc/letsencrypt/example.comdrejtoria.
  • Për ECC/ECDSA: /etc/letsencrypt/example.com_eccdrejtoria.

Ndërtoni Nginx nga Burimi

Nginx shtoi mbështetje për TLS 1.3 në versionin 1.13.0. Në shumicën e shpërndarjeve Linux, duke përfshirë Ubuntu 18.04, Nginx është ndërtuar me versionin më të vjetër OpenSSL, i cili nuk mbështet TLS 1.3. Rrjedhimisht, ne kemi nevojë për ndërtimin tonë të personalizuar Nginx të lidhur me versionin OpenSSL 1.1.1, i cili përfshin mbështetje për TLS 1.3.

Shkarkoni versionin më të fundit kryesor të kodit burimor Nginx dhe nxirrni atë.

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

Shkarkoni kodin burimor OpenSSL 1.1.1 dhe nxirrni atë.

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

Fshini të gjithë .tar.gzskedarët, pasi nuk do të nevojiten më.

rm -rf *.tar.gz

Futni drejtorinë e burimit Nginx.

cd ~/nginx-1.15.5

Konfiguroni, përpiloni dhe instaloni Nginx. Për hir të thjeshtësisë, ne do të përpilojmë vetëm module thelbësore që kërkohen për funksionimin e TLS 1.3. Nëse keni nevojë për një ndërtim të plotë Nginx, mund të lexoni këtë udhëzues Vultr rreth përpilimit të Nginx.

./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=Ubuntu \
            --builddir=nginx-1.15.5 \
            --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.1 \
            --with-openssl-opt=no-nextprotoneg \
            --without-http_rewrite_module \
            --without-http_gzip_module

make
sudo make install

Krijoni grupin dhe përdoruesin e sistemit Nginx.

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

Lidhja simbolike /usr/lib/nginx/modules/etc/nginx/modulesdrejtori. etc/nginx/modulesështë një vend standard për modulet Nginx.

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

Krijoni drejtoritë e cache Nginx dhe vendosni lejet e duhura.

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

Kontrolloni versionin Nginx.

sudo nginx -V

# nginx version: nginx/1.15.5 (Ubuntu)
# built by gcc 7.3.0 (Ubuntu 7.3.0-27ubuntu1~18.04)
# built with OpenSSL 1.1.1  11 Sep 2018
# TLS SNI support enabled
# configure arguments: --prefix=/etc/nginx --sbin-path=/usr/sbin/nginx . . .
# . . .

Krijo skedarin e njësisë sistemd Nginx.

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

Plotësoni skedarin me konfigurimin e mëposhtëm.

[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

Filloni dhe aktivizoni Nginx.

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

Krijo conf.d, sites-availabledhe sites-enableddirectories në /etc/nginxdirectory.

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

Ekzekutoni sudo vim /etc/nginx/nginx.confdhe shtoni dy direktivat e mëposhtme në fund të skedarit, pak para mbylljes }.

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

Ruani skedarin dhe dilni me :+ W+ Q.

Konfiguro Nginx për TLS 1.3

Tani që kemi ndërtuar me sukses Nginx, jemi gati ta konfigurojmë për të filluar përdorimin e TLS 1.3 në serverin tonë.

Ekzekutoni sudo vim /etc/nginx/conf.d/example.com.confdhe plotësoni skedarin me konfigurimin e mëposhtëm.

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_prefer_server_ciphers on;

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

Ruani skedarin dhe dilni me :+ W+ Q.

Vini re TLSv1.3parametrin e ri të ssl_protocolsdirektivës. Ky parametër është i nevojshëm për të aktivizuar TLS 1.3.

Kontrolloni konfigurimin.

sudo nginx -t

Rifresko Nginx.

sudo systemctl reload nginx.service

Për të verifikuar TLS 1.3, mund të përdorni mjetet e zhvillimit të shfletuesit ose shërbimin SSL Labs. Pamjet e mëposhtme të ekranit tregojnë skedën e sigurisë së Chrome që tregon se TLS 1.3 po funksionon.

Si të aktivizoni TLS 1.3 në Nginx në Ubuntu 18.04 LTS

Si të aktivizoni TLS 1.3 në Nginx në Ubuntu 18.04 LTS

urime! Ju keni aktivizuar me sukses TLS 1.3 në serverin tuaj të internetit Ubuntu 18.04.

Lëreni një koment

Ngritja e makinave: Aplikimet në botën reale të AI

Ngritja e makinave: Aplikimet në botën reale të AI

Inteligjenca Artificiale nuk është në të ardhmen, është këtu në të tashmen Në këtë blog Lexoni se si aplikacionet e inteligjencës artificiale kanë ndikuar në sektorë të ndryshëm.

Sulmet DDOS: Një përmbledhje e shkurtër

Sulmet DDOS: Një përmbledhje e shkurtër

A jeni edhe ju viktimë e Sulmeve DDOS dhe jeni konfuz në lidhje me metodat e parandalimit? Lexoni këtë artikull për të zgjidhur pyetjet tuaja.

A e keni pyetur ndonjëherë veten se si fitojnë para hakerët?

A e keni pyetur ndonjëherë veten se si fitojnë para hakerët?

Ju mund të keni dëgjuar se hakerët fitojnë shumë para, por a keni menduar ndonjëherë se si i fitojnë ato para? Le te diskutojme.

Shpikjet revolucionare nga Google që do tju bëjnë të lehtë jetën tuaj.

Shpikjet revolucionare nga Google që do tju bëjnë të lehtë jetën tuaj.

Dëshironi të shihni shpikjet revolucionare nga Google dhe se si këto shpikje ndryshuan jetën e çdo njeriu sot? Më pas lexoni në blog për të parë shpikjet nga Google.

E Premte Thelbësore: Çfarë ndodhi me Makinat e drejtuara nga AI?

E Premte Thelbësore: Çfarë ndodhi me Makinat e drejtuara nga AI?

Koncepti i makinave vetë-drejtuese për të dalë në rrugë me ndihmën e inteligjencës artificiale është një ëndërr që e kemi prej kohësh. Por, pavarësisht nga disa premtime, ato nuk shihen askund. Lexoni këtë blog për të mësuar më shumë…

Singulariteti teknologjik: Një e ardhme e largët e qytetërimit njerëzor?

Singulariteti teknologjik: Një e ardhme e largët e qytetërimit njerëzor?

Ndërsa Shkenca evoluon me një ritëm të shpejtë, duke marrë përsipër shumë nga përpjekjet tona, rriten edhe rreziqet për t'iu nënshtruar një Singulariteti të pashpjegueshëm. Lexoni, çfarë mund të thotë singulariteti për ne.

Funksionalitetet e shtresave të arkitekturës së referencës së të dhënave të mëdha

Funksionalitetet e shtresave të arkitekturës së referencës së të dhënave të mëdha

Lexoni blogun për të njohur shtresat e ndryshme në arkitekturën e të dhënave të mëdha dhe funksionalitetet e tyre në mënyrën më të thjeshtë.

Evolucioni i ruajtjes së të dhënave - Infografik

Evolucioni i ruajtjes së të dhënave - Infografik

Metodat e ruajtjes së të dhënave kanë evoluar mund të jenë që nga lindja e të dhënave. Ky blog mbulon evolucionin e ruajtjes së të dhënave në bazë të një infografike.

6 Përfitimet e mahnitshme të të pasurit pajisje shtëpiake inteligjente në jetën tonë

6 Përfitimet e mahnitshme të të pasurit pajisje shtëpiake inteligjente në jetën tonë

Në këtë botë të drejtuar nga dixhitali, pajisjet inteligjente të shtëpisë janë bërë një pjesë thelbësore e jetës. Këtu janë disa përfitime të mahnitshme të pajisjeve shtëpiake inteligjente se si ato e bëjnë jetën tonë të vlefshme dhe më të thjeshtë.

Përditësimi shtesë i macOS Catalina 10.15.4 po shkakton më shumë probleme sesa zgjidhja

Përditësimi shtesë i macOS Catalina 10.15.4 po shkakton më shumë probleme sesa zgjidhja

Së fundmi Apple lëshoi ​​macOS Catalina 10.15.4 një përditësim shtesë për të rregulluar problemet, por duket se përditësimi po shkakton më shumë probleme që çojnë në bricking të makinerive mac. Lexoni këtë artikull për të mësuar më shumë