openssl errno 104は、SSLv2が無効であることを意味しますか?


13

サーバーでSSLv2が無効になっているかどうかを確認したい。これを行うには、次のシェルコマンドを使用してopensslにリモート接続しようとします。

openssl s_client -connect HOSTNAME:443 -ssl2

インターネットで見つけることができるほとんどの文献では、次のようなエラーが表示された場合、SSLv2は適切に無効になっています。

29638:error:1407F0E5:SSL routines:SSL2_WRITE:ssl handshake failure:s2_pkt.c:428:

Apache ApacheでSSLv2を無効にしてUbuntuサーバーに接続すると上記のエラーが発生しますが、レジストリでSSLv2を無効にしてWindows Server 2008 R2サーバーに接続すると、次の出力とエラーが表示されます。

CONNECTED(00000003)
write:errno=104

この出力とエラーを説明する文献は見つかりません。この出力とエラーがSSLv2が適切に無効化されていることを意味するかどうか、またその理由を誰かが私に説明できたら、感謝します。

ありがとう!

回答:


14

少なくともLinuxでは、104はECONNRESET「ピアによる接続リセット」用です。つまり、接続は、サーバーによって送信されたか、仲介者によって偽装されたTCP RSTパケットで強制的に閉じられました。

UbuntuサーバーでWireshark / tsharkを試して、実際に何が送信されるかを確認します。RSTが実際の場合、httpdプロセスが停止している可能性があります。念のため、ログファイルを確認してくださいdmesg


クアリスSSLサーバテストのウェブサイトは、WebサーバーでサポートされているすべてのSSL / TLSのバージョンを表示することができます。(残念ながら、それはTLS SNIでも気になりません...)


クライアントは、サーバが無効のSSLv2を持っているときのSSLv2に接続しようとすると、TCP RSTパケットが、Windows Server 2008のR2から送信された場合、私は思ったんだけどだから
デヴィッド

通常、ファイアウォールは、RSTパケットを送信する仲介者です。しかし、それが問題でない場合、-ssl3オプションでSSL3を強制するか、-servernameオプションを使用すると、これを回避できることがあります。
アミットNaidu

-3

サーバーでサポートされている暗号と、受信者のサーバーでサポートされている暗号は一致していない可能性があります。


3
これをどのように確認しますか?彼らがそれを確認した後、誰かはどのようにそれを解決しますか?私はこれらの質問に対する答えを個人的に知っていますが、他の人は知らないかもしれません。
Ramhound、2015年

-3

私は同じエラーがあり、それはインターフェイスMTUに関連していました。クライアントインターフェイスMTUを1492(1500)に設定すると、このエラーは解決しました。


2
これで問題は解決された可能性がありますが、SSL暗号の互換性や設定とは関係ありません。この答えはあなたの問題を解決したかもしれませんが、それはこの質問とは無関係であるため、作者の問題には当てはまりません。
ラムハウンド2018
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.