[Poodle] SSLv3.0 脆弱性の対策により RHC が失敗する
Environment
- OpenShift Enterprise
- OpenShift Online
Issue
- 先日の SSLv3.0 脆弱性問題 を回避するために httpd における POODLE SSLv3.0 脆弱性問題の解決方法 (CVE-2014-3566)に記載されている手順に従って SSLv3 を無効にすると、RHC が以下のエラーを返します。
# rhc apps
A secure connection could not be established to the server (SSL_connect returned=1 errno=0 state=SSLv3 read server hello A: sslv3 alert handshake failure).You may disable secure connections to your server with
the -k (or --insecure) option 'https://broker.domain.com/broker/rest/api'.
"sslv3 alert handshake failure" が出力されます。他の問題 (例: ブローカーが自己署名証明書を保持している) が原因で、同様のエラーメッセージが発生する場合もあります。
Resolution
.openshift/express.conf に以下を追加して、非 SSLv3 プロトコルを設定します。このファイルは、通常、ユーザーのホームディレクトリに配置されます。
ssl_version=tlsv1
また、複数のサーバーを設定している場合は、.openshift/servers.yml に以下を追加して、非 SSLv3 プロトコルを設定することもできます。
- 注意: .openshift/servers.yml を使用して OpenShift ブローカーに接続している場合は、この設定が .openshift/express.conf ファイルよりも優先されます。
- server:
...
ssl_version: tlsv1
既存ファイルを修正すれば、この問題を解決できます。ファイルが存在しない場合は、rhc のセットアップをしていないか、rhc がこのファイルを使用していません。
Root Cause
ブローカーにアクセスするために使用される ruby httpclient gem は、デフォルトでは、バージョン 2.4.0 までの SSL プロトコルとして SSLv3 を使用するように設定されています。この gem をアップデートすると、デフォルトで TLSv1 の最新バージョンを使用するため、この問題も解決されます。
This solution is part of Red Hat’s fast-track publication program, providing a huge library of solutions that Red Hat engineers have created while supporting our customers. To give you the knowledge you need the instant it becomes available, these articles may be presented in a raw and unedited form.
Comments