IBM Support

【重要情報】 SSL 3.0の脆弱性に対するWebSphere Application Serverへの影響について (CVE-2014-3566)

Flashes (Alerts)


Abstract

SSL 3.0 (SSLv3) には、プロトコル設計自体に通称POODLE (Padding Oracle On Downgraded Legacy Encryption) と呼ばれる脆弱性が存在することが報告されました。WebSphere Application Serverでは、デフォルトでSSLv3が有効になっております。弊社としましては、SSLv3を無効化することをお勧めいたします。

Content

WebSphere Application Server でSSL 3.0 (SSLv3) を有効にしていると、通称POODLE (Padding Oracle On Downgraded Legacy Encryption) と呼ばれるSSLv3プロトコル設計自体の脆弱性が存在します。SSLv3 を有効にしていると、悪意のあるユーザーによる中間者攻撃 (man-in-the-middle attack) により、暗号化されたデータの内容が盗聴される危険性があります。

最新の情報については、下記URLの文書(英語)もご参照ください。
Security Bulletin: Vulnerability in SSLv3 affects IBM WebSphere Application Server (CVE-2014-3566)
http://www.ibm.com/support/docview.wss?uid=swg21687173

【対象ソフトウェア】
対象OS:
- 分散系プラットフォーム (AIX、Linux、Windows、Solaris、HP-UX)、IBM i、z/OS

対象バージョン:
- WebSphere Application Server すべてのバージョン
※ Hypervisor版、Libertyプロファイルも該当します。

参照:
- IBM HTTP Serverの対応は、【重要情報】 SSL 3.0の脆弱性に対するIBM HTTP Serverへの影響について (CVE-2014-3566)をご参照ください。
- Edge Components Caching Proxyの対応は、Enable TLSOnly to avoid the POODLE attack in Webspehere EDGE Caching proxy Version 7をご参照ください。

【対応】
すべてのバージョンのWebSphere Application Server(WAS) で、【解決策】もしくは【回避策】の方法により、SSLv3を無効化することをお勧めいたします。

もしお使いのアプリケーション内で、例えば SSLContext.getInstance("SSL")などを実装し、SSLv3が使用される可能性がある場合には、JDKの個別修正を適用しSSLv3を無効化することをお勧めします。

【解決策】

ご使用のWASバージョンに対応したJDKの個別修正モジュールを適用ください。

(ご注意)
Installation Manager 1.7.3.1、もしくはそれ以前のバージョンをお使いの場合は、Installation Manager 1.8 以降のバージョンにアップデートいただき、修正の適用を行ってください。
・Product updates not found when using IBM Installation Manager 1.7.3.1 or older
・IBM Installation Manager 1.7.3.1 or older cannot connect to HTTPS servers that have SSL security protocol disabled

バージョン対応策
V8.5.0.0~V8.5.5.3
フル・プロファイル
- JDK v6.0.1 (J9 2.6)をお使いの場合:
  • 個別修正モジュールAPAR PI28437を適用します。
    適用後のバージョンは、JDK v6.0.1 SR8 Fix Pack1 + IV66110 になります。
- JDK v7 をお使いの場合:
  • 個別修正モジュールAPAR PI28436を適用します。
    適用後のバージョンは、JDK v7 SR7 Fix Pack1 + IV66110 になります。
- JDK v7R1をお使いの場合:
  • 個別修正モジュールAPAR PI28435を適用します。
    適用後のバージョンは、JDK v7R1 SR1 Fix Pack1 + IV66110 になります。
-- または --
  • Fix Pack 8.5.5.4へアップデートします。
※Fix Pack 8.5.5.4は、 2014年12月8日にリリース予定です。(2014/11/04時点)
V8.0.0.0~V8.0.0.9
  • 個別修正モジュールAPAR PI28438を適用します。
   適用後のバージョンは、JDK v6.0.1 SR8 Fix Pack1 + IV66110 になります。
-- または --
  • Fix Pack 8.0.0.10へアップデートします。
※Fix Pack 8.0.0.10は、 2015年2月16日にリリース予定です。(2014/11/04時点)
V7.0.0.0~V7.0.0.35
  • 個別修正モジュールAPAR PI28439 を適用します。
適用後のバージョンは、JDK v6.0 SR16 Fix Pack1 + IV66110 になります。
-- または --
  • Fix Pack 7.0.0.37へアップデートします。(SDK for WASv7.0.0.37を適用します。)
※Fix Pack 7.0.0.37は、 2015年3月13日にリリース予定です。(2014/11/04時点)
V6.1.0.0~V6.1.0.47
  • V6.1.0.47にバージョンアップし、個別修正モジュールAPAR PI28796を適用します。
適用後のバージョンは、JDK v5.0 SR16 Fix Pack7 + IV66110 になります。
※V6.1は、2013年9月30日にサポートを終了しています。
個別修正のお問い合わせには、延長サポートが必要になります。

※IBM WebSphere Application Server Liberty ProfileをInstallationManagerを使用せずインストールした場合は、をIBM SDK, Java Technology Edition fixes to mitigate against the POODLE security vulnerability (CVE-2014-3566)ご確認ください。

※WAS for i を使用されている場合は、Java on IBM i をご確認ください。

上記の修正モジュールを適用することで、IBM JDK上での各プロトコル名でサポートするプロトコル・バージョンは、個別修正適用後以下のように変更されます。

Java5以降の各プロトコル名でサポートされるSSL/TLSバージョン
プロトコル名修正適用前修正適用後
SSLSSL v3.0別表参照(※1)
SSLv3SSL v3.0無効化 (接続失敗)
TLSTLS v1.0 (RFC 2246として規定)TLS v1.0 (RFC 2246として規定)
TLSv1TLS v1.0 (RFC 2246として規定)TLS v1.0 (RFC 2246として規定)
TLSv1.1TLS v1.1 (RFC 4346として規定)TLS v1.1 (RFC 4346として規定)
TLSv1.2TLS v1.2 (RFC 5246として規定)TLS v1.2 (RFC 5246として規定)
SSL_TLSEnable all SSL v3.0、TLS v1.0 TLS v1.0
SSL_TLSv2Enable all SSL v3.0、TLS v1.0、v1.1、v1.2TLS v1.0、v1.1、v1.2(v6.1とv7.0.0.23未満は使用できません)

(※1):プロトコル名に"SSL"を指定した場合は、JavaのバージョンによりサポートされるTLSバージョンが異なります。※SSLv3はサポートされません。
Java VersionTLS v1.0TLS v1.1TLS v1.2
Java 7 Server
x
x
x
Java 7 Client
x


Java 6
x


Java 5
x


※個別修正適用後、SSLv3は無効化されます。もし、SSLv3を有効にしたい場合は、以下のJVM引数を設定することで上表の修正適用前のSSL/TLSサポートバージョンとなります。
---
-Dcom.ibm.jsse2.disableSSLv3=false
---

【回避策】

Knowledge Center - Secure Sockets Layer 構成の作成

※ WASでSSLv3を無効化するには、SSL 構成の保護品質設定(Quality of protection (QoP) settings)でプロトコルとして"TLS"を設定する必要があります。ただし、"TLS"を設定した場合、SSLv3に加えTLS1.1 およびTLS1.2も無効となり、TLS1.0のみ有効となります。TLS1.0から1.2までのバージョンすべてを有効にする方法は現在ありませんが、機能追加を検討中です。

フル・プロファイルでは、管理コンソール、またはwsadminコマンドを使用し、次の手順で設定変更を行います。
また、管理コマンドなどでWASを管理する用途、もしくはデプロイメント・マネージャーとノード・エージェント間などでSSLを使用しており、プロセスがSSLクライアントとなる場合、クライアント構成ファイル(V6.1以上ではssl.client.props)も変更します。

Libertyプロファイルでは、server.xml を編集することにより変更します。

■管理コンソールでの変更方法 (フル・プロファイル)

バージョン設定変更手順
V8.5.5.x
V8.5.0.x
V8.0.0.x
V7.0.0.x
V6.1.0.x
1. 管理コンソールにアクセスし、「セキュリティー > SSL 証明書および鍵管理 > (関連項目)SSL 構成」を選択します。
2. リストされているSSL 構成すべてのSSLプロトコルをTLSに変更します。設定変更はSSL構成毎に行います。
3. リストされているSSL構成のひとつを選択し、「(追加プロパティー)保護の品質 (QoP) の設定」を選択します。
4. 保護の品質 (QoP) の設定の画面で、「プロトコル」の設定でプルダウンから「TLS」を選択します。
5. 「適用」ボタンを選択し、設定変更を保存します。 (※2)
V6.0.2.x1. 管理コンソールにアクセスし、「セキュリティー > SSL」を選択します。
2. SSL 構成レパートリー画面で、リストされているSSL 構成すべてのSSLプロトコルをTLSに変更します。設定変更はSSL構成毎に行います。
3. リストされているSSL構成のひとつを選択し、「プロトコル」の設定でプルダウンから「TLS」を選択します。
4. 「適用」ボタンを選択し、設定変更を保存します。
5. 各サーバーの再起動を実施し、変更を反映させます。

(※2) 管理コンソールの「セキュリティー > SSL 証明書および鍵管理」で「SSL 構成の変更が発生したときに、動的にランタイムを更新する」を有効にしている場合(デフォルト)、SSL構成の構成変更は動的に変更されるため、変更の反映にサーバー再起動は必要ありません。有効にしていない場合は、必ずサーバーの再起動を実施し、変更を反映させてください。

■wsadminコマンドでの変更方法 (フル・プロファイル)

Knowledge Center - wsadmin スクリプトの使用
※ V6.1以上のWASで利用可能です。

・SSL構成のリストを表示します。
wsadmin> AdminTask.listSSLConfigs('[-all true]')

・SSL構成を変更します。
wsadmin>AdminTask.modifySSLConfig('[-alias <対象のSSL構成別名> -scopeName <管理の有効範囲> -sslProtocol TLS]')
wsadmin>AdminConfig.save()

例:"CellDefaultSSLSettings"のプロトコルを"TLS"に変更する場合:
wsadmin>AdminTask.modifySSLConfig('[-alias CellDefaultSSLSettings -scopeName (cell):ndcell -sslProtocol TLS ]')

■クライアント構成ファイル (フル・プロファイル)

バージョン設定変更手順
V8.5.5.x
V8.5.0.x
V8.0.0.x
V7.0.0.x
V6.1.0.x
ssl.client.propsを編集します。
デフォルトのファイル・パスは、以下になります。
- <WAS_ROOT>/profiles/(dmgr profile)/properties/ssl.client.props
- <WAS_ROOT>/profiles/(AppServ profile)/properties/ssl.client.props

ssl.client.propsを開いて、"com.ibm.ssl.protocol=TLS"に変更します。
(デフォルト:com.ibm.ssl.protocol=SSL_TLS)

各プロファイル毎、すべてのssl.client.propsで設定変更が必要です。
V6.0.2.x製品サポートの延長契約をお持ちでV6.0.2をお使いのお客様は、サポート窓口までお問い合わせください。


(Network Deployment版での注意事項)
Network Deployment環境(ND環境)を構成されている場合は、以下の手順でSSL構成を変更することをお勧めいたします。
1. セル配下のすべてのサーバー、ノード・エージェントを停止します。
2. 上記方法により、すべてのSSL構成のプロトコルを「TLS」に変更します。
3. syncNodeコマンドを使用して、すべてのノードと同期を実行します。(※syncNodeコマンド実行前に、ssl.client.propsの変更を実施する必要があります。)
4. 同期完了後、ノード・エージェント、サーバーを起動します。


■server.xmlファイル編集による変更方法 (Libertyプロファイル)

Libertyプロファイルは、デフォルトではSSLの構成が行われていません。Libertyプロファイルで、SSLを構成する際、最小構成もしくは詳細構成を選択できます。最小構成でのserver.xmlは、例えば下記のようなものとなっており、キーストア(keystore)および関連の設定のみ構成します。

<keyStore id="defaultKeyStore" password="yourPassword" />


最小構成でIBM Java SDKをご利用の場合は「SSL_TLS」が、Oracle JDKをご利用の場合は「SSL」がデフォルトで使用されます。つまり、最小構成でSSLの設定を行っている場合は、SSLv3が利用可能な状態となっており、詳細構成で、SSLv3が使用されないよう設定を行う必要があります。

詳細構成として、最小構成のものに「ssl」から始まる要素(Element)を追加します。下記のように、sslエレメント内のsslProtocol属性(Attribute)の値を「TLS」とすることでSSLv3を利用しないよう構成することが可能です。

<ssl id="defaultSSLConfig"
keyStoreRef="defaultKeyStore"
sslProtocol="TLS" />
<keyStore id="defaultKeyStore"
password="yourPassword" />

もし、下記のようにdefaultSSLConfig以外にも独自にSSL構成(下記の例では、myCustomSSLConfig)を実施している場合は、すべてのssl要素において、sslProtocol属性の値を「TLS」に設定する必要があります。

<ssl id="myCustomSSLConfig"
keyStoreRef="defaultKeyStore"
trustStoreRef="defaultTrustStore"
clientAuthentication="true"
sslProtocol="TLS" />


【補足情報】
Assessing this vulnerability using the Common Vulnerability Scoring System (CVSS、共通脆弱性評価システム):
CVSS Base Score (基本値): 4.3
CVSS Temporal Score (現状値): https://exchange.xforce.ibmcloud.com/vulnerabilities/97013 にて現在の値をご確認ください
CVSS Environmental Score (環境値): Undefined (未評価)*
CVSS String: AV:N/AC:M/Au:N/C:P/I:N/A:N (基本評価基準)

*The CVSS Environment Score is customer environment specific and will ultimately impact the Overall CVSS Score. Customers can evaluate the impact of this vulnerability in their environments by accessing the links in the Reference section of this Flash.

Note: According to the Forum of Incident Response and Security Teams (FIRST), the Common Vulnerability Scoring System (CVSS) is an "industry open standard designed to convey vulnerability severity and help to determine urgency and priority of response." IBM PROVIDES THE CVSS SCORES "AS IS" WITHOUT WARRANTY OF ANY KIND, INCLUDING THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. CUSTOMERS ARE RESPONSIBLE FOR ASSESSING THE IMPACT OF ANY ACTUAL OR POTENTIAL SECURITY VULNERABILITY.

References:
ソフトウェア等におけるセキュリティ上の弱点の深刻度評価の試行について
共通脆弱性評価システム CVSS 概説
Product updates not found when using IBM Installation Manager 1.7.3.1 or older
IBM Installation Manager 1.7.3.1 or older cannot connect to HTTPS servers that have SSL security protocol disabled

CVSS Caluculator:
(英語) Online Calculator V2
(日本語) Online Calculator V2

【お問合せ先】
技術的な内容に関して、サービス契約のもとIBMサービス・ラインにお問い合わせください。

IBMサービス・ライン

【参考情報】
IBM Secure Engineering Web Portal
IBM Product Security Incident Response Blog

【変更履歴】
2015/11/26 v6.0.2 クライアント構成ファイルの設定についてを変更
2015/02/06 PI28796のリンク先を修正
2015/01/13 CashingProxyの対応リンク追加
2014/10/21 初版発行
2014/11/05 SSLv3を無効化するIBM JDKの修正モジュール提供に伴い対応策の更新
2015/08/31 Liberty(not using IM install)の場合のリンクを記載

[{"Product":{"code":"SSEQTP","label":"WebSphere Application Server"},"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Component":"General","Platform":[{"code":"PF002","label":"AIX"},{"code":"PF010","label":"HP-UX"},{"code":"PF012","label":"IBM i"},{"code":"PF016","label":"Linux"},{"code":"PF027","label":"Solaris"},{"code":"PF033","label":"Windows"},{"code":"PF035","label":"z\/OS"}],"Version":"8.5.5;8.5;8.0;7.0;6.1;6.0.2","Edition":"Base;Developer;Liberty;Network Deployment","Line of Business":{"code":"LOB45","label":"Automation"}}]

Document Information

Modified date:
25 September 2022

UID

swg21687416