TLS v1.3 не активен несмотря на то, что он включен в конфигурации NGINX (certbot --nginx)

Я недавно создал сайт с помощью certbot --nginx -d . В /etc/letsencrypt/options-ssl-nginx.conf я добавил TLSv1.3 в директиву ssl_protocols . Однако, когда я захожу на сайт (Chrome 68), на вкладке безопасности отображается TLSv1.2. Я тестировал сайт с помощью ssllabs.com, который также показал, что включена только версия TLS 1.0-1.2.

Я не вижу ошибок в journalctl -u nginx.сервис | grep -i tls или grep -i tls /var/log/nginx/*.log .

Как я могу решить эту проблему? Я проверил все свои файлы конфигурации и все файлы журналов и не нашел источника (или какой-либо информации) о проблеме.

Информация о программном обеспечении:

  • certbot 0.23.0
  • Версия nginx: nginx / 1.14.0 (Ubuntu)
  • OpenSSL 1.1.0g 2 ноября 2017 г.
  • Ubuntu 18.04
  • Linux 4.15.0- 20-общий x86_64

Конфигурация сайта (сгенерирована certbot ): https://hastebin.com/oragojozol.nginx

/etc/letsencrypt/options-ssl-nginx.conf : https://hastebin.com/cepalomisi.nginx

1
задан 20 May 2018 в 04:19
3 ответа

OpenSSL 1.1.0g 2 ноя 2017 г.

Я даже не смотрел на остальную часть того, что вы делаете, кроме OpenSSL 1.1.0 просто пока не поддерживает TLS 1.3. TLS 1.3 поддерживается только с OpenSSL 1.1.1. См. Использование TLS1.3 с OpenSSL для получения дополнительной информации.

5
ответ дан 3 December 2019 в 17:02

До тех пор, пока Ubuntu не выпустит обновление по умолчанию для него, вы можете использовать TLSv1.3 через Ondrej Sury PPA, который недавно был обновлен.

По сути, вам нужно будет добавить его PPA nginx и nginx- qa, удалите nginx по умолчанию и установите его PPA nginx и openssl следующим образом:

sudo add-apt-repository ppa:ondrej/nginx-mainline
sudo add-apt-repository ppa:ondrej/nginx-qa
sudo apt-get update; #This is not needed in Ubuntu 18.04
sudo apt-get -y remove nginx; #If you already installed default Nginx
sudo apt-get -y install nginx openssl

Я объяснил шаги по ручной установке openssl 1.1.1 в HowToForge , но использование вышеупомянутого PPA проще и безопаснее.

0
ответ дан 3 December 2019 в 17:02

Полчаса я удивлялся, почему мой Nginx на Ubuntu Eoan (N 1.16.5, OpenSSL 1.1.1c) все еще работает через TLSv1.2 и бродил по сети в поисках возможных причин, и нашел примечание для проверки файла Certbot, в частности полезный.

Загляните в /etc/letsencrypt/options-ssl-nginx.conf. Он содержит следующую строку:

ssl_protocols TLSv1.0 TLSv1.1 TLSv1.2;

Поскольку этот файл (обычно) included находится на уровне блока server, он имеет приоритет над тем, что вы установили на http. ] уровень блока.

Если у вас есть ssl_protocols в блоке http, безопасно просто удалить эту ненужную строку из файла, как я. Затем мои настройки вступили в силу после перезагрузки.

# /etc/nginx/nginx.conf
ssl_protocols TLSv1.2 TLSv1.3;
root@iBug-Server:/etc/nginx # nginx -tq && nginx -s reload
# Or use `systemctl reload nginx.service`
1
ответ дан 12 February 2020 в 11:53

Теги

Похожие вопросы