2014年4月7日(現地発表時間)、SSLおよびTLSの暗号化ライブラリ「OpenSSL」において、セキュリティ上の重大な脆弱性が発表されました。
OpenSSLはオープンなSSL/TLS実装としてLinuxをはじめとするUnix系OSにおいて広く利用されています。そのため、「さくらのクラウド」や「さくらのVPS」、「専用サーバ」など、OSの管理者権限がお客様にお渡しされるサービスをご利用中の場合、お客様側での影響の調査や問題の修正などの対応が必要となる場合があります。
1. 概要
今回発表された脆弱性により、以下のような問題が発生します。
- ● 脆弱性を持つバージョンを使用している場合、heartbeat extension機能に関連するソフトウェア実装上の問題によりシステムメモリ内の情報が漏えいしてしまう危険性があります
→ 秘密鍵などの重要な情報がクライアント側で取得される可能性があります。
- ● 脆弱性を持つバージョンを使用して公開したSSL鍵は情報が漏れた可能性があります
→ 鍵の再生成・認証局への再申請を行う必要があります。
詳細は以下を参照ください。
- 開発元(OpenSSL Project)によるSecurity Advisory文書
https://www.openssl.org/news/secadv_20140407.txt - JPCERT/CC「OpenSSL の脆弱性に関する注意喚起」(2014/04/08発表)
http://www.jpcert.or.jp/at/2014/at140013.html
2. OpenSSL バージョン調査方法
基本的な情報として、本脆弱性を持つOpenSSLのバージョンをまとめます。
1.0.1系 | 1.0.1 から 1.0.1f までのリリース | 1.0.1g |
1.0.2-beta系 | 1.0.2-beta から 1.0.2-beta1 までのリリース | 1.0.2-beta2 (リリース予定) |
※上記以外のバージョン系統(0.9.X系など)には影響はありません
● 各OSでのバージョン確認方法
以下のコマンドにより、インストールされたOpenSSLのバージョンを確認できます。
RPM (RedHat / CentOS / ScientificLinux等) |
rpm -q openssl |
deb (Ubuntu / Debian等) |
dpkg -l libssl1.0.0 |
パッケージ管理システムを使用していない場合 (FreeBSD等) |
openssl version |
● 影響を受けるパッケージバージョン
各OSごとのパッケージの対応状況の一覧です。表記の各パッケージ以前のバージョンのパッケージがインストールされている場合は影響を受ける可能性があります。詳細はリンク先を参照ください。
Debian Wheezy(stable)以降 | DSA-2896-1 stable: libssl1.0.0 1.0.1e-2+deb7u5で対応済み testing/unstable: libssl1.0.0 1.0.1g-1で対応済み |
Ubuntu 12.04.4 LTS以降 | USN-2165-1 12.04: libssl1.0.0 1.0.1-4ubuntu5.12で対応済み 12.10: libssl1.0.0 1.0.1c-3ubuntu2.7 で修正 13.10: libssl1.0.0 1.0.1e-3ubuntu1.2で対応済み |
RHEL 6.5 | RHSA-2014:0376-1 openssl-1.0.1e-16.el6_5.7で対応済み |
CentOS 6.5 | CESA-2014:0376 openssl-1.0.1e-16.el6_5.7で対応済み |
Scientific Linux 6.5 | openssl-1.0.1e-16.el6_5.7で対応済み |
FreeBSD (ports利用の場合) | [ports] Revision 350548 security/openssl 1.0.1_10で対応済み |
FreeBSD (freebsd-update利用の場合) | FreeBSD-SA-14:06.openssl freebsd-updateコマンドでバイナリ更新 |
NetBSD (pkgsrc利用の場合) | security/openssl 1.0.1gで対応済み |
3. 対応方法
主な対応方法としては、
- 1. OpenSSLのバイナリやパッケージを脆弱性修正版に更新する
- 2. OpenSSLのheartbeat extensionを無効化したバイナリに置き換える
の2つの方法があります。OpenSSLでは提供パッケージによる依存関係があり、これらの関係が自動的に設定されるパッケージ管理システムによる更新をおすすめします。
なお、修正版への更新後は、OpenSSLライブラリを使用する動作中アプリケーション(Webサーバ、FTPサーバなど)、またはOSの再起動が必要となります。
1. 脆弱性の修正版に更新する
脆弱性が修正されたバージョンのパッケージにアップデートする方法です。各パッケージ管理システムごとに以下のコマンドを実行します。手順の詳細については各OS開発元のドキュメントなどを参照ください。
RPM |
rpm -Uvh [パッケージ名] または yum update openssl |
deb |
apt-get upgrade [パッケージ名] |
2. heartbeat extensionを無効にする
既存のバージョンをソースコードからインストールした場合、
- -DOPENSSL_NO_HEARTBEATS
オプションを付与して再コンパイルすることでheartbeat extensionが無効となったバイナリが生成されます。これをOS内にインストールすることで問題を回避することができます。
4. 注意事項
本文書で挙げた情報は2014年4月10日時点での、弊社独自の調査に基づきます。影響範囲やアップデート手順などはお客様自身で調査頂くようお願いいたします。