web-dev-qa-db-ja.com

Nginx設定で有効にされていないにもかかわらずTLS v1.3がアクティブ

関連する設定:

ssl_protocols TLSv1.2;

SSL Labsでサーバーをテストすると、テストによりTLS 1.3が使用可能であることが報告され、デフォルトの暗号とその他の結果がTLSv1.3は私の設定に含まれていました。

Ubuntu Server 18.04.1、OpenSSL 1.1.1 2018年9月11日、OpenSSL 1.1.0gで構築されたNginx 1.14.1

TLSv1.3を無効にするにはどうすればよいですか?

3
Paul

OpenSSL 1.1.0gで構築されたNginx 1.14.1

OpenSSL 1.1.0はTLS 1.3をサポートしていません

Ubuntu Server 18.04.1、OpenSSL 1.1.1 2018年9月11日

Ubuntu 18.04.1にはOpenSSL 1.1.0ではなくOpenSSL 1.1.0gが付属しています。

OSに付属するバージョンを置き換える方法でOpenSSL 1.1.1をシステムにインストールしたと思います。 nginxは共有ライブラリを使用するため、OpenSSL 1.1.0gに対してコンパイルされていても、インストールしたOpenSSL 1.1.1を使用します。

オプション ssl_protocols TLSv1.2; nginxでTLS 1.2を有効にするだけでは実装されません。代わりに、すべての有用なプロトコルがデフォルトで有効になっており、TLS 1.2に制限すると、TLS 1.2以外のすべてが無効になります。ただし、認識できるプロトコルのみを無効にでき、nginxがTLS 1.3のサポートなしのOpenSSLバージョンに対してコンパイルされた場合、TLS 1.3が存在することは認識されず、TLS 1.3を無効にする方法がないため、有効なままになります。

3
Steffen Ullrich

コメントを見て:

どうやらOpenSSLバージョンはデフォルトのリポジトリにインストールされているようです。私は、sury.org PHP PPA。

修正するには、ngyxのsury.orgレポバージョンをインストールする必要もあります。執筆時点では、このバージョンのnginxはopenssl 1.1.1bとTLS 1.3で構築されています。これは、デフォルトのubuntu opensslパッケージを置き換えるondrej php7.3 libを使用する場合に必要です。

chromeでERR_SSL_VERSION_INTERFERENCE sslエラーが発生したのと同じことをしなければなりませんでした。

前:

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

1
munkiepus