在 適用於雲端的 Microsoft Defender 中建立自定義安全性標準和建議

適用於雲端的 Microsoft Defender的安全性建議可協助您改善及強化安全性狀態。 建議 是根據針對已啟用 適用於雲端的 Defender 的 Azure 訂用帳戶、AWS 帳戶和 GCP 專案所定義的安全性標準進行評估

這篇文章說明如何:

  • 使用 KQL 查詢為所有雲端 (Azure、AWS 和 GCP) 建立自定義建議。
  • 將自訂建議指派給自定義安全性標準。

在您開始使用 Intune 之前

  • 您需要訂用帳戶的擁有者許可權,才能建立新的安全性標準。
  • 您需要安全性 管理員 許可權,才能建立自定義建議。
  • 若要根據 KQL 建立自訂建議,您必須 啟用 Defender CSPM 方案 。 所有客戶都可以根據 Azure 原則 建立自定義建議。
  • 檢閱 Azure 雲端 中的支援以取得自定義建議。

建議您在欄位中觀看此 適用於雲端的 Defender 集,以深入瞭解此功能,並深入瞭解如何建立 KQL 查詢。

建立自定義建議

建立自定義建議,包括補救步驟、嚴重性,以及應指派建議的標準。 您可以使用 KQL 新增建議邏輯。 您可以使用簡單的查詢編輯器搭配內建查詢範本,視需要進行調整,也可以從頭開始撰寫 KQL 查詢。

  1. 在 適用於雲端的 Defender 入口網站 >[環境設定] 中,選取相關的範圍。

  2. 選取 [安全策略>+ 建立>自定義建議]。

  3. [建議詳細數據] 中,填入建議詳細數據(例如:名稱、嚴重性),然後選取您想要套用建議的標準。

    顯示要填入建議描述詳細數據的位置螢幕快照。

  4. 選取 [下一步]。

  5. [建議] 查詢中,撰寫 KQL 查詢,或選取 [ 開啟查詢編輯器 ] 來建構查詢。 如果您想要使用查詢編輯器,請遵循下列指示。

  6. 查詢準備就緒之後,請選取 [ 下一步]。

  7. 在 [ 標準] 中,選取您要新增自定義建議的自定義標準。

  8. 在 [檢閱和建立] 中,檢閱建議詳細數據。

    顯示檢閱建議詳細數據位置的螢幕快照。

使用查詢編輯器

我們建議使用查詢編輯器來建立建議查詢。

  • 使用編輯器可協助您在開始使用查詢之前,先建置和測試查詢。
  • 選取 [如何 取得建構查詢的說明],以及其他指示和連結。
  • 編輯器包含內建建議查詢的範例,可用來協助建置自己的查詢。 數據會出現在與 API 中相同的結構中。
  1. 在查詢編輯器中,選取 [ 新增查詢 ] 以建立查詢

  2. 使用範例查詢範本及其指示,或選取範例內建建議查詢以開始使用。

    顯示如何使用查詢編輯器的螢幕快照。

  3. 選取 [ 執行查詢 ] 以測試您所建立的查詢。

  4. 當查詢準備就緒時,請將它從編輯器剪下並貼到 [建議 查詢] 窗格中。

建立自定義標準

自訂建議可以指派給一或多個自定義標準。

  1. 登入 Azure 入口網站

  2. 瀏覽至 [適用於雲端的 Microsoft Defender]>[環境設定]

  3. 選取相關範圍。

  4. 選取 [安全策略>+ 建立>標準]。

  5. 建議 中,選取您想要新增至自定義標準的建議。 針對 Azure 訂用帳戶,您也可以查看來源。

    顯示可供選取自定義標準之所有建議清單的螢幕快照。

  6. 選取 建立

使用 Azure 原則 建立及增強自訂建議(舊版)

針對 Azure 訂用帳戶,您可以使用 Azure 原則 來建立自定義建議和標準,並加以增強。 這是舊版功能,我們建議使用新的自定義建議功能。

建立自訂建議 /標準 (舊版)

您可以在適用於雲端的Defender中建立自訂建議和標準,方法是在 Azure 原則中建立原則定義和計劃,並在適用於雲端的 Defender 中上線。

以下是執行此動作的方式:

  1. Azure 原則 入口網站中或以程序設計方式建立一或多個原則定義。
  2. 建立包含自定義原則定義的原則方案

將方案上線為自訂標準(舊版)

Azure 原則 會使用原則指派,將 Azure 資源指派給原則或方案。

若要將方案上線至 Defender 中的自定義安全性標準,您必須在 "ASC":"true" 要求本文中包含,如下所示。 現場ASC會將計劃上線以 適用於雲端的 Microsoft Defender。

以下是如何執行此作業的範例。

將自訂方案上線的範例

  PUT  
  PUT https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/policySetDefinitions/{policySetDefinitionName}?api-version=2021-06-01

  Request Body (JSON) 

  {
    "properties": {
      "displayName": "Cost Management",
      "description": "Policies to enforce low cost storage SKUs",
      "metadata": {
        "category": "Cost Management"
        "ASC":"true"
      },
      "parameters": {
        "namePrefix": {
          "type": "String",
          "defaultValue": "myPrefix",
          "metadata": {
            "displayName": "Prefix to enforce on resource names"
          }
        }
      },
      "policyDefinitions": [
        {
          "policyDefinitionId": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyDefinitions/7433c107-6db4-4ad1-b57a-a76dce0154a1",
          "policyDefinitionReferenceId": "Limit_Skus",
          "parameters": {
            "listOfAllowedSKUs": {
              "value": [
                "Standard_GRS",
                "Standard_LRS"
              ]
            }
          }
        },
        {
          "policyDefinitionId": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyDefinitions/ResourceNaming",
          "policyDefinitionReferenceId": "Resource_Naming",
          "parameters": {
            "prefix": {
              "value": "[parameters('namePrefix')]"
            },
            "suffix": {
              "value": "-LC"
            }
          }
        }
      ]
    }
  }

拿掉指派的範例

此範例示範如何移除指派:

  DELETE   
  https://management.azure.com/{scope}/providers/Microsoft.Authorization/policyAssignments/{policyAssignmentName}?api-version=2018-05-01 

::: zone-end

增強自訂建議 (舊版)

適用於雲端的 Microsoft Defender 提供的內建建議包括嚴重性層級和補救指示等詳細數據。 如果您想要將這種類型的資訊新增至 Azure 的自訂建議,請使用 REST API。

您可以新增的兩種資訊類型如下:

  • RemediationDescription – 字串
  • 嚴重性 – 列舉 [低、中、高]

元數據應該新增至屬於自定義計劃一部分的原則定義。 它應該位於 'securityCenter' 屬性中,如下所示:

 "metadata": {
  "securityCenter": {
    "RemediationDescription": "Custom description goes here",
    "Severity": "High"
    },

以下是自定義原則的另一個範例,包括元數據/securityCenter 屬性:

{
"properties": {
"displayName": "Security - ERvNet - AuditRGLock",
"policyType": "Custom",
"mode": "All",
"description": "Audit required resource groups lock",
"metadata": {
  "securityCenter": {
    "RemediationDescription": "Resource Group locks can be set via Azure Portal -> Resource Group -> Locks",
    "Severity": "High"
 }
},
"parameters": {
  "expressRouteLockLevel": {
    "type": "String",
    "metadata": {
      "displayName": "Lock level",
      "description": "Required lock level for ExpressRoute resource groups."
    },
    "allowedValues": [
      "CanNotDelete",
      "ReadOnly"
    ]
  }
},
"policyRule": {
  "if": {
    "field": "type",
    "equals": "Microsoft.Resources/subscriptions/resourceGroups"
  },
  "then": {
    "effect": "auditIfNotExists",
    "details": {
      "type": "Microsoft.Authorization/locks",
      "existenceCondition": {
        "field": "Microsoft.Authorization/locks/level",
        "equals": "[parameters('expressRouteLockLevel')]"
      }
    }
  }
}
}
}

如需使用 securityCenter 屬性的另一個範例,請參閱 REST API 檔的這一節。

您可以使用下列連結來深入瞭解 Kusto 查詢: