0
0

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 Sentinel 基礎 その1

Last updated at Posted at 2025-07-22

最初に

SC-200の勉強です。
SentinelについてはMSの人が書いたガイドみたいな本もないし、公式ドキュメントにしか頼れない。その割に、Sentinelはリソースを建ててからの設定が面倒くさい気がします。(もう少しリソース作成時にどのログを取り込みますか?みたいなウィザードでポンポンできたらいいのにという感想を持った。)

基本的には以下のMicrosoft LearnとGithubのHandsOnが元ネタです。

あとまだ見ていないけど、MicrosoftのSC-200の動画Playlistがあったので置いておく。

Microsoft Defender, Defender for Cloudについてはこちらを見てください。
実際に自分で環境を構築したい場合はMicrosoft Defenderのページから環境構築できます。

SentinelはSIEM(security information and event management)製品で以下のような機能を提供する。

  • Log management
  • Alerting
  • Visualization
  • Incident management
  • Querying data

Sentinelに対してConnector経由でサービスと接続し、ログはLog Analyticsに保管される。

ただし、Sentinelの他に併用すべきソリューションもあり。

①パフォーマンスモニタリングのためには、別途インフラログやアプリログはLog Analyticsに別に保管しておくべき。

②クラウドのセキュリティ態勢管理(CSPM)のためにはDefender for Cloudを利用するべき。

基本的には1 Azure Tenantに対して、1 Log Analytics Workspaceで1 Sentinel のインスタンス。ただし、Regionの制限などがある場合は複数立てることもあり得る。その場合はRegionまたぎのデータ送信になるのでデータ通信量分のコストが発生する。

環境構築

image.png
Create new workspace
image.png
Log Analyticsを作る。
image.png
LogAnalyticsとSentinelを関連付ける。
image.png
とかやってこんな風に2つリソースができた。
image.png
一旦Sentinel管理者用にSentinel Contributorの権限を自分に付与する。
image.png

ログ保持期間の設定

Log Analyticsは監査などの方針に則って、ログ保持期間を長めに持つこともできる。(基本はデフォルト30日。Application Insightsは90日。)
image.png
Log AnalyticsのTablesからTableごとに設定することも可能。
image.png

Sentinelはどこから使うか

ちなみにSentinelはMicrosoft DefenderとAzure Portalからアクセスできるが、利用できる機能は違いがあるらしい。うーん面倒くさい。

Perplexityに質問してみると、設定はAzure Portal、利用はDefenderという感じになりそう。
image.pngimage.png

Sentinelの設定はどこから、、、

ちなみにSentinelの設定はResource GroupのSecurity Insightsではない。
image.png
ちゃんとトップページ > Sentinelから行く必要がある。
image.png

と思ったら、今後はDefender Portalで統一されていくらしい。
image.png

Content Hubから様々なデータを取り込む

Sentinelは様々なサービスからのログを取り込むことができる。Microsoft Defender XDRを介するもの、Defender for Cloudを介するもの、直接など。
image.png

Sentinelのコンテンツには以下のように様々なものがあり、Content Hubから設定することで使えるようになるものが多い。

  • データ コネクタは、 さまざまなソースから Microsoft Sentinel へのログ インジェストを提供します
  • パーサーは 、ログの書式設定/ASIM 形式への変換を提供し、さまざまな Microsoft Sentinel コンテンツ タイプとシナリオでの使用をサポートします
  • ワークブックは、Microsoft Sentinelのデータに対する監視、視覚化、対話機能を提供し、ユーザーにとって意味のある洞察を強調します。
  • 分析ルールは 、インシデントを介して関連する SOC アクションを指すアラートを提供します
  • ハンティング クエリ は、Microsoft Sentinel で脅威を事前に検出するために SOC チームによって使用されます
  • ノートブックは、 SOC チームが Jupyter と Azure Notebooks で高度なハンティング機能を使用するのに役立ちます
  • ウォッチリストは、 強化された脅威検出とアラートの疲労軽減のために、特定のデータの取り込みをサポートします
  • プレイブック と Azure Logic Apps カスタム コネクタは、Microsoft Sentinel の自動調査、修復、応答シナリオの機能を提供します

Threat Indicatorの取り込み

**Threat Intelligence Indicator(脅威インテリジェンス・インジケーター、略称:IOC)**は、Microsoft Sentinelがマルウェアや悪意のある通信などを検出する際に参照する"脅威のリスト"や"攻撃の兆候"の集まりです。
たとえば「悪意のあるIPアドレス」「既知マルウェアのファイルハッシュ」「フィッシングに使われたURL」などが含まれます。
Sentinelでは、このインジケーター情報(ThreatIntelligenceIndicatorテーブルなど)を使って、ログやイベントと照合し(たとえばネットワーク通信やメールの宛先、ファイル書き込み等)一致した場合に分析ルールで自動的にアラートを生成し、脅威を検出します。

これらはMicrosoftから提供されているものもあるし、独自にも定義できる。これをしなくても全く検知・アラート機能が動かなくなるわけではないが、高度な機能を利用するためにはやっておくべきということらしい。
image.png
Content HubからMicrosoft Defender Threat Intelligenceをインストールしてみる。
image.png

中身にはPlaybookなども含まれる。インストール自体は無料。
image.png
image.png

と思ったら、Data Connectorが含まれていないとThreat intelligence indicatorテーブルにデータが追加されないらしい。Preview版だがこちらも追加する。
image.png
Data ConnectorにThreat Intelligenceが表示された。
image.png

Connectしてやる。
image.png
LogAnalyticsのThreatIntelligenceIndicatorにデータが表示されるようになった。
image.png

ちなみにTAXIIという言葉も見かけるが、これはTrusted Automated eXchange of Indicator Informationの略で、攻撃の兆候を標準化するためのプロトコルらしい。Sentinelはこれのver 2.1まで対応している。

IPAのページでは「サイバー攻撃活動の情報を交換するための仕様」とある。これ専用の仕様があるなんてニッチすぎる。。。

Defender XDR

Microsoft DefenderのページからトップページのConnect a workspaceからでOK。
image.png
image.png

SentinelのConnectorのページにXDRがConnectedになっていることを確認。
image.png

Microsoft Defender XDR suite includes:
Microsoft Defender for Endpoint
Microsoft Defender for Identity
Microsoft Defender for Office 365
Microsoft Defender for Cloud Apps
Microsoft Defender Alerts
Microsoft Defender Vulnerability Management
Microsoft Purview Data Loss Prevention
Microsoft Entra ID Protection

Open Connector Pageからどのデータを取得するか選択。
image.png
とりあえずO365以外は全部ONにしてみる。
image.png

その他にもContent Hubから様々なデータソースを取り込める。

  • マイクロソフト エントラ ID
  • Azure アクティビティ
  • Microsoft Entra ID Protection(マイクロソフト エントラ ID 保護)
  • Azure DDoS対策
  • アジュール情報保護
  • Azure Firewall
  • Microsoft Defender for Cloud
  • Azure Web Application Firewall (WAF) (以前の Microsoft WAF)
  • ドメイン ネーム サーバー
  • オフィス365
  • Windows ファイアウォール
  • セキュリティ イベント

Microsoft Defender for Cloud

image.png
毎回思うのだが、Data Connectorがインストールされるだけでは足りなくて、個々のConnector Pageで有効化などをしなくてはいけないのは、不親切だと思う。
image.png

Azure Activity

image.png
ちなみに、インストール後はOpen Connector ページからポリシーで「必ずLog AnalyticsワークスペースにAzure Activityログを送る」というルール(ストリーミングポリシー)がを作る必要がある。これにより、原則全てのリソースはLog Analyticsにログを送信するのが必須になる。(例外設定は可能)
Azure Policyに追加されている。
image.png

Entra ID

SigninログとかSentinelで分析したい場合。
image.png
とりあえず全部取り込んじゃえ。
image.png

EntraのDiagnostics SettingsでもLog Analyticsにデータ送信するようになっていることを確認。
image.png
image.png

VM

Windows Deviceのログ

Windows Security Eventsを選択。これを使えば、Azure Monitor AgentがインストールされているVMからログが取得できる。
image.png
Open Connector Pageから、Data Collection Ruleを作る。
image.png
image.png

ちなみに、Defender for Cloudを設定する際に、Defender for Servers Plan 2をOnにしていれば、原則自動的にAzure Monitor AgentはVMにインストールされる。
image.png
image.png
Agentless scanなどもあるけど、Sentinelとの連携のためにはAgentが必要ということらしい。

Linux Host

Common Event Format Connectorというものを使う。
Perplexityの説明。なるほど。

Common Event Format(CEF)とは、セキュリティイベント等のログを共通の構造・書式で記録するための標準システム。世界で広くSIEM製品のログ標準化・相互連携に活用されている形式です。

Linux VMはちょっとスキップしてしまうが、基本的にはLinuxもAzure Monitor Agentを入れたVMに対して、Data Collection Ruleを設定する感じらしい。

取得したいものによって違う。ちゃんとやるならどちらも取得しなくちゃなのかな。。。
image.png
image.png

Azure Policyの利用

ちなみに、標準ではVMが増えても自動的にログ取得対象にしてくれないため、Policyで自動化することが望ましい。Perplexityによる。

しくみ・必要な設定
標準状態(手動連携だけ)
AMAインストールやDCRの関連付けを手動で行った場合、新規VMには自動でこの設定が継承されません。⇒ 新しく増えたVMには自分でAMA+DCR紐付けを追加する必要あり。

Azure Policyによる統制を導入した場合
「Azure Monitor エージェントをインストールし、データ収集ルールに関連付ける」というAzure Policy(OS別イニシアティブ)をサブスクリプションやリソースグループに割り当てておくことで、以後そこで作成されたVMには自動的にAMAがインストールされ、指定したDCRも自動で適用されます。⇒ VMが増えても自動追従し、設定漏れ・運用負担を大きく減らせます。

まとめ
AMAコネクタやDCRだけでは“新規VMの自動連携”はされません。Azure Policyを導入すれば「新たに作成されたVMも自動的にAMA+DCRによるログ取得対象」となります。大規模・長期運用ではAzure Policyによる統制を強く推奨します。

サードパーティ製品のログ

サードパーティのものを取り込む場合はAzure Linux VM内のAgentをフォワーダーとして経由して取り込む必要がある。Syslog と Common Event Formatが使える。
image.png
image.png

Content Hub > CEFで検索。
image.png
image.png

、、、が、Open Connectorから詳細を設定しようとしたところエラーになった。。

一応ドキュメントを見る感じ、Forwarderを構築するための手順が書かれて要るっぽい。
image.png

Watchlist

Watchlistを使えば外部データをcsvとして取り込むことができる。

使い方としては色々で、以下のようなケースを想定する。(正直ただカスタムデータ取り込めて何がうれしいの?と思ってました。。。)

  • 脅威調査やインシデント対応の効率化:資産リストや許可されたユーザーのホワイトリスト、退職者リストなどをウォッチリストとして管理し、検出ルールや脅威ハンティングクエリで参照することで、誤検知を減らしたり迅速な対応が行えます。
  • アラートの疲労軽減:許可済みのIPやユーザーをホワイトリストとしてあらかじめ登録し、それらからのアラートを抑制することで、不要なアラートを減らし、本当に対処が必要な脅威に集中できます。
  • 自動化連携:Logic Appsなどと組み合わせて、ウォッチリストへのデータの定期的な自動更新も可能です。

image.png
image.png
image.png

自動対応(SOAR)

オートメーションルールとプレイブックの2種類がある。
image.png

基本的な使い分けとして、インシデントやアラート発生時に「まずオートメーションルールがトリガーされ、必要に応じてプレイブックが実行される」スタイルが推奨されています。オートメーションルール自体のアクションから直接プレイブックの呼び出しが指定できます。

「トリガーと制御」=オートメーションルール、「具体的な自動対応内容」=プレイブック、という役割分担が基本です。

オートメーションルール

例として以下のようなことができる。

  • インシデントを適切な担当者に自動的に割り当てたり
  • 分類のためにインシデントにタグを付けたり
  • インシデントの状態を変更して閉じたり
  • Playbookを実行したり

一から作ってみる

Configuration > Analyticsでカスタムクエリでアラートを挙げることができる。
image.png
image.png
image.png
image.png

トリガー
image.png
アクション(そんなにできること多くない)
image.png
image.png

Templateから作る

オートメーションルールは上記のように一からも作れるし、templateからも作れる。今度はTemplateから作ってみる。
image.png
例えばCloudshellの利用者が増えたのを検知。
image.png
どんなクエリを
image.png
どれくらいの間隔で検知するか。
image.png
同じアラートがずっと上がらないように1時間に1回とかも制限できる。
image.png
検知したらインシデントを作成する。
image.png
インシデントが作成されたらどんなAutomated Responseが実行されるか。
image.png
試しにCloudshellを有効化してみる。
image.png
Incidentとして検知された。
image.png

Defender for Identityをオンプレドメコンに導入

センサーというものをドメコンにインストールする必要がある。これによりオンプレのアクティブディレクトリの監視もできるようになる。

Playbook

アラートが発生したときの自動対応でPlaybookを利用できる。
Content HubからSoar Essentialsをインストールする。
image.png
Phishing用のPlaybookを設定する。
image.png
image.png
image.png
Logic Appsが開くのでEditすると中身が見れる。
image.png
image.png

Automation RuleとPlaybookの連携

Automation RuleからIncidentが作られたときにPlaybookを実行する。
image.png

サンプル

その他Playbookのサンプルは以下Github リポジトリにある。

長くなったので、その2は下に続きます。

0
0
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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?