OS Patch Management


一連の Compute Engine VM インスタンス(VM)全体にオペレーティング システムのパッチを適用するには、OS Patch Management を使用します。長時間実行される VM では、欠陥や脆弱性から保護するために定期的にシステムを更新する必要があります。

OS Patch Management サービスには次の 2 つの主要コンポーネントがあります。

  • パッチ コンプライアンス レポート。Windows および Linux ディストリビューションの VM インスタンスのパッチ ステータスに関する分析情報を提供します。分析情報のほかに、VM インスタンスの推奨も見ることができます。
  • パッチデプロイ。オペレーティング システムとソフトウェア パッチの更新プロセスを自動化します。パッチデプロイは、パッチジョブをスケジュールします。パッチジョブは VM インスタンス全体で実行され、パッチを適用します

利点

OS Patch Management サービスでは、次のプロセスを柔軟に行うことができます。

  • パッチ承認を作成します。特定のオペレーティング システムに適用できるすべてのアップデートから、システムに適用するパッチを選択できます。
  • 柔軟なスケジュール設定を行います。パッチの更新を実行するタイミング(1 回限りのスケジュールと定期的なスケジュール)を選択できます。
  • 高度なパッチの構成設定を適用します。パッチの適用前や適用後のスクリプトなどの構成を追加して、パッチをカスタマイズできます。
  • これらのパッチジョブや更新を一元管理できます。OS Patch Management ダッシュボードを使用して、パッチジョブとコンプライアンス ステータスのモニタリングとレポート作成ができます。

料金

料金については、VM Manager の料金をご覧ください。

OS Patch Management の仕組み

OS Patch Management 機能を使用するには、OS Config API を設定し、OS Config エージェントをインストールする必要があります。詳しい手順については、VM Manager の設定をご覧ください。OS Configuration サービスによって使用中の環境でのパッチ管理が可能となり、OS Configuration エージェントが各オペレーティング システムの更新メカニズムを利用してパッチを適用します。アップデートは、パッケージ リポジトリ(ディストリビューション ソース パッケージとも呼ばれます)またはオペレーティング システムのローカル リポジトリから取得されます。

次の表は、データの収集に使用するアップデート ツールとディストリビューション ソース パッケージをまとめたものです。

OS アップデート ツール ディストリビューション ソース パッケージ
RHEL と CentOS yum upgrade
Debian apt upgrade https://security-tracker.debian.org/tracker/data/json
Ubuntu apt upgrade https://storage.googleapis.com/ubuntu-cve-tracker/ubuntu.tar.gz
Windows Windows Update エージェント Windows Update サービスまたはローカルの Windows Server Update Service(WSUS)

VM がアップデートにアクセスできない場合は、アップデートまたはパッチへのアクセスを許可するための追加の手順が必要です。次のオプションを検討してください。

  • 独自のローカル リポジトリまたは Windows Server Update Service をホストして、パッチ ベースラインを完全に制御することをおすすめします。
  • また、Cloud NAT または他のプロキシ サービスを使用して、VM で外部更新ソースを利用できるようにすることもできます。

パッチ管理は、パッチデプロイとパッチ コンプライアンスという 2 つのサービスで構成されます。各サービスについて、以下のセクションで説明します。

パッチデプロイの概要

Patch API(Cloud OS Config API)を呼び出してパッチデプロイを開始します。これを行うには、Google Cloud Console、gcloud コマンドライン ツール、または直接 API 呼び出しを使用します。次に Patch API は、ターゲット VM 上で実行されている OS Config エージェントに、パッチを開始するように通知します。

OS Config エージェントは、各ディストリビューションで利用できるパッチ管理ツールを使用して、各 VM にパッチを適用します。たとえば、Ubuntu VM では apt ユーティリティ ツールを使用します。ユーティリティ ツールは、オペレーティング システムのディストリビューション ソースからアップデート(パッチ)を取得します。パッチ適用が進むと、OS Config エージェントは Patch API に進行状況を報告します。

パッチ コンプライアンスの概要

VM に VM Manager を設定すると、VM で次の処理が行われます。

  • OS Config エージェントは定期的に(約 10 分ごとに)OS インベントリ データを VM のゲスト属性に報告します。
  • パッチ コンプライアンス バックエンドはこのデータを定期的に読み取り、OS ディストリビューションから取得したパッケージ メタデータと相互参照して、Container Analysis サービス リポジトリに保存します。
  • Google Cloud Console は、Container Analysis API サービスからパッチ コンプライアンス データを取得し、この情報をコンソールに表示します。

パッチ コンプライアンス データの生成方法

パッチ コンプライアンス バックエンドは、定期的に次のタスクを行います。

  1. VM 上の OS インベントリ データから収集されたレポートを読み取ります。
  2. 各オペレーティング システムのディストリビューション ソースから分類データをスキャンし、そのデータを重大度で並べ替えます(降順)。
  3. この分類(ディストリビューション ソースから取得)を Google のパッチ コンプライアンス ステータスにマッピングします。
  4. Container Analysis サービス リポジトリにデータを保存します。
  5. 利用可能なアップデートごとに最も重大度の高いデータを選択し、Google Cloud Console ダッシュボードのページに表示します。VM の詳細ページで、VM で利用可能なすべてのアップデートを見ることもできます。

次の表に、Google のパッチ コンプライアンス ステータスの生成に使用するマッピング システムの概要を示します。

ディストリビューション ソースのカテゴリ Google のパッチ コンプライアンス ステータス
  • 重大
  • 緊急
  • WINDOWS_CRITICAL_UPDATE
重大(赤)
  • 重要
  • WINDOWS_SECURITY_UPDATE
重要 / セキュリティ(オレンジ)
  • その他
その他(黄)
  • アップデートなし
最新(緑)

たとえば、RHEL 7 VM の OS インベントリ データに次のパッケージ データがあるとします。

  • パッケージ名: package1
  • インストール バージョン: 1.4
  • アップデート バージョン: 2.0

パッチ コンプライアンス バックエンドは、ソース ディストリビューションから分類データをスキャンし、次の情報を取得します。

  • バージョン 1.5 => 重大
  • バージョン 1.8 => 低
  • バージョン 1.9 => 低

次に、Google Cloud Console ダッシュボードで、Critical アップデートが利用可能な VM のリストに、この RHEL 7 VM が追加されます。この VM の詳細を確認すると、1 つの Critical アップデートと 2 つの Low アップデートが利用可能であることがわかります。

同時パッチ適用

パッチジョブを開始すると、サービスは指定されたインスタンス フィルタを使用して、パッチを適用する特定のインスタンスを決定します。インスタンス フィルタを使用すると、多数のインスタンスに同時にパッチを適用できます。このフィルタリングは、ジョブがスケジュールされた後、パッチジョブが環境の変更を考慮し始めるときに実行されます。

定期パッチ適用

パッチ実行のタイミングには、オンデマンド、事前のスケジュール、定期的なスケジュール構成があります。進行中のパッチジョブをすぐに停止する必要がある場合は、キャンセルすることもできます。

パッチのメンテナンスの時間枠を設定するには、頻度と期間を指定してパッチデプロイを作成します。期間を指定してパッチジョブをスケジュールすると、パッチ適用タスクが指定されたメンテナンスの時間枠外で開始することはなくなります。

また、特定の時間に完了するパッチデプロイを作成して、パッチのインストール期限を遵守させることもできます。この日付までにターゲット VM にパッチが適用されない場合、スケジュール設定されたデプロイがこの日にパッチのインストールを開始します。VM にすでにパッチが適用されている場合、パッチの前後にスクリプトが指定されているか、再起動が要求されていない限り、VM では何も行われません。

OS パッチジョブの内容

パッチジョブを VM 上で実行すると、オペレーティング システムに対応する更新の組み合わせが適用されます。あるいは、特定のアップデートやパッケージを選択することもできます。また Windows オペレーティング システムの場合は、更新する KB ID を指定することもできます。

Windows

Windows オペレーティング システムの場合は、すべての更新を適用するか、次の更新から選択することができます。

  • 定義の更新
  • ドライバの更新
  • 機能パックの更新
  • セキュリティに関する更新
  • ツールの更新

RHEL / CentOS

Red Hat Enterprise Linux および Centos オペレーティング システムの場合は、すべての更新を適用するか、次の更新から選択することができます。

  • システムの更新
  • セキュリティに関する更新

Debian / Ubuntu

Debian システムと Ubuntu システムの場合は、すべての更新を適用するか、次の更新から選択することができます。

  • ディストリビューションの更新
  • パッケージ マネージャーの更新

SUSE

SUSE Enterprise Linux Server(SLES)と openSUSE オペレーティング システムの場合は、すべての更新を適用するか、次の更新から選択することができます。

  • システム パッケージの更新
  • Zypper パッチ(特定のバグの修正とセキュリティの修正)

OS Patch Management ダッシュボード

Google Cloud Console では、ダッシュボードを使用して VM インスタンスのパッチ コンプライアンスをモニタリングできます。

[OS Patch Management] ページに移動

OS Patch Management ダッシュボード。

OS Patch Management ダッシュボードについて

オペレーティング システムの概要

このセクションには、VM の合計数がオペレーティングシステム別に表示されます。このリストに VM を表示するには、OS Config エージェントがインストールされ、OS Inventory Management が有効になっている必要があります。

VM 数のカード。

VM のオペレーティング システムが No data として表示されている場合は、次のいずれかに該当する可能性があります。

  • VM が応答していない。
  • OS Config エージェントがインストールされていない。
  • OS Inventory Management が有効になっていない。
  • オペレーティング システムがサポートされていない。サポート対象となっているオペレーティング システムの一覧については、サポートされているオペレーティング システムをご覧ください。

パッチのコンプライアンス ステータス

OS 別のカード。

このセクションには、各 VM のコンプライアンス ステータスの詳細がオペレーティング システム別に表示されます。

コンプライアンス ステータスは、主に次の 4 つのカテゴリに分類されます。

  • 重大: VM に重大な更新があることを意味します。
  • 重要またはセキュリティ: VM に重要な更新やセキュリティ更新があることを意味します。
  • その他: VM に利用可能な更新がありますが、いずれも重要な更新やセキュリティ更新には分類されません。
  • 最新: VM に利用可能な更新がないことを意味します。

次のステップ