AL2023 でのカーネルライブパッチ - Amazon Linux 2023

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

AL2023 でのカーネルライブパッチ

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

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

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

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

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

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

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

制限

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

注記

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

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

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

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

  • 64 ビット x86_64 または ARM64 アーキテクチャ

  • カーネルバージョン 6.1

ポリシーの要件

AL2023 リポジトリからパッケージをダウンロードするには、Amazon EC2 がサービス所有の Amazon S3 バケットにアクセスする必要があります。環境で Amazon S3 の Amazon Virtual Private Cloud (VPC) エンドポイントを使用している場合は、VPC エンドポイントポリシーでこれらのパブリックバケットへのアクセスが許可されていることを確認してください。 Amazon S3 次の表は、Amazon EC2 がカーネルライブパッチを適用するためにアクセスする必要がある Amazon S3 バケットを示しています。 Amazon EC2

S3 バケット ARN 説明

arn:aws:s3::al2023-repos-region-de612dc2/*

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

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

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

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

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

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

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

カーネルライブパッチを有効にする方法
  1. カーネルライブパッチは、カーネルバージョン 6.1 以降の AL2023 で使用できます。カーネルバージョンを確認するには、次のコマンドを実行します。

    $ sudo dnf list kernel
  2. カーネルライブパッチの DNF プラグインをインストールします。

    $ sudo dnf install -y kpatch-dnf
  3. カーネルライブパッチの DNF プラグインを有効にします。

    $ sudo dnf kernel-livepatch -y auto

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

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

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

    $ sudo rpm -qa | grep kernel-livepatch dnf-plugin-kernel-livepatch-1.0-0.11.amzn2023.noarch kernel-livepatch-6.1.12-17.42-1.0-0.amzn2023.x86_64
  5. kpatch パッケージをインストールします。

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

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

    $ sudo systemctl enable kpatch.service && sudo systemctl start kpatch.service

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

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

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

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

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

$ sudo dnf updateinfo list Last metadata expiration check: 1:06:23 ago on Mon 13 Feb 2023 09:28:19 PM UTC. ALAS2LIVEPATCH-2021-123 important/Sec. kernel-livepatch-6.1.12-17.42-1.0-4.amzn2023.x86_64 ALAS2LIVEPATCH-2022-124 important/Sec. kernel-livepatch-6.1.12-17.42-1.0-3.amzn2023.x86_64
CVE に対する利用可能なすべてのカーネルライブパッチを一覧表示するには

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

$ sudo dnf updateinfo list cves Last metadata expiration check: 1:07:26 ago on Mon 13 Feb 2023 09:28:19 PM UTC. CVE-2022-0123 important/Sec. kernel-livepatch-6.1.12-17.42-1.0-4.amzn2023.x86_64 CVE-2022-3210 important/Sec. kernel-livepatch-6.1.12-17.42-1.0-3.amzn2023.x86_64

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

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

ヒント

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

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

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

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

    $ sudo dnf install kernel-livepatch-kernel_version-package_version.amzn2023.x86_64

    例えば、以下のコマンドは、AL2023 カーネルバージョン 6.1.12-17.42 のカーネルライブパッチを適用します

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

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

$ sudo dnf upgrade --security

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

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

  • AL2023 カーネルは、カーネルライブパッチを 3 か月間入手できます。その後は、そのカーネルバージョンの新しいカーネルライブパッチはリリースされなくなります。

  • 3 か月が過ぎた後にカーネルライブパッチを引き続き入手するには、インスタンスを再起動して新しいカーネルバージョンに移行する必要があります。インスタンスは、更新後 3 か月間は引き続きカーネルライブパッチを受け取ります。

  • お使いのカーネルバージョンのサポート期間を確認するには、以下のコマンドを実行します。

    $ sudo dnf kernel-livepatch support

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

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

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

$ sudo kpatch list Loaded patch modules: livepatch_CVE_2022_36946 [enabled] Installed patch modules: livepatch_CVE_2022_36946 (6.1.57-29.131.amzn2023.x86_64) livepatch_CVE_2022_36946 (6.1.57-30.131.amzn2023.x86_64)

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

注記

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

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

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

  • livepatches の使用の無効化:

    1. プラグインの無効化:

      $ sudo dnf kernel-livepatch manual
    2. kpatch サービスの無効化:

      $ sudo systemctl disable --now kpatch.service
  • livepatch ツールの完全削除:

    1. プラグインの削除:

      $ sudo dnf remove kpatch-dnf
    2. kpatch-runtime の削除:

      $ sudo dnf remove kpatch-runtime
    3. インストールされているすべての livepatches の削除:

      $ sudo dnf remove kernel-livepatch\*