ENGINEER BLOG ENGINEER BLOG
  • 公開日
  • 最終更新日

【Patch Manager】Patch Managerの構築方法と注意点

この記事を共有する

目次

はじめに

皆さんこんにちは!パーソル&サーバーワークスの小泉です。
今回はWindows Serverに対しての AWS Systems Manager Patch Manager (以下Patch Manager) の構築方法と検証内容及び注意点をまとめました。
Patch Manager は、マネージドノードに対してセキュリティ関連の更新プログラムやその他の種類の更新プログラムを自動的に検出及び適用するためのサービスです。

構成図

今回、Patch Managerでパッチの検証を行う際の構成図を以下に記載します。

構成図2.png

Private Subnet にある EC2(Windows Server) で Patch Manager を利用する前提条件

Private Subnet 内に配置された EC2 インスタンス(Windows Server)で Patch Manager を利用するためには、次の前提条件を満たしている必要があります。

  • EC2 インスタンスに SSM Agent が導入されていること
  • インスタンスに関連付けられた IAM ロール が、SSM及びS3バケット※へのアクセス権限を持っていること
  • VPC 内から SSM、S3 及び Windows Update Catalogに到達できる通信経路(NAT Gateway ,VPC エンドポイント など)が用意されていること

※パッチベースラインが格納されているS3バケット

VPC エンドポイントを利用する場合に必要な 4 種類

  • com.amazonaws..ssm
  • com.amazonaws..ec2messages
  • com.amazonaws..ssmmessages
  • com.amazonaws..s3

※以下の構築方法ではVPC及びEC2などの構築を割愛します。

構築方法

パッチベースラインの作成

パッチベースラインとは

パッチベースラインとは、マネージドノードにどのパッチを適用するかを定義するルールセットです。パッチベースラインでは、以下の設定が可能です:

  • 分類(Critical Updates,Security Updatesなど)
  • 重要度
  • パッチがリリースされてから自動承認されるまでの待機日数の設定
  • 特定のパッチを明示的に承認または拒否する

Patch Managerは、各オペレーティングシステム向けに事前定義されたパッチベースラインを提供していますが、組織の要件に合わせてカスタムパッチベースラインを作成することもできます。

Windows Server向けの事前定義されたパッチベースラインには以下の3種類があります:

  1. AWS-DefaultPatchBaseline
  2. AWS-WindowsPredefinedPatchBaseline-OS
  3. AWS-WindowsPredefinedPatchBaseline-OS-Applications

カスタムパッチベースラインの作成手順

① AWS Management Consoleにサインインし、Systems Managerコンソールを開きます
② ナビゲーションペインで「Patch Manager」を選択します
③ 「パッチベースライン」タブを選択し、「パッチベースラインを作成する」をクリックします

カスタムベースライン1.png

④ 以下の通り、設定を行います

カスタムベースライン2.png

カスタムベースライン3.png

※赤枠の設定について後程解説します。

⑤ 「パッチベースラインの作成」をクリックして保存します

カスタムベースライン4.png

パッチポリシーの作成

パッチポリシーとは

パッチポリシーは、AWS Systems Manager Quick Setupを使用して設定でき、パッチ適用操作をより広範囲かつ一元的に制御できます。
パッチポリシーを使用すると、単一の構成で組織内のすべてのアカウントとリージョンのマネージドノードに対するパッチ適用を定義できます。

パッチポリシーの主な特徴は以下の通りです:

  • 単一のセットアップ: すべてのパッチ適用操作を1つのウィザードで設定可能
  • マルチアカウント/マルチリージョンのサポート: 組織内のすべてのAWSアカウントとリージョンに適用可能
  • 簡素化されたパッチベースライン選択: 各OSタイプに使用するパッチベースラインを一覧から選択可能

パッチポリシーの作成手順

① AWS Management Consoleにサインインし、Systems Managerコンソールを開きます
② ナビゲーションペインで「Quick Setup」を選択します
③ 「ライブラリ」をクリックし、「Patch Manager Powered by Systems Manager」から作成をクリックします

パッチポリシー1.png

④ 以下の通り、設定を行います

パッチポリシー2.png

パッチポリシー3.png

※赤枠では先ほど作成したパッチベースラインを設定します。

パッチポリシー4.png

パッチポリシー5.png

パッチポリシー6.png

⑤ 「作成」をクリックして保存します

パッチポリシー7.png

⑥デプロイが成功していたら完了です

パッチポリシー8.png

構築されるリソースについて

パッチポリシーを作成するとCloudFormationが実行され、以下のリソースが作成されます。

  • S3バケット
    • アクセスログ用のS3バケット(ログ出力の☑ボックスを外しても作成されます)
    • パッチベースラインが格納されるS3バケット
  • State Manager
  • Lambda
  • IAM ロール

スキャンの実施・結果確認

EC2(Windows Server 2022)に対して、上記で作成した内容でパッチのスキャンが実施されます。※

  • 使用したAMI:ami-0153afb1558635672
  • EC2のタグ key:[Name] value:[Patch]

※パッチポリシーをcron(0/30 * * * ? *)で設定しているため、30分おきにスキャンが実行されます

コンプライアンスレポートの確認

スキャン完了後、実行結果(コンプライアンスレポート)を確認します。

コンプライアンスレポート1.png

コンプライアンスレポート2.png

スキャンの結果以下のことがわかりました。

コンプラアンスの状況:非準拠
KB5063880:Missing
KB5063522:AvailableSecurityUpdate

Security Hub CSPMの確認

Security Hub CSPMには以下のイベントが検出されます。

securityhub確認1.png

カスタムベースライン3.png

赤枠のイベントの重大度とパッチベースラインで設定した重大度が一致します。

※Security Hub CSPMに検出結果が表示されない場合は、Patch Managerの設定からエクスポート設定が有効になっていることを確認してください。

securityhub.png

検証内容

検証のゴール

コンプライアンスの状況を準拠にすることを本検証のゴールにします。

パッチの状態確認

まず検出されたパッチの状態「Missing」「AvailableSecurityUpdate」を調べます。

Missing:パッチベースラインで承認されているが、インストールされていないパッチ AvailableSecurityUpdate※:パッチベースラインで指定されたインストール基準を満たしていないため、使用可能ではあるものの承認されていないセキュリティパッチ

参考

※AvailableSecurityUpdateは作成したパッチベースラインで今回は「非準拠」としましたが、「準拠」にすることが可能です。

カスタムベースライン2.png

このことから、以下の設定をすると準拠になることがわかります。

KB番号 ステータス 準拠にする方法
KB5063880 Missing ・パッチを適用する
・例外リストの拒否リストに設定する
KB5063522 AvailableSecurityUpdate ・パッチベースラインで準拠に設定する
・パッチを適用する
・例外リストの拒否リストに設定する※

※後述する注意点でも記載していますが、AvailableSecurityUpdateのパッチに関しては例外リストの拒否リストに設定しても準拠になりませんでした。

検証手順

では以下の対応方針で、実際に準拠になるか検証していきます。

KB番号 ステータス 対応方針
KB5063880 Missing ・例外リストの拒否リストに設定する
KB5063522 AvailableSecurityUpdate ・パッチベースラインで準拠に設定する

例外リストの拒否リストにKB5063880を設定します。

パッチの例外.png

パッチベースラインを準拠に設定します。

準拠.png

では、パッチのScan及び適用を行います。

パッチ適用.png

無事に準拠になることが確認できました。

コンプライアンスレポート準拠.png

注意点

コンプライアンスレポートの注意点

以下公式ドキュメントにある通り、同じインスタンスに対して複数種類のスキャンを設定すると、コンプライアンスレポートは上書きされます。
コンプライアンスレポートの上書きについて

そのため、同一インスタンスに対して複数のパッチスキャン方法を使用している場合、最後に実行されたスキャンの結果がコンプライアンスデータとして表示されます。

パッチスキャンの注意点

検証の際に、AvailableSecurityUpdateのパッチを例外リストに入れた後に、スキャンを実施した結果、再度非準拠で検出されたのでPatch Managerを構築する際には入念な検証が必要と感じました。

KB番号 ステータス 対応方針
KB5063880 Missing ・例外リストの拒否リストに設定する
KB5063522 AvailableSecurityUpdate 例外リストの拒否リストに設定する

まとめ

Patch Managerを実際に構築することで以下のことが学べました!

  1. パッチポリシーの設計: スキャンとインストールのスケジュールを適切に設定し、業務への影響を最小限に抑える必要があること
  2. 複数のスキャン方法の回避: コンプライアンスデータの上書きを防ぐため、1つのスキャン方法のみを使用すること
  3. リソース管理の理解: パッチポリシーを作成すると、S3バケットやState Manager関連付けなど複数のリソースが自動的に作成されること

この記事は私が書きました

小泉 和貴

記事一覧

全国を旅行することを目標に、仕事を頑張っています。

小泉 和貴

この記事を共有する

クラウドのご相談

CONTACT

クラウド導入や運用でお悩みの方は、お気軽にご相談ください。
専門家がサポートします。

サービス資料ダウンロード

DOWNLOAD

ビジネスをクラウドで加速させる準備はできていますか?
今すぐサービス資料をダウンロードして、詳細をご確認ください。