VM シークレットの保護

Defender for Cloud を使用すると、仮想マシンの エージェントレス シークレット スキャンが可能です。 スキャンにより、公開されているシークレットをすばやく検出し、優先順位を付け、修復できます。 シークレット検出では、OS ファイル システムのさまざまな種類のファイルに格納されている、トークン、パスワード、キー、資格情報など、広範な種類のシークレットを識別できます。

Defender for Cloud の Virtual Machines (VM) 向けエージェントレス シークレット スキャンでは、環境内に存在するプレーンテキスト シークレットを検出します。 シークレットが検出された場合、Defender for Cloud は、横方向への移動のリスクを最小限に抑えるために実行可能な修復手順を、セキュリティ チームが優先順位を付けて実行するのに役立ちます。これらはすべてマシンのパフォーマンスに影響を与えずに実行されます。

VM シークレット スキャンの仕組み

VM のシークレット スキャンはエージェントレスであり、クラウド API を使用します。

  1. スキャンでは、VM のパフォーマンスに影響を与えずにディスク スナップショットがキャプチャされ、分析が行われます。
  2. Microsoft シークレット スキャン エンジンは、ディスクからシークレットのメタデータを収集した後、Defender for Cloud に送信します。
  3. シークレット スキャン エンジンは、SSH 秘密キーを使用してネットワーク内を横方向に移動できるかどうかを確認します。
    • 正常に検証できなかった SSH キーは、Defender for Cloud の [レコメンデーション] ページで未検証と分類されます。
    • テスト関連のコンテンツを含んでいると認識されたディレクトリは、スキャンから除外されます。

サポートされている機能

VM シークレット スキャンは、Defender for Servers プラン 2 またはクラウド セキュリティ態勢管理 (CSPM) を使用している場合、利用可能です。 VM シークレットのスキャンでは、Azure VM と、Defender for Cloud にオンボードされた AWS/GCP インスタンスをスキャンできます。 Defender for Cloud で検出できるシークレットをレビューします。

VM シークレット スキャンがリスクを軽減する仕組み

シークレット スキャンは、次の軽減策でリスクを軽減するのに役立ちます。

  • 不要なシークレットの排除。
  • 最小特権の原則の適用。
  • Azure Key Vault などのシークレット管理システムによるシークレットのセキュリティ強化。
  • 有効期間が短い SAS トークンで Azure Storage 接続文字列を置き換えるなどの、有効期間の短いシークレットの使用。

シークレットの問題を識別して修復する方法

何種類かの方法があります。 一部のメソッドは、すべてのシークレットではサポートされません。 詳細については、サポートされているシークレットの一覧を確認してください。

  • アセット インベントリのシークレットを確認する: インベントリには、Defender for Cloud に接続されているリソースのセキュリティ状態が表示されます。 インベントリでは、特定のマシンで検出されたシークレットを表示できます。
  • シークレットの推奨事項を確認する: アセットでシークレットが見つかると、Defender for Cloud の [レコメンデーション] ページで、[脆弱性の修復] セキュリティ コントロールに推奨事項がトリガーされます。 レコメンデーションは次のようにトリガーされます。
  • クラウド セキュリティ エクスプローラーでシークレットを確認します。 クラウド セキュリティ エクスプローラーを使用して、クラウド セキュリティ グラフをクエリします。 独自のクエリを作成することも、組み込みのテンプレートのいずれかを使用して、環境全体で VM シークレットのクエリを実行することもできます。
  • 攻撃パスの確認: 攻撃パス分析は、クラウド セキュリティ グラフをスキャンして、攻撃が環境を侵害し、影響の大きいアセットに到達するために使用する可能性のある悪用可能なパスを示します。 VM シークレットのスキャンでは、さまざまな攻撃パス シナリオがサポートされています。

セキュリティに関する推奨事項

次の VM シークレットのセキュリティに関するレコメンデーションを使用できます。

  • Azure リソース: マシンでシークレットの結果を解決する必要があります
  • AWS リソース: EC2 インスタンスでシークレットの結果が解決されている必要があります
  • GCP リソース: VM インスタンスでシークレットの結果が解決されている必要があります

攻撃パスのシナリオ

次の表は、サポートされている攻撃パスをまとめたものです。

VM 攻撃パス
Azure 公開されている脆弱な VM に、VM に対する認証に使用される安全でない SSH 秘密キーがあります。
公開されている脆弱な VM に、ストレージ アカウントに対する認証に使用される安全でないシークレットがあります。
脆弱な VM に、ストレージ アカウントに対する認証に使用される安全でないシークレットがあります。
公開されている脆弱な VM に、SQL サーバーに対する認証に使用される安全でないシークレットがあります。
AWS 公開されている脆弱な EC2 インスタンスに、EC2 インスタンスに対する認証に使用される安全でない SSH 秘密キーがあります。
公開された脆弱な EC2 インスタンスに、ストレージ アカウントに対する認証に使用される安全でないシークレットがあります。
公開されている脆弱な EC2 インスタンスに、EC2 インスタンスに対する認証に使用される安全でない SSH 秘密キーがあります。
脆弱な EC2 インスタンスに、AWS RDS サーバーに対する認証に使用される安全でないシークレットがあります。
GCP 公開されている脆弱な GCP VM インスタンスに、GCP VM インスタンスに対する認証に使用される安全でない SSH 秘密キーがあります。

定義済みのクラウド セキュリティ エクスプローラーのクエリ

Defender for Cloud には、シークレットのセキュリティの問題を調査するための次の定義済みクエリが用意されています。

  • 別の VM に対して認証可能なプレーンテキスト シークレットを持つ VM - 他の VM または EC2 にアクセス可能なプレーンテキスト シークレットを持つ、すべての Azure VM、AWS EC2 インスタンス、または GCP VM インスタンスを返します。
  • ストレージ アカウントに対して認証可能なプレーンテキスト シークレットを持つ VM - ストレージ アカウントにアクセス可能なプレーンテキスト シークレットを持つ、すべての Azure VM、AWS EC2 インスタンス、GCP VM インスタンスを返します。
  • SQL データベースに対して認証可能なプレーンテキスト シークレットを持つ VM - SQL データベースにアクセス可能なプレーンテキスト シークレットを持つ、すべての Azure VM または AWS EC2 インスタンス、または GCP VM インスタンスを返します。

シークレットの問題を効果的に軽減するには

シークレットに優先順位を付け、すぐに注意が必要なシークレットを特定できるようにすることが重要です。 このサポートとして、Defender for Cloud には次の機能があります。

  • ファイルの最終アクセス時刻、トークンの有効期限、シークレットがアクセスを付与するターゲット リソースが存在するかどうかを示す情報など、すべてのシークレットに豊富なメタデータを提供します。
  • シークレット メタデータとクラウド アセット コンテキストの組み合わせ。 これにより、インターネットに公開されている資産や、他の機密性の高い資産を危険にさらす可能性のあるシークレットを含む資産に最初に取り組むことができます。 シークレット スキャンの結果は、リスクベースの推奨事項の優先順位付けに組み込まれます。
  • よく見られるシークレットや、シークレットを含むアセットを特定するのに役立つ複数のビューを提供します。

クラウド デプロイのシークレット スキャン