共用方式為


在適用於雲端的 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. 當查詢就緒時,請將其從編輯器剪下並貼入 [建議查詢] 窗格中。

大規模使用自定義建議

透過 Azure 入口網站 使用者介面建立自定義建議最適合大多數使用者。 介面提供方便的 Kusto 查詢語言 (KQL) 編輯器和內建驗證工具。 不過,使用程式設計方法自動建立建議可能很有説明。 當您需要跨許多環境或訂用帳戶部署建議時,這個方法特別有用。

透過 API 自動化

如果您預先驗證 KQL 查詢並想要自動建立自訂建議,您可以使用 Azure 適用於雲端的 Defender 應用程式開發介面 (API)。 此方法可讓您快速部署建議,確保其在整個雲端環境中保持一致且可調整。

  • 優點:您可以自動化和調整自定義建議的部署。
  • 使用時機:這個方法很適合大規模實作,您需要在多個環境中一致地套用建議。

如需使用 API 來管理自定義建議的詳細資訊,請參閱 API 檔

建立自訂標準

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

  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/<Subscription ID>/providers/Microsoft.Authorization/policyDefinitions/7433c107-6db4-4ad1-b57a-a76dce0154a1",
          "policyDefinitionReferenceId": "Limit_Skus",
          "parameters": {
            "listOfAllowedSKUs": {
              "value": [
                "Standard_GRS",
                "Standard_LRS"
              ]
            }
          }
        },
        {
          "policyDefinitionId": "/subscriptions/<Subscription ID>/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 

增強自訂建議 (舊版)

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

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

  • RemediationDescription – 字串
  • Severity – Enum [低, 中, 高]

針對屬於自訂方案一部份的原則,您應將中繼資料新增至原則定義。 其應該如下所示,位於 'securityCenter' 屬性中:

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

以下是包括 metadata/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 查詢: