tl;dr
CentOS や Amazon Linux のパッケージ管理ツールとして空気のように当たり前にそこにある yum コマンドにプラグインが存在していること自体は存じ上げておりましたが, yum-plugin-changelog というプラグインが便利だったのでメモしておきます.
尚, 各コマンドの動作確認は以下の環境にて行っております.
$ cat /etc/system-release
Amazon Linux AMI release 2017.09
$ uname -rs
Linux 4.9.76-3.78.amzn1.x86_64
rpm コマンドを使う
rpm コマンドのコマンドラインオプションに --changelog
というオプションがあるので, これを利用することも出来ます.
$ rpm -q --changelog kernel | less
* 金 1月 12 2018 Builder <builder@amazon.com>
- builder/905972272a3121bab2721a139aa8144c53f456d9 last changes:
- linux/3b609073ee74e0c7b1fc2e34aa23ff30eddb536c last changes:
+ [3b609073ee74] [2018-01-04] x86/alternatives: Add missing '\n' at end of ALTERNATIVE inline asm (dwmw@amazon.co.uk)
+ [1fa9a88139bc] [2017-09-17] x86/mm/32: Move setup_clear_cpu_cap(X86_FEATURE_PCID) earlier (luto@kernel.org)
...
これからインストールしようとするパッケージの changelog を確認したい場合には, 以下のように実行することで確認可能です.
$ rpm -qp --changelog https://rpmfind.net/linux/fedora/linux/updates/testing/28/Everything/x86_64/Packages/k/kernel-4.18.7-200.fc28.x86_64.rpm | less
* 月 9月 10 2018 Laura Abbott <labbott@redhat.com> - 4.18.7-200
- Linux v4.18.7
* 日 9月 09 2018 Laura Abbott <labbott@redhat.com> - 4.18.6-200
- Linux v4.18.6
* 金 8月 24 2018 Laura Abbott <labbott@redhat.com> - 4.18.5-200
- Linux v4.18.5
* 金 8月 24 2018 Justin M. Forbes <jforbes@fedoraproject.org> - 4.17.19-200
- Linux v4.17.19
* 水 8月 22 2018 Justin M. Forbes <jforbes@fedoraproject.org> - 4.17.18-200
- Linux v4.17.18
* 月 8月 20 2018 Justin M. Forbes <jforbes@fedoraproject.org> - 4.17.17-200
- Linux v4.17.17
- Fix CVE-2018-15471 (rhbz 1610555 1618414)
* 水 8月 15 2018 Justin M. Forbes <jforbes@fedoraproject.org> - 4.17.14-202
- Include missing Forshadow patches
* 火 8月 14 2018 Justin M. Forbes <jforbes@fedoraproject.org> - 4.17.14-201
- Fix "Foreshadow" CVE-2018-3620 CVE-2018-3646 (rhbz 1585005 1615998)
* 木 8月 09 2018 Justin M. Forbes <jforbes@redhat.com> - 4.17.14-200
- Linux v4.17.14
* 水 8月 08 2018 Justin M. Forbes <jforbes@redhat.com> - 4.17.13-200
- Linux v4.17.13
...
予めインストールするパッケージの URL が把握出来ていれば, このように rpm コマンド --changelog
オプションを使って, 事前にどのような変更が加わっているかを確認することが出来ます.
yum-plugin-changelog は yum の update
コマンドで利用することで, アップデートするパッケージの changelog を確認することが出来る為, アップデートすることにって, どのような変更が加わるのか, どのような脆弱性に対処されているのかを事前に確認することが出来るようになります.
事前に yum-plugin-changelog プラグインをインストールした上で利用します.
sudo yum install yum-plugin-changelog
以下のように実行します.
echo 'N' | sudo yum update --changelog kernel | less
echo 'N'
としているのは, yum update
を実行している為, changelog を出力した後に Is this ok [y/d/N]:
というプロンプトが出てしまうので, 一旦, N
でアップデートされることを回避する為の苦肉の策です. (ここで y
を入力すると, そのままパッケージのアップデート処理が実行されます)
先のコマンドの実行結果は以下のように出力されます.
...
読み込んだプラグイン:changelog, priorities, update-motd, upgrade-helper
依存性の解決をしています
--> トランザクションの確認を実行しています。
---> パッケージ kernel.x86_64 0:4.14.67-66.56.amzn1 を インストール
--> 依存性解決を終了しました。
Changes in packages about to be updated:
===============================================================================
Amazon Linux AMI 2014.03 - ALAS-2018-1058: critical priority package update for kernel
===============================================================================
Update ID : ALAS-2018-1058
Release :
Type : security
Status : final
Issued : 2018-08-10 20:26
Updated : 2018-08-14 17:53 CVEs : CVE-2018-3615
CVE-2018-5391
CVE-2018-3620
CVE-2018-3646
Description : Package updates are available for Amazon Linux AMI that fix the
following vulnerabilities: CVE-2018-5391:
CVE-2018-3646:
CVE-2018-3620:
CVE-2018-3615:
Severity : critical
...
これは Kernel をアップデートすることで CVE-2018-5391 等のIntel 製 CPU の投機的実行機能に対するサイドチャネル攻撃 (L1TF, L1 Terminal Fault) の脆弱性に対応されることがひと目で判ります.
以上
メモでした. 今後, yum-plugin-changelog プラグインは予めインストールしておきたいと思います.