Azureで入手できる「セキュリティパッチ」

1.概要

Azure Automationとは

「Azure Automation」は、オンプレミスやクラウド環境、プライベートクラウドと、パブリッククラウドの両方のメリットを受けられる「ハイブリッドクラウド」環境の運用コストの削減とプロセスの自動化および構成と更新管理などをサポートするように設計されたサービスになります。以下は「Azure Automation」を構成するサービス内容になります。

  • プロセスの自動化
  • クラウドは、頻発に発生するエラーが発生しやすく、出るたびにエラー発生の原因を突き止め解決に努めますが、対処に時間がかかるため一次作業を中断することもあります。しかし、「Azure Automation」の「プロセスオートメーション」を使用することで、クラウド管理タスクを「自動化」することでエラーが発生しても「プロセスオートメーション」が対処してくれるためユーザーは作業に集中することができます。
    そもそも「プロセスオートメーション」は「Azureサービス」と「エンドツーエンドのプロセスのデプロイ、構成、管理に必要となるパブリックシステム」を統合することを可能としています。これらはグラフィカルに「Runbookの作成」を行うか、PowerShell、Pythonのいずれかを使用することで実行に移せます。

  • 構成の管理
  • 「Azure Automation」の構成管理では、「更新履歴とインベントリ」「Azure Automation State Configuration」の2つの機能を有しており、それぞれにアクセスすることを可能としています。
    前者の「更新履歴とインベントリ」では、この2つの機能を組み合わせることで、仮想マシンとインフラストラクチャの更新、つまりは環境内のサービスを含めてソフトウェア、レジストリ、ファイル全体の変更を追跡できるだけでなく、不要な変更を診断できるアラートの設定が行えます。
    後者の「Azure Automation State Configuration」は「PowerShell DSC(Desired State Configuration)」用のクラウドベース機能であります。これは、エンタープライズ環境では必要不可欠なサービスを有しています。それは、「Azure Automation」で「DSCリソース」の管理から、クラウド内にある「DSCプルサーバーから仮想マシン、さらに物理マシン」の構成を適用する際に使用します。

  • 更新の管理
  • 「Azure Automation」では、Windows/Linux系システムの両OSのハイブリット環境全体への更新管理機能があります。この機能を利用することで、オンプレミス環境、クラウド環境の境界なく更新の準拠状態を可視化できます。また、デプロイスケジュールの作成や定義付けしたメンテナンス時における更新プログラムのインストールを行えるように設定を組むことができます。

  • 共有機能
  • 「Azure Automation」の共有機能には、規模の大小に応じて構成できる「共有リソース」のほか、Automationアカウントとそのリソースのアクセスの制御などを行う「ロールベースのフクセス制御」などの共有機能を有しています。

  • 異種環境機能
  • 「Azure Automation」がハイブリット環境で動作するほか、Windows/Linux系と混在するはずがないOSシステムでも動作することが可能です。

2.Update Management

1.Update Managementとは

「Azure Automation」の「Update Management」という機能は、Azureを含め、オンプレミス環境やそのほかのクラウド環境において、WindowsOSやLinux系OS搭載の仮想マシンに対しての、オペレーティングシステムの更新プログラムの管理を担うことができます。加えて、エージェントマシンで利用可能となる更新プログラムの状態を評価するだけでなく、サーバーに必要となる更新プログラムを導入するプロセスの管理も行えます。
その際にクリティカルパッチセキュリティパッチという2つのパッチを入手できます。
当機能の管理下にあるマシンの「評価の実行」および「更新のデプロイ」は以下のような依存をします。

  • Windows/Linux専用の「Log Analyticsエージェント」
  • OSが「Linux」の場合、「PowerShell Desired State Configuration」に依存
  • OSが「Linux」の場合、プライベートもしくはパブリックの更新リポジトリ
  • 「Update Management」を有効にしたマシンには「Automation Hybrid Runbook Worker 」が自動でインストールされます。
  • OSが「Windows」の場合、「Microsoft Update」か「Windows Server Update Services (WSUS)」のいずれかに依存

2.Update Managementの有効化

「Update Management」を使用することでソフトウェアの更新プログラムの追跡やタスクの追跡など、運用効率およびセキュリティ上の問題解決と万全を整えられますが、テクノロジは常に変化し続けます。そのたびにセキュリティの更新と一貫した継続的注意が必要となります。タスク管理に役立つ「Update Management」が有効となっているかの確認する方法は、「Automationアカウント」「Portal」「Runbook」「VM」のいずれから有効にする方法があります。
以下は「Portal」を利用して「Update Management」が有効化する方法です。

  • 1.Azure Portalにサインインしてそこから「仮想マシン」に移動します。
  • 2.仮想マシンのページを開いたら、チェックボックスを利用して、「Update Management」に追加する仮想マシンを選んでいきます。同時に選択できるマシンの上限は3つまでとなり、異なるリソースグループに対しての追加が可能です。
  • 3.追加する仮想マシンを選んだら、[サービス]を選択して「Update Management」を選びます。
  • 4.ここで一度仮想マシン一覧はフィルターにかけられ、同じサブスクリプションと覇所にある仮想マシンのみが一覧に出ます。使用している仮想マシンが仮に4つ以上のリソースグループにあった場合、最初の3つが選択されます。
  • 5.次に既定により、既存の「Log Analyticsワークスペース」と「Automationアカウント」が自動で選択されます。仮に異なるものを使用したい場合は[カスタム]から選択することができます。
  • 6.選択とチェックが完了したら[OK]ボタンをクリックします。
  • 7.前項目で選択した「ワークスペース」が「Automationアカウント」とリンクしていない場合、今一度「Automationアカウント」を選択します。
  • 8.画面が切り替わったら、有効にしない仮想マシンを「オフ」にします。ただし、有効化できないモノに関しては選択解除されています。
  • 9.有効化できるものを[有効にする]を選択して機能をオンにします。ここで有効にして、仮想マシンの更新プログラムの評価表示におおよそ15分かかります。

3.コンプライアンス評価、その確認

後述する「更新プログラム」をマシン上で展開する前に、「プログラムのコンプライアンス評価」の結果を確認します。この「コンプライアンス評価」は「Update Management」を有効化したマシンに対する更新プログラムの評価結果となり、その内容は各ソフトウェアの更新プログラムのコンプライアンス状態が記録されています。評価完了後は「Azure Monitorログ」に一括転送されるようになっています。
この結果を出すためのスキャンは各OS(Windows/Linux)によって既定が異なります。まずWindows搭載のマシンのコンプライアンススキャンは12時間ごとにスキャンを実行するように既定で決まっており、専用のLog Analytics エージェントが再起動した15分以内に更新プログラムのインストール前後のコンプライアンス変化確認のスキャンが実行されます。
一方のLinux系OS搭載のマシンは1時間ごとにスキャンすることが既定で決まっており、こちらも専用のLog Analytics エージェントが再起動した15分以内にスキャンが実行される仕組みになっています。
またコンプライアンス結果はマシンごとに評価結果をUpdate Managementに表示してくれます。ただし、管理のために有効化されたマシンでの結果表示においてはおおよそ30分ほどの時間をかけてダッシュボードに表示します。

4.更新プログラムの展開およびその確認の方法

更新プログラムのコンプライアンス結果を確認した後は、ソフトウェア更新プログラムを展開していきます。展開、つまりインストールしていくには、まず「リリーススケジュール」と「サービス期間」の2つが必ず合致するようにスケジュールを組んでいきます。この時にデプロイを含める更新の種類を選択することが可能です。
以下はPortalを活用してスケジュールを行う方法になります。

  • 1.まず「Azure Portal」にログインします。
  • 2.Portalを立ち上げたら対象とする展開をスケジューリングしていきます。
    • 単体or複数機:[Automation アカウント]に移動し、リスト一覧から「Update Management」が有効となっているものを選びます。
    • Azure 仮想マシン:[仮想マシン]に移動して一覧から選択します。
    • Arc対応のサーバー: [サーバー・Azure Arc]に移動して、使用しているものを一覧から選びます。
  • 3.選択したリソースに合わせて、「Update Management」に移動します。
    • 利用者自身の「Automation アカウント」を選んだときは、[更新の管理]の項目中にある[更新の管理]>[更新プログラムの展開のスケジュール]を選択します。
    • Azure 仮想マシンを選んだときは、[ゲスト+ホストの更新プログラム]に移動して[Update Managementに移動]を選びます。
    • Arc対応のサーバーを選んだ時は、[更新の管理]の項目中にある[更新の管理]>[更新プログラムの展開のスケジュール]を選択します。
  • 4.次に更新プログラムの展開の対象となるOSが自動で識別されます。ただし、Azure 仮想マシンもしくはArc対応サーバーのいずれかを選択している場合は選べません。
  • 5.[更新するグループ]における領域内のサブスクリプション、リソースグループ、場所などを組み合わせたクエリの定義づけを行い、デプロイを含めた仮想マシンの「動的グループの構築」を行います。ただしこちらも手順4同様の条件が付きます。
  • 6.次に[更新するマシン]の領域で、保存した検索もしくはインポートしたグループのいずれかを選択、またはドロップダウンのメニュー中にある[マシン]を選択し、各々でマシンを選んでいきます。これを使用することで、各マシンの「Log Analytics」の準備状況の可視化ができます。
  • 7.[更新プログラムの分類]の領域を利用することで、製品の更新プログラムの分類を指定していきます。製品ごとに更新プログラムを含めたものを除いて、サポート対象となるプログラムの分類の選択をすべて解除します。
  • 8.[更新プログラムの包含/除外]領域を使用すると、選択した更新プログラムを展開の追加または除外を行います。ここで注意しておくべきは「包含」よりも「除外」が優先されるという点です。
  • 9.次に[スケジュールの設定]を行っていきます。既定開始時刻は現時刻の30分後に開始するようになっています。
  • 10.[繰り返し]の設定を組むことで、展開を1回にするか、定期的に使用するかの指定をします。
  • 11.次に[事前スクリプト/事後スクリプト]領域における、デプロイの前後に実行するスクリプトを選びます。
  • 12.[メンテナンス期間]のフィールドを利用して、プログラムインストール実行時の許容時間の設定を行います。指定する際は以下のことを考慮する必要があります。
    • 指定した期間によって、インストールされるプログラムの数が制御できる。
    • 指定期間終了間近でも、インストールの停止は不可能。
    • 指定期間超過の場合でも、進行中の更新の停止は不可能です。また残りのプログラム更新の試行はされず、この状態が常にある場合は、期間の再評価を実施する必要があります。
  • 13.[再起動のオプション]フィールドを利用して、展開中の再起動処理の方法指定を行います。
    • 既定値としては「必要に応じた再起動」の実施
    • 常に再起動の実施を行う
    • 再起動をしない
    • 再起動のみを選んだ場合は更新プログラムのインストールが実行されませんのでご注意ください。
  • 14.スケジュールの構成が完了したら[作成]をクリックします。
  • 15.作成が完了したら「状態ダッシュボード」に戻ります。戻ったら[展開スケジュール]を選んで作成したスケジュールの確認が行えます。

3.VMゲストにパッチ適用

1.自動パッチの適用機能

仮想マシンに対してゲスト仮想マシンへの「自動適用」が有効であれば、使用可能な2つのパッチ「クリティカル(重大)」「セキュリティ」が、「Windows Update」を通して新しくリリースされるたびに自動でダウンロードされ、後にインストールを施してくれます。また、仮想マシンに適用可能なパッチがあるかの確認と評価は定期的に行われます。この時の自動評価の検出結果において、不足しているパッチがないかの確認を行います。
「クリティカル(重大)」と「セキュリティ」のように適用されるパッチは、「可用性優先」に従ってオーケストレーションされます。このプロセスは毎月リリースされる「Windows Update」から30日以内にインストールされるようになっています。パッチの自動インストールのタイミングは、仮想マシンに設けられたタイムゾーンに応じて、ピークオフの時間帯にインストール作業を実施いたします。またインストール作業後には「再起動」を実施する場合があります。

2.可用性優先の原則

自動でのパッチ適用プロセスは、「適用有効になっている」仮想マシンすべてを対象として、それはAzureによって管理されたオートメーションが「可用性優先」を原則として実施されます。以下は「可用性優先」の原則となります

  • 複数のリージョン間
  • 更新プログラムにおいて、グローバル展開での失敗を未然に防ぐため、1つずつ段階的にパッチの適用を実施していきます。また1フェーズに付き、1つ以上のリージョンを含めることができます。それにより対象となる仮想マシンが正常更新された説き、次のフェーズに行くことが可能としています。ただしペアリングされた地域での同時適用は不可能です。

  • リージョン内
  • 異なる可用性ゾーンの仮想マシンが同時にアップデートされることはなく、可用性セットの1部に属さない仮想マシンは、すべての仮想マシンが同時更新されるのを防ぐために、「ベストエフォーション方式」を採用しています。

  • 可用性セット内
  • 共通の可用性セット内にあるすべての仮想マシンが、同時にアップデートされることはありません。同様に複数の更新ドメインを跨ぐ仮想マシンの同時更新もされることはありませんが、セット内の仮想マシンは更新ドメインの「境界内」で更新が成されます。

4.まとめ

「Azure Automation」の「Update Management」という機能を使用すれば、異なる環境下にある仮想マシンを1つのコンソールでパッチ管理ができるだけでなく、相互接続のない複数台の仮想マシンでも、リージョン内にある仮想マシンでも管理を実施することが容易です。
またポータルで見落としていた不足分のパッチ管理も「Update Management」を利用することでその不足分が補われ、インスタンイスの安定した稼働とセキュリティの維持の実施ができます。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です