OpenSSL脆弱性、Heartbleedの対処方法(CVE-2014-0160)


# 概要
バグの詳細については各所の記事を参照して下さい。

> http://heartbleed.com/
http://d.hatena.ne.jp/nekoruri/20140408/heartbleed
http://jvn.jp/vu/JVNVU94401838/
http://gigazine.net/news/20140408-heartbleed-bug/
http://jp.techcrunch.com/2014/04/08/20140407massive-security-bug-in-openssl-could-effect-a-huge-chunk-of-the-internet/

> opensslのバージョン確認とアップデート
http://qiita.com/aki/items/88f82038c5a205682023

# 実際のアップデート

CentOS6.5でアップデートを行ってみました。

<pre>
# openssl version
OpenSSL 1.0.1e-fips 11 Feb 2013
</pre>

まずはバージョンを確認したところ、1.0.1eでしたので脆弱性のバージョンです。

<pre>
# yum list updates
...中略...
# yum update openssl
Loaded plugins: fastestmirror, refresh-packagekit, security
Loading mirror speeds from cached hostfile
 * base: mirror.fairway.ne.jp
 * epel: ftp.riken.jp
 * extras: mirror.fairway.ne.jp
 * rpmforge: ftp.riken.jp
 * updates: ftp.riken.jp
Setting up Update Process
Resolving Dependencies
--> Running transaction check
---> Package openssl.x86_64 0:1.0.1e-16.el6_5.4 will be updated
--> Processing Dependency: openssl = 1.0.1e-16.el6_5.4 for package: openssl-devel-1.0.1e-16.el6_5.4.x86_64
---> Package openssl.x86_64 0:1.0.1e-16.el6_5.7 will be an update
--> Running transaction check
---> Package openssl-devel.x86_64 0:1.0.1e-16.el6_5.4 will be updated
---> Package openssl-devel.x86_64 0:1.0.1e-16.el6_5.7 will be an update
--> Finished Dependency Resolution

Dependencies Resolved

====================================================================================================================
 Package                      Arch                  Version                            Repository              Size
====================================================================================================================
Updating:
 openssl                      x86_64                1.0.1e-16.el6_5.7                  updates                1.5 M
Updating for dependencies:
 openssl-devel                x86_64                1.0.1e-16.el6_5.7                  updates                1.2 M

Transaction Summary
====================================================================================================================
Upgrade       2 Package(s)

Total download size: 2.7 M
Is this ok [y/N]: y
Downloading Packages:
(1/2): openssl-1.0.1e-16.el6_5.7.x86_64.rpm                                                  | 1.5 MB     00:00     
(2/2): openssl-devel-1.0.1e-16.el6_5.7.x86_64.rpm                                            | 1.2 MB     00:00     
--------------------------------------------------------------------------------------------------------------------
Total                                                                               3.8 MB/s | 2.7 MB     00:00     
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
  Updating   : openssl-1.0.1e-16.el6_5.7.x86_64                                                                 1/4 
  Updating   : openssl-devel-1.0.1e-16.el6_5.7.x86_64                                                           2/4 
  Cleanup    : openssl-devel-1.0.1e-16.el6_5.4.x86_64                                                           3/4 
  Cleanup    : openssl-1.0.1e-16.el6_5.4.x86_64                                                                 4/4 
  Verifying  : openssl-1.0.1e-16.el6_5.7.x86_64                                                                 1/4 
  Verifying  : openssl-devel-1.0.1e-16.el6_5.7.x86_64                                                           2/4 
  Verifying  : openssl-1.0.1e-16.el6_5.4.x86_64                                                                 3/4 
  Verifying  : openssl-devel-1.0.1e-16.el6_5.4.x86_64                                                           4/4 

Updated:
  openssl.x86_64 0:1.0.1e-16.el6_5.7                                                                                

Dependency Updated:
  openssl-devel.x86_64 0:1.0.1e-16.el6_5.7                                                                          

Complete!
</pre>

バージョンを確認してみましょう。

<pre>
# openssl version
OpenSSL 1.0.1e-fips 11 Feb 2013
</pre>

まだ1.0.1eのままですが、適応されたバージョンのchengelogを確認すると

<pre>
Changes in packages about to be updated:

ChangeLog for: openssl-1.0.1e-16.el6_5.7.x86_64, openssl-devel-1.0.1e-16.el6_5.7.x86_64
* Mon Apr  7 21:00:00 2014 Tomáš Mráz <tmraz@redhat.com> 1.0.1e-16.7
- fix CVE-2014-0160 - information disclosure in TLS heartbeat extension
</pre>

とあるので、バージョンは変わってないけど、パッチは当たっている状態かと思われます。

<pre>
# service httpd restart
</pre>

最後にApacheの再起動を行なって反映されます。

# 修正されたか確認

脆弱性があるか確認出来るサイトがあるので確認してみましょう。
http://filippo.io/Heartbleed/

# 余談

Twitterなどのタイムラインでかなり話題となっていますね。
きっと世界中の技術者が対応に追われているんでしょう。
そんな中、上手いなーっと思ったので紹介します。

<blockquote class="twitter-tweet" lang="ja"><p>Heartbleedで取れる情報を「メモリーガチャ」って言われてなるほどなーと思った。無課金で回し続けられるし、Sレア入ってるかも</p>&mdash; Kaoru Maeda 前田 薫 (@mad_p) <a href="https://twitter.com/mad_p/statuses/453482047885938688">2014, 4月 8</a></blockquote>

無課金でも回しちゃダメだよｗｗｗ