OpenSSLのHartbleed Bugへの対応まとめ【Amazon AWS】
OpenSSLに重大な不具合が発見されましたね。
平たく言うと、この不具合が悪用されればSSLで暗号化されていたシステムのメモリーデータが閲覧できてしまうとのこと。
さらに秘密鍵まで盗まれてしまう可能性があるので、大切な個人データが傍受される可能性があるそうです。
影響
以下抜粋
OpenSSLの重大バグが発覚。インターネットの大部分に影響の可能性 - TechCrunch
セキュリティー研究者らが “Heartbleed“と呼ぶそのバグを悪用すると、過去2年以内のあらゆるバージョンのOpenSSLが走るシステムで、システムメモリー上にある大量のデータを暴露することが可能だ。
黒い研究者め!!
このバグは、OpenSSLに2年以上存在していたが(2011年12月以来、OpenSSL 1.0.1~1.0.1f)、今日初めて発見され公表された。さらに悪いことには、このバグを悪用してもその痕跡はログに残らないようだ。つまり、システム管理者は自分のサーバーが侵入されたかどうかを知る術がない。されたと仮定するほかはない。
いいですか。「されたと仮定するほかはない。」ですよ。
影響のあるバージョン
Amazon Linuxは対応済みですので、新しくインスタンスを作成する場合は問題ナシです。
OpenSSL 1.0.1 through 1.0.1f
Heartbleed Bug
What versions of the OpenSSL are affected?
Status of different versions:
OpenSSL 1.0.1 through 1.0.1f (inclusive) are vulnerable
OpenSSL 1.0.1g is NOT vulnerable
OpenSSL 1.0.0 branch is NOT vulnerable
OpenSSL 0.9.8 branch is NOT vulnerable
Bug was introduced to OpenSSL in December 2011 and has been out in the wild since OpenSSL release 1.0.1 on 14th of March 2012. OpenSSL 1.0.1g released on 7th of April 2014 fixes the bug.
AWS側での対応
AWS から OpenSSL の脆弱性について AWS のサービスアップデート | アマゾン ウェブ サービス(AWS 日本語)
ユーザーが必要な対応
- 利用中のインスタンスでのOpenSSLパッケージのアップデート
2014.04.11追記:タイムゾーンの設定がクリアされたりする可能性あり。要動作確認です。 - 秘密鍵の更新
- 証明書の更新
- WEBサーバー再起動
問題あるかの確認方法
All goodかどうかを見るだけっぽいです。。
http://filippo.io/Heartbleed/
バージョン確認
これだけだと特定できないようです。
$ openssl version OpenSSL 1.0.1e-fips 11 Feb 2013
changelogで確認
- あかんやつ
$ rpm -q --changelog openssl | head -n 3 * 木 9月 19 2013 Andrew Jorgensen <ajorgens@amazon.com> - Ensure ldconfig is run on install
- あたらしいやつ適用済み
$ rpm -q --changelog openssl | head -n 3 * 月 4月 07 2014 Cristian Gafton <gafton@amazon.com> - add fixes from upstream 1.0.1f/g releases (CVE-2014-0160, fixes for CVE-2013-0169)
アップデートを確認
$ yum list updates| grep openssl openssl.x86_64 1:1.0.1e-37.66.amzn1 amzn-updates【これ】 openssl-devel.x86_64 1:1.0.1e-37.66.amzn1 amzn-updates
きれい好きなので。。
$ sudo yum clean all 読み込んだプラグイン:priorities, update-motd, upgrade-helper リポジトリーを清掃しています: amzn-main amzn-updates Cleaning up everything
レッツゴー!!
$ sudo yum -y update openssl ============================================================================================================ Package アーキテクチャー バージョン リポジトリー 容量 ============================================================================================================ 更新します: audit x86_64 2.3.2-3.19.amzn1 amzn-main 258 k openssl x86_64 1:1.0.1e-37.66.amzn1 amzn-updates 1.7 M 依存性関連での更新をします: audit-libs x86_64 2.3.2-3.19.amzn1 amzn-main 87 k glibc x86_64 2.17-36.81.amzn1 amzn-updates 5.6 M glibc-common x86_64 2.17-36.81.amzn1 amzn-updates 28 M glibc-devel x86_64 2.17-36.81.amzn1 amzn-updates 1.1 M glibc-headers x86_64 2.17-36.81.amzn1 amzn-updates 718 k openssl-devel x86_64 1:1.0.1e-37.66.amzn1 amzn-updates 1.3 M トランザクションの要約 ============================================================================================================
もっかい確認
$ rpm -q --changelog openssl | head -n 3
鍵や証明書の更新もお忘れなく
依存関係でアップデートできない場合
SSLのサイトだけクラウドに移行してはいかがでしょうか。
テストして問題なければBlue-Green Deploymentで切り替え可能です。