#はじめに
某ベンダで、クラウドの人材育成企画と研修トレーニングのデリバリを担当しています。
研修準備のためオンプレとクラウドの運用差分を整理していたのですが、Amazon Linux 2でlive patchができる記事を見つけちゃいました。
◯ Kernel Live Patching on Amazon Linux 2
https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/al2-live-patching.html
Oracle Unbreakable Linuxは、Live Patchができることは知ってたのですが、Amazon Linux 2もできるとのこと。上記の手順を参照に気に実機で検証してみました。
#前提条件
以下の環境で試します。
[AMI]
Amazon Linux 2 AMI (HVM),
SSD Volume Type ami-06202e06492f46177 (64-bit x86)[Instance Type]
c5.large
設定手順は、rootユーザ権限
を前提にします。
カーネルバージョンは↓です。
# uname -r
4.14.209-160.339.amzn2.aarch64
#1. パッケージのインストール
パッケージbinutils、yum-plugin-kernel-livepatch、kpatch-runtime
を追加します。
# yum install binutils
# yum install -y yum-plugin-kernel-livepatch
# yum kernel-livepatch enable -y
Loaded plugins: kernel-livepatch, priorities, update-motd
Loaded plugins: priorities, update-motd
Trying to run the transaction but nothing to do. Exiting.
Complete!
kernel-livepatch enable True done
# yum install -y kpatch-runtime
# yum update kpatch-runtime
#2. kpatchサービスの設定
systemctlコマンドで、kpatchサービスを設定します。
# systemctl enable kpatch.service
# systemctl start kpatch.service
# systemctl status kpatch.service
#3. Amazon Linux 2 Kernel Live Patchingリポジトリの有効化
Kernel Live Patchingリポジトリを有効化します。
# amazon-linux-extras enable livepatch
# amazon-linux-extras enable livepatch | grep live
43 livepatch=latest enabled [ =stable ]
#カーネルパッチリストのアップデート
次は、カーネルパッチリストのアップデートです。
# yum updateinfo list
Loaded plugins: extras_suggestions, kernel-livepatch, langpacks, priorities,
: update-motd
amzn2-core/2/x86_64 | 3.7 kB 00:00
amzn2-core-debuginfo/2/x86_64 | 2.6 kB 00:00
updateinfo list done
CVE(Common Vulnerabilities and Exposures)に関する惰弱性の修正パッチリストを表示します。
# yum updateinfo list cves
Loaded plugins: extras_suggestions, kernel-livepatch, langpacks, priorities,
: update-motd
updateinfo list done
#
え、、、、何も表示されない。。。何故だ、、、と思ってuname -r
でkernelのbuild dateを確認すると、どうもまだ新しいディストリビューションらしい(Mar 22 20:14:50 UTC 2021)。。。そのため、CVEに関する惰弱性の修正パッチが出てないみたいです。(本記事執筆時の21年3月31日時点)
# uname -a
Linux ip-172-31-25-107.ap-southeast-2.compute.internal 4.14.225-169.362.amzn2.x86_64 #1 SMP Mon Mar 22 20:14:50 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
後はパッチを適用するだけだったのに、、、残念。ここからは、想定手順です。
#4. livepatchの適用(未検証)
kernelのバージョンに合わせて、パッチを適用します。
# yum install kernel-livepatch-44.14.209-160.339.amzn2.x86_64
パッチが適用されていることを確認します。
# kpatch list
#まとめ
LivePatch機能を適用して、再起動後にパッチが外れるか適用されたままなのかまで確認したかったのですが、最後まで辿り着けず。。。選択したAMIが新しくて、修正パッチがないため適用まで確認することが出来ませんでした。思えば、10年前まで惰弱性パッチなんてなくて、修正版の適用は、kernelの入れ替えしかありませんでした。まさか商用Unix並の機能が実装されるなんて、夢にも思いませんでした。パッチの適用検証、修正パッチのサポート期限とか、まだまだ気になることがあるので、講義のデリバリまでの宿題とし後日検証してみたいと思います。