Microsoft Defender for Cloudで OS の構成ミスを確認して修復する

Microsoft Defender for Cloud は、組織のセキュリティ態勢を改善し、リスクを軽減するための、セキュリティに関する推奨事項を提供します。 リスクを軽減するうえで重要な要素は、マシンのセキュリティ強化です。

Defender for Cloud は、Microsoft クラウド セキュリティ ベンチマーク (MCSB) で提供されるコンピューティング セキュリティ ベースラインと照合して、オペレーティング システムの設定を評価します。 マシン情報は、マシン上の Azure Policy マシン構成拡張機能 (旧称ゲスト構成) を使用して、評価のために収集されます。 詳細については、Defender for Cloud でのオペレーティング システムの構成ミスを参照してください。

この記事では、OSベースライン評価からの推奨事項の見直しと是正方法について説明します。

前提条件

OSの基準提案を見直し修正する前に、以下の前提条件が満たされているか確認してください。

必要条件 詳細
Plan Defender for Servers プラン 2 を有効にする必要があります
拡張 Azure Policy マシン構成がマシンにインストールされている必要があります

この機能は以前、Microsoft Monitoring Agent(MMA)を使ってデータを収集していました。 もしMMAがまだ使われているなら、重複する推奨が見られるかもしれません。 重複を避けるために、 マシン上のMMAを無効にしてください。

OS ベースライン推奨事項の確認と修復

OS ベースラインの推奨事項を確認して修復するには:

  1. Defender for Cloud で [推奨事項] ページを開きます。

  2. 該当する推奨事項を選択します。

  3. 推奨事項の詳細ページで、影響を受けるリソースと特定のセキュリティ結果を確認します。

  4. 修正を完了するには、「 セキュリティに関する推奨事項を修復する方法」を参照してください。

クエリに関する推奨事項

Defender for Cloudでは、アプリケーション プログラミング インターフェイス (API) とポータル クエリに Azure Resource Graph を使用します。 Azure Resource Graphとそのクエリインターフェースを使って、独自のクエリを作成し、推奨情報を取得することができます。

Azure Resource Graph でレコメンデーションを確認する方法についてはこちらを参照してください。

使用できる 2 つのサンプル クエリを次に示します。

  • 特定のリソースについて異常な規則をすべて照会する

    Securityresources 
    | where type == "microsoft.security/assessments/subassessments" 
    | extend assessmentKey=extract(@"(?i)providers/Microsoft.Security/assessments/([^/]*)", 1, id) 
    | where assessmentKey == '1f655fb7-63ca-4980-91a3-56dbc2b715c6' or assessmentKey ==  '8c3d9ad0-3639-4686-9cd2-2b2ab2609bda' 
    | parse-where id with machineId:string '/providers/Microsoft.Security/' * 
    | where machineId  == '{machineId}'
    
  • すべての異常な規則と、それぞれの異常なマシンの数

    securityresources 
    | where type == "microsoft.security/assessments/subassessments" 
    | extend assessmentKey=extract(@"(?i)providers/Microsoft.Security/assessments/([^/]*)", 1, id) 
    | where assessmentKey == '1f655fb7-63ca-4980-91a3-56dbc2b715c6' or assessmentKey ==  '8c3d9ad0-3639-4686-9cd2-2b2ab2609bda' 
    | parse-where id with * '/subassessments/' subAssessmentId:string 
    | parse-where id with machineId:string '/providers/Microsoft.Security/' * 
    | extend status = tostring(properties.status.code) 
    | summarize count() by subAssessmentId, status
    

次のステップ

Azure Resource Graph のクエリ言語の詳細を確認します。