MDE 通信リストが簡略化!! Azure サービスタグ or 簡略化されたドメインがサポートされました (NSG / Azure Firewall)

# 1. はじめに
Azure サービスタグに Microsoft Defender for Endpoint 通信専用のタグ `MicrosoftDefenderForEndpoint` がついにサポートされました！
新しい MDE エンジンを用いることで、MDEサービスタグ、もしくは簡略化されたドメイン ``*.endpoint.security.microsoft.com`` だけで通信許可設計が出来るようになります。

この記事では、Azure Firewall など、Azure から外部接続する際の通信要件を定義して、設計されている方向けに紹介します。

https://learn.microsoft.com/ja-jp/azure/virtual-network/service-tags-overview#available-service-tags

# 2. これまでの背景
このタグ自体、昔から存在していたのですが、長らくDocs 上では開発中で使用不可との記載が出ていました。
(以下、過去掲載されていたドキュメント画面の抜粋)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/653790/5054b5bc-3472-31c7-a119-58774089acc5.png)
このため、今までは [MDE 通信要件のドキュメント](https://learn.microsoft.com/ja-jp/defender-endpoint/configure-environment#enable-access-to-microsoft-defender-for-endpoint-service-urls-in-the-proxy-server)に掲載されている統合 URL のスレッドシートを開き、OS 要件などを確認して許可リストを登録する必要がありました。
以下画面を見て頂いてお分かりの通り、ほとんどの Microsoft ドメイン (例：``www.microsoft.com`` や ``ctl.microsoft.com``、``*.security.microsoft.com``) を通す必要があり、Proxy 通信許可解放には地獄の作業が行われていました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/653790/5fa048f2-5e0b-1ddd-33c3-febec82d504c.png)


今現在、本ドキュメントが更新されており、[「デバイスを合理化された接続でオンボードし、要件を満たす」](https://learn.microsoft.com/ja-jp/defender-endpoint/configure-device-connectivity)ことで、通信要件が整理されて、本タグで統合されたドメイン、IPアドレスによる通信でまとめられるように MDE 側が更新されています。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/653790/ae1d9f2e-f7c8-309c-1a76-3763f4608116.png)

# 3. 本タグを利用するための条件とは
詳しい要件は以下 Docs に掲載されていますのでご確認下さい。
新しい MDE の Engine Version によるサポートのため、対応するバージョンが必要となります。

https://learn.microsoft.com/ja-jp/defender-endpoint/configure-device-connectivity#prerequisites

- Microsoft Defender ウイルス対策のバージョン (Windows) 

| 要件  | バージョン |
| ---- | ---- |
| マルウェア対策クライアント  | ``4.18.2211.5`` |
| エンジン  | ``1.1.19900.2`` |
| ウイルス対策(セキュリティインテリジェンス) | ``1.391.345.0`` |

Windows MDAV / MDE のバージョンは、MDE Client Analyzer を実行することで確認することが出来ます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/653790/e7c21fbf-9376-6141-8d65-98704a48f412.png)


- Microsoft Defender ウイルス対策のバージョン (Linux) 

| 要件  | バージョン |
| ---- | ---- |
| MDE 製品バージョン  | ``101.24022.*`` 以上 |

MDE 製品バージョンは ``mdatp health`` コマンドなどで確認することが出来ます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/653790/81a8010f-f346-1685-5b86-e7f93ec0a165.png)

# 4. 試してみる
Azure Vnet に構築した Windows 2022 Server, Redhat Enterprise Linux から、Azure Firewall の許可設定に MDE 通信タグを入れて試してみました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/653790/6639f688-23e5-f7c5-fe31-84206c0c2b9c.png)

## 4.1 Azure Firewall アウトバウンドの設定
Azure Firewall では、ネットワークルールのサービスタグで ``MicrosoftDefenderForEndpoint`` と ``OneDsCollector`` のタグを許可しています。Docs に記載がある通り、現 MDE では 2 つのタグを利用して外部接続が行われるとのことです。

| タグ名  | 説明 |
| ---- | ---- |
| MicrosoftDefenderForEndpoint  | クラウド配信の保護、マルウェア サンプル送信ストレージ、自動 IR サンプル ストレージ、Defender for Endpoint コマンドと制御 |
| OneDsCollector  | Defender for Endpoint のサイバーデータと診断データ |

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/653790/39fe59ef-20fa-44fd-a7f4-6c6149c3a0db.png)

## 4.2 Windows 2022 Server の場合
Windows Server 2019 以降からは MDE センサーが同梱されているため、Defender for Servers P1 を有効化することによって、機能が有効化され、Azure VM の拡張機能に ``MDE.Windows`` が展開されることを確認出来ました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/653790/43bfe189-0017-c525-a381-78669308b05c.png)

テストアラートやデバイス情報などを Defender XDR 側で確認することが出来ます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/653790/abc4f808-dc81-61bd-0d10-e47d1f79899e.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/653790/d59ad0a1-9b57-3339-8572-e8d63b91676e.png)

## 4.2 Redhat Enterprise Linux の場合
最初にテストしたところ、MDE.Linux のオンボーディングに失敗するエラーが発生しました。タグ ``MicrosoftDefenderForEndpoint`` や ``OneDsCollector`` は MDE センサーが導入されて以後の通信要件であり、MDE そのもののオンボーディングのための通信要件が別であることが原因でした。
このため、MDE インストール用に以下を通信要件に加えています。

| 要件 | 許可ルール | ポート | 許可設定 |
| ---- | ---- | ---- | ---- |
| Azure RHEL レポジトリ | Network Rule | https | ``rhui-1.microsoft.com``<BR>``rhui-2.microsoft.com``<BR>``rhui-3.microsoft.com`` |
| MDE for Linux 導入用 | Network Rule | https | ``pakage.microsoft.com`` |

MDE for Linux の場合、[MDE と連動する様々な外部パッケージが存在する](https://learn.microsoft.com/ja-jp/defender-endpoint/linux-install-manually#microsoft-defender-for-endpoint-package-external-package-dependencies)ため、Linux が Azure RHEL 以外の場合はそれぞれのレポジトリを通信要件に加えるなどの工夫が必要になりそうです。
この設定を加えることで、オンボーディングと Defender XDR への通信確認が取れました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/653790/4498c29b-e507-e6ea-602b-41bbdb39ff6d.png)

# 5. 考察
MDE エンジン側のアップデートにより、ようやく通信先要件がシンプルになり運用が楽になるのですが、対象の OS が 2022/3/8 付けのパッチが適用されていることや、古いエンジンバージョンで放置された Windows/ Linux 端末は通信不可であるため、移行や救済措置が必要になりそうです。
Defender XDR エンジンバージョンなどのチェックを行いながらサービスタグ or 簡略化されたドメインの活用をご検討下さい。
本記事が Azure Security にご興味ある方々のためになれば幸いです。

＊本稿は、個人の見解に基づいた内容であり、所属する会社の公式見解ではありません。また、いかなる保証を与えるものでもありません。正式な情報は、各製品の販売元にご確認ください。