Microsoft Defender for Storage でのマルウェアのアップロード時スキャンでは、BLOB がアップロードまたは変更されたときに自動的にスキャンされ、悪意のあるコンテンツがほぼリアルタイムで検出されます。 このクラウドベースの SaaS ベース ソリューションは、Microsoft Defender ウイルス対策を使用して包括的なマルウェア スキャンを実行し、追加のインフラストラクチャやメンテナンスを必要とせずにストレージ アカウントのセキュリティの維持を確保します。
アップロード時のスキャンをストレージ アカウントに統合すると、次のことができるようになります。
- 悪意のあるアップロードを防ぐ: マルウェアがアップロード時点でストレージ環境に侵入するのを防ぎます。
- セキュリティ管理を簡素化する: エージェントをデプロイしたり管理したりすることなく、自動スキャンを利用できます。
- Enhance compliance: Meet regulatory requirements by ensuring all uploaded data is scanned for malware.
悪意のあるファイルがクラウド ストレージ サービスを通じて組織内に侵入して拡散するおそれがあるため、マルウェアのアップロードはクラウド ストレージにとって最大の脅威となります。 Microsoft Defender for Storage には、包括的なマルウェア対策機能を使用してこのリスクを軽減する組み込みのソリューションが用意されています。
アップロード時のマルウェア スキャンの一般的なユース ケース
- Web applications: Secure user-generated content uploads in web applications such as tax apps, CV upload sites, and receipt uploads.
- Content distribution: Protect assets like images and videos shared at scale through content hubs or CDNs (Content Delivery Networks), which can be common malware distribution points.
- Compliance requirements: Meet regulatory standards, such as NIST, SWIFT, and GDPR, by scanning untrusted content, especially for regulated industries.
- Third-party integration: Ensure third-party data, such as content from business partners or contractors, is scanned to prevent security risks.
- Collaborative platforms: Ensure safe collaboration across teams and organizations by scanning shared content.
- Data pipelines: Maintain data integrity in ETL (Extract, Transform, Load) processes by ensuring no malware enters through multiple data sources.
- 機械学習トレーニング データ: データセットにユーザー作成コンテンツが含まれている場合は特に、データ セットがクリーンで安全であることを確保し、トレーニング データの品質を保護します。
Note
マルウェア スキャンはほぼリアルタイムで動作しますが、スキャン期間は、ファイル サイズ、ファイルの種類、サービスの読み込み、ストレージ アカウントの読み取り待機時間によって異なる場合があります。 マルウェアスキャンの結果に依存するアプリケーションは、スキャン時間の潜在的な変動を考慮する必要があります。
アップロード時マルウェア スキャンを有効にする
Prerequisites
- Permissions: Owner or Contributor role on the subscription or storage account, or specific roles with the necessary permissions.
- Defender for Storage: サブスクリプションまたは個々のストレージ アカウントで有効にする必要があります。
個々のストレージ アカウントの詳細な制御を維持しながら、サブスクリプション全体でマルウェア スキャンを有効にして構成するには、次のいずれかの方法を使用します。
- Azure 組み込みポリシーの使用 = Terraform、Bicep、ARM テンプレートなど、コードとしてのインフラストラクチャ テンプレートをプログラムで使用する
- Using the Azure portal
- Using PowerShell
- Directly with the REST API
マルウェア スキャンが有効になっている場合、Event Grid システム トピック リソースはストレージ アカウントと同じリソース グループに自動的に作成されます。 これは、マルウェア スキャン サービスが BLOB アップロード トリガーをリッスンするために使用されます。
詳細な手順については、「Microsoft Defender for Storage のデプロイ」を参照してください。
アップロード時のマルウェア スキャンのコスト管理
マルウェア スキャンは、スキャンされる GB ごとに課金されます。 コストの予測可能性を提供するために、マルウェア スキャンでは、ストレージ アカウントあたりの 1 か月でスキャンされる GB の量に上限を設定できます。
Important
Malware scanning in Defender for Storage is not included in the first 30-day trial for free and will be charged from the first day in accordance with the pricing scheme available on the Defender for Cloud pricing page. Defender for Cloud コスト計算ツールを使用してコストを見積もることもできます。
The capping mechanism sets a monthly scanning limit, measured in gigabytes (GB), for each storage account. これは、効果的なコスト管理メジャーとして機能します。 1 か月以内にストレージ アカウントの定義済みのスキャン制限に達すると、スキャン操作は自動的に停止します。 この停止は、しきい値に達すると、最大 20 GB の偏差で発生します。 この時点を超えてファイルのマルウェアはスキャンされません。 上限は毎月末の午前 0 時 (UTC) にリセットされます。 上限を更新すると、通常、有効になるまでに最大 1 時間かかります。
既定では、特定の上限メカニズムが定義されていない場合、10 TB (10,000 GB) の制限が確立されます。
Tip
キャッピング メカニズムは、個々のストレージ アカウントに対して、またはサブスクリプション全体に対して (サブスクリプションのすべてのストレージ アカウントに、サブスクリプション レベルで定義されている上限が割り当てられます) 設定できます。
カスタマイズ可能なアップロード時マルウェア スキャン フィルター
アップロード時マルウェア スキャンでは、カスタマイズ可能なフィルターがサポートされ、ユーザーは BLOB パスのプレフィックス、サフィックス、BLOB サイズに基づいて除外ルールを設定できます。 ログや一時ファイルなどの特定の BLOB パスと種類を除外することで、不要なスキャンを回避し、コストを削減できます。
フィルターは、Azure Portal のストレージ アカウントの Microsoft Defender for Cloud 設定タブで、または REST API を使用して構成できます。
Key Points:
除外ベースのフィルター: 最大 24 個のフィルター値を使用して、マルウェアスキャンから BLOB を除外できます。
OR ロジック: 指定された条件のいずれかを満たす BLOB は除外されます。
Filter Types:
プレフィックス付きの BLOB (またはコンテナー) を除外する: プレフィックスのコンマ区切りのリストを定義します。
形式:
container-name/blob-name
(コンテナー名で始まります。ストレージ アカウント名は含めないでください)。コンテナー全体を除外するには、末尾の
/
を含まないコンテナー名のプレフィックスを使用します。1 つのコンテナーを除外するには、同様のプレフィックスを持つ他のコンテナーを除外しないように、コンテナー名の後に末尾のスラッシュ
/
を追加します。
サフィックス付きの BLOB を除外する: サフィックスのコンマ区切りのリストを定義します。
サフィックスは、BLOB 名の末尾にのみ一致します。
ファイル拡張子または BLOB 名の末尾にのみ使用する必要があります。
[次の値より大きい BLOB を除外する]: BLOB をスキャンする最大サイズをバイト単位で指定します。 この値より大きい BLOB はスキャンから除外されます。
マルウェアスキャンのしくみ
アップロード時マルウェア スキャンのフロー
アップロード時のスキャンは、「Event Grid ソースとしての Azure Blob Storage」のドキュメントで指定されているように、BlobCreated
イベントを発生させるあらゆる操作によってトリガーされます。 記録される操作には次のようなものがあります。
- 新しい BLOB のアップロード: 新しい BLOB がコンテナーに追加されたとき
- 既存の BLOB の上書き: 既存の BLOB が新しいコンテンツに置き換えられたとき
- BLOB への変更の完了:
PutBlockList
やFlushWithClose
などの BLOB に変更をコミットする操作
Note
Azure Data Lake Storage Gen2 の AppendFile
や Azure BlockBlob の PutBlock
などの増分操作では、マルウェア スキャンは個別にトリガーされません。 マルウェア スキャンは、PutBlockList
や FlushWithClose
などのコミット操作によってこれらの追加が完了した場合にのみ発生します。 コミットごとに新しいスキャンを開始できます。増分更新によって同じデータが複数回スキャンされた場合、コストが増加する可能性があります。
Scanning process
- Event detection: When a
BlobCreated
event occurs, the malware scanning service detects the change. - Blob retrieval: The service securely reads the blob content within the same region as your storage account.
- In-memory scanning: The content is scanned in-memory using Microsoft Defender Antivirus with up-to-date malware definitions.
- Result generation: The scan result is generated, and appropriate actions are taken based on the findings.
- Content disposal: Scanned content isn't retained and is deleted immediately after scanning.
アップロード時のマルウェア スキャンのスループットと容量
アップロード時のマルウェア スキャンには、大規模な運用全体のパフォーマンスと効率を確保するために、特定のスループットと容量の制限があります。 これらの制限は、1 分あたりに処理できるデータの量を制御し、準リアルタイムの保護とシステム負荷のバランスを確保するのに役立ちます。
- スキャン スループット レート制限: アップロード時のマルウェア スキャンでは、ストレージ アカウントごとに毎分 50 GB まで処理できます。 BLOB のアップロード率がこのしきい値を一時的に超えた場合、システムはファイルをキューに入れてスキャンを試みます。 ただし、アップロード率が一貫して制限を超えている場合は、一部の BLOB がスキャンされない可能性があります。
オンデマンド スキャンとの共通点
The following sections are applicable to both on-demand and on-upload malware scanning.
- Additional costs Including Azure Storage read operations, blob indexing, and Event Grid notifications.
- スキャン結果の表示と使用: BLOB インデックス タグ、Defender for Cloud セキュリティ アラート、Event Grid イベント、Log Analytics などのメソッド。
- Response automation: Automate actions like blocking, deleting, or moving files based on scan results.
- サポートされるコンテンツと制限: サポートされているファイルの種類、サイズ、暗号化、リージョン制限について説明します。
- アクセスとデータ プライバシー: プライバシーに関する考慮事項など、サービスによるデータ アクセスと処理の方法の詳細。
- 偽陽性と偽陰性の処理: レビュー用のファイルを送信して抑制ルールを作成する手順。
- BLOB スキャンと IOPS への影響: スキャンによってさらに読み取り操作がトリガーされ、BLOB インデックス タグが更新されるしくみについて説明します。
これらのトピックの詳細については、「マルウェア スキャンの概要」ページを参照してください。
ベスト プラクティスとヒント
- コスト管理の上限をストレージ アカウント (特にアップロード トラフィックの多いアカウント) に設定して、コストを効果的に管理および最適化する。
- Log Analytics を使用して、コンプライアンスと監査の目的でスキャン履歴を追跡する。
- ユース ケースで応答メカニズムが必要な場合は、Event Grid と Logic Apps を使用して自動応答 (検疫や削除アクションなど) を設定することを検討する。 詳細なセットアップ ガイダンスについては、マルウェア スキャンでの応答の設定に関するページを参照してください。
Tip
Microsoft のハンズオン ラボを通じて、Defender for Storage のマルウェア スキャン機能を確認することをお勧めします。 Follow the Ninja training instructions for a detailed guide on setup, testing, and response configuration.