Назад | Перейти на главную страницу

TLS v1.3 активен, несмотря на то, что он не включен в конфигурации Nginx

Соответствующий конфиг:

ssl_protocols TLSv1.2;

Когда я тестирую сервер в SSL Labs, тест сообщает, что TLS 1.3 доступен, и перечисляет шифры по умолчанию и другие результаты, как если бы TLSv1.3 были включены в мой конфиг.

Ubuntu Server 18.04.1, OpenSSL 1.1.1 11 сентября 2018 г., Nginx 1.14.1 построен с OpenSSL 1.1.0g

Как отключить TLSv1.3?

Nginx 1.14.1 построен с OpenSSL 1.1.0g

OpenSSL 1.1.0 не поддерживает TLS 1.3

Ubuntu Server 18.04.1, OpenSSL 1.1.1 11 сентября 2018 г.

Ubuntu 18.04.1 поставляется с OpenSSL 1.1.0g, а не с OpenSSL 1.1.1.

Я предполагаю, что вы каким-то образом установили OpenSSL 1.1.1 в своей системе таким образом, чтобы заменить версию, поставляемую с ОС. Поскольку nginx использует разделяемые библиотеки, он будет использовать установленный вами OpenSSL 1.1.1, даже если он был скомпилирован с OpenSSL 1.1.0g.

Опция ssl_protocols TLSv1.2; в nginx не реализовано только включением TLS 1.2. Вместо этого все полезные протоколы включены по умолчанию, и ограничение TLS 1.2 фактически означает, что все, кроме TLS 1.2, будет отключено. Но он может отключать только те протоколы, о которых он знает, и, учитывая, что nginx был скомпилирован с версией OpenSSL без поддержки TLS 1.3, он не знает, что TLS 1.3 существует, а также не имеет возможности отключить его, что означает, что он остается включенным.

Глядя на комментарий:

По-видимому, версия OpenSSL установлена ​​поверх репозитория по умолчанию, потому что я использую PHP PPA sury.org.

Чтобы исправить это, вам также необходимо установить репозиторий sury.org nginx. На момент написания эта версия nginx была построена с использованием openssl 1.1.1b и TLS 1.3, которые необходимы, если мы используем ondrej php7.3 lib, который заменяет пакет ubuntu openssl по умолчанию.

Мне пришлось сделать то же самое, что и я получал ошибку ssl ERR_SSL_VERSION_INTERFERENCE в chrome.

перед:

sudo nginx -V
built with OpenSSL 1.1.0g  2 Nov 2017 (running with OpenSSL 1.1.1b  26 Feb 2019)

выполните следующее:

sudo add-apt-repository ppa:ondrej/nginx
sudo apt update
sudo apt remove nginx
sudo apt install nginx

после:

sudo nginx -V
built with OpenSSL 1.1.1  11 Sep 2018 (running with OpenSSL 1.1.1b  26 Feb 2019)

полные инструкции здесь:

https://www.linuxbabe.com/ubuntu/enable-tls-1-3-nginx-ubuntu-18-10-18-04-16-04-14-04