Як активувати TLSV1.3 на NINX. Vestacp / centos або ubuntu

У цьому підручнику ви дізнаєтесь, як Activezi TLSV1.3 або NGINX. Що це означає TLSv 1.3, Що допомагає І чому Вам потрібно на веб -сайті CA TLS можна активувати. Для серверів із системою управління Штовхач (Centos або ubuntu) трохи складніше Activat TLS 1.3 Тільки на сервері з Cpanel, але це не неможливо.

Чому TLS 1.3 краще, ніж TLS 1.2?

TLS (Transport Layer Security) Це Криптографічний протокол який запевняє Безпека підключення Між комп'ютером та мережею, до якої він належить. TLS використовується в таких програмах, як: електронна пошта, месенджер, Голосові та відеодзвінки (VoIP), але особливо в HTTPS. Забезпечення безпечного зв’язку між комп'ютером або смартфоном користувача та веб -сервером доступної сторінки.

TLS 1.3 пропонує O більша швидкість з'єднання клієнта – сервер і один плюс безпека шляхом усунення алгоритмів. Відмінності між TLSV1.2 та TLSV1.3.

Про HTTPS, SSL (Secure Sockets Layer) Я також сказав в інших пунктах:

Як активувати TLS 1.3 на NINX. Сервер з управлінням VESTACP / Centos

Перш ніж побачити, як ви активуєте TLSV1.3 на nginx, вам потрібно врахувати деякі мінімальні вимоги до TLS 1.3.

  1. Ningin 1.13.x або нова версія
  2. Дійсний сертифікат TLS
  3. Доменне ім’я активне з DNS, налаштованим правильно – бути доступним в Інтернеті
  4. Дійсний сертифікат TLS / SSL. Це може бути Let’s Encrypt.

На Vestacp, встановленому давно, у нас є лише протокол TLS 1.2. У багатьох підручниках я бачив, що цього достатньо, як у nginx.conf Додамо наступний рядок для активації TLS 1.3:

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;

Помилково. Якщо на сервері Centos Cu Management Штовхач, Ningx не був складений З мінімальною версією OpenSSL 1.1.1.1, ssl_protocols TLSv1.2 TLSv1.3; у nginx.conf .. це нічого не допомагає.

[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, у наведеному вище прикладі NGINX 1.22.0 сумісний з версією TLS 1.3, але не допомагає книгарні OpenSSL 1.0.2k-fips.

Для того, щоб активувати TLSV1.3 на NGINX, спочатку потрібно встановити книгарні для пакетів дитинства та розробки. Development Tools. Виконується в командних рядках Centos 7:

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. Встановіть останню версію OpenSSL

У цей час найновіша версія OpenSSL 1.1.1p, але з того, що я помітив, вже є OpenNSL 3. Ви знаходите джерела 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 

Дуже важливо бігати make test Перед встановленням книгарні. Якщо в тесті сталися помилки, не запускайте make install Поки помилки не будуть виправлені.

На наступному кроці ми робимо резервну копію до поточного двійкового файлу openssl і я додаю symlink до нового.

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

У /usr/local/openssl/bin виконати ldd Для перевірки залежності OpenSSL. Ми також можемо перевірити версію OpenSL. Командування 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

У цей час у нас встановлена остання версія OpenSSL який підтримує TLSv1.3. Ми можемо перевірити версії TLS / SSL Підтримується бібліотекарями OpenSSL на замовлення:

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

Це не означає, що веб -сайти, розміщені за допомогою менеджера VestaCP Вони будуть негайно TLS 1.3.

Хоча ми встановили OpenSSL 1.1.1p, Nginx складається зі старою версією 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

На цьому кроці ми повинні рекомендувати OpenSSL Версія Nginx вже встановлена на систему CentOS / VestaCP. Як я вже говорив вище, у моєму випадку йдеться про nginx/1.22.0. Будучи про веб -сервер, який має VestaCP Система адміністрування, перш ніж розпочати рекомпіляцію, добре створити резервну копію файлів NGINX.

Резервний струм Nginx в системі VestaCP

Архів і тримайте десь на сервері, директори “/etc/nginx” і “/usr/local/vesta/nginx“.

Пробігати nginx -V і збережіть у існуючих модулях.

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'
Як активувати tlsv1.3 на nginx
Сперма його перцю TLSV1.3

Як отримувати NINX для оновлення OpenSl / Centos 7

Я повторюю. Якщо у вас є Штовхач, Завантажте версію NGINX, яку ви вже встановили. Всі архіви з версіями Nginx, на яких ви їх знайдете 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

Ми повторюємо модулі Nginx:

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

Тепер у нас встановлено та складено з останньою версією OpenSSL здатний підтримувати 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

*Якщо Nginx вже був встановлений на сервері, вам потрібно буде видалити його. Компіляція не функціонує при оновленні NINX.

Як активувати tlsv1.3 для полів на vestacp

У файлі /etc/nginx/nginx.conf Додаємо такі рядки:

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

На рівні доменів я щось змінив у шаблонах Vestacp та активувати http/2. Отже, додавання нового домену (example.com) з активованим Encrypt, у мене є такий файл конфігурації 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';

Перш ніж перезапустити nginx, це добре, перш ніж перевірити його конфігурацію.

[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

Я сподіваюся, що цей підручник вам корисний, і якщо ви не досягнете успіху, залиште деталі проблеми в коментарях.

Пристрасний до технологій, я із задоволенням пишу на Stealthsetts.com, починаючи з 2006 року. У мене багатий досвід роботи в операційних системах: MacOS, Windows та Linux, а також у програмах програмування та платформ ведення блогів (WordPress) та для інтернет -магазинів (WooCommerce, Magento, Presashop).

Домашній Ваше джерело ІТ -підручників, корисні поради та новини. Як активувати TLSV1.3 на NINX. Vestacp / centos або ubuntu
Залиште коментар