昨今の Windows Server (2016 以降) では、Microsoft Defender Antivirus が導入済みとなっており、初期環境からマルウェア対策が導入された状態となっています。
初期導入されている Defender Antivirus はスタンドアロンでの管理となり、複数のサーバーの統合管理の機能は含まれておらず、マルウェア対策で脆弱性が見つかった (ウィルスが検知された) 場合は、各サーバーで確認を行う必要があります。
標準の Defender Antivirus を使用した統合管理を行うための方法の一例としては、Microsoft Defender for Cloud (MDfC) を使用するという方法があり、これについて、設定するとどのように情報の確認ができるのかを把握できていなかったので軽く確認してみました。
最終的のどのような設定のみが必要なのかまでは把握ができていないので、メモとしての情報となります。
Contents
Microsoft Defender for Server について
Microsoft Defender for Cloud の中には、Microsoft Defender for Server という機能があり、マルウェア対策の統合管理としてはこの機能を活用することができます。
Microsoft Defender Antivirus を単体で使用した場合の問題点
Server OS に導入されている Microsoft Defender Antivirus については、Windows Update (or WSUS) による定義ファイルの更新と、グループポリシーによる設定の管理 を行うことはできますので、定義ファイルの更新と設定については Windows の機能を使用してカバーできるのではないでしょうか。
しかし、マルウェア対策により検知された内容の統合的な管理については、Defender Antivirus だけでは弱いのではないでしょうか。
Microsoft Defender ウイルス対策ソフトウェアの問題をトラブルシューティングするため、イベント ログとエラー コードをレビューする に記載されているように、Defender Antivirus で検知された内容については、「Microsoft-Windows-Windows Defender/Operational」のイベントログに出力が行われますので、このログの内容を集約するというのも一つの方法かもしれません。
Microsoft Defender for Server は有償の SaaS となり、管理基盤を社内設置することはできませんが、クラウドとのハイブリッド運用が可能なのであれば、ログの集約やモニタリングのためのダッシュボードというような対応を Azure を用いて実現することが可能となります。
Microsoft Defender for Server はウイルスの検知だけでなくその他の脅威検知の機能も備えていますので、ウイルス検知の統合管理だけで使用するのであればコストは高くなるかもしれませんがその他の脅威検知の機能も活用することで、コストメリットを得ることはできるのではないでしょうか。
Microsoft Defender for Server のプランとコスト
Microsoft Defender for Server にはプラン 1 / プラン 2 という二つのプランが提供されており使用できる機能が異なります。
Microsoft Defender for Cloud の価格 に価格が記載されていますが、サーバー単位で月額「プラン 1: $5」「プラン 2: $15」となります。
停止状態のサーバーのコストの取り扱いについては サブスクリプションで支払うサーバーは何ですか? に記載されています。
オンプレミスの場合、Azure Arc を介して、Microsoft Defender for Server を使用することになりますが、Arc で接続されている環境については、Arc エージェント (Connected Machine エージェント) からのハートビートを使用して接続かどうかの管理がされているため、ハートビートが送信されない停止中の状態については課金対象時間とはならないようです。
プラン 1 とプラン 2の脅威検出の機能の違い
プラン 1 とプラン 2 で利用できる機能については プランの機能 に記載されています。
「OS レベルの脅威検出 (エージェントベース)」については、どちらのプランでも提供が行われているのですが、検出できる範囲が異なるようです。
プラン 1 では、脅威検出の内容については、MDE で提供されているものに限定されるようで、検出できる内容は、MDE のインシデント / アラートとして判断できる内容となるようです。
プラン 2 の場合は、MDE で提供されている内容の他に セキュリティ アラート – リファレンス ガイド に記載されている内容を追加で検出することができるようでした。
- プラン 1: MDE.xxxx 拡張機能
- プラン 2: AzureSecurityxxxxAgent 拡張機能
で検出が行われているのかもしれませんね。拡張機能がインストールされているかどうかを確認することでどちらのプランの脅威検出が有効となっているかを判断することができそうです。
Microsoft Defender for Server の適用対象
Microsoft Defender for Server の適用対象にする方法は デプロイの概要 に記載されている次の 2 種類があります。
- サブスクリプションレベルで Defender for Server プラン 1 または、プラン 2 を有効化
- Log Analytics ワークスペースレベルでプラン 2 を有効化
以前、Microsoft Defender for Cloud のサブスクリプションレベルと Log Analytics ワークスペースレベルの違い で記載しましたが、どのレベルで有効化するによって使用できる機能が変わってきます。
これについては、次のドキュメントにも記載されています
Microsoft Defender for Server は上記の二つのレベルで有効化することができますが、「Log Analytics ワークスペースレベルで P2 を使用した場合」は、使用可能な機能が制限され「Microsoft Defender for Endpoint、脆弱性評価、Just-In-Time VM アクセスなど」を使用することはできません。
Log Analytics ワークスペースを使用した Defender for Server の適用はコストが発生する対象を制限することができますが機能制限がありますので、検証をする際には注意する必要があります。
サブスクリプションレベルと Log Analytics ワークスペースレベルの両方を有効化した場合のコストについては、サブスクリプションとワークスペースで Defender for Servers を有効にする必要がありますか? に記載されていました。
Log Analytics Agent / Azure Monitor Agent のどちらを使用しているかによって、考え方が異なる点があるようですので、使用するエージェントについても意識しておく必要がありそうですね。
Microsoft Defender for Server を構成するコンポーネント
Microsoft Defender for Server を構成するコンポーネントについては、監視コンポーネントを使用するプラン に記載がありました。
- Defender for Servers
- Azure Arc エージェント (マルチクラウド サーバーとオンプレミス サーバーの場合)
- Microsoft Defender for Endpoint
- 脆弱性評価
- Azure Monitor エージェントまたは Log Analytics エージェント
Azure Arc に接続するためには、Azure Arc エージェント (Azure Conencted Machine Agent) が必須となりますので、このコンポーネントは必ず導入する必要があります。
MDE 統合が有効となるプランの有効化方法を実施している場合には、MDE 用の Arc 拡張機能も自動的に追加されますので、「1.」「2.」がインストールされた状態が初期構成となるのではと考えています。
今回使用していた環境では、プラン 2 を使用していたのですがこの環境では AMA の導入と合わせ、「AzureSecurityWindowsAgent」という拡張機能も導入されていました。この拡張機能が導入されている場合は「AzureSecurityAgent」というサービスがインストールされ、拡張機能がサービスとして動作している形になるようです。
これは、Azure VM (Virtual Machine) 運用監視エージェントまとめ の解説によると、プラン 2 を使用している場合に導入されるエージェントのようですね。使用する機能に応じて様々な拡張機能が導入されるようですので、何に使用されているものなのかは意識しておくとよさそうです。
Azur Monitor エージェント / Log Analytics エージェントの必要性
「1.」「2.」がインストールされただけの状態でも後述の「Microsoft Defender for Server の検証」に記載した検知は実施することができていました。
しかし、Defender for Cloud によるデータの収集方法 には次の記載があります。
Defender for Cloud は、セキュリティの脆弱性と脅威を監視するために、Azure 仮想マシン (VM)、仮想マシンスケールセット、IaaS コンテナー、および非 Azure (オンプレミスを含む) マシンからデータを収集します。 一部の Defender プランでは、ワークロードからデータを収集するために監視コンポーネントが必要になります。
不足している更新プログラム、OS のセキュリティ設定ミス、エンドポイント保護のステータス、正常性と脅威の防止を可視化するためには、データ収集が欠かせません。 データ収集を必要とするのは、コンピューティング リソース (VM、仮想マシン スケール セット、IaaS コンテナー、非 Azure コンピューターなど) だけです。
エージェントのプロビジョニング以外でも、Microsoft Defender for Cloud にはメリットがあります。 ただし、セキュリティに制限があり、上記の機能はサポートされません。
データは以下を使用して収集されます。
- Azure Monitor エージェント (AMA)
- Microsoft Defender for Endpoint (MDE)
- Log Analytics エージェント
- Kubernetes 用の Azure Policy アドオンなどのセキュリティ コンポーネント
Microsoft Defender for Cloud で提供されている機能を最大限活用するためには、Azure Monitor エージェント (AMA) / Log Analytics Aエージェント (MMA) の導入が必要となってくるようです。
Defender for Server では、Defender プランを設定する際に、「構成」からどのエージェント / Log Analytics ワークスペースを使用するかを指定することができ、指定した設定を使用するように自動的にエージェント (拡張機能) をインストールするように設定ができますので、エージェントの導入の自動化も対応できると思います。
Microsoft Defender for Server と Microsoft Defender for Endpoint (MDE)
MDE との連携ができる Defender for Server のプラン
Microsoft Defender for Server には P1 / P2 のどちらのプランを使用していても、利用可能な機能に Defender for Endpoint 統合 が含まれており、「Microsoft Defender for Endpoint プラン 2 で提供されるエンドポイントでの検出と対応 (EDR) 機能」を使用することができます。
MDEについては、「Log Analytics ワークスペースレベルでの Defender for Server の有効化」だけでは、使用することができないため、サブスクリプションレベルでも Microsoft Defender for Server を有効化する必要があります。
MDE へのオンボード
Microsoft Defender for Server と MDE については、Microsoft Defender for Endpoint (MDE) 観点でのドキュメントである サーバーをオンボードするためのオプション にも記載されており、Defender for Server を使用している環境は、MDE にオンボードすることができます。
Azure Arc Enabled Server が有効な環境の MDE のオンボードについては、「MDE.Windows」という拡張機能により実現がされています。
Azure Arc 対応サーバーについては、Microsoft Defender for Server と MDE の統合については、既定で有効となっているようで、Arc に登録を行い、その環境が Defender for Server の利用対象なのであれば、自動的に拡張機能 (MDE.xxxx) がインストールされオンボードがされるということでした。
Defender for Cloud の統合 EDR ソリューションを使用してエンドポイントを保護する: Microsoft Defender for Endpoint に記載されている次の記載が該当するのかと思います。
MDE 統合ソリューションでは、Log Analytics エージェントを使用したり、インストールを要求したりすることはありません。 この統合ソリューションは、Azure Windows 2012 R2 サーバーと 2016 サーバー、Azure Arc 経由で接続されている Windows サーバー、およびマルチクラウド コネクタ経由で接続されている Windows マルチクラウド サーバーに対して自動的にデプロイされます。
MDE へのオンボードについては、次のドキュメントもありますので、これらのドキュメントも確認するとよいかもしれませんね。
- Defender for Endpoint を利用して Microsoft Defender for Cloud に Azure 以外のマシンを接続する
- Defender for Cloud の統合 EDR ソリューションを使用してエンドポイントを保護する: Microsoft Defender for Endpoint
MDE.Windows 拡張機能の情報について
サブスクリプションレベルで Microsoft Defender for Server が有効な Azure Arc 対応サーバーでは、自動的に Arc の拡張機能として「MDE.Windows」の追加が行われますが、この拡張機能について、ドキュメントを確認したい場合には、次の情報を参考にすると良さそうです。
- Microsoft Defender for Endpoint から Microsoft Defender for Cloud へのサーバーの移行
- Defender for Cloud の統合 EDR ソリューションを使用してエンドポイントを保護する: Microsoft Defender for Endpoint
- Defender for Servers に関する一般的な質問
MDE 拡張機能については、Microsoft Defender for Endpoint (md4ws) の導入と必要なレジストリキーの設定を実施しているように見えました。
Windows Server 2016 以降は Windows Defender Antivirus がデフォルトでインストールされているため、次の作業が主な機能となっているのではないでしょうか。
- 「HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows Advanced Threat Protection」に MDE ポリシーレジストリキー を設定
- 「Windows Defender Advanced Thread Protection Service」(Sense) サービスの起動
Microsoft Defender for Endpoint のオンボード / オフボードについて
Azure Arc 対応サーバーについては、MDE への登録は自動的に行われていたため、オンボードについてはあまり意識する必要はなさそうでした。
オンボードならびに登録を解除するオフボードについては、次のドキュメントツリーから確認をすることができます。
この方法については、Microsoft 365 Defender ポータル の「設定」→「エンドポイント」→「デバイス管理」からも確認することができます。
オフボードについては Defender for Endpoint をマシンから削除する ドキュメントもありまずが、これはサブスクリプション全体でオフボードする場合の手順となり、サーバー単体でオフボードする場合は、状況に合わせたオンボード手順に記載されているオフボードの作業を行えばよいようです。
Microsoft Defender for Server の検証
導入された Defender for Server が動作するかの検証については次のドキュメントの内容が活用できます。
テスト用のコマンドまたは EICAR のテストファイルを使用して検出テストを行う方法が記載されています。
PowerShell を使用したテストのコマンドについては、Microsoft 365 Defender ポータル の「設定」ー「デバイス管理」→「オンボーディング」の検出テストの実行からも確認できます。
両方のテストを実施する場合には次のようなコマンドでテストができるかと思います。
powershell.exe の実行は、PowerShell から実行しても検知されるはずですが、検知されない場合、コマンドプロンプト (cmd.exe) を起動してそちらで実行してみてもよいかもしれません。
Invoke-WebRequest -Uri https://secure.eicar.org/eicar.com -OutFile $ENV:TEMP\eicar.com powershell.exe -NoExit -ExecutionPolicy Bypass -WindowStyle Hidden $ErrorActionPreference= 'silentlycontinue';(New-Object System.Net.WebClient).DownloadFile('http://127.0.0.1/1.exe', 'C:\\test-WDATP-test\\invoice.exe');Start-Process 'C:\\test-WDATP-test\\invoice.exe'
Microsoft Defender for Server を使用した統合管理
想定する動作となっている場合、Azure Portal の「Microsoft Defender for Cloud」の「セキュリティ警告」で次のように表示が行われます。(EICAR テストファイルについては、重要度が「情報案内」となっているためデフォルトのフィルターを変更しないと検知結果が表示されませんでした)
MDE 統合が行われ、MDE 側でもデバイスとして認識されている場合には、Microsoft 365 Defender ポータル から該当のデバイスを表示すると、MDE 側でも同様の情報が確認できる状態となります。
Microsoft Defender for Server を使用することで、オンプレミスで Microsoft Defender Antivirus により検知されたマルウェアの情報について、Azure または MDE で複数のサーバーを統合管理することができるようになるのではないでしょうか。
終わりに
細かな機能の確認は進めていかないといけませんが、上記のような確認ができる環境を構成してから機能確認を進めるとよさそうかなと感じました。
自分が必要とする機能や展開を行うためにはどの設定を変更しなくてはいけないかについては、完全に理解できているわけではないのですが、どのような機能が追加されどのような画面で情報を確認すればよいのかは理解度が上がった気がしています。
Defender for Server の検証は、サブスクリプションレベルでの有効化が前提となる機能が多いですので、対象となるリソースが抑えられる検証用のサブスクリプションを別途用意しておくのが良いかもしれませんね。
セキュリティ周りは理解が低いので ひと目でわかるMicrosoft Defender for Endpoint も読み進めないとなと思った今日この頃です。