Apache2でTLSv1.3を有効にする方法は?

Apache2でTLSv1.3を有効にする方法は?

私はApache2バージョンを実行しています:

Server version: Apache/2.4.29 (Ubuntu)
Server built:   2018-04-25T11:38:24

TLSv1.3を有効にしたいがファイルを挿入すると、Apache2で次のSSLProtocol TLSv1.2 TLSv1.3エラーが発生しますssl.conf

# apachectl configtest

AH00526: Syntax error on line 79 of /etc/apache2/mods-enabled/ssl.conf:
SSLProtocol: Illegal protocol 'TLSv1.3'
Action 'configtest' failed.
The Apache error log may have more information.

それでもApache2でTLSv1.3を有効にできませんか?

Nginxができることを知っていますが、この質問はApache2についてです。

答え1

Debian バスター = TLSv1.3 サポート

Debian Buster(現在テスト中)では、TLSv1.3はすでにサポートされています。

次の情報に日付が記載されています。

# date -I

2019-02-24


Apache 2バージョン:

# apache2 -v

サーバーバージョン: Apache/2.4.38(Debian)
サーバー設定: 2019-01-31再生時間 20:54:05


有効にする場所

世界中で:

/etc/apache2/mods-enabled/ssl.conf

ローカルターゲット:

あなたのウェブホストは次の場所にあります:

/etc/apache2/sites-enabled/

起動方法

現在、TLSv1.1 は廃止されました。したがって、TLSv1.2とTLSv1.3のみが必要です。

これを行うには、上記のファイルに次の行を置きます。

SSLProtocol -all +TLSv1.3 +TLSv1.2

暗号スイート

暗号スイートは現在SSL(TLSv1.3以下)と2つのカテゴリに分けられますTLSv1.3。たとえば、独自の暗号化セットを使用できます。

SSLCipherSuite    TLSv1.3   TLS_AES_256_GCM_SHA384:TLS_AES_128_GCM_SHA256
SSLCipherSuite    SSL       ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256

曲線

最後に重要な注意:

新しい曲線を有効または有効にする必要があります。X25519

次のようにできます。再び例を挙げます。

SSLOpenSSLConfCmd Curves X25519:secp521r1:secp384r1:prime256v1

SSLLabsのドメインテストの例

実験的:このサーバーはTLS 1.3(RFC 8446)をサポートしています。

TLSv1.3 有効

答え2

Apache2 バージョン 2.4.36 および OpenSSL 1.1.1 は TLSv1.3 をサポートします。源泉

答え3

Apache 2.4はまだTLSv1.3をサポートしていません。

OpenSSLがサポートされている場合(ここで情報を確認してください)、Apache 2.4にもこの機能が必要です。

答え4

OpenSSL 1.1.1にアップデートするだけでは十分ではないことがわかりました。 Apacheは必ず変更しかも。その変化はバックポートバージョン2.4.29ベース。それから月曜日から2.4.29-1 Ubuntu4.12、Ubuntu 18.04 LTSはTLS 1.3をサポートします。これは元のポスターで述べた構成です。

Stack Exchangeは最近TLS 1.0を使用しなくなったため、TLSバージョン、暗号スイート、および曲線は依然として熱い議論のままです。見せるテストsl.sh3.0 Apache 2.4.29とOpenSSL 1.1.1のデフォルト設定に非常に満足しています。したがって、Curve X448やTLS 1.3などの新しいテクノロジを誤って無効にしたことを再確認する必要があります。たとえば、を使用すると、SSLProtocol -all将来のすべてのプロトコルバージョンが無効になります。たとえば、を使用すると、SSLOpenSSLConfCmd Curves将来のすべての曲線が無効になります。

したがって、これらのデフォルト値を一度調整してから忘れてしまうのが良いアイデアかどうかはわかりません。代わりに、デフォルト設定を変更してメンテナンス構成を探している人にはMozillaを使用してください。発電機出発点へ。今日の終わりには明日再確認し、すでに述べた曲線構成アプローチのために選択しました。SSL_Conf_Cmd完全なAPI:

SSLEngine on
#SSLOpenSSLConfCmd MinProtocol TLSv1 # commented because current default in Ubuntu 18.04 LTS
SSLOpenSSLConfCmd Ciphersuites TLS_AES_128_GCM_SHA256 # if you have the computing resources, consider not to tweak this
SSLOpenSSLConfCmd CipherString ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-SHA:AES128-SHA
SSLOpenSSLConfCmd Curves X25519:secp256r1:secp384r1 # if you have the computing resources, consider not to tweak this
SSLOpenSSLConfCmd Options ServerPreference,-SessionTicket

SectigoのECCやRapidSSLのRSAなど、デュアルECDSA + RSAベースの証明書のインストールを選択すると、上記の要件が満たされます。セキュリティレベル3、非常に古いクライアントでもまだ古いバージョンと互換性があります。

関連情報