2017-02-17 18 views
0

私はここ数時間、この問題に頭を悩ましてきました。Apache 2.4とmod_sslでTLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384暗号を有効にする方法

問題は、私はいくつかのWebコンテンツを読み込むiOSアプリケーションがあることです。 ジョブをうまくやってみると "SSLエラーが発生し、サーバーへの安全な接続ができません"というエラーが表示されます。

私はSSLLabsを通じてURLを走ったと私はハンドシェイクシミュレーションの下にリストされている次のエラーだったことを見た:それについてはあまり知らない

Apple ATS 9/iOS 9 "Server sent fatal alert: handshake_failure"

を、提供できないことに関係しているように見えますアプリのWebViewへの暗号で、の転送秘密を保証することができます

Apple ATS 9/iOS 9の許容可能な暗号のリストはhereです。私はすべてのhere

ファーストを提供してきましたopenssl ciphersの出力にそのリストに一致した

、opensslのリストとSSLLabsから暗号の暗号は、二つの異なるフォーマット/命名規則にあるように見えます。しかし、それ以外にも、私が間違って読んでいない限り、私はECDHE_ECDSA[...]のどれもサポートしていないようです。私はちょうどそれをいじりてきたし、私のホストのSSL構成が今彼らにこれらの行を持って行うには良いものの欠如で

SSLProtocol -ALL +TLSv1.2 
SSLCipherSuite TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384:ECDHE-RSA-AES256-GCM- 
SHA384:HIGH:!RC4:!aNULL:!eNULL:!EXPORT:!DES:!3DES:!MD5:!PSK 
SSLHonorCipherOrder On 

絶対に何もしないようです。

私は、TLSv1.2暗号SSLLabsレポートが利用可能であることを見ても意味をなさない。私はそのリストherを入れました。私の見解では、それはSSLCipherSuiteで定義したものに全く対応していませんが、そのリストをATSのサポートされている暗号のリストと比較すると、なぜそれが不平を言うのかがはっきりしているようです。

私はここで私の頭を少し上回っています - 何が起こっているのか理解したいと思いますが、正直なところどこから始めたらいいのか分かりません。

  1. 正しい暗号がインストールされていますか?
  2. 私はそれらを手に入れますか(私は現在openssl 1.0.2kとApache 2.4.25を利用しています)
  3. 適切な暗号があれば、opensslリストはどのようにSSLLabsのリストに対応していますか?
  4. サーバー上で正しい暗号を有効にするにはどうすればよいですか?

ありがとうございます。

+0

本当にSSLLabsで検出された暗号の完全なリストであれば、おそらく別のSSLCipherSuiteの定義がApacheの設定のどこかにあるでしょう。異なるVirtualHostに対して異なるSSLCipherSuiteを設定することはできませんので、すべての設定ファイルを確認してください。 –

+0

暗号名​​が間違っています(https://www.openssl.org/docs/man1.0.2/apps/ciphers.htmlには両方の形式が記載されています)。なぜあなたはECDHE暗号を持っていないのか分かりませんが、これを試してみてください:https://mozilla.github.io/server-side-tls/ssl-config-generator/?server=apache-2.4.18&openssl = 1.0.2k&hsts = no&profile = intermediate –

+0

@SteffenUllrich別の設定がないと確信しています。まあ、少なくとも私ができることは確かです。私はただ一つのVirtualHostでセットアップをテストしています。 –

答えて

0

ご返信が遅れました。あなたのコメントはすべて、正しい方向のポイントでした。 しかし、実際の原因はdev-libs/opensshnet-misc/opensslというUSEフラグであることがわかりました。ライセンスの問題のため、私が探していた暗号は、bindistフラグがデフォルトで有効になっていないために含まれていませんでした。

私は/etc/portage/packages.usebindistを無効にして両方を追加しました。このように:

dev-libs/openssl -bindist 
net-misc/openssh -bindist 

そして、私は両方を再コンパイルしました。両方のパッケージとそれに依存するすべてのものを再構築した後、私のECDHE_ECDSA [...]暗号はすべてすぐに利用できました。

関連する問題