web-dev-qa-db-ja.com

Apacheサーバーへのすべての接続でTLSv1.1またはTLSv1.2を使用するように強制するにはどうすればよいですか?

私はUbuntu 12.04(Apache 2.2.22-1ubuntu1.4およびopenssl 1.0.1-4ubuntu5.10)およびUbuntu 13.04(Apache 2.2.22-6ubuntu5.1およびopenssl 1.0.1c-4ubuntu8.1)でテストしました。

ここ 方法を説明しますが、次の問題があります。

使用しようとすると:

SSLProtocolすべて-SSLv2 -SSLv3 -TLSv1

次のエラーが発生しました:

[エラー]利用可能なSSLプロトコルがありません[ヒント:SSLProtocol]

使用しようとすると:

SSLProtocol TLSv1.1 TLSv1.2

次のエラーが発生しました:

[エラー]利用可能なSSLプロトコルがありません[ヒント:SSLProtocol]

面白いことは、私が使用するとき:

SSLProtocolすべて-SSLv2 -TLSv1

Apacheは文句を言わず、 このテスト は私のサーバーはSSLv2とTLSv1.0をサポートしていないが、SSLv3、TLSv1.1、TLSv1.2はサポートしていると報告しました。

その奇妙な行動に対する説明はありますか?多分テストツールが壊れていますか?

TLSv1.1とTLSv1.2だけを有効にするにはどうすればよいですか?

5
canciobello

(これはソフトウェア構成の問題です。superuser.seへの再配置が発生するのを感じます...)

この構成が機能するには、2つの前提条件があります。

  • Openssl-1.0.1(はい)
  • httpd-2.2.23(いいえ!)

残念なことに SSLProtocol のドキュメントには、require httpdバージョンが記載されていません(ただし、ページの下部にあるコメントセクションに記載されています)。

コードは少し複雑です。認識しているプロトコルのリストを繰り返し処理し、有効にしていないプロトコルを削除します。これは、表示される動作を説明しています。

Httpd-2.2.22までのコードは、「TLSv1.1」以降を解析しません(modules/ssl/ssl_engine_init.cおよびmodules/ssl/ssl_private.h)。

6
mr.spuratic

設定SSLCipherSuiteである暗号のみ[〜#〜] just [〜#〜]でサポートされていますTLSv1.2@ mr.spuraticという解析TLSv1.1文字列のApache 2.2制限をバイパスしますについて話します。

4
canciobello

UbuntuのopensslはTLSv1.2をサポートしていません。TLSv1.2は無効になっています。 バグ1256576 に記載されています

1
dlmeetei