Microsoft Defender for Endpoint から Microsoft Defender for Cloud へサーバーを移行してみた

こんにちは。
[Microsoft Security Advent Calendar 2022](https://qiita.com/advent-calendar/2022/microsoft-security) 20日目 に参加させていただきます。

# はじめに
Microsoftのサーバー セキュリティ ソリューションには、機能や課金方法が異なる2種類の製品があり、シナリオに応じて適した保護が選択できます。
- [Microsoft Defender for Endpoint](https://learn.microsoft.com/ja-jp/microsoft-365/security/defender-endpoint/?view=o365-worldwide) ※以下MDE
- [Microsoft Defender for Cloud](https://learn.microsoft.com/ja-jp/azure/defender-for-cloud/defender-for-cloud-introduction) ※以下MDC

特に、MDCの有償機能として提供されるMicrosoft Defender for Servers ※以下DfS はサーバー保護に特化したソリューションであり、以下の特徴を持ちます。

- マルチクラウド (Azure, AWS, GCP) 環境やハイブリッド環境 (オンプレミス含む) に最適化​
- クラウドのサーバー、コンテナ、ストレージ、データベースなど、様々なリソース タイプに対して、一元的な脅威保護エクスペリエンスを提供​
- サーバーのダウンタイムは課金がされないため、費用対効果の高いプラン​
( DfS ではサーバー単位固定料金ではなく時間単位の従量課金 )​
- サーバー保護のためのより高度な機能を備えたプラン (Microsoft Defender for Servers P2) にアップグレード可能​

本記事では下記の公式ドキュメントを参考に、MDEにて管理しているサーバーをMDC（DfS）による管理に移行するための作業を実施してみます。
参考：[Microsoft Defender for Endpoint から Microsoft Defender for Cloud へのサーバーの移行](https://learn.microsoft.com/ja-jp/microsoft-365/security/defender-endpoint/migrating-mde-server-to-cloud?view=o365-worldwide#how-do-i-migrate-my-servers-from-microsoft-defender-for-endpoint-to-microsoft-defender-for-cloud)

# 前提条件
- 環境：非Azure（オンプレミス）
- サーバーOS：Windows Server 2022
- サーバー台数：1台
- 初期状態：[Microsoft 365 Defender ポータル](https://security.microsoft.com/)にて作業対象サーバーのインベントリが確認できる
※今回移行するサーバーのホスト名：win-h08arooqfrd
![画像25.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2982423/4dd55942-a193-59d7-8d32-ba1306ff50e3.png)


# 作業①：Defender for Serversの有効化
1. [Azure Portal](https://portal.azure.com/)にサインインする
2. 検索等を用いてポータルから**Microsoft Defender for Cloud**を開く
![画像1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2982423/b6054482-273c-e1ab-9b47-98583c0d9073.png)


3. 画面左側メニューの**はじめに**を選択する
4. <サブスクリプション名>をクリックする
![画像2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2982423/672e9cd1-3f84-c1d1-146d-117963bbab44.png)


5. **サーバーの状態**を**オン**にする
![画像3.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2982423/53d2ee45-d169-365b-7931-1c179a2b7958.png)


今回はMDEと機能レベルを合わせるためにプラン1を有効にします。

6. **プランの変更**をクリックする
7. **Microsoft Defender for servers プラン 1**を選択する
8. **確認**をクリックする
![画像4.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2982423/23d4229a-b5d6-a32d-8b34-d21a8109fb01.png)


9. **保存**をクリックする
![画像5.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2982423/62685a7c-a332-f6b4-a4e6-042986ed3df9.png)

これで利用しているサブスクリプションに対してDfSが有効化になりました。

# 作業②：Defender for Endpointとの統合
1. Defender for Cloudの画面左側メニューから**環境設定**を選択する
2. <サブスクリプション名>をクリックする
![画像1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2982423/475bc99f-50cd-b9a2-e50d-f5d9e6607f8a.png)


3. 画面左側メニューから**統合**を選択する
4. **Microsoft Defender for Endpointによるデータへのアクセスを許可します**にチェックが入っていることを確認する
   ※チェックが入っていない場合、**Microsoft Defender for Endpointによるデータへのアクセスを許可します。** にチェックを入れて**保存**をクリックする
![画像2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2982423/689bc8fc-d040-7e38-e04b-1f40a1b8925b.png)

この設定で連携を有効化することで、サーバーに対しMDC経由でMDEがオンボードされることとなります。サブスクリプション全体で有効になるため、作業①、作業②どちらも完了するとサブスクリプション内のVMに対して、自動プロビジョニングによりMDEがオンボードされます。

# 作業③：Azure Connected Machine Agent インストールスクリプトの生成
今回の移行対象はオンプレミスのサーバーであるため、MDCによる保護を実装するためにはAzure Arcに接続する必要があります。

1. [Azure Portal](https://portal.azure.com/)にサインインする
2. 検索等を用いてポータルから**Azure Arc**を開く
![画像8.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2982423/c97228e8-0153-5a5b-1ae8-0d400d55c0a2.png)


1. 画面左側メニューから**サーバー**を選択する
2. 画面左上の**＋追加**をクリックする
![画像9.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2982423/18d18614-5d91-fc9c-306e-b78176a93fdc.png)

3. **単一サーバーの追加**タイル内の**スクリプトの生成**をクリックする
![画像10.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2982423/03db5428-a5d4-9998-3945-c7b47ef5055f.png)

4. **次へ**をクリックする
![画像11.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2982423/10c45c37-3437-80a5-48f1-563b3d57f4c2.png)


5. ドロップダウンよりAzure内でサーバーを管理する**サブスクリプション**を選択する
6. ドロップダウンよりAzure内でサーバーを管理する**リソース グループ**を選択する
7. ドロップダウンよりサーバーの**地域**を選択する
8. ドロップダウンよりサーバーの**オペレーティング システム**を選択する
9. **接続方法**にてサーバーで実行されているConnected Machine Agentのインターネット接続方法を選択する
10. **次へ**をクリックする
![画像12.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2982423/8be213d2-e59a-3122-750e-4cd26fbbc4b4.png)


11. 必要に応じてタグを生成する。※不要であればスキップ可
12. **次へ**をクリックする
![画像13.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2982423/f84ad012-74fe-10dd-a854-2dff6f0b6b17.png)

13. **ダウンロード**をクリックする
14. ダウンロードの完了後、**閉じる**をクリックする
![画像14.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2982423/b320f217-0af7-e9f7-e762-e03e76ac633a.png)

15. ダウンロードしたスクリプトをAzure Arcインストール対象のサーバーに格納する
![画像15.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2982423/ff417782-98c4-07f0-db4c-ecd185510b08.png)

# 作業④：Azure Connected Machine Agent のインストール
いよいよ最後の工程です。作業③で作成したインストールスクリプトをサーバーで実行することで、Azure Connected Machine Agentをインストールします。

1. Azure Arcインストール対象のサーバーにログインする
2. 管理者特権のPowerShell コマンドプロンプトを開く
![画像16.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2982423/9c00e2cd-eae9-7fc7-1b69-b308ed483eea.png)

3. インストールスクリプトを実行する
![画像17.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2982423/ae0589fb-8da9-2903-073f-69682da7e637.png)

4. スクリプトの起動後、Azure Portalへのログインを求められる
![画像18.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2982423/351552d4-5188-e1cb-55a1-b1b4bff8083a.png)

5. 自動的にブラウザが起動し、ログイン画面が表示される
6. Azure Portalのクレデンシャル情報を用いてログインする
![画像19.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2982423/2b794b97-9b7c-6a1d-524c-08d0641fc0f4.png)

7. **Authentication complete**が表示されたらブラウザを閉じる
![画像20.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2982423/ac21cb9e-5314-c063-0bba-b592fc7663d8.png)

8. 手順6で認証が成功するとスクリプトが再開するため、完了するまで待つ
![画像21.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2982423/4644da3a-1380-b96a-866c-15a002a3acb8.png)

9. [Azure Portal](https://portal.azure.com/)にサインインする
10. 検索等を用いてポータルから**Azure Arc**を開く
![画像22.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2982423/6f4560cb-ac34-54bd-6148-20bcb5459ee8.png)

11. **Azure Arc**の画面左側メニューから**サーバー**を選択する
12. インストールスクリプトを実行したサーバーのホスト名が表示されていて、**状態**が**接続済み**であることを確認する
![画像23a.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2982423/6ccdfb27-caf7-6081-ac40-b470fe4c2bb4.png)
接続済みの状態を確認できるまで多少のタイムラグが生じる場合があるため、すぐに確認できなくても焦らず時間を置いて再度確認してみてください。

# 検知テスト
移行に必要な作業はすべて完了したので、正しく移行ができているかを検知テストで確認します。
参考：[MDE検知テスト手順](https://learn.microsoft.com/ja-jp/microsoft-365/security/defender-endpoint/run-detection-test?view=o365-worldwide)

移行したサーバーにログイン後、コマンドプロンプトを管理者権限で起動し、以下のコマンドを実行します。
```Windows Powershell:検知テスト用コマンド
powershell.exe -NoExit -ExecutionPolicy Bypass -WindowStyle Hidden $ErrorActionPreference = 'silentlycontinue';(New-Object System.Net.WebClient).DownloadFile('http://127.0.0.1/1.exe', 'C:\\test-MDATP-test\\invoice.exe');Start-Process 'C:\\test-MDATP-test\\invoice.exe'
```
![画像28.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2982423/619aeaf8-50b7-286c-7360-7dc906e99ca3.png)

コマンド実行後、MDCの**セキュリティ警告**を開き、**[Test Alert] Suspicious Powershell commandline**が発報されていれば移行は成功です。
![画像26.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2982423/76bd4727-5cf2-fe6f-bc4d-9a4f1c27c85f.png)

注意点として、本アラートサンプルは**重要度**が**情報案内**となっています。もし待てど暮らせどアラート発報を確認できない場合、**重要度**に対するフィルターの設定を確認してみてください。
環境によっては**高**、**中**、**低**のみ表示するようになっているので、**情報案内**も表示するようフィルターを再設定すると確認できるかもしれません。

# 最後に
以上で全作業完了です。今回のオンプレサーバーのように非Azure環境のサーバーを保護するためにはサーバーにAzure Connected Machine Agent をインストールしてAzure Arcへの接続が必要になりますが、Azure上のVMやすでにAzure Arcの設定が完了しているサーバーについては作業①と作業②完了時点でMDCが有効になるため、非常に簡単であることが分かります。
今回はDfS プラン1のみ有効化しましたが、他にもAzure、AWS、GCP、オンプレ問わずリソースを保護できる機能がMDCでは提供されています。
参考：https://learn.microsoft.com/ja-jp/azure/defender-for-cloud/defender-for-cloud-introduction
ぜひ一度お試しください。

ここまで読んでいただきありがとうございました。