Hogyan lehet aktiválni? TLSv1.3 NGINX rendszeren. VestaCP pe CentOS NyitássalSSL

Ebben az oktatóanyagban látni fogjuk, hogyan aktiválja TLSv1.3 NGINX rendszeren, értsük meg egy kicsit mit jelent ezt TLS 1.3, mi segít és miért szükségünk van a webszerveren mint TLS aktiválni kell. Értsük meg, miért a szerverrel VestaCP (CentOS vagy Ubuntu) egy kicsit nehezebb aktiválni TLS 1.3 mint egy cPanel szerveren. Vagy olyan szerveren, ahol nincs tárhelykezelő szoftverünk.

Miért jobb TLS 1.3 mint TLS 1.2?

TLS (Transport Layer Security) Egy kriptográfiai protokoll amely biztosítja kapcsolat biztonsága a számítógép és a hozzá tartozó hálózat között. TLS olyan alkalmazásokban használják, mint például: email, Üzenetkezelés, hang- és videohívások (VoIP), de különösen a HTTPS. Biztonságos kommunikáció biztosítása a felhasználó számítógépe vagy okostelefonja és az elért oldal webszervere között.

TLSv1.3 kínál nagyobb sebesség kliens-szerver kapcsolat és a Továbbá a biztonsági egyes algoritmusok kiiktatásával. A különbségek között TLSv1.2 és TLSv1.3.

körülbelül HTTPS, SSL (Secure Sockets Layer) Más cikkekben is elmondtam:

Hogyan lehet aktiválni? TLSv1.3 NGINX rendszeren. Szerver vele VestaCP telepítve van CentOS

Mielőtt megnéznénk, hogyan aktiváljuk TLSv1.3 NGINX esetén minimális szoftverkövetelménynek és könyvtáraknak kell rendelkeznünk.

  1. NGINX 1.13.x vagy újabb
  2. Tanusítvány TLS érvényes
  3. Aktív domain név megfelelően konfigurált DNS-sel – az interneten való elérhetőség érdekében
  4. Tanusítvány TLS / SSL érvényes. Az is lehet, hogy Let's Encrypt.

Rajta VestaCP régen telepítve, csak a protokoll van meg TLS 1.2. Sok oktatóanyagban láttam, hogy elég, mint amilyen nginx.conf adjuk hozzá a következő sort, mert TLS 1.3 aktiválandó:

server {

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

  server_name example.com;
  root /var/www/example.com/public;

  ssl_certificate /path/to/your/certificate.crt;
  ssl_certificate_key /path/to/your/private.key;

  ssl_protocols TLSv1.2 TLSv1.3;

Hamisítvány. Ha szerver CentOS cu VestaCP, Az NGINX-et még nem fordították le az Open minimális verziójávalSSL 1.1.1.1, ssl_protocols TLSv1.2 TLSv1.3; in nginx.conf ez egyáltalán nem segít rajtunk.

[root@north ~]# nginx -V
nginx version: nginx/1.22.0
built by gcc 4.8.5 20150623 (Red Hat 4.8.5-44) (GCC) 
built with OpenSSL 1.0.2k-fips  26 Jan 2017
TLS SNI support enabled

Ezért a fenti példában az Nginx 1.22.0 kompatibilis TLSv1.3, de az Open könyvtár nem segít nekünkSSL 1.0.2k-fips.

Aktiválni TLSv1.3 az Nginxen, először telepítenünk kell a gyermekkönyvtárakat és a fejlesztői csomagokat. Fejlesztési eszközök. Futunk tovább CentOS 7 parancssor:

yum install gcc gcc-c++ pcre-devel zlib-devel make unzip gd-devel perl-ExtUtils-Embed libxslt-devel openssl-devel perl-Test-Simple
yum groupinstall 'Development Tools'

1. Telepítse a legújabb Open verziótSSL

Jelenleg a legújabb verzió OpenSSL 1.1.1p, de ahogy észrevettem ott már Open vanSSL 3. A forrásokat itt találja Nyisd kiSSL. Org.

cd /usr/src
wget https://www.openssl.org/source/openssl-1.1.1p.tar.gz
tar xvf openssl-1.1.1p.tar.gz 
mv openssl-1.1.1p openssl
cd openssl
./config --prefix=/usr/local/openssl --openssldir=/usr/local/openssl --libdir=/lib64 shared zlib-dynamic
make -j4
make test 
make install 

Nagyon fontos futni make test a könyvtár telepítése előtt. Ha hiba történt a teszt során, ne futtassa make install amíg a hibákat ki nem javítják.

A következő lépésben biztonsági másolatot készítünk az aktuálisan megnyitott bináris fájlrólssl és szimbolikus linket adunk az újhoz.

mv /usr/bin/openssl /usr/bin/openssl-backup
ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl

In /usr/local/openssl/bin végrehajtani ldd nyitott függőségek ellenőrzéséressl. A nyílt verziót is ellenőrizhetjükssl. Parancs openssl version.

[root@north bin]# ldd openssl
	linux-vdso.so.1 =>  (0x00007ffd20bd7000)
	libssl.so.1.1 => /lib64/libssl.so.1.1 (0x00007fab09b62000)
	libcrypto.so.1.1 => /lib64/libcrypto.so.1.1 (0x00007fab09675000)
	libdl.so.2 => /lib64/libdl.so.2 (0x00007fab09471000)
	libpthread.so.0 => /lib64/libpthread.so.0 (0x00007fab09255000)
	libc.so.6 => /lib64/libc.so.6 (0x00007fab08e87000)
	/lib64/ld-linux-x86-64.so.2 (0x00007fab09df5000)
[root@north bin]# openssl version
OpenSSL 1.1.1p  21 Jun 2022

Jelenleg az Open legújabb verziója van telepítveSSL támogató TLSv1.3. Ellenőrizhetjük a verziókat TLS / SSL Nyílt könyvtárak támogatjákSSL megrendelésre:

[root@north bin]# openssl ciphers -v | awk '{print $2}' | sort | uniq
SSLv3
TLSv1
TLSv1.2
TLSv1.3
[root@north bin]# 

Ez nem jelenti azt, hogy webhelyeket tárolnak VestaCP azonnal meglesznek TLS 1.3. se macar Az Nginx még nincs lefordítva az Open új verziójáhozSSL.

Bár az Open telepítve vanSSL 1.1.1p, az Nginx a régi Open verzióval van fordítvaSSL 1.0.2k-fips.

[root@north bin]# nginx -V
nginx version: nginx/1.22.0
built by gcc 4.8.5 20150623 (Red Hat 4.8.5-44) (GCC) 
built with OpenSSL 1.0.2k-fips  26 Jan 2017
TLS SNI support enabled
configure arguments: --prefix=/etc/nginx --sbin-path=/usr/sbin/nginx --modules-path=/usr/lib64/nginx/modules --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --pid-path=/var/run/nginx.pid --lock-path=/var/run/nginx.lock --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 --user=nginx --group=nginx --with-compat --with-file-aio --with-threads --with-http_addition_module --with-http_auth_request_module --with-http_dav_module --with-http_flv_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_mp4_module --with-http_random_index_module --with-http_realip_module --with-http_secure_link_module --with-http_slice_module --with-http_ssl_module --with-http_stub_status_module --with-http_sub_module --with-http_v2_module --with-mail --with-mail_ssl_module --with-stream --with-stream_realip_module --with-stream_ssl_module --with-stream_ssl_preread_module --with-cc-opt='-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -fPIC' --with-ld-opt='-Wl,-z,relro -Wl,-z,now -pie'
[root@north bin]# openssl version
OpenSSL 1.1.1p  21 Jun 2022
[root@north bin]# 

2. Fordítsa újra az Nginxet VestaCP

Ebben a lépésben újra kell fordítanunk az Open számáraSSL az Nginx már telepített verziója pe CentOS / VestaCP. Ahogy fentebb mondtam, az én esetemben az nginx / 1.22.0-ról van szó. Egy olyan webszerverről lévén szó, amelyik rendelkezik VestaCP rendszereként adminAz újrafordítás megkezdése előtt érdemes biztonsági másolatot készíteni az nginx konfigurációs fájljairól.

A jelenlegi Nginx biztonsági mentés bekapcsolva VestaCP

Archiválja és tárolja a könyvtárakat valahol a szerveren "/etc/nginx"És"/usr/local/vesta/nginx".

végrehajtott nginx -V és mentse a meglévő modulokat egy fájlba.

configure arguments: --prefix=/etc/nginx --sbin-path=/usr/sbin/nginx --modules-path=/usr/lib64/nginx/modules --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --pid-path=/var/run/nginx.pid --lock-path=/var/run/nginx.lock --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 --user=nginx --group=nginx --with-compat --with-file-aio --with-threads --with-http_addition_module --with-http_auth_request_module --with-http_dav_module --with-http_flv_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_mp4_module --with-http_random_index_module --with-http_realip_module --with-http_secure_link_module --with-http_slice_module --with-http_ssl_module --with-http_stub_status_module --with-http_sub_module --with-http_v2_module --with-mail --with-mail_ssl_module --with-stream --with-stream_realip_module --with-stream_ssl_module --with-stream_ssl_preread_module --with-cc-opt='-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -fPIC' --with-ld-opt='-Wl,-z,relro -Wl,-z,now -pie'
Hogyan lehet aktiválni? TLSv1.3 NGINX rendszeren
Hogyan lehet aktiválni? TLSv1.3 NGINX rendszeren

Letöltjük és lefordítjuk az Nginx-et

Ismétlés. Ha van VestaCP, töltse le az Nginx már telepített verzióját. Az összes Nginx-verziót tartalmazó archívum megtalálható a webhelyen nginx.org.

cd /usr/src
wget https://nginx.org/download/nginx-1.22.0.tar.gz 
tar xvf nginx-1.22.0.tar.gz
cd nginx-1.22.0

Újrafordítjuk az nginx modulokat:

./configure --prefix=/etc/nginx \
--sbin-path=/usr/sbin/nginx \ 
--modules-path=/usr/lib64/nginx/modules \ 
--conf-path=/etc/nginx/nginx.conf \ 
--error-log-path=/var/log/nginx/error.log  \
--http-log-path=/var/log/nginx/access.log  \
--pid-path=/var/run/nginx.pid  \
--lock-path=/var/run/nginx.lock  \
--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  \
--user=nginx  \
--group=nginx  \
--with-compat  \
--with-file-aio  \
--with-threads  \
--with-http_addition_module  \
--with-http_auth_request_module  \
--with-http_dav_module  \
--with-http_flv_module  \
--with-http_gunzip_module  \
--with-http_gzip_static_module  \
--with-http_mp4_module  \
--with-http_random_index_module  \
--with-http_realip_module  \
--with-http_secure_link_module  \
--with-http_slice_module  \
--with-http_ssl_module  \
--with-http_stub_status_module  \
--with-http_sub_module  \
--with-http_v2_module  \
--with-mail  \
--with-mail_ssl_module  \
--with-stream  \
--with-stream_realip_module  \
--with-stream_ssl_module  \
--with-stream_ssl_preread_module  \
--with-openssl=/usr/src/openssl  \
--with-cc-opt='-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong  \
--param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -fPIC'  \
--with-ld-opt='-Wl,-z,relro -Wl,-z,now -pie'
make -j4
make install

Most már telepítve van az Nginx, és az Open legújabb verziójával lefordítvaSSL képes ellenállni TLSv1.3.

[root@north bin]# nginx -V
nginx version: nginx/1.22.0
built by gcc 4.8.5 20150623 (Red Hat 4.8.5-44) (GCC) 
built with OpenSSL 1.1.1p  21 Jun 2022
TLS SNI support enabled

Hogyan lehet aktiválni? TLSv1.3 domainekhez VestaCP

Az / etc / nginx / fájlbannginx.conf a következő sorokkal egészítjük ki:

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

Domain szinten változtattam valamit a sablonokon VestaCP és a HTTP / 2 engedélyezéséhez. Tehát amikor új domaint (example.com) adunk hozzá a Let's Encrypt engedélyezésével, a következő konfigurációs fájlom van SSL:

cat /home/vestacpuser/conf/web/example.com.nginx.ssl.conf 

server {
    listen      IP.IP.IP.IP:443 ssl http2;
    server_name example.com www.example.com;
    root        /home/vestacpuser/web/example.com/public_html;
    index       index.php index.html index.htm;
    access_log  /var/log/nginx/domains/example.com.log combined;
    access_log  /var/log/nginx/domains/example.com.bytes bytes;
    error_log   /var/log/nginx/domains/example.com.error.log error;

    ssl_certificate      /home/vestacpuser/conf/web/ssl.example.com.pem;
    ssl_certificate_key  /home/vestacpuser/conf/web/ssl.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';

Előtted restartnginxed van, jó, hogy mielőtt tesztelnéd a konfigurációját.

[root@north web]# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
[root@north web]# systemctl restart nginx

Remélem, hasznosnak találja ezt az oktatóanyagot, és ha valami nem sikerül, hagyja meg a probléma részleteit a megjegyzésekben.

Stealth

Szenvedélyes a technológiával kapcsolatban, szeretek tesztelni és oktatóanyagokat írni az operációs rendszerekről macOS, Linux, Windows, ról ről WordPress, WooCommerce és LEMP webszerverek konfigurálása (Linux, NGINX, MySQL és PHP). írok tovább StealthSettingsA .com 2006 óta, és néhány évvel később elkezdtem írni az iHowTo.Tips oktatóanyagokat és az ökoszisztéma eszközeiről szóló híreket Apple: iPhone, iPad, Apple Nézd, HomePod, iMac, MacBook, AirPod-ok és kiegészítők.

Hagy egy Válaszol

Az email címed address nem kerül közzétételre.

Kapcsolódó cikkek

/ / /
Címkék: / / / / / /
Vissza a lap tetejére gombra