AL2 でのカーネルライブパッチ適用 - Amazon Linux 2

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

AL2 でのカーネルライブパッチ適用

重要

Amazon Linux は、 に AL2 カーネル 4.14 のライブパッチ適用を終了します2025-10-31。お客様は、AL2 のデフォルトカーネルとしてカーネル 5.10 を使用するか (AL2 でサポートされているカーネルを参照)、カーネル 6.1 および 6.12 を使用して AL2023 に移行することをお勧めします。

Amazon Linux は、 に AL2 の有効期限が切れるまで、AL2 カーネル 5.10 のライブパッチを提供します2026-06-30。

Kernel Live Patching for AL2 を使用すると、実行中のアプリケーションを再起動または中断することなく、実行中の Linux カーネルに特定のセキュリティ脆弱性と重大なバグパッチを適用できます。これにより、システムを再起動するまでこれらの修正を適用しながら、サービスとアプリケーションの可用性を向上させることができます。

AL2023 のカーネルライブパッチの詳細については、Amazon Linux 2AL2023の「AL2023 でのカーネルライブパッチ」を参照してください。

AWS は、AL2 用の 2 種類のカーネルライブパッチをリリースします。

  • セキュリティ更新 – Linux の共通脆弱性とエクスポージャー (CVE) の更新プログラムが含まれます。これらの更新プログラムは、通常、Amazon Linux Security Advisory の評価で Important または Critical と評価されます。これらは、通常、共通脆弱性評価システム (CVSS) の 7 以上のスコアに該当します。場合によっては、CVE が割り当てられる前に更新を提供する AWS ことがあります。そのような場合、パッチはバグ修正プログラムとして提供される場合があります。

  • [Bug fixes] (バグ修正) – CVE に関連付けられていない重大なバグや安定性の問題の修正プログラムが含まれます。

AWS は、AL2 カーネルバージョンのカーネルライブパッチをリリース後最大 3 か月間提供します。3 か月が過ぎた後にカーネルライブパッチを引き続き入手するには、新しいカーネルバージョンに更新する必要があります。

AL2 カーネルライブパッチは、既存の AL2 リポジトリで署名付き RPM パッケージとして利用できます。パッチは、既存の yum ワークフローを使用して個々のインスタンスにインストールすることも、 AWS Systems Manager を使用してマネージドインスタンスのグループにインストールすることもできます。

AL2 でのカーネルライブパッチは追加料金なしで提供されます。

サポートされている構成と前提条件

カーネルライブパッチは、Amazon EC2 インスタンスおよび AL2 を実行しているオンプレミス仮想マシンでサポートされています。 AL2

AL2 でカーネルライブパッチを使用するには、以下を使用する必要があります。

  • x86_64 アーキテクチャのカーネルバージョン 4.14 または 5.10

  • ARM64 アーキテクチャのカーネルバージョン 5.10

ポリシーの要件

Amazon Linux リポジトリからパッケージをダウンロードするには、Amazon EC2 がサービス所有の Amazon S3 バケットにアクセスする必要があります。環境で Amazon S3 用に Amazon Virtual Private Cloud (VPC) エンドポイントを使用している場合、VPC エンドポイントポリシーがそれらのパブリックバケットへのアクセスを許可しているようにする必要があります。

この表は、EC2 が Kernel Live Patching のためにアクセスする必要がある可能性がある各 Amazon S3 バケットを示しています。

S3 バケット ARN 説明
arn:aws:s3:::packages.region.amazonaws.com/*

Amazon Linux AMI パッケージを含む Amazon S3 バケット

arn:aws:s3:::repo.region.amazonaws.com/*

Amazon Linux AMI リポジトリを含む Amazon S3 バケット

arn:aws:s3:::amazonlinux.region.amazonaws.com/*

AL2 リポジトリを含む Amazon S3 バケット

arn:aws:s3:::amazonlinux-2-repos-region/*

AL2 リポジトリを含む Amazon S3 バケット

次のポリシーは、組織に属する ID とリソースへのアクセスを制限し、Kernel Live Patching に必要な Amazon S3 バケットへのアクセスを提供する方法を示しています。regionprincipal-org-idresource-org-id を組織の値に置き換えます。

JSON
{ "Version":"2012-10-17", "Statement": [ { "Sid": "AllowRequestsByOrgsIdentitiesToOrgsResources", "Effect": "Allow", "Principal": { "AWS": "*" }, "Action": "*", "Resource": "*", "Condition": { "StringEquals": { "aws:PrincipalOrgID": "principal-org-id", "aws:ResourceOrgID": "resource-org-id" } } }, { "Sid": "AllowAccessToAmazonLinuxAMIRepositories", "Effect": "Allow", "Principal": { "AWS": "*" }, "Action": [ "s3:GetObject" ], "Resource": [ "arn:aws:s3:::packages.region.amazonaws.com/*", "arn:aws:s3:::repo.region.amazonaws.com/*", "arn:aws:s3:::amazonlinux.region.amazonaws.com/*", "arn:aws:s3:::amazonlinux-2-repos-region/*" ] } ] }

カーネルライブパッチを使用する

インスタンス自体のコマンドラインを使用して、個々のインスタンスでカーネルライブパッチを有効にして使用したり、 AWS Systems Manager を使用してマネージドインスタンスのグループでカーネルライブパッチを有効にして使用したりできます。

以下のセクションでは、コマンドラインを使用して、カーネルライブパッチを有効にして個別のインスタンスで使用する方法について説明します。

マネージドインスタンスのグループでのカーネルライブパッチの有効化と使用の詳細については、 AWS Systems Manager ユーザーガイドAL2 インスタンスでのカーネルライブパッチの使用」を参照してください。

カーネルライブパッチの有効化

カーネルライブパッチは、AL2 ではデフォルトで無効になっています。ライブパッチを使用するには、カーネルライブパッチの yum プラグインをインストールして、ライブパッチ機能を有効にする必要があります。

前提条件

カーネルライブパッチには binutils が必要です。binutils がインストールされていない場合は、以下のコマンドを使用してインストールします。

$ sudo yum install binutils
カーネルライブパッチを有効にするには
  1. カーネルライブパッチは、次の AL2 カーネルバージョンで使用できます。

    • x86_64 アーキテクチャのカーネルバージョン 4.14 または 5.10

    • ARM64 アーキテクチャのカーネルバージョン 5.10

    カーネルバージョンを確認するには、次のコマンドを実行します。

    $ sudo yum list kernel
  2. サポートされているカーネルバージョンが既にある場合は、この手順はスキップしてください。サポートされているカーネルバージョンがない場合は、次のコマンドを実行して、カーネルを最新バージョンに更新し、インスタンスを再起動します。

    $ sudo yum install -y kernel
    $ sudo reboot
  3. カーネルライブパッチの yum プラグインをインストールします。

    $ sudo yum install -y yum-plugin-kernel-livepatch
  4. カーネルライブパッチの yum プラグインを有効にします。

    $ sudo yum kernel-livepatch enable -y

    このコマンドは、設定されているリポジトリから最新バージョンのカーネルライブパッチの RPM もインストールします。

  5. カーネルライブパッチの yum プラグインが正常にインストールされたことを確認するには、次のコマンドを実行します。

    $ rpm -qa | grep kernel-livepatch

    カーネルライブパッチを有効にすると、空のカーネルライブパッチの RPM が自動的に適用されます。カーネルライブパッチが正常に有効になっていれば、このコマンドは最初の空のカーネルライブパッチの RPM を含むリストを返します。以下は出力の例です。

    yum-plugin-kernel-livepatch-1.0-0.11.amzn2.noarch kernel-livepatch-5.10.102-99.473-1.0-0.amzn2.x86_64
  6. kpatch パッケージをインストールします。

    $ sudo yum install -y kpatch-runtime
  7. 既にインストール済みの場合は、kpatch サービスを更新します。

    $ sudo yum update kpatch-runtime
  8. kpatch サービスを起動します。このサービスは、初期化時または起動時にすべてのカーネルライブパッチをロードします。

    $ sudo systemctl enable kpatch.service && sudo systemctl start kpatch.service
  9. AL2 Extras Library でカーネルライブパッチトピックを有効にします。このトピックには、カーネルライブパッチが含まれています。

    $ sudo amazon-linux-extras enable livepatch

利用可能なカーネルライブパッチを表示する

Amazon Linux のセキュリティアラートは、Amazon Linux Security Center に公開されます。カーネルライブパッチのアラートを含む AL2 セキュリティアラートの詳細については、Amazon Linux セキュリティセンターを参照してください。カーネルライブパッチには、ALASLIVEPATCH というプレフィクスが付きます。Amazon Linux Security Center では、バグに対応するカーネルライブパッチは一覧に表示されていない場合があります。

アドバイザリおよび CVE に対する利用可能なカーネルライブパッチは、コマンドラインを使用して見つけることもできます。

アドバイザリに対する利用可能なすべてのカーネルライブパッチを一覧表示するには

次のコマンドを使用します。

$ yum updateinfo list

出力例を次に示します。

Loaded plugins: extras_suggestions, kernel-livepatch, langpacks, priorities, update-motd ALAS2LIVEPATCH-2020-002 important/Sec. kernel-livepatch-5.10.102-99.473-1.0-3.amzn2.x86_64 ALAS2LIVEPATCH-2020-005 medium/Sec. kernel-livepatch-5.10.102-99.473-1.0-4.amzn2.x86_64 updateinfo list done
CVE に対する利用可能なすべてのカーネルライブパッチを一覧表示するには

次のコマンドを使用します。

$ yum updateinfo list cves

出力例を次に示します。

Loaded plugins: extras_suggestions, kernel-livepatch, langpacks, priorities, update-motdamzn2-core/2/x86_64 | 2.4 kB 00:00:00 CVE-2019-15918 important/Sec. kernel-livepatch-5.10.102-99.473-1.0-3.amzn2.x86_64 CVE-2019-20096 important/Sec. kernel-livepatch-5.10.102-99.473-1.0-3.amzn2.x86_64 CVE-2020-8648 medium/Sec. kernel-livepatch-5.10.102-99.473-1.0-4.amzn2.x86_64 updateinfo list done

カーネルライブパッチの適用

カーネルライブパッチは、yum パッケージマネージャーを使用して、通常の更新プログラムを適用するのと同じ方法で適用します。カーネルライブパッチ用の yum プラグインは、適用可能なカーネルライブパッチを管理します。

ヒント

システムを再起動できるようになるまで、重要かつ重大なセキュリティ修正を確実に適用するために、カーネルライブパッチを利用してカーネルを定期的に更新することをお勧めします。ライブパッチとしてデプロイ追加の修正がネイティブのカーネルパッケージに含まれているかどうかも確認し、その場合はカーネルを更新および再起動してください。

特定のカーネルライブパッチを適用するか、利用可能なカーネルライブパッチを定期的なセキュリティ更新プログラムと一緒に適用するかを選択できます。

特定のカーネルライブパッチを適用するには
  1. 利用可能なカーネルライブパッチを表示する」で説明されているコマンドのいずれかを使用して、カーネルライブパッチのバージョンを取得します。

  2. AL2 カーネルにカーネルライブパッチを適用します。

    $ sudo yum install kernel-livepatch-kernel_version.x86_64

    たとえば、次のコマンドは AL2 カーネルバージョン のカーネルライブパッチを適用します5.10.102-99.473

    $ sudo yum install kernel-livepatch-5.10.102-99.473-1.0-4.amzn2.x86_64
利用可能なカーネルライブパッチを定期的なセキュリティ更新プログラムと一緒に適用する方法

次のコマンドを使用します。

$ sudo yum update --security

バグ修正プログラムを含めるには、--security オプションを省略します。

重要
  • カーネルライブパッチを適用しても、カーネルバージョンは更新されません。バージョンは、インスタンスを再起動した後でのみ新しいバージョンに更新されます。

  • AL2 カーネルは、カーネルライブパッチを 3 か月間受け取ります。3 か月が過ぎると、そのカーネルバージョンの新しいカーネルライブパッチはリリースされなくなります。3 か月が過ぎた後にカーネルライブパッチを引き続き入手するには、インスタンスを再起動して新しいカーネルバージョンに移行する必要があります。これにより、次の 3 か月も引き続きカーネルライブパッチを入手することができます。お使いのカーネルバージョンのサポート期間を確認するには、yum kernel-livepatch supported を実行します。

適用されたカーネルライブパッチの表示

適用されたカーネルライブパッチを表示するには

次のコマンドを使用します。

$ kpatch list

このコマンドは、ロードおよびインストールされたセキュリティ更新プログラムのカーネルライブパッチのリストを返します。出力例を次に示します。

Loaded patch modules: livepatch_cifs_lease_buffer_len [enabled] livepatch_CVE_2019_20096 [enabled] livepatch_CVE_2020_8648 [enabled] Installed patch modules: livepatch_cifs_lease_buffer_len (5.10.102-99.473.amzn2.x86_64) livepatch_CVE_2019_20096 (5.10.102-99.473.amzn2.x86_64) livepatch_CVE_2020_8648 (5.10.102-99.473.amzn2.x86_64)
注記

1 つのカーネルライブパッチには、複数のライブパッチが含まれていてインストールされる場合があります。

カーネルライブパッチの無効化

カーネルライブパッチを使用する必要がなくなった場合は、いつでも無効にできます。

カーネルライブパッチを無効にするには
  1. 適用されたカーネルライブパッチの RPM パッケージを削除します。

    $ sudo yum kernel-livepatch disable
  2. カーネルライブパッチの yum プラグインをアンインストールします。

    $ sudo yum remove yum-plugin-kernel-livepatch
  3. インスタンスを再起動します。

    $ sudo reboot

制限事項

カーネルライブパッチには以下の制限があります。

  • カーネルライブパッチの適用中は、休止を実行したり、高度なデバッグツール (SystemTap、kprobes、eBPF ベースのツールなど) を使用したり、カーネルライブパッチを適用したインフラストラクチャで使用されている ftrace の出力ファイルにアクセスしたりすることはできません。

  • 注記

    技術的な制限により、ライブパッチの適用では一部の問題に対処できません。このため、これらの修正はカーネルライブパッチパッケージに含まれず、ネイティブカーネルパッケージの更新でのみ提供されます。ネイティブカーネルパッケージの更新をインストールし、システムを再起動して、通常どおりパッチをアクティブ化できます。

よくある質問

AL2 のカーネルライブパッチに関するよくある質問については、Amazon Linux 2 カーネルライブパッチに関するよくある質問を参照してください。