SSLセッションの再開が機能しているかどうかを確認するにはどうすればよいですか?


11

nginxを使用しており、SSLセッションの再開を実装したい。機能しているかどうかをどのようにテストすればよいですか?

これらの設定を有効にしました:

ssl_session_cache    shared:SSL:10m;
ssl_session_timeout  10m;

回答:



21

opensslを使用してローカルでテストできます。

openssl s_client -connect example.com:443 -reconnect -no_ticket

または:

openssl s_client -connect example.com:443 -no_ticket -sess_out /tmp/ssl_s
openssl s_client -connect example.com:443 -no_ticket -sess_in /tmp/ssl_s

-no_ticketオプションが無効に必要とされているクライアント側TLSセッションチケットもセッションの再開を可能にするが、ある別の設定ではnginx、とにテストを制限するキャッシュサーバ側SSLセッション OPの設定を制御します。)

最初のコマンドでは、次のような出力が得られます。

drop connection and then reconnect
CONNECTED(00000003)
---
Reused, TLSv1/SSLv3, Cipher is ECDHE-RSA-AES128-GCM-SHA256

最後の1つは、セッションが再開した場合に表示されます。

SSL handshake has read 142 bytes and written 583 bytes
---
Reused, TLSv1/SSLv3, Cipher is ECDHE-RSA-AES128-GCM-SHA256

またはこれが失敗した場合:

SSL handshake has read 5855 bytes and written 722 bytes
---
New, TLSv1/SSLv3, Cipher is DHE-RSA-AES256-GCM-SHA384

ハンドシェイクが新しいときは、もっと大きいことがわかります。


出力の意味と、それを使用してセッション再開が機能しているかどうかを判断する方法を説明できれば、役に立ちます。
Kevin Cox

1
「Reused、TLSv1 / SSLv3、Cipher is <cipher>」をチェックします
Bastien
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.