1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Microsoft Defender for Cloud で自社専用ポリシーを監視する方法

Last updated at Posted at 2024-07-19

1. はじめに

Microsoft Defender for Cloud では CSPM (Cloud Security Posture Management) と呼ばれるベンチマーク基準から外れた状態を監視する機能が提供されています。多くの方は標準でリリースされている MCSB (Microsoft Cloud セキュリティベンチマーク) に設定されているルールを用いて監視することが多いと思いますが、MCSB で提供されていないポリシーを監視するケースもあるため、本記事では方法についてまとめてみました。

2. 設定方法

自社専用のベンチマークを設定する方法は 2 通り有ります。
後発で MDC 内で KQL を用いて開発可能な機能が提供されました。

方法 手法 メリット デメリット
Azure Policy で設定する 「ポリシー」画面から、自社用のイニシアティブ、ポリシーを選択して設定する。旧来から提供されてきた方法。 - 昔から提供されてきたこともあり、サンプルポリシーが豊富
- Azure Policy 画面と Defender for Cloud 画面を行き来する必要がある
- スクラッチで開発するのが難しい(独自の JSON 形式を理解して開発する必要がある
Defender for Cloud で設定する
New
MDC 画面からイニシアティブを作成し、KQL ベースで作成する - MDC 画面内で完結する
- KQL を駆使することで開発が容易になった
- Azure だけでなく、マルチクラウド(GCP/AWS) に対応
- [2024.7 現在] サンプルクエリーが少なく、開発のハードルが高い

3. 試してみる

3.1 Azure Policy からの設定

Azure Policy では、MCSB ベンチマーク以外に含まれていない多数のポリシーが提供されています。
Azure のみ(マルチクラウド要件で無ければ)、既存の資産を生かした方が簡単なのでこちらをお勧めします。

【Azure Policy 画面】
image.png

3.1.1 Azure Policy からイニシアティブ定義を作成する

ポリシー画面から、新規にイニシアティブ定義を作成します。

  • イニシアティブの場所は自社の管理グループを考慮して設定します
  • カテゴリは後に分かりやすいものを選択しましょう (本例では General を設定しています)
    image.png

3.1.2 イニシアティブにポリシーを追加する

作成するイニシアティブにポリシー定義を追加します。

  • 多数のポリシーが表示されますので、カテゴリーなどでフィルターして設定しましょう。
  • 本例では MCSB では提供されていない App Service の Public Network Access 禁止を想定して設定しています。
    image.png

3.1.3 (Option) グループの作成

ポリシーが多数存在する場合は、グループを作成してマッピングすることが出来ます。
image.png
グループを作成することで、ポリシー選択画面からグループに登録することが出来ます。
image.png

3.1.4 (Option) イニシアティブパラメーター / ポリシーパラメーター

各ポリシーでは、ポリシー内に設定する項目(パラメーター)が存在します。
ポリシーで設定するタグ情報や、期間などを設定する日数など、ポリシー上設定する値をパラメータとして定義する機能が提供されています。

ポリシーの中には、パラメータとして設定が必要となる項目が提供されています。
(例:Azure Key Vault の有効期限など)

image.png

3.1.5 保存して確認する

最後に保存して設定を確認します。
ビルトインのポリシーについては、参照 ID の欄に日本語の説明が付加されており分かりやすいです。
image.png

3.1.6 Microsoft Defender for Cloud から反映させる

3.1.5 まで設定して Custom のイニシアティブを作成することで、Microsoft Defender for Cloud の設定 / ポリシー画面に表示されます。

image.png

3.1.7 自社イニシアティブのガバナンス状況を確認する

設定が反映し、ポリシー判定が行われることで、MCSB 同様に「規制コンプライアンス」からポリシー準拠状況を確認することが出来ます

※規制コンプライアンスの利用は Defender CSPM、もしくは何らかの CWPP 機能の有効化 (Defender for -Resource Manager など) が必要です

image.png

また、推奨事項画面より、イニシアティブでフィルターすることからも確認が出来ます。

image.png

3.2 Microsoft Defender Cloud からの設定

新しく Microsoft Defender for Cloud 側で作成することが出来るカスタムイニシアティブ(標準)、およびカスタムの推奨事項です。

image.png

3.2.1 カスタムの推奨事項を作成する

MDC 側からのポリシー選択は限定されており、Azure Policy で提供されていたポリシーリストすべてを選ぶことが出来ない仕様になっています。また、AWS/GCP などのマルチクラウドに対応出来るように KQL (Kusto Query) ベースで開発が出来るようになったのが本機能です。

メニューから「カスタムの推奨事項」を選択すると以下のような画面に移ります。
image.png

3.2.2 KQL ベースで推奨事項ポリシーを作成する

設定を「クエリ」に移すと、クエリーエディタを用いてポリシーを開発することが出来るようになります。
image.png

クエリーエディタ画面では、実際の KQL と組み込まれている推奨事項ポリシーからサンプルが選べるようになっています。
image.png

3.2.3 クエリエディタで作成したクエリーを保存

クエリエディタで評価したクエリを保存して先に進みます。
image.png

3.2.4 カスタムイニシアティブを選択する

KQLベースで作成したクエリーを格納するカスタムイニシアティブを作成 or 設定します。
image.png

3.2.5 (Option) 標準ルールと組み合わせる

MDCから作成したカスタムイニシアティブは、標準ルールと組み合わせることも可能です。
以下、KQLベースで作成したカスタムルールと標準ルールを組み合わせた例です。
image.png

3.2.6 設定を確認する

MDC のポリシー画面から設定を確認します。
Azure Policy で作成したイニシアティブが「カスタム(レガシ)」と表示されるのに対して、MDCのイニシアティブは「カスタム」と表示される点にご注意下さい。
image.png

3.2.7 イニシアティブを確認する

3.1.7 の確認方法と同様な手順になります。

4. 考察

2 通りの方法とも、Microsoft Defender for Cloud の画面(規制コンプライアンスや推奨事項など)から確認することが出来ました。MDC から設定可能な方式は 2024.7 現在プレビュー中といったこともあり、KQL の作成やサンプル例が少ないため、スクラッチで開発する工数がかかりそうです。但し AWS/GCP の情報を ARG (Azure Resource Graph) から自由に作れるため、これまで以上に自由度が広がったと思います。
Azure 内だけの自社ポリシーであれば、Azure Policy (ポリシー) で提供されている豊富なポリシー群で要が足りるのではないかと思います。また、Github には Microsoft Internal Team と有志メンバーによるカスタムポリシーが公開されており、気になるポリシーをこちらから追加して組み立てるのもアリなのではと思います。

5. 最後に

イニシアティブ / カスタムポリシーはあまり情報が掲載されておらず、MDC 側で追加された新方式もリリースされたため、混乱される方も出てくるのではないかと思います。本記事がどなたかの参考になれば幸いです。

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

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?