Kuidas aktiveerida? TLSv1.3 NGINX-is. VestaCP pe CentOS koos OpenigaSSL

Selles õpetuses näeme, kuidas aktiveerida TLSv1.3 NGINX-is, mõistame natuke mida see tähendab see TLS 1.3 Mis aitab ja miks me vajame veebiserveris kui TLS aktiveerida. Mõistame, miks a server koos VestaCP (CentOS või Ubuntu) on veidi keerulisem aktiveerimiseks TLS 1.3 kui cPaneli serveris. Või serveris, kus meil pole hostimishaldustarkvara.

Miks on parem TLS 1.3 kui TLS 1.2?

TLS (Transport Layer Security) Kas krüptograafiline protokoll mis tagab ühenduse turvalisus arvuti ja võrgu vahel, kuhu see kuulub. TLS kasutatakse sellistes rakendustes nagu: e-mail, Sõnumid, hääl- ja videokõned (VOIP), kuid eriti kell HTTPS. Turvalise side tagamine kasutaja arvuti või nutitelefoni ja avatava lehe veebiserveri vahel.

TLSv1.3 pakub suurema kiirusega klient-server ühendus ja a Lisaks turvalisuse kõrvaldades mõned algoritmid. Erinevused vahel TLSv1.2 ja TLSv1.3.

Umbes HTTPS, SSL (Secure Sockets Layer) Ma ütlesin ka teistes artiklites:

Kuidas aktiveerida? TLSv1.3 NGINX-is. Server koos VestaCP installitud CentOS

Enne kui näeme, kuidas me aktiveerime TLSv1.3 NGINX-is peab meil olema minimaalselt tarkvaranõudeid ja teeke.

  1. NGINX 1.13.x või uuem
  2. Sertifikaat TLS kehtiv
  3. Aktiivne domeeninimi koos õigesti konfigureeritud DNS -iga - Internetis juurdepääsetav
  4. Sertifikaat TLS / SSL kehtiv. See võib olla ka Let's Encrypt.

Peal VestaCP installitud kaua aega tagasi, meil on ainult protokoll TLS 1.2. Olen näinud paljudes õpetustes, et sellest piisab, nagu see on nginx.conf Lisame järgmise rea, sest TLS 1.3 aktiveeritakse:

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;

Võlts. Kui server CentOS cu VestaCP, NGINX ei ole koostatud Openi minimaalse versioonigaSSL 1.1.1.1 ssl_protocols TLSv1.2 TLSv1.3; in nginx.conf see ei aita meid üldse.

[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

Seetõttu on ülaltoodud näites Nginx 1.22.0 ühilduv TLSv1.3, kuid avatud teek meid ei aitaSSL 1.0.2K-fips.

Aktiveerimiseks TLSNginxi v1.3 puhul peame esmalt installima lasteteegid ja arenduspaketid. Arendustööriistad. Jookseme edasi CentOS 7 käsurida:

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. Installige uusim avatud versioonSSL

Praegu on uusim versioon OpenSSL 1.1.1p, aga nagu ma märkasin, on seal juba OpenSSL 3. Allikad leiate aadressilt avatudSSL. 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 

Väga oluline joosta make test enne raamatukogu installimist. Kui testi ajal ilmnes vigu, ärge käivitage make install kuni vead parandatakse.

Järgmises etapis varundame praeguse avatud binaarfailissl ja lisame uuele sümbolilingi.

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

In /usr/local/openssl/bin teostada ldd avatud sõltuvuste kontrollimiseksssl. Saame vaadata ka avatud versioonissl. Käsk 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

Praegu on meil avatud installitud Open Uusim versioonSSL toetamine TLSv1.3. Saame kontrollida versioone TLS / SSL toetavad avatud raamatukogudSSL tellimuse järgi:

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

See ei tähenda, et veebisaite majutatakse VestaCP saavad kohe TLS 1.3. ei kumbagi macar Nginx pole Openi uue versiooni jaoks veel kompileeritudSSL.

Kuigi oleme avatud installitudSSL 1.1.1p, Nginx on koostatud vana avatud versioonigaSSL 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. Kompileeri NGINX sisse VestaCP

Selles etapis peame Open jaoks uuesti kompileerimaSSL juba installitud Nginxi versioon pe CentOS / VestaCP. Nagu ma eespool ütlesin, on minu puhul umbes Nginx / 1.22.0. Olles veebiserverist, millel on VestaCP süsteemina adminEnne uuesti kompileerimise alustamist on hea nginxi konfiguratsioonifailid varundada.

Praegune Nginxi varundamine on sisse lülitatud VestaCP

Arhiivige ja salvestage kataloogid kuskil serveris "/etc/nginx"Ja"/usr/local/vesta/nginx".

hukati nginx -V ja salvestage olemasolevad moodulid faili.

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'
Kuidas aktiveerida? TLSv1.3 NGINX-is
Kuidas aktiveerida? TLSv1.3 NGINX-is

Laadime alla ja koostame nginxi

Korda. Kui teil on VestaCP, laadige alla Nginxi versioon, mille olete juba installinud. Kõik Nginxi versioonidega arhiivid leiate aadressilt 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

Kompileerime nginxi moodulid uuesti:

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

Nginx on nüüd installitud ja koostatud Openi uusima versioonigaSSL suudab vastu pidada 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

Kuidas aktiveerida? TLSv1.3 domeenide jaoks VestaCP

Failis / etc / nginx /nginx.conf lisame järgmised read:

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

Domeeni tasemel muutsin midagi mallides VestaCP ja HTTP / 2 lubamiseks. Nii et kui lisate uue domeeni (näide.com) koos Let’s Encrypt -lubamisega, on mul järgmine konfiguratsioonifail 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';

Enne sind restartteil on nginx, on hea, et enne selle konfiguratsiooni testimist.

[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

Loodan, et see õpetus on teile kasulik ja kui teil midagi ei õnnestu, jätke probleemi üksikasjad kommentaaridesse.

Stealth

Kirglik tehnoloogia vastu, mulle meeldib testida ja kirjutada õpetusi opsüsteemide kohta macOS, Linux, Windows, umbes WordPress, WooCommerce ja seadistage LEMP veebiservereid (Linux, NGINX, MySQL ja PHP). kirjutan edasi StealthSettings.com alates 2006. aastast ja paar aastat hiljem hakkasin kirjutama iHowTo.Tipsi õpetustes ja uudistes ökosüsteemi seadmete kohta Apple: iPhone, iPad, Apple Vaata, HomePod, iMac, MacBook, AirPodid ja tarvikud.

Jäta vastus

teie e-posti address ei avaldata.

seotud artiklid

/ / /
Sildid: / / / / / /
Tagasi üles nupule