アップロード時マルウェア スキャン
Microsoft Defender for Storage でのアップロード時のマルウェア スキャンでは、BLOB がアップロードまたは変更されたときに自動的にスキャンされ、悪意のあるコンテンツに対する準リアルタイムの検出が提供されます。 このクラウドベースの SaaS ベース ソリューションは、Microsoft Defender ウイルス対策を使用して包括的なマルウェア スキャンを実行し、追加のインフラストラクチャやメンテナンスを必要とせずにストレージ アカウントのセキュリティの維持を確保します。
アップロード時のスキャンをストレージ アカウントに統合すると、次のことができるようになります。
- 悪意のあるアップロードを防ぐ: マルウェアがアップロード時点でストレージ環境に侵入するのを防ぎます。
- セキュリティ管理を簡素化する: エージェントをデプロイしたり管理したりすることなく、自動スキャンを利用できます。
- コンプライアンスを強化する: アップロードされたすべてのデータのマルウェアを確実にスキャンして、規制要件を満たします。
悪意のあるファイルがクラウド ストレージ サービスを通じて組織内に侵入して拡散するおそれがあるため、マルウェアのアップロードはクラウド ストレージにとって最大の脅威となります。 Microsoft Defender for Storage には、包括的なマルウェア対策機能を使用してこのリスクを軽減する組み込みのソリューションが用意されています。
アップロード時のマルウェア スキャンの一般的なユース ケース
Web アプリケーション: 税関連アプリ、履歴書アップロード サイト、領収書アップロードなどの Web アプリケーションでユーザー作成コンテンツのアップロードをセキュリティで保護します。
コンテンツ配布: 一般的なマルウェア配布ポイントになり得るコンテンツ ハブまたは CDN (コンテンツ配信ネットワーク) を通じて大規模に共有される画像や動画などの資産を保護します。
コンプライアンス要件: 信頼されていないコンテンツ (特に規制対象の業界) をスキャンして、NIST、SWIFT、GDPR などの規制基準を満たします。
サードパーティの統合: セキュリティ リスクを防ぐために、ビジネス パートナーや契約業者のコンテンツなどのサードパーティのデータがスキャンされていることを確認します。
コラボレーション プラットフォーム: 共有コンテンツをスキャンして、チームや組織間の安全なコラボレーションを確保します。
データ パイプライン: 複数のデータ ソースからのマルウェアの侵入を防ぎ、ETL (抽出、変換、読み込み) プロセスでデータ整合性を維持します。
機械学習トレーニング データ: データセットにユーザー作成コンテンツが含まれている場合は特に、データ セットがクリーンで安全であることを確保し、トレーニング データの品質を保護します。
Note
マルウェア スキャンは、準リアルタイムのサービスです。 スキャン時間は、ファイル サイズ、ファイルの種類、サービスの負荷、ストレージ アカウントのアクティビティによって異なります。
アップロード時マルウェア スキャンを有効にする
前提条件
- アクセス許可: サブスクリプションまたはストレージ アカウントの所有者または共同作成者ロール、または必要なアクセス許可を持つ特定のロール。
- Defender for Storage: サブスクリプションまたは個々のストレージ アカウントで有効にする必要があります。
個々のストレージ アカウントの詳細な制御を維持しながら、サブスクリプション全体でマルウェア スキャンを有効にして構成するには、次のいずれかの方法を使用します。
- Azure 組み込みポリシーの使用 = Terraform、Bicep、ARM テンプレートなど、コードとしてのインフラストラクチャ テンプレートをプログラムで使用する
- Azure ポータルの使用
- PowerShell の使用
- REST API で直接使用する
マルウェア スキャンが有効になっている場合、Event Grid システム トピック リソースはストレージ アカウントと同じリソース グループに自動的に作成されます。 これは、マルウェア スキャン サービスが BLOB アップロード トリガーをリッスンするために使用されます。
詳細な手順については、「Microsoft Defender for Storage のデプロイ」を参照してください。
アップロード時のマルウェア スキャンのコスト管理
マルウェア スキャンは、スキャンされる GB ごとに課金されます。 コストの予測可能性を提供するために、マルウェア スキャンでは、ストレージ アカウントあたりの 1 か月でスキャンされる GB の量に上限を設定できます。
重要
Defender for Storage でのマルウェア スキャンは、最初の 30 日間の試用版に無料では含まれておらず、Defender for Cloud の価格ページに記載されている価格スキームに従って、初日から課金されます。
カプセル化メカニズムにより、ストレージ アカウントごとに、測定される月単位のスキャン制限がギガバイト (GB) 単位で設定されます。 これは、効果的なコスト管理メジャーとして機能します。 1 か月以内にストレージ アカウントの定義済みのスキャン制限に達すると、スキャン操作は自動的に停止します。 この停止は、しきい値に達すると、最大 20 GB の偏差で発生します。 この時点を超えてファイルのマルウェアはスキャンされません。 上限は毎月末の午前 0 時 (UTC) にリセットされます。 上限を更新すると、通常、有効になるまでに最大 1 時間かかります。
既定では、特定のキャッピング メカニズムが定義されていない場合は上限が 5 TB (5,000 GB) に設定されます。
ヒント
キャッピング メカニズムは、個々のストレージ アカウントに対して、またはサブスクリプション全体に対して (サブスクリプションのすべてのストレージ アカウントに、サブスクリプション レベルで定義されている上限が割り当てられます) 設定できます。
マルウェアスキャンのしくみ
アップロード時マルウェア スキャンのフロー
アップロード時のスキャンは、「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
などのコミット操作によってこれらの追加が完了した場合にのみ発生します。 コミットごとに新しいスキャンを開始できます。増分更新によって同じデータが複数回スキャンされた場合、コストが増加する可能性があります。
スキャン プロセス
- イベント検出:
BlobCreated
イベントが発生すると、マルウェア スキャン サービスによって変更が検出されます。 - BLOB の取得: サービスは、ストレージ アカウントと同じリージョン内の BLOB コンテンツを安全に読み取ります。
- メモリ内スキャン: Microsoft Defender ウイルス対策と最新のマルウェア定義を使用して、コンテンツがメモリ内でスキャンされます。
- 結果の生成: スキャン結果が生成され、結果に基づいて適切なアクションが実行されます。
- コンテンツの破棄: スキャンされたコンテンツは保持されず、スキャンの直後に削除されます。
アップロード時のマルウェア スキャンのスループットと容量
アップロード時のマルウェア スキャンには、大規模な運用全体のパフォーマンスと効率を確保するために、特定のスループットと容量の制限があります。 これらの制限は、1 分あたりに処理できるデータの量を制御し、準リアルタイムの保護とシステム負荷のバランスを確保するのに役立ちます。
- スキャン スループット レート制限: アップロード時のマルウェア スキャンでは、ストレージ アカウントごとに毎分 50 GB まで処理できます。 BLOB のアップロード率がこのしきい値を一時的に超えた場合、システムはファイルをキューに入れてスキャンを試みます。 ただし、アップロード率が一貫して制限を超えている場合は、一部の BLOB がスキャンされない可能性があります。
オンデマンド スキャンとの共通点
次のセクションは、オンデマンド とアップロード時の両方のマルウェア スキャンに適用されます。
- 追加コスト Azure Storage の読み取り操作、BLOB インデックス作成、Event Grid 通知など。
- スキャン結果の表示と使用: BLOB インデックス タグ、Defender for Cloud セキュリティ アラート、Event Grid イベント、Log Analytics などのメソッド。
- 応答の自動化: スキャン結果に基づいてファイルのブロック、削除、移動などのアクションを自動化します。
- サポートされるコンテンツと制限: サポートされているファイルの種類、サイズ、暗号化、リージョン制限について説明します。
- アクセスとデータ プライバシー: プライバシーに関する考慮事項など、サービスによるデータ アクセスと処理の方法の詳細。
- 偽陽性と偽陰性の処理: レビュー用のファイルを送信して抑制ルールを作成する手順。
- BLOB スキャンと IOPS への影響: スキャンによってさらに読み取り操作がトリガーされ、BLOB インデックス タグが更新されるしくみについて説明します。
これらのトピックの詳細については、「マルウェア スキャンの概要」ページを参照してください。
ベスト プラクティスとヒント
- コスト管理の上限をストレージ アカウント (特にアップロード トラフィックの多いアカウント) に設定して、コストを効果的に管理および最適化する。
- Log Analytics を使用して、コンプライアンスと監査の目的でスキャン履歴を追跡する。
- ユース ケースで応答メカニズムが必要な場合は、Event Grid と Logic Apps を使用して自動応答 (検疫や削除アクションなど) を設定することを検討する。 詳細なセットアップ ガイダンスについては、マルウェア スキャンでの応答の設定に関するページを参照してください。
ヒント
Microsoft のハンズオン ラボを通じて、Defender for Storage のマルウェア スキャン機能を確認することをお勧めします。 セットアップ、テスト、応答の構成に関する詳細なガイドについては、Ninja トレーニング の手順に従ってください。