В этом уроке вы узнаете, как Activezi tlsv1.3 или nginxПолем Что это значит TLSv 1.3В Что помогает И почему тебе нужно на веб -сервере TLS может быть активированПолем Для серверов с системой управления Vestacp (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) Я также сказал в других предметах:
- Как мы устанавливаем SSL (HTTPS Connection Connection) для веб -сайта hostat на сервере Nginx без CPanel или VestAcp
- Recompilare openssl 1.1 & Ningin 1,25 для TLS 1,3 (Centos 7)
- Как перенести веб -сайт блога или WordPress от HTTP в HTTPS (Nginx)
- Удалить сертификаты сертификатов старых доменов (давайте зашифруем сертификат)
Как активировать TLS 1.3 на NINX. Сервер с управлением VestACP / CentOS
Прежде чем увидеть, как вы активируете TLSV1.3 на Nginx, вам необходимо рассмотреть некоторые минимальные требования для TLS 1.3Полем
- Ningin 1.13.x или более новая версия
- Действующий сертификат TLS
- Доменное имя активно с DNS, настроенным правильно – быть доступным в Интернете
- Действующий сертификат 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 VestacpВ 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'

Как получить NINX для роста opensl / centos 7
Я повторяю. Если у вас есть Vestacp, Загрузите версию 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
Я надеюсь, что этот учебник полезен для вас, и если вы не получите успех, оставьте детали проблемы в комментариях.