4
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

それ行けlive patch! Amazon Linux 2で実機検証

Last updated at Posted at 2021-04-05

#はじめに
某ベンダで、クラウドの人材育成企画と研修トレーニングのデリバリを担当しています。
研修準備のためオンプレとクラウドの運用差分を整理していたのですが、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並の機能が実装されるなんて、夢にも思いませんでした。パッチの適用検証、修正パッチのサポート期限とか、まだまだ気になることがあるので、講義のデリバリまでの宿題とし後日検証してみたいと思います。

4
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?