mcpField
D
defender-for-storage

defender-for-storage

github.com/vinayaklattheセキュリティ17842 回インストール19 週間前に更新
リポジトリ

defender-for-storage について

Azure Storage管理者向けのセキュリティスキルです。Defender for Storage v2によるBlob Storage、Azure Files、Data Lake Storage Gen2の監視と保護を扱い、マルウェアスキャン、機密データの脅威検出、アラート調整、インシデント対応を説明します。

主な機能

  1. 01異常なストレージ活動を監視
  2. 02アップロードされたBlobをマルウェアスキャン
  3. 03機密データへの不審なアクセスを検出
  4. 04Event Gridでスキャン結果を処理
  5. 05アラート調整と対応計画

活用シーン

  1. 01信頼できないアップロードを受けるアカウントを保護
  2. 02悪意のあるBlobを隔離コンテナーへ移動
  3. 03ストレージアラートをSentinelに送信
  4. 04機密データへの不審なアクセスを調査

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/vinayaklatthe/microsoft-security-skills --skill defender-for-storage

インストール後、Claude Code で/defender-for-storageを入力して読み込まれたか確認します。

詳細

Microsoft Defender for Storage

Defender for Storage は、Azure Blob Storage、Azure Files、Azure Data Lake Storage Gen2 を、悪意のあるアップロード、機密データの持ち出し、不審なアクセスパターンから保護します。 現行世代は Defender for Storage v2 で、ストレージアカウントごとに課金されます。 オプションのアドオンとして、アップロード時のマルウェアスキャン と 機密データの脅威検出 を利用できます。

使用する場面

信頼できない送信元やパートナーからアップロードを受け付ける、アプリケーションコンテンツ(Web アプリ、ML データセット)をホストする、または Purview で分類された機密データを含む Azure Storage アカウントを保護する場合に使用します。このスキルは、プランの展開、マルウェアスキャンの調整、ストレージアラートへのインシデント対応に使用します。

次の場合はこのスキルを使用しないでください。 SQL/Cosmos のデータプレーン保護(defender-for-cloud-hardening)、VM のディスクレベルのマルウェア対策(defender-for-servers)、M365 のファイルワークロード(defender-for-office-365)。

プランとアドオン

コンポーネント機能料金モデル
Defender for Storage v2(ベース)アクティビティの監視:異常なアクセス、不審な抽出、不自然な削除ストレージアカウントごと/月
アップロード時のマルウェアスキャンDefender AV がアップロードされた 2 GB 以下の各 blob をスキャンし、結果タグと Event Grid イベントを生成スキャンした GB ごと(アカウントごとに上限を設定可能)
機密データの脅威検出Purview の機密情報の種類と連携し、不審なプリンシパルが機密 blob にアクセスした際にアラートを生成v2 に含まれる(追加料金なし)

v1(トランザクションごとの課金)は非推奨です。 v1 が有効なアカウントは v2 に移行してください。v2 のほうが 安価で、予測しやすい料金体系です。

アプローチ

  1. サブスクリプションスコープで Defender for Storage v2 を有効にし、マルウェアスキャンを オン にして、 アカウントごとの月間 GB 上限を設定します(既定値は 5,000 GB)。上限を設けることで、 スループットの高いアカウントでの予想外のコストを防げます。 確認方法:Defender for Cloud → 環境設定 → サブスクリプション → Storage で、v2 プランが オンになっており、マルウェアスキャンが有効になっていることを確認します。

  2. 例外的なストレージアカウントでは個別に上書き設定します。

    • 追記専用のログ記録アカウント、大規模なテレメトリの送信先、またはアプリケーションレイヤーですでにスキャンしているアカウントでは、マルウェアスキャンを無効にします。
    • 脅威検出によるメリットがないテナントスコープの診断アカウント(Activity Logs のエクスポート、NSG フローログ)では、プラン全体を無効にします。
  3. スキャン結果を Event Grid に接続します。 保護するアカウントごとに Event Grid のシステムトピックを設定し、次の処理を行う Function/Logic App を登録します。

    • 悪意のある blob を隔離コンテナーに移動します(または削除します)。
    • blob のインデックスタグ(Malware-Scanning-scan-result-tag)に判定結果を書き込みます。
    • SOC に通知します。 確認方法:EICAR テストファイルをアップロードします。2 分以内に blob に Malicious タグが付与され、隔離ワークフローが実行されることを確認します。
  4. 機密データの脅威検出 — Purview によるアカウントの分類後に有効にします。 分類がない場合、ファイル拡張子やヘッダーのヒューリスティックに基づく検出しか行われません。十分に活用するには、Purview Data Map と組み合わせてください(purview-data-map を参照)。

  5. アラートを調整します。 7 日間ベースラインを設定してから、ノイズの多いアラート(例:CDN エッジ IP からの想定内の SAS トークン使用)を抑制します。残りのアラートは、Defender for Cloud コネクタ経由で Sentinel に送信します。

  6. ストレージアカウントでパブリックな匿名アクセスをブロックします。 Defender は不審な匿名読み取りに対してアラートを出しますが、適切な対策は allowBlobPublicAccess = false の設定と、それを適用する Azure Policy です。Defender は検出のためのものであり、防止するものではありません。

  7. 「悪意のある blob がアップロードされました」アラートへの対応ランブック:

    1. blob の判定タグを確認します。
    2. blob を隔離コンテナーに移動し、アップロードに使用された ID の SAS/キーを無効にします。
    3. 過去 24 時間に同じプリンシパルがアップロードした関連ファイルを、StorageBlobLogs に対する KQL で調査します。
    4. 所有者に通知し、証拠を添えてアラートをクローズします。

ガードレール

  • アカウントごとにマルウェアスキャンの上限を必ず設定してください。 上限を設定しないと、動作に問題のあるクライアントが同じ 50 GB のファイルを 1,000 回アップロードした場合、スキャン料金が 6 桁に達する可能性があります。
  • 2 GB を超えるファイルはスキャンされません。 アプリケーション層でスキャンするか、信頼できないエンドポイントで 2 GB を超えるアップロードをブロックして補ってください。
  • マルウェアスキャンは非同期です。 スキャンの遅延が 1 秒未満であることを前提に「スキャンしてからアプリに読み取らせる」フローを設計しないでください。通常、スキャンには数秒から数分かかります。Event Grid を使用して、後続の処理を制御してください。
  • 診断エクスポート用アカウントでは有効にしないでください。 これらは追記専用のシステムテレメトリであり、スキャンは無駄でノイズの原因になります。
  • 機密データのアラートは Purview に依存します。 Purview による分類がないと、ヒューリスティックのみに基づく弱いシグナルしか得られません。
  • パブリック匿名アクセスは構成の問題であり、Defender の問題ではありません。 プラットフォーム層でブロックしてください。

よくあるアンチパターン

  • 「サブスクリプション内のすべてのストレージアカウントで有効にし、例外を設けない」 — 診断アカウントやログアカウントでコストが急増します。オーバーライドしてください。
  • 「Event Grid を使わず、マルウェア判定タグに依存する」 — タグに対する処理が行われるまで、不正な Blob は存在し続け、読み取りも可能です。
  • 「アップロード直後にアプリケーションが Blob を読み取る」 — 非同期スキャンとの競合が発生します。スキャン完了イベントに基づいて制御してください。
  • 「スキャン上限を無制限のままにする」 — 最初の週に請求額の急増が発生します。
  • 「v1 を無効にせず、v1 と併せて再有効化して移行する」 — まず v1 を無効にしてください。二重請求になります。
  • 「SharePoint/OneDrive に Purview DLP ではなく Defender for Storage を使用する」 — 対象のワークロードが違います。SharePoint は M365 であり、Azure Storage ではありません。

プロンプトの例

  • マルウェアスキャンの上限を 1 アカウントあたり月 3 TB に設定して、50 個のサブスクリプション全体で Defender for Storage v2 を有効にしてください。
  • マルウェアスキャンの Event Grid イベントを、悪意のある Blob を隔離する Logic App に接続してください。
  • Azure Policy を使って、診断エクスポート用ストレージアカウントを Defender for Storage から除外してください。
  • 機密データの脅威検出に関するアラートを設定して Sentinel に転送するには、事前に Purview で何が必要ですか?
  • 「Blob に悪意のあるファイルがアップロードされた」アラートに対応する IR ランブックを作成してください。
  • 取り込み量が平均 500 GB のストレージアカウント 200 個について、月額費用を見積もってください。

Microsoft Learn

コメント