
1. インシデント検知ツールの設定
1-1. Azure Monitor の設定
1-1-1. 診断設定を有効化し、ログを収集・一元管理
-
Azure Portal にサインインし、各リソース(VM、Storage、SQL、Key Vault など)の 「Diagnostic settings」 を開きます。
-
「診断設定を追加(Add diagnostic setting)」 をクリックし、下記のように設定します:
-
ログ送信先:
-
Log Analytics Workspace(推奨)
-
Event Hub(他の SIEM や外部ツールと連携する場合)
-
Azure Storage(長期保存が必要な場合)
-
-
ログカテゴリ(リソースによって異なる):
-
例: “Administrative”, “Security”, “NetworkSecurityGroupFlowEvent”, “Audit”, など必要なものを選択
-
-
名前: 任意の診断設定名(例: AllLogs-Diag-Setting)
-
-
保存 (Save) ボタンを押して設定を反映します。
1-1-2. Azure Monitor アラートルールの作成
-
Azure Portal で 「Monitor」 を選択し、左メニューの 「Alerts」 → 「Alert rules」 を開きます。
-
「Create」 ボタンを押し、新しいアラートルールを作成します。
-
アラート条件:
-
例: 「異常なユーザーログイン」
-
Signal type: Activity Log または特定のログクエリ
-
条件設定: 「一定時間内に複数回の失敗ログインが発生した場合」など
-
-
-
アクショングループ:
-
Azure Action Group を作成し、メール、Teams、Slack などを通知先に登録します。
-
例: “SecurityTeam-ActionGroup” という名前で、incident@company.com にメール発信、Teams チャネル “#security-incident” へメッセージ送信。
-
-
アラートの詳細設定:
-
名前: High-Risk-Login-Attempts
-
深刻度: “Sev2” (または組織ルールに準拠)
-
-
「Review + Create」 で確認後、「Create」 を押してアラートルールを有効化します。
1-1-3. ログ保持期間とアーカイブ
-
Log Analytics Workspace → 「Usage and estimated costs」 → 「Data Retention」 を開きます。
-
短期解析: 90 日
-
監査対応: 1 年間など
-
長期保存: “Archive to Storage” 機能を使用して、Azure Blob Storage に移行。
-
コスト最適化のために必要に応じてアーカイブを設定します。
-
1-2. Azure Sentinel(SIEM)の設定
1-2-1. Sentinel ワークスペースとデータコネクタの設定
-
Azure Portal → 「Azure Sentinel」 を開き、「Create」 または既存の Sentinel ワークスペースに移動。
-
「Data connectors」 タブを選択し、以下のコネクタを有効化:
-
Azure AD(サインインログ、監査ログ)
-
Microsoft Defender(Endpoint, Office 365, Identity, Cloud Apps 等)
-
Azure Security Center (Defender for Cloud)
-
Office 365(Exchange, SharePoint, Teams ログ)
-
AWS (必要に応じて CloudTrail ログを取り込む)
-
その他:必要な SaaS, on-premise logs など
-
-
各コネクタのセットアップ画面で、認証情報 や ログ取得方法(API/Agent)を設定。
-
コネクタ有効化後、Sentinel ワークスペースにログが取り込み開始されるのを確認。
1-2-2. ワークブックと分析ルールの設定
-
「Workbooks」 メニューを開き、以下のテンプレートをインポートまたは有効化:
-
「Azure AD Risky Sign-Ins」
-
「Data Exfiltration」
-
-
ワークブックを開き、視覚化されたダッシュボードで異常なアクティビティを確認できるかテスト。
-
「Analytics」 メニューで 「Create」 を押し、分析ルールを作成。
-
例: “MultipleFailedLogins” ルール
-
KQL サンプル:
SigninLogs | where TimeGenerated > ago(24h) | where ResultType == "50126" // 失敗ログイン | summarize Count=count() by UserPrincipalName, IPAddress | where Count > 5
-
アラートを発行する条件を定義し、同じ Action Group(メール通知など)へ紐付け。
-
-
1-2-3. レスポンス自動化(Playbook)
-
「Automation」 タブを開き、Logic Apps で Playbook を作成:
-
例: “BlockMaliciousIP-Playbook”
-
-
トリガー: 「When an Azure Sentinel alert is triggered」 を選択。
-
ステップ:
-
(1) Azure AD に接続し、該当アカウントを無効化
-
(2) Azure Network Security Group (NSG) のルールを更新し、悪意ある IP をブロック
-
(3) Teams チャネル「#security-incident」に通知を送信
-
-
作成後、分析ルールの「Automated response」部分にこの Playbook を関連付け、ルールが発火した際に自動対応を実行できるようにします。
1-3. Microsoft Defender for Cloud の設定
1-3-1. Defender for Cloud の有効化とプラン選択
-
Azure Portal → 「Microsoft Defender for Cloud」 → 「Environment Settings」 を開く。
-
すべてのサブスクリプションに対し、Defender for Cloud を有効化。
-
プラン: Microsoft Defender Plan 2 を推奨(高度な脅威検知、自動修復機能が利用可能)。
-
「Auto provisioning」 を有効にし、VM やその他リソースにセキュリティ拡張が自動インストールされるように設定。
1-3-2. セキュリティポリシーとコンプライアンス設定
-
「Regulatory compliance」 タブに移動し、下記を有効化:
-
ISO 27001
-
NIST SP 800-53
-
CIS Benchmarks
-
必要に応じて他の業界標準 (PCI DSS, HIPAA, etc.)
-
-
「Recommendations」 や 「Security posture」 を確認し、警告や推奨事項を随時対応。
-
セキュリティポリシー違反がある場合、Azure Policy と連携してリソース変更を制限したり、自動修正を実行。
1-3-3. 代表的なアラート対応
-
異常なストレージアクセス: Defender for Cloud が「Unusual data access pattern」を通知
-
直ちに Security Team にメール/Teams 通知
-
Azure Sentinel でストレージログを分析し、外部への大容量転送がないか確認
-
-
特権ユーザー昇格: 「Elevation of privilege detected」
-
Azure AD 監査ログを確認し、不正な権限付与が発生していないか調査
-
必要に応じて該当アカウントをロックし、アクティビティを再度確認
-
-
VM のマルウェア感染: 「Malicious activity detected on VM」
-
Defender for Endpoint を連携し、該当 VM を自動隔離(オンボード済みなら可能)
-
スナップショットを作成し、フォレンジック分析へ進む
-
2. ログ分析・フォレンジック
2-1. Azure 監査ログの活用
2-1-1. ログの種類と分析
-
Azure Activity Logs:リソース作成・削除・設定変更など
-
Azure AD Sign-in Logs:ユーザー認証履歴
-
Network Security Group (NSG) Flow Logs:通信経路、送信元/宛先 IP、ポート
-
Defender for Cloud Alerts:脅威検知、コンプライアンス違反
インシデントが起きた場合、Azure Sentinel で 24 時間 / 48 時間 / 1 週間単位などで絞り込み、
-
いつ、どのアカウントが不審な操作をしたか
-
大量のデータ転送があったか
-
攻撃者が特権アカウントを奪取したか
を分析します。
2-1-2. 調査シナリオ例
-
特権アカウント乗っ取りの場合
-
Azure AD Sign-in Logs を確認 → 不審 IP / 時間帯 / デバイス情報を確認
-
NSG Flow Logs で当該 IP が他のリソースへアクセスしていないか確認
-
Defender for Cloud のアラート履歴をチェックし、関連するリソースの異常がないか把握
-
-
機密データの不正取得の場合
-
Storage または DB へのアクセスログ(Azure Monitor Diagnostics)を確認
-
大量の読み取り操作や、通常の 3 倍以上のデータ転送がなかったか分析
-
VM Snapshots を取得し、痕跡を調査
-
2-2. フォレンジック調査の流れ
2-2-1. 被害範囲の特定
-
Sentinel のアラート履歴
-
時系列でどのアラートが最初に発生したかを特定
-
例: “User Privilege Escalation” → “Unusual Data Download” の順に発生
-
-
NSG Flow Logs
-
攻撃者がどのサブネット・リソースにアクセスしたか判断
-
Flow Logs を Azure Storage や Log Analytics に取り込み、KQL で分析
-
2-2-2. スナップショット取得
-
Azure VM Snapshot を作成し、証拠保全
-
Defender for Endpoint がインストールされている場合、コマンドやファイルシステムの変更履歴を収集
2-2-3. 外部専門家との連携
-
Microsoft Incident Response や信頼できるセキュリティフォレンジック企業に連絡
-
必要に応じて、法執行機関や規制当局との連携ルールも確認
-
分析結果を踏まえ、侵入経路の遮断、被害範囲の復旧を実行
3. インシデントレスポンスの自動化
3-1. Sentinel の Playbook(Logic Apps)で自動化フローを設計
-
Azure Sentinel → 「Automation」 → 「Create」 で Logic Apps を新規作成
-
トリガー: “When an Azure Sentinel alert is triggered”
-
アクション例:
-
Azure AD で特定アカウントをロック(Disable user)
-
NSG のルールを書き換え、攻撃元 IP をブロック
-
Teams チャネル「#incident-response」へメッセージ送信
-
ServiceNow や JIRA と連携し、インシデントチケットを自動作成
-
-
プレイブックを保存し、対応させたい分析ルールの「Automated response」で関連付ける。
3-2. 自動化による運用上の注意
-
過検知による誤ブロック:
-
過度なアラートが自動アクションを引き起こし、正常なユーザーをブロックするリスク
-
分析ルールを慎重にチューニングし、誤検知を最小化
-
-
手動承認ステップ:
-
特に生産環境での NSG 書き換えなどリスクが大きい操作は、手動承認ステップ(Logic Apps の Approvals 等)を挟む運用も考慮
-
4. まとめ
-
Azure Monitor → ログ収集と基本アラート
-
Azure Sentinel → SIEM 機能で分析・自動対応
-
Defender for Cloud → 全体リソースの脅威検知・コンプライアンス監視
-
ログ分析・フォレンジック → Activity Logs, Sign-in Logs, NSG Flow Logs などを組み合わせ侵害経路を特定
-
インシデントレスポンスの自動化 → Logic Apps (Playbook) でアクションを自動実行し、被害を最小化