セキュリティチェックツール「Microsoft Baseline Security Analyzer(MBSA)」を継ぐものは?:山市良のうぃんどうず日記(202)
以前、Microsoftは「Microsoft Baseline Security Analyzer(MBSA)」というセキュリティチェックツールを提供していました。最近、このツールの話題を聞かないと思っていたら、数年前(2018年ごろ)に提供を停止していたようです。Windows 10など、現在メインストリームまたは延長サポートフェーズのWindowsで利用可能な代替ツールをざっと調査してみました。
MBSAの開発とダウンロード提供は数年前に既に終了
Microsoftが提供していた「Microsoft Baseline Security Analyzer(MBSA)」は、ローカルまたはリモートのWindows PCのセキュリティ更新プログラム適用状況や不適切なセキュリティ構成をスキャンしてレポートしてくれるツールでした。
最初のMBSAは「Windows 2000」以降に対応し、Windows Updateや「Windows Server Update Services(WSUS)」をオンラインで利用できない状況でも実行でき、全てのセキュリティ更新プログラムと推奨セキュリティ設定が企業内で維持されているかどうかをチェックできました(画面1)。
MBSAの用途について説明している以下のドキュメントでは、「Windows 8.1」および「Windows Server 2012 R2」に対応したMBSA 2.3(2013年11月リリース)を最後に開発は終了し、ダウンロード提供も停止されました。「Windows 10」および「Windows Server 2016」に対応するために、MBSA 2.3に対して更新などが提供されることはありませんでした。
- Microsoft Baseline Security Analyzerとその用途(Microsoft Docs)
つまり、Windows 10/Windows Server 2016以降に対応したMBSAは存在しないということです。また、それ以前のWindowsに、過去に導入したMBSAが残っている場合でも、Windows UpdateやWSUSにおけるSHA-1(Secure Hash Algorithm 1)廃止の影響を受け、MBSAによるオフラインスキャンはエラーで失敗するそうです。MBSA 2.3以前が残っている場合は、アンインストールしてしまいましょう。
最新の「wsusscn2.cab」に対するWUA APIによるオフラインスキャン
Windows UpdateやWSUSにオンラインでアクセスできないコンピュータのセキュリティ更新プログラムの適用状況を調査する代替手段としては、以下のドキュメントで説明されている、最新の「wsusscn2.cab」と「Windows Update Agent(WUA)API」を使用したオフラインスキャンが紹介されています。
- Using WUA to Scan for Updates Offline[英語](Microsoft Docs)
「wsusscn2.cab」は署名者「Microsoft Corporation」によってデジタル署名されたカタログで、セキュリティ関連の更新プログラムの最新情報を含みます。このファイルはWindows Updateサイトからダウンロード可能で(ダウンロードリンクはドキュメントに示されています)、毎月のセキュリティ更新プログラムのリリース(米国時間の第2火曜日)に最新版に置き換えられます(2021年1月版のサイズは約935MB)。
ドキュメントには「Windows Script Host(WSH)」用のVBScript(Visual Basic Scripting Edition)コードが掲載されているので、コピーしてテキストファイルに貼り付け、ダウンロードした「wsusscn2.cab」の保存先パスを適宜書き換えて、例えば「offlinescan.vbs」というファイル名を付けて保存します。チェック対象のコンピュータ上でスクリプトを実行(cscript offlinescan.vbs)することで、不足しているセキュリティ更新プログラムを調査できます(画面2)。
cscript offlinescan.vbs
また、以下のサイトでかなり前から公開されている、同じくWUA APIを使用したWindows Update用のサンプルスクリプト「WUA_SearchDownloadInstall.vbs」は、最近機能アップ版に差し替えられ、オフラインスキャンにも対応しました。
- Searching, Downloading, and Installing Updates[英語](Microsoft Docs)
以下のように「/Offline」パラメーターに「wsusscn2.cab」の絶対パスを指定することで、オフラインスキャンが可能です。
cscript WUA_SearchDownloadInstall.vbs /Offline:<パス>\wsusscn2.cab
その他のオプションを含めた詳細は、筆者の個人ブログでレポートしています。
- 新しくなった WUA_SearchDownloadInstall.vbs(自動化やオフラインスキャンに対応)(筆者の個人ブログ:山市良のえぬなんとかわーるど)
Microsoft Security Compliance Toolkit(SCT) 1.0でできることは?
MBSAのもう1つの機能である、推奨セキュリティ設定の調査には「Microsoft Security Compliance Toolkit(SCT)1.0」を利用できます。
- Microsoft Security Compliance Toolkit 1.0(Version:1.0、Date Published:1/26/2021)[英語](Microsoft Download Center)
SCT 1.0には、以下に示すWindowsと「Microsoft Edge」「Microsoft 365」アプリ(旧称、Office 365 ProPlus)のセキュリティベースラインに加え、Windows 10のWindows Updateのベースラインが含まれます。ベースラインとは、Microsoftが推奨するポリシー設定であり、「グループポリシーオブジェクト(GPO)」形式になっています。また、「Policy Analyzer」(PolicyAnalyzer.exe)といった、幾つかのツールを含みます。SCT 1.0のバージョンは同じでも、ベースラインは更新されている場合があるので、最新版をダウンロードして使用してください。なお、Windows 10のWindows Updateのベースラインは2021年1月に統合されています(以前は個別に提供されていました)。
- Windows(Windows 10およびWindows Server 2016以降のサポートライフサイクル期間中の各バージョンおよびWindows Server 2012 R2)のセキュリティベースライン
- Chromium版Microsoft Edge安定版バージョン88のセキュリティベースライン(2021年2月時点では安定版バージョン88に対応)
- Microsoft 365アプリ(Office 365 ProPlus)のセキュリティベースライン
- Windows 10のWindows Updateのベースライン
SCT 1.0を使用すると、主に以下の4つのことを実施できます。
(1)Active Directoryドメインの既存のGPOとベースラインとの比較
(2)ベースラインとローカルコンピュータの現在の設定(レジストリなど)との比較
(3)Active DirectoryドメインのグループポリシーへのGPOのインポート
(4)ローカルコンピュータへのベースラインのインストール
(1)と(2)は、Policy Analyzerによる比較です。Policy Analyzerに調査したいベースラインのGPO(各ベースラインのZIPアーカイブの展開先にある「GPOs」からインポート可能)と、Active Directoryドメインの「SYSVOL」共有パス内のGPO(\\<ドメインコントローラー名>\SYSVOL\
画面3 Active DirectoryドメインのGPOのバックアップとベースラインのGPOの比較。選択中の行は「自動更新を構成する」ポリシーが現在のドメインのGPOでは無効(1)、Windows 10 Update Baselineの推奨設定は有効(0)比較する
ベースラインとローカルコンピュータの現在の設定を比較するには、Policy Analyzerに調査したいベースラインのGPOをインポートして追加し、「Compare to Effective State」ボタンをクリックします(画面4)。
いずれの場合も、比較結果のテーブルは、表またはデータとして「Microsoft Excel」のワークシートをエクスポートできます。詳しくは、SCT 1.0のダウンロードに含まれる「PolicyAnalyzer.zip」の展開先の「PolicyAnalyzer_40\Policy Analyzer.pdf」(英語)を参照してください。
残りのインポートおよびインストールは、各ベースラインのZIPアーカイブを展開すると、「Scripts」ディレクトリにあるPowerShellスクリプトを使用します(「Local_Script」ディレクトリのCMDバッチの場合もあります)。「Scripts\Tools」ディレクトリが存在する場合は、SCT 1.0の「LGPO.zip」に含まれる「LGPO.exe」を「Scripts\Tools」ディレクトリにコピーしておく必要があります。
ベースラインのGPOをActive Directoryドメイン環境にインポートするには、ドメインコントローラーで「Baseline-ADImport.ps1」を実行します。インポートされたGPOは、「グループポリシーの管理」スナップインの「グループポリシーオブジェクト」で確認できます。インポートしたGPOをドメインやOU(組織単位)にリンクすることで、ベースラインを運用環境に展開することができます(画面5)。
画面5 ドメインコントローラー上で「Baseline-ADImport.ps1」を実行して、ベースラインのGPOを現在のドメインにインポートする。GPOはドメインやOU(組織単位)にリンクしない限り、適用されることはない
ベースラインをローカルコンピュータにインストールするには、「Baseline-LocalInstall.ps1」を適切なパラメーター(「-Win10DomainJoinedや-Win10NonDomainJoined」など、スクリプトを開いて確認)付きで実行します。
ただし、ベースラインのローカルコンピュータへのインストールは既存の設定を上書きしてしまいます。アンインストール用のスクリプト「Remove-EPBaselineSettings.ps1」が用意されている場合もありますが、これは完全に元の状態に戻すものではなく、可能な限り既定の設定に戻すものです。ベースラインのローカルコンピュータへのインストールを検討している場合は、ロールバック可能な仮想化環境などで十分にテストしてから行うことをお勧めします。
SCT 1.0はドキュメント(ただし英語)が付属するものの説明不足な感はありますが、Policy AnalyzerによるGPOやローカルコンピュータのセキュリティ設定の評価には、有効なツールだとは思います。
筆者紹介
山市 良(やまいち りょう)
岩手県花巻市在住。Microsoft MVP:Cloud and Datacenter Management(2019-2020)。SIer、IT出版社、中堅企業のシステム管理者を経て、フリーのテクニカルライターに。Microsoft製品、テクノロジーを中心に、IT雑誌、Webサイトへの記事の寄稿、ドキュメント作成、事例取材などを手掛ける。個人ブログは『山市良のえぬなんとかわーるど』。近著は『Windows版Docker&Windowsコンテナーテクノロジ入門』(日経BP社)、『ITプロフェッショナル向けWindowsトラブル解決 コマンド&テクニック集』(日経BP社)。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- Microsoft TeamsをDXのハブに、ローコードツール連携など最新オススメ機能とは
ニューノーマルな時代に向けたMicrosoft&Windowsテクノロジー活用の新たな道筋を探る本特集。企業のビジネス革新を支援し、エンドユーザーの利便性と生産性の向上に寄与するテクノロジーとはどのようなものか。第3弾は、「新たなコラボレーション環境がもたらすDX」を見ていく。 - 誰も知らなかった、これからも知られることがない、Windows Updateの「幻のオプション」とは
ある調査のため、2020年10月に公開されたWindows 10 バージョン20H2のインストールメディアを使用して、仮想マシン環境に新規インストールしました。その際、目的の調査とは関係なく目にした「Windows Updateの新しいオプション」についてお話ししましょう。恐らく、現行バージョンではもう誰も目にすることはない、幻のオプションの話です。 - Windows 10におけるレガシーSMBプロトコルに関する重要な変更とSMB v3新機能まとめ
Windows 10およびWindows Server 2016以降、レガシーなSMB(SMB v1やSMB v2)の扱いについて、既定の動作に幾つか重要な変更が行われています。Windows 10やWindows Server 2016以降への移行時、または機能更新プログラムによる新バージョンへのアップグレードのタイミングで、以前のWindowsネットワークになかった挙動に遭遇した場合は、変更点を確認してみてください。 - さよならPHP、WindowsでのPHPのサポートが「2022年11月28日」に完全終了
「PHP」は、古くから人気のあるWebアプリのためのスクリプト言語です。当初はLinux上のApache Webサーバと組み合わせて利用されることが多かったものの、Windowsの「IIS」でも古くからサポートされていました。2020年11月26日に最新バージョン「PHP 8.0」がリリースされましたが、Microsoftはこのバージョンをサポートする予定はありません。