Apache + mod_nssでSSLv3を無効にすることはできません。

Apache + mod_nssでSSLv3を無効にすることはできません。

Apache(RHEL 7)でmod_nssを介してTLSを実装しようとしています。 ~によると文書、インストールしましたmod_nss削除してmod_ssl

私は文書(上記のリンクを参照)に記載されている手順に従い、特に次のことを確認しました。NSSプロトコルディレクティブは次のとおりです(文書によると、TLSバージョン1以降を除くすべてのSSLおよびTLSプロトコルバージョンは無効になります)。

NSSProtocol TLSv1.0,TLSv1.1

その後、Apacheを再起動し、SSLv3が有効になっているかどうかをテストしました。

openssl s_client -connect localhost:443 -ssl3

返品:

[root@box1 ~]# openssl s_client -connect localhost:443 -ssl3
CONNECTED(00000003)
139894684407712:error:1408F10B:SSL routines:SSL3_GET_RECORD:wrong version number:s3_pkt.c:339:
---
no peer certificate available
---
No client certificate CA names sent
---
SSL handshake has read 5 bytes and written 7 bytes
---
New, (NONE), Cipher is (NONE)
Secure Renegotiation IS NOT supported
Compression: NONE
Expansion: NONE
SSL-Session:
    Protocol  : SSLv3
    Cipher    : 0000
    Session-ID: 
    Session-ID-ctx: 
    Master-Key: 
    Key-Arg   : None
    Krb5 Principal: None
    PSK identity: None
    PSK identity hint: None
    Start Time: 1442107224
    Timeout   : 7200 (sec)
    Verify return code: 0 (ok)
---
[root@box1 ~]# 

ご覧のとおり、ハンドシェイクが完了します(例:SSLハンドシェイクには5バイトを読み、7バイトを書きました。私はSSLv3が実際に無効になっているかどうか疑問に思います。

私は解決策を見つけるために多くの時間を費やしましたが、私が見つけたすべては、mod_nssの代わりにmod_sslを介してSSLv3を無効にする方法を教えてくれます。

どんなアイデアや説明でも歓迎します。

答え1

ハンドシェイクエラーが発生したため、悪いことは発生しませんでした。

エラー:1408F10B:SSLルーチン:SSL3_GET_RECORD:無効なバージョン番号

クライアント/サーバーは、バイトを送信せずにバージョン番号が正しくないことをどのように確認できますか?

コマンドからそれを削除する-ssl3と、違いを見ることができます。

SSLハンドシェイクは4493バイトを読み、499バイトを書きました。

また、接続が確立されると、s_client入力がサーバーに送信されるのを待ちます。接続がない場合は返されます。

関連情報