Š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.
turinys
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 mes diegiame SSL (HTTPS CONNECTION), sertifikuotą „Hostat“ svetainei Nginx serveryje be „CPanel“ ar „Vestacp“
- „Recompilare OpenSSL 1.1“ & Ningin 1.25 TLS 1.3 (CentOS 7)
- Kaip perkelti tinklaraštį ar „WordPress“ svetainę iš HTTP į HTTPS (NGINX)
- Ištrinkite „Old Domains CertBot“ sertifikatus („Encrypt“ sertifikatas)
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.
- Ningin 1.13.x arba naujesnė versija
- Galiojantis TLS sertifikatas
- Domeno vardas, aktyvus su DNS, sukonfigūruotas teisingai – būti prieinamas internete
- 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 enabledASAR, 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 „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.0Mes 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 installDabar 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 nginxTikiuosi, kad šis vadovėlis jums yra naudingas, ir jei jums nepavyks, palikite išsamią problemos informaciją komentaruose.
 
			