Microsoft Defender for Cloud の Defender for Servers プランでは、Microsoft Defender 脆弱性の管理を使用した脆弱性スキャンが提供されます。 Microsoft Defender for Endpoint と Defender 脆弱性の管理は、Defender for Cloud にネイティブに統合されています。
Defender 脆弱性の管理によって提供されるソフトウェア インベントリ機能では、組織内の既知のソフトウェアの一覧と、検出されたアプリケーションに関するセキュリティ情報が表示されます。
- Defender for Cloud では、統合されたソフトウェア インベントリが [インベントリ] ページに表示され、Defender for Cloud に接続されているリソースで実行されているソフトウェアが要約されます。
- Azure Resource Graph (ARG) を使用して Defender for Cloud インベントリに対してクエリを実行し、大規模なデータのクエリと取得を行うことができます。 詳細なカスタム分析情報については、KQL を使用してインベントリのクエリを実行することもできます。
この記事では、ソフトウェア インベントリを確認する方法について説明します。
前提条件
ソフトウェア インベントリを表示するには、これらの有料プランのいずれかを有効にする必要があります。
- エージェントレス マシンのスキャンが有効な Defender CSPM プラン。
- Defender for Endpoint 統合が有効な Defender for Servers プラン 1 またはプラン 2、またはエージェントレス マシンのスキャンが有効な Defender for Servers Plan 2。
サポートされていないソフトウェアがインベントリに表示される場合、限られたデータのみが使用できます。
ソフトウェア インベントリを確認する
Defender for Cloud で、[インベントリ] を選択します。
前提条件が満たされている場合、[インストールされているアプリケーション] フィルターには、環境に展開されているソフトウェアの一覧が表示されます。
[値] で、特定のアプリをフィルター処理します。
Defender for Cloud に接続され、それらのアプリを実行しているリソースが表示されます。 オプションを空にすると、Defender for Servers/Defender for Endpoint が使用できないマシンが表示されます。
ソフトウェア インベントリのクエリを実行する
定義済みのフィルターだけでなく、Azure Resource Graph エクスプローラーからソフトウェア インベントリ データについて確認できます。
[Azure Resource Graph エクスプローラー] を選択します。
次のサブスクリプション スコープを選択します: securityresources/softwareinventories
次のクエリの例のいずれかを使用するか、カスタマイズまたは独自に作成します。
[クエリの実行] を選択します。
クエリの例
インストールされているソフトウェアの基本的な一覧を生成するには:
securityresources
| where type == "microsoft.security/softwareinventories"
| project id, Vendor=properties.vendor, Software=properties.softwareName, Version=properties.version
バージョン番号でフィルター処理するには:
securityresources
| where type == "microsoft.security/softwareinventories"
| project id, Vendor=properties.vendor, Software=properties.softwareName, Version=tostring(properties. version)
| where Software=="windows_server_2019" and parse_version(Version)<=parse_version("10.0.17763.1999")
ソフトウェア製品の組み合わせでコンピューターを検索するには:
securityresources
| where type == "microsoft.security/softwareinventories"
| extend vmId = properties.azureVmId
| where properties.softwareName == "apache_http_server" or properties.softwareName == "mysql"
| summarize count() by tostring(vmId)
| where count_ > 1
ソフトウェア製品を別のセキュリティ推奨事項と組み合わせるには、次のようにします。
(この例では、MySQL がインストールされ、管理ポートが公開されているコンピューター)
securityresources
| where type == "microsoft.security/softwareinventories"
| extend vmId = tolower(properties.azureVmId)
| where properties.softwareName == "mysql"
| join (
securityresources
| where type == "microsoft.security/assessments"
| where properties.displayName == "Management ports should be closed on your virtual machines" and properties.status.code == "Unhealthy"
| extend vmId = tolower(properties.resourceDetails.Id)
) on vmId
インベントリをエクスポートする
- フィルター処理されたインベントリを CSV 形式で保存するには、[CSV レポートのダウンロード] を選択します。
- Resource Graph エクスプローラーでクエリを保存するには、[クエリを開く] を選択します。 クエリを保存する準備ができたら、[名前を付けて保存] を選択し、[クエリの保存] で、クエリの名前と説明、クエリがプライベートか共有かを指定します。