githubからwgetを取得できませんSSLV3ハンドシェイクエラー

githubからwgetを取得できませんSSLV3ハンドシェイクエラー

githubからモードセキュリティをダウンロードするスクリプトがあり、最近失敗し始めました。サーバーはCentOS 6を実行していますが、RHEL 6にも同じ問題がある可能性があります。出力は次のとおりです

# wget https://github.com/downloads/SpiderLabs/ModSecurity/modsecurity-apache_2.7.1.tar.gz
--2014-07-22 18:49:46--  https://github.com/downloads/SpiderLabs/ModSecurity/modsecurity-apache_2.7.1.tar.gz
Resolving github.com... 192.30.252.129
Connecting to github.com|192.30.252.129|:443... connected.
HTTP request sent, awaiting response... 302 Found
Location: https://cloud.github.com/downloads/SpiderLabs/ModSecurity/modsecurity-apache_2.7.1.tar.gz [following]
--2014-07-22 18:49:47--  https://cloud.github.com/downloads/SpiderLabs/ModSecurity/modsecurity-apache_2.7.1.tar.gz
Resolving cloud.github.com... 54.230.99.219, 205.251.219.190, 54.230.97.212, ...
Connecting to cloud.github.com|54.230.99.219|:443... connected.
OpenSSL: error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure
Unable to establish SSL connection.

この問題を解決する方法についてのアイデアはありますか?

答え1

curl次のコマンドを使用してダウンロードできます。

curl -LO https://github.com/downloads/SpiderLabs/ModSecurity/modsecurity-apache_2.7.1.tar.gz

答え2

SSLv3の重大なセキュリティ問題により、SSLv3暗号化ハンドシェイクがサーバー側で無効になりました。また、wgetクライアントは古いバージョンであり、デフォルトではまだSSLv3暗号化を使用します。 2つのオプションがあります。

  • wgetの前に--secure-protocol = TLSv1フラグを使用してください。 wget --secure-protocol=TLSv1
  • デフォルトのTLSv1プロトコルを使用する更新されたバージョンのwgetをインストールします。

答え3

wgetのバージョンを確認する必要があります。

wget以前のバージョン(< 1.15)でも同じ問題が発生しました。

答え4

回避策は、ホストを信頼する場合は、次のように指定または追加してみ--no-check-certificateてください。

check_certificate = off

(推奨~/.wgetrcしない)

まれに、これはシステム時間が同期されず、以前に有効な証明書が無効になって発生する場合です。

関連情報