このページはOpenVPN公式サイトのコンテンツ(“OpenSSL vulnerability – Heartbleed”)の翻訳ですが、完全な翻訳であることを保証するものではありません。正確な情報については公式サイトの情報も併せてご確認ください。

「Heartbleed」として知られているOpenSSLの脆弱性が2014年4月に発表されました。OpenVPNはデフォルトの暗号化ライブラリとしてOpenSSLを使用しているため、その影響を受けます。

どんな脆弱性ですか?

OpenSSLの脆弱性により、攻撃者がプログラムのメモリ内にある情報を取得できる、という脆弱性です。メモリ内にはユーザーのセッションキー(データを暗号化するために使用されるキー)やマスターシークレットキーなどが格納されています。この脆弱性を持つOpenSSLを利用したOpenVPNが攻撃対象になった場合、VPNユーザーのキーやVPNトンネル上のデータが漏洩する可能性があります。

影響を受ける対象は?

ご利用中のOpenVPNがOpenSSL バージョン 1.0.1~1.0.1fとリンクされている場合に影響を受けます。

該当する場合、どのような対策が必要ですか?

  1. OpenSSLライブラリのアップデート
  2. 今まで使用していた秘密鍵の失効処理
  3. 新しい秘密鍵の生成
  4. 新しい秘密鍵に基づく証明書の作成

対象となるのはサーバーですか? クライアントですか?

両方です。前述のバージョンのOpenSSLとリンクされたOpenVPNを使用していた場合は、サーバー/クライアントのどちらであっても鍵の更新が必要です。

Android版のクライアントは影響を受けますか?

Android 4.1ではOpenSSL 1.0.1が使用されていますが、4.1.2以降ではheartbeatが無効化されています。したがって、この脆弱性の影響を受けるのはAndroid 4.1(.0) と 4.1.1 です。

[訳注] この項目ではOpenVPN Connect for Androidではなく、Android OS自体のバージョンについて説明しています。

Windowsクライアントは影響を受けますか?

すべてのWindows版OpenVPNクライアントのインストーラにはOpenSSLが含まれていますが、今回の脆弱性の対象となるOpenSSLが含まれているのはバージョン 2.3-rc2-I001 から 2.3.2-I003 です。バージョン 2.3.2-I004 では対策済みの OpenSSL 1.0.1g が使用されています。このバージョンはこちらからダウンロードできます。

[訳注] なお、4/9にOpenVPN 2.3.3-I001がリリースされています。

現在使用しているOpenVPNで使用されているOpenSSLのバージョンを確認したいときは、OpenVPNのインストール先ディレクトリを開き、その中にあるlibeay32.dllを選択して右クリックして、[プロパティ]ウィンドウにある[詳細]タブから[製品バージョン]を確認してください。

OpenVPN Access Serverは影響を受けますか?

はい。Access Serverを使用しているユーザーはバージョン 2.0.6 にすぐにアップデートしてください。古いバージョンのAccess ServerのOpenSSLライブラリにパッチを当てて使用したい場合は、こちらから該当するライブラリをダウンロードし、/usr/local/openvpn_as/libにコピーしてください。

PolarSSL版のビルドは影響を受けますか?

いいえ。こちらを参照してください。

TLS-Authは保護対策として有効ですか?

ある程度そう言えます。できるだけTLS-Authキーを使用してください。今回のケースでは、攻撃者がTLS-Authキーを所持していない限りこの攻撃は行えません。ユーザー数の多いシステムの場合は、一部のOpenVPNインスタンスが侵入を受けた可能性を考慮してください。侵入されたインスタンスは他のインスタンス(サーバーを含む)を攻撃する踏み台にされる可能性があります。

[訳注] OpenVPNの作者であるJames YonanのMLへの投稿によれば、今回の脆弱性についてはTLS-Authが有効であれば攻撃の影響を受けないとされています。OpenVPNのTLS-Auth機能についてはこちらもご参照ください。