Windowsのパッチ管理

WSUS(Windows Server Update Services)を設置していない環境でWindowsのパッチ一覧を取得したいという要件があります。
以前でしたら、コントロールパネルの更新プログラムで表示される一覧やsysteminfoコマンドの戻り値からパッチ部分をVBSやWSHでパッチを作成してローカルセキュリティポリシーでスタートアップ時やログイン時に実行させて、ファイルサーバに保管したりするものを納品したりしてました。真面目に工数費と管理ソフトウェアの購入費用を比べると管理ソフトウェアを購入した方がいいと思います。

現状調査

とは言え予算が限られているのが世の常なので、今は以下のコマンドを使用して、お客様自身で管理する方法をお勧めしています。
wmic qef list /format:htable > [ホスト名].html
htmlをcsvに変更するとExcelで管理することが容易です。
ちょっと工夫すると1ファイルに複数ホストを列挙させることも可能です。
以下のコードをバッチファイルにするとホスト名のファイルでc:\tmpにファイルを作成します。c:\tmpフォルダは予め作成しておく必要があります。

  • HTMLフォーマット
set Host=%COMPUTERNAME%
wmic qfe list /format:htable > c:\tmp\%Host%_hotfix.html
  • CSVフォーマット
set Host=%COMPUTERNAME%
wmic qfe list > c:\tmp\%Host%_hotfix.csv

パッチ適用

「どのパッチを適用すればいいか?」と良く問われます。
セロトラストの原則がうたわれる昨今では、パッチに関してはWindows Updateを使って即時と応答したくなるのですが、以下の公式サイトを見て判断することが懸命かと思います。

セキュリティ更新プログラム ガイド

深刻度:Critical(致命的)は即時適用を前提に作業。
深刻度:Important(重要)は次回メンテナンス適用を選定に作業。
結局基本的にすべてを適用して下さいになります。
順序としては、インターネット接続ホスト(クライアントPCを含む) > 他社と共有するホスト(専用線) > 自社専用ホスト(いわゆる社内LAN)になります。
最近の脆弱性はウィルス対策やFirewallでは回避不能なケースがほとんどなのでバッチ適用(ホットフィックス)を前提に検討します。

パッチ即時適用が可能な前提条件

  • 完全バックアップを取得しリストアテストを実施している
  • パッチを適用する検証環境があること

上記の2点も必要になりますが、大切なのはパッチ適用後にサービスを問題なく提供できるツールの事前準備にあります。

パッケージでも自社アプリでもテストプログラムを動作させて結果に問題ないことを確認して必要があります。そうしないとアップデート失敗によるサービスダウンや情報漏洩につながる可能性があります。後者の可能性は前者に比べますと小さいですが、それでも簡単な脆弱性検査を実施することを勧めています。
前者はRPAツール、後者は脆弱性検査ツールなどで自動化することは可能です。
ActiveDirectoryサーバ等の機能サーバはイベントビューアでパッチ適用後のエラー以上のログが出力されていないか確認するだけでも十分かと思います。

ご参考まで。

関連記事

TOP