確認方法
CHANGELOGの確認方法(YUMでインストールしたものも含まれます)
rpm -q --changelog パッケージ名 | head -n 30
OpenSSLの例:
rpm -q --changelog openssl | head -n 30
経緯
なんでパッケージのCHANGELOGの確認方法なんか調べていたのか。
Heartbleedバグに引き続き、先日またOpenSSLにCCSバグが発見されたため緊急対応を行いました。
AWSのサーバーとDigitalOceanのサーバーの対応が必要でした。
openssl-1.0.1h がfixedバージョンでありAWSの方はこのバージョンをインストールできました。
* 木 6月 05 2014 Ben Cressey <bcressey@amazon.com>
- rebase to upstream 1.0.1h
* 火 6月 03 2014 Ben Cressey <bcressey@amazon.com>
- add upstream fixes
* 水 4月 09 2014 Cristian Gafton <gafton@amazon.com>
- rebase to upstream v1.0.1g
* 月 4月 07 2014 Ben Cressey <bcressey@amazon.com>
- use dlopen with libssl for FIPS verification
DigitalOceanの方はというと、公式リポジトリにあるのは openssl-1.0.1e-16.14 でした。
おや?と思い、とりあえず更新をインストールしてからCHANGELOGを確認した結果がこちら↓
* 月 6月 02 2014 Tomáš Mráz <tmraz@redhat.com> 1.0.1e-16.14
- fix CVE-2010-5298 - possible use of memory after free
- fix CVE-2014-0195 - buffer overflow via invalid DTLS fragment
- fix CVE-2014-0198 - possible NULL pointer dereference
- fix CVE-2014-0221 - DoS from invalid DTLS handshake packet
- fix CVE-2014-0224 - SSL/TLS MITM vulnerability
- fix CVE-2014-3470 - client-side DoS when using anonymous ECDH
* 月 4月 07 2014 Tomáš Mráz <tmraz@redhat.com> 1.0.1e-16.7
- fix CVE-2014-0160 - information disclosure in TLS heartbeat extension
* 火 1月 07 2014 Tomáš Mráz <tmraz@redhat.com> 1.0.1e-16.4
- fix CVE-2013-4353 - Invalid TLS handshake crash
バージョン番号は違うけどきちんとパッチは当たっているようです。
google先生で、CVE-2014-0224
を検索して内容を確認したところやはりこれで問題ないようです。
結論
ソフトウェアのベースが同じでも管理が異なれば必ずしもバージョン番号が一致するとは限りません。
AWSのようにリポジトリを自社で管理しているような場合は特にですね。
セキュリティー対策のためのパッケージアップデートは必須の作業ですが、
アップデートしたパッケージが正しく問題を解決するバージョンであるかを正確に確認することも
併せて重要な作業だとおもいます。
サーバーをセキュアに保つためにも更新後のCHANGELOGを確認する癖は身に付けておくべきですね。
(と、自分に言い聞かせているww)
参考:
http://blog.jicoman.info/2014/04/openssl_heartbleed/
おまけ
古いキャッシュを掃除してから更新するのが正しいお作法のようです。
sudo yum check-update ;
sudo yum clean all ;
sudo yum update openssl ;