web-dev-qa-db-ja.com

SSLセッションキャッシングが実際にApache 2.2で正しく動作しているかどうかを確認する方法は?

Ubuntu 12.04で動作するApache 2.2.22があります。

SSLが構成されて有効になり、次のディレクティブが/etc/Apache2/mods-enabled/ssl.confに含まれます。

SSLSessionCache shm:/var/www/Apache-ssl-cache/ssl_scache(512000)
SSLSessionCacheTimeout  300
SSLMutex file:/var/www/Apache-ssl-cache/ssl_mutex

SSLは機能しているようです。 Windows XPのIE8でも、HTTPSを介してサイトにアクセスできます。ただし、SSLセッションキャッシュが実際に正しく機能しているかどうかはわかりません。

仮想ホストのログにこれらのINFOレベルのメッセージが多数表示されます。

[info] [client <censored>] (70007)The timeout specified has expired: SSL input filter read failed.

または

[info] [client <censored>] (70014)End of file found: SSL input filter read failed.

または

[info] [client <censored>] (70014)End of file found: SSL handshake interrupted by system [Hint: Stop button pressed in browser?!]

PRNGシードも頻繁に発生するようです。残念ながら、フォークされたApache子プロセスにPRNGがシードされていることを確実に判断することは不可能に思われます。

[info] Seeding PRNG with 656 bytes of entropy

これらのメッセージは、SSLセッションキャッシュが機能していないことを示していますか(フォークされたApache子プロセス全体で)?

[〜#〜]編集[〜#〜]

SSLセッションキャッシュをテストするためのopenssl s_client -reconnectまたはgnutls-cli -Vrの使用について言及しているさまざまなサイトを見つけました。私は彼らが質問の一部にしか答えないと信じています:両方のプログラムdisconnectが再接続するので、SSLセッションがキャッシュされ、再利用できることのみを確認しますsequentially、ただし、キャッシュされたSSLセッションが使用できるかどうかはチェックされませんconcurrently同じクライアントに対して、複数の分岐したサーバーによって。これは実際には、HTTPS Webサイトからリソースをプルするときの最新のブラウザーでの典型的な使用シナリオです。

キャッシュされたSSLセッションを同時に使用できることを確認するには、同じSSLセッションID /キーを使用して次の接続を開く前に、最初のテスト接続を閉じないでください。残念ながら、どちらのユーティリティにもそのようなオプションはないようです。

8
Kal

SSL分析サイトのいずれかを使用して、確実に確認できます(例: QualysのSSLサーバーテスト )。 「セッション再開テスト」の結果を探します。「はい」と表示されれば、セッションキャッシングは機能しています。

4
Flup