WebサーバーでSSL暗号化アラートをデバッグしようとしています。問題が何であるかはわかりませんが、動作しているように見えますが、WiresharkにTLSv1暗号化アラートが多数表示されているので、そこにあるべきではないと感じています。
TLSv1アラートプロトコル( http://en.wikipedia.org/wiki/Transport_Layer_Security#Alert_protocol )は、何が問題なのかを示すエラーコードを提供しますが、残念ながらこのコードは暗号化されています。
Wiresharkでは、SSL設定ページで秘密鍵(私が持っている)を提供することにより、SSLを復号化できます。ただし、セッションがEphemeral RSAでセットアップされているため、これは機能しません(Sharkfest'09 http://sharkfest.wireshark.org/sharkfest.12/presentations/MB-1_SSL_Troubleshooting_with%20_Wireshark_Software.pdf 59ページ)。
このアラートコードの読み方を知りたいのですが。次のいずれかが私をそこに連れて行きます:
a)EphemeralRSAを使用してWiresharkにSSLを復号化させる
b)Wiresharkが復号化できるように、エフェメラルRSAの使用は避けてください
c)SSLにnull暗号化を強制的に使用させて、コードを読み取ってデバッグできるようにします
b)Wiresharkが復号化できるように、エフェメラルRSAの使用は避けてください
WebサーバーがApacheの場合は、次のことを試してください。
httpd.conf
SSLProtocol +all -SSLv2 -SSLv3
SSLCipherSuite -kEECDH:-kEDH:+kRSA:+HIGH:+MEDIUM:-LOW:-EXP
c)SSLにnull暗号化を使用させて、コードを読み取ってデバッグできるようにします
これは少し難しいかもしれませんが、eNULL
をリストの先頭に移動してみてください。 eNULL
はおそらくクライアントによって拒否されますが、試してみる価値はあります。クライアントが暗号(または、さらに言えばaNULL
)を許可しないため、拒否されると思います。
クライアントにeNULL
がある場合でも、それは使用されない可能性があります。サーバーは通常、クライアントの暗号を尊重するため、クライアントがeNull
を要求しない限り、サーバー構成のオーバーライドを見つける必要があります。