2014年5月21日(水)
OpenSSLの脆弱性に関する解説と対応策
バグ”Heartbleed”について
OpenSSLは、非常に広く使用されているオープンソースの暗号化ライブラリです。NginxまたはApacheの利用者は高確率でOpenSSLを稼働させており、悪意のある第三者がウェブサーバのメモリからデータを取得することが可能になるため、"Heartbleed"の脆弱性はOpenSSLのユーザが非常に深刻に受け止めるべき内容です。
本レポートでは、この脆弱性に関する解説と、実際の被害報告や対応策をご紹介します。
記事INDEX
マイクロソフトのWebサーバであるIISはOpenSSLを使用していませんが、WindowsOS上でApacheを利用することもできるため、その場合はOpenSSLが利用されます。
2014年4月7日に発表されたHeartbleed脆弱性では、意図的にサイズを細工したHeartbeatのリクエストを、脆弱性の含んだバージョンを利用しているサーバに送信すると、返答するデータの中に同一プロセス内のデータの中に意図していない約64KBのデータが含まれた形で返信が来ます。攻撃者は何度も要求を繰り返す事によって、帰ってくるデータの中からID/PWD、場合によっては秘密鍵を取得できる可能性があります。
■対象となるOpenSSLのバージョン
・OpenSSL 1.0.1から1.0.1f
・OpenSSL 1.0.2-beta から 1.0.2-beta1
>Half a million widely trusted websites vulnerable to Heartbleed bug
また、脆弱性の公表から時間が経過しており、脆弱性のあるバージョンを利用し続けているのは非常に危険です。実際に被害も広がっているためアップデートを行うことを強く推奨します。
■実際の被害について
・Canada Revenue Agency
・三菱UFJニコス
・IIJ-SECT
まず、OpenSSLのバージョンを確認します。OpenSSLがインストールされたサーバ環境で以下のコマンドを実行することでバージョンを確認できます。
# openssl version
また、GMOグローバルサインでは、無償のウェブサービス「SSLチェックツール」を提供しています。URLを入力することでサーバの設定状況等が確認可能です。
もし、Heartbleedの対象となるバージョンをお使いの場合は、"Server is vulnerable to HeartBleed attack"と表示されます。
>SSLチェックツール
(PerfectForwardSecurityを設定していた場合は除く。)
また、DNS Spoofingと組み合わせることにより、Webサーバのなりすましとフィッシングサイトの構築が行われる可能性があります。
・OpenSSLのバージョンを修正済みバージョンへアップデートを行ってください。
・修正済みバージョンの適用が困難な場合は、「-DOPENSSL_NO_HEARTBEATS」オプションを有効にしてOpenSSL を再コンパイルしてください。
・OpenSSLのアップデート後、新たに作成した秘密鍵で証明書を再発行してください。
→再発行のお手続き
・新しい証明書をインストールし、古い証明書を失効してください。
→証明書の失効について
※再発行が済んでいない段階で失効を行いますと再発行する事ができません。
必ず、再発行が済んでいる事を確認してください。
ただし、Heartbleedの件を受けてのパスワード変更を促すフィッシングメール、ウェブサイトには十分にご注意ください。
GNU/Linux
ディストリビューション
Red Hat
CentOS
Fedora
Ubuntu
Debian
Arch
Serverside Software
Apache CloudStack
Apache CouchDB
F5
mongoDB
NGINX
Parallels Products
XAMPP
Hardware
Cisco Products
2014.04.30
GMOグローバルサイン株式会社
GMOグローバルサインは、電子認証サービスが登場し始めた1996年より、ベルギーでのサービス提供を開始。2006年よりGMOインターネットグループにジョインし、電子証明書を発行する認証局として累計150万枚以上の発行実績を持ちます。 パブリックルート認証局として、日本をはじめアメリカ・ヨーロッパ・アジアに拠点を置き、政府レベルのセキュリティをワールドワイドに提供しております。 また、サービス開発を日本国内で行っており、国内はもとより、世界のさまざまなニーズに対応した証明書サービスを展開しております。