Kaip suaktyvinti TLSV1.3 „Ninx“. „Vestacp“ / „CentOS“ arba „Ubuntu“

Šiame vadove sužinosite, kaip Activezi Tlsv1.3 arba nginx. Ką tai reiškia TLSv 1.3Ar Kas padeda Ir kodėl Jums reikia internetiniame serveryje ca TLS galima suaktyvinti. Serveriams su valdymo sistema Vestacp („CentOS“ ar „Ubuntu“) yra šiek tiek sunkiau „Active TLS 1.3“ Tik serveryje su „CPanel“, tačiau tai nėra neįmanoma.

Kodėl TLS 1,3 yra geresnės nei TLS 1.2?

TLS (Transport Layer Security) Tai a Kriptografinis protokolas Kuris užtikrina Ryšio saugumas tarp kompiuterio ir tinklo, kuriam jis priklauso. TLS yra naudojamas tokiose programose kaip: el. PaštasAr mesagerieAr Balso ir vaizdo skambučiai (VoIP), bet ypač HTTPS. Užtikrinant saugų ryšį tarp vartotojo kompiuterio ar išmaniojo telefono ir prieinamo puslapio žiniatinklio serverio.

TLS 1.3 Pasiūlymai o Didesnis greitis kliento ryšio – Serveris ir vienas plius saugumas pašalinant algoritmus. Skirtumai tarp TLSV1.2 ir TLSV1.3.

Apie HTTPSAr SSL (Secure Sockets Layer) Aš taip pat sakiau kituose daiktuose:

Kaip suaktyvinti TLS 1.3 ninx. Serveris su „VestaCP / CentOS“ valdymu

Prieš pamatysite, kaip „Nginx“ suaktyvinsite TLSV1.3, turite apsvarstyti keletą minimalių reikalavimų, susijusių su TLS 1.3.

  1. Ningin 1.13.x arba naujesnė versija
  2. Galiojantis TLS sertifikatas
  3. Domeno vardas, aktyvus su DNS, sukonfigūruotas teisingai – būti prieinamas internete
  4. Galiojantis TLS / SSL sertifikatas. Tai gali būti Let’s Encrypt.

„Vestacp“ įdiegtoje seniai mes turime tik protokolą TLS 1.2. Daugelyje vadovėlių pamačiau, kad to pakanka kaip nginx.conf Pridėkime šią eilutę, kad TLS 1.3 būtų suaktyvinta:

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;

Melaginga. Jei serveryje „CentOS Cu“ valdymas VestacpAr Ningx nebuvo sudarytas su minimalia versija OpenSSL 1.1.1.1Ar ssl_protocols TLSv1.2 TLSv1.3; į nginx.conf .. tai nieko nepadeda.

[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

ASAR, aukščiau pateiktame pavyzdyje Nginx 1.22.0 yra suderinamas su TLS 1.3 versija, tačiau nepadeda knygyne OpenSSL 1.0.2k-fips.

Norėdami suaktyvinti TLSV1.3 „Nginx“, pirmiausia turite įdiegti knygynus, skirtus vaikystės ir plėtros paketams. Development Tools. Vykdo „CentOS 7“ komandų eilutes:

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. Įdiekite naujausią versiją OpenSSL

Šiuo metu naujausia versija yra OpenSSL 1.1.1p, bet iš to, ką pastebėjau OpenSsl.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 

Labai svarbu bėgti make test prieš diegdami knygyną. Jei teste įvyko klaidų, nevaikščiokite make install kol klaidos nebus pataisytos.

Kitame etape darome atsarginę kopiją į dabartinį dvejetainį failą openssl Ir aš priduriu symlink į naują.

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

Į /usr/local/openssl/bin vykdyti ldd Norėdami patikrinti „OpenSsl“ priklausomybes. Taip pat galime patikrinti „OpenSL“ versiją. Komanda 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

Šiuo metu turime įdiegtą naujausią versiją OpenSSL kuris palaiko TLSv1.3. Mes galime patikrinti versijas TLS / SSL palaiko bibliotekininkai OpenSSL pagal užsakymą:

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

Tai nereiškia, kad svetainės, surengtos naudojant vadovo pagalbą VestaCP Jie iš karto turės TLS 1.3.

Nors mes įdiegėme OpenSSL 1.1.1p, „Nginx“ sudarytas su sena versija OpenSSL 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. VestaCP

Šiame žingsnyje turime rekomenduoti OpenSSL Jau įdiegta „Nginx“ versija ant sistemos CentOS / VestaCP. Kaip jau sakiau aukščiau, mano atveju tai yra apie nginx/1.22.0. Buvimas apie žiniatinklio serverį VestaCP Administravimo sistema, prieš pradedant pakartotinį kompiliaciją, verta sukurti „Nginx“ failus.

Atsarginė „Nginx“ srovė sistemoje VestaCP

Archive ir saugokite kažkur serveryje direktorių “/etc/nginx” ir “/usr/local/vesta/nginx“.

Bėgti nginx -V ir išsaugokite esamus failo modulius.

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'
Kaip suaktyvinti tlsv1.3 „Nginx“
Jo tlsv1.3 pipirų cum

Kaip „Ninx“ gavėjui atnaujinti „OpenSl / CentOS 7“

Aš kartoju. Jei turite Vestacp, Atsisiųskite jau įdiegtą „Nginx“ versiją. Visi archyvai su „Nginx“ versijomis, kuriose jas rasite 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

Mes iš naujo komponuojame „Nginx“ modulius:

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

Dabar mes įdiegėme „Ningx“ ir sudarėme su naujausia versija OpenSSL galintis palaikyti 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

*Jei „Nginx“ jau buvo įdiegta serveryje, turėsite jį pašalinti. Kompiliacija neveikia atnaujinimo „Ninx“.

Kaip suaktyvinti TLSV1.3 laukams, esančiuose VESTACP

Faile /etc/nginx/nginx.conf Pridedame šias eilutes:

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

Domenų lygyje aš ką nors pakeičiau šablonuose „Vestacp“ ir suaktyvinti http/2. Taigi, pridedant naują domeną (pavyzdį.com), suaktyvinus „LetS Encrypt“, turiu šį SSL konfigūracijos failą:

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

Prieš paleisdami „Nginx“ iš naujo, prieš išbandant jo konfigūraciją, gerai.

[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

Tikiuosi, kad šis vadovėlis jums yra naudingas, ir jei jums nepavyks, palikite išsamią problemos informaciją komentaruose.

Aistringai apie technologijas, su malonumu rašau „Stealthsetts.com“, pradedant nuo 2006 m. Turiu didelę patirtį operacinėse sistemose: „MacOS“, „Windows“ ir „Linux“, taip pat programavimo kalbose ir tinklaraščių platformose („WordPress“) ir internetinėse parduotuvėse („WooCommerce“, „Magento“, „Presashop“).

Home Jūsų jo vadovėlių šaltinis, naudingi patarimai ir naujienos. Kaip suaktyvinti TLSV1.3 „Ninx“. „Vestacp“ / „CentOS“ arba „Ubuntu“
Palikite komentarą