配置 Microsoft Defender for Containers 组件

适用于容器的 Microsoft Defender 是用于保护容器的云原生解决方案。

无论群集在以下哪些位置运行,适用于容器的 Defender 都能保护群集:

  • Azure Kubernetes 服务 (AKS):Microsoft 的托管服务,用于开发、部署和管理容器化应用程序。
  • 非其他 Kubernetes 分发(使用启用了 Azure Arc 的 Kubernetes)- 托管在本地或 IaaS 上的经云原生计算基础 (CNCF) 认证的 Kubernetes 群集。

有关此计划的信息,请参阅适用于容器的 Microsoft Defender 概述

首先,可以在以下文章中了解如何连接和保护容器:

网络要求

验证是否已将以下终结点配置为进行出站访问,以便 Defender 传感器可以连接到 Microsoft Defender for Cloud 来发送安全数据和事件:

请参阅适用于容器的 Microsoft Defender 所需的 FQDN/应用程序规则

默认情况下,AKS 群集具有不受限制的出站(出口)Internet 访问权限。

启用计划

若要启用计划,请执行以下操作:

  1. 从 Defender for Cloud 的菜单打开“设置”页,并选择相关的订阅。

  2. “Defender 计划”页中,选择“Defender for Containers”,然后选择“设置”。

    Defender 计划页的屏幕截图。

    提示

    如果订阅已启用 Defender for Kubernetes 和/或适用于容器的 Defender 注册表,则会显示一条更新通知。 否则,唯一的选项为“适用于容器的 Defender”。

    显示“已弃用”和升级信息的适用于容器注册表的 Defender 和 Defender for Kubernetes 计划。

  3. 开启某个相关组件以将其启用。

    开启组件的屏幕截图。

    注意

    • 在 2023 年 8 月之前加入的 Defender for Containers 客户如果在启用该计划时未在 Defender CSPM 中启用 Kubernetes 无代理发现,则必须在 Defender for Containers 计划中手动启用 Kubernetes 无代理发现扩展。
    • 在你关闭 Defender for Containers 后,组件设置为关闭状态,不会部署到任何其他容器,但不会从已安装它们的容器中删除。

每个功能的启用方法

默认情况下,通过 Microsoft Azure 门户启用计划时,Microsoft Defender for Containers 配置为自动启用所有功能并安装所有必需的组件以提供计划提供的保护,包括分配默认工作区。

如果不想启用计划的所有功能,则可以通过为“容器”计划选择“编辑配置”来手动选择要启用的特定功能。 然后,在“设置和监视”页中,选择要启用的功能。 此外,在初始配置计划后,可以从 Defender 计划页修改此配置。

有关每个功能的启用方法的详细信息,请参阅支持矩阵

角色和权限

详细了解用于预配 Defender for Containers 扩展的角色

为 Defender 传感器分配自定义工作区

可以通过 Azure Policy 分配自定义工作区

使用建议手动部署 Defender 传感器或 Azure 策略代理,而无需自动预配

还可以使用适当的建议在一个或多个 Kubernetes 群集上部署需要传感器安装的功能:

传感器 建议
适用于 Kubernetes 的 Defender 传感器 Azure Kubernetes 服务群集应启用 Defender 配置文件
适用于已启用 Arc 的 Kubernetes 的 Defender 传感器 已启用 Azure Arc 的 Kubernetes 群集应安装 Defender 扩展
适用于 Kubernetes 的 Azure Policy 代理 Azure Kubernetes 服务群集应安装适用于 Kubernetes 的 Azure Policy 加载项
适用于已启用 Arc 的 Kubernetes 的 Azure Policy 代理 已启用 Azure Arc 的 Kubernetes 群集应已安装 Azure Policy 扩展

执行以下步骤,在特定群集上执行 Defender 传感器部署:

  1. 在 Microsoft Defender for Cloud 的建议页中,打开“启用增强的安全性”安全控制或直接搜索上述建议之一(或使用上述链接直接打开建议)

  2. 通过“不正常”选项卡查看所有没有传感器的群集。

  3. 选择要部署所需传感器的群集,然后选择“修复”。

  4. 选择“修复 X 资源”。

部署 Defender 传感器 - 所有选项

可以启用 Defender for Containers 计划,并从 Azure 门户、REST API 或资源管理器模板部署所有相关组件。 有关详细步骤,请选择相关的选项卡。

部署 Defender 传感器后,会自动分配默认工作区。 可以通过 Azure Policy 分配一个自定义工作区来代替默认工作区。

注意

Defender 传感器部署到每个节点,以提供运行时保护并使用 eBPF 技术从这些节点收集信号。

使用 Defender for Cloud 建议中的修复按钮

借助一个简化、无冲突的过程,你可以使用 Azure 门户页来启用 Defender for Cloud 计划,并设置自动预配所有必要的组件,以大规模保护 Kubernetes 群集。

专用 Defender for Cloud 建议提供:

  • 有关哪些群集上部署了 Defender 传感器的直观信息
  • “修复”选项,用于在没有传感器的情况下将此扩展部署到这些群集中
  1. 在 Microsoft Defender for Cloud 的建议页中,打开“启用增强的安全性”安全控制。

  2. 使用筛选器找到名为“Azure Kubernetes 服务群集应启用 Defender 配置文件”的建议。

    提示

    请注意“操作”列中的“修复”图标

  3. 选择这些群集以查看正常和不正常资源的详细信息 - 有和没有该传感器的群集。

  4. 在“不正常的资源”列表中选择一个群集,然后选择“修正”打开包含修正确认的窗格。

  5. 选择“修复 X 资源”。

启用计划

若要启用计划,请执行以下操作:

  1. 从 Defender for Cloud 的菜单打开“设置”页,并选择相关的订阅。

  2. “Defender 计划”页中,选择“Defender for Containers”,然后选择“设置”。 Defender 计划页的屏幕截图。

    提示

    如果订阅已启用 Defender for Kubernetes 或适用于容器的 Defender 注册表,则会显示一条更新通知。 否则,唯一的选项为“适用于容器的 Defender”。

    显示“已弃用”和升级信息的适用于容器注册表的 Defender 和 Defender for Kubernetes 计划。

  3. 开启某个相关组件以将其启用。

    开启组件的屏幕截图。

    注意

    在你关闭 Defender for Containers 后,组件设置为关闭状态,不会部署到任何其他容器,但不会从已安装它们的容器中删除。

默认情况下,通过 Azure 门户启用计划时,Microsoft Defender for Containers 配置为自动安装所需组件以提供计划所提供的保护,包括分配默认工作区。

若要在加入过程中禁用自动安装组件,请选择“容器”计划对应的“编辑配置”。 “高级”选项随即显示,可禁用每个组件的自动安装。

此外,还可以从 Defender 计划页修改此配置。

注意

如果按以上所示的方式通过门户在启用后任意时段选择“禁用计划”,则需要手动删除群集上部署的 Defender for Containers 组件。

可以通过 Azure Policy 分配自定义工作区

如果禁用任何组件的自动安装,可以使用相应的建议轻松地将组件部署到一个或多个群集:

详细了解用于预配 Defender for Containers 扩展的角色

先决条件

部署传感器之前,请确保:

部署 Defender 传感器

可以使用各种方法部署 Defender 传感器。 有关详细步骤,请选择相关的选项卡。

使用 Defender for Cloud 建议中的修复按钮

专用 Defender for Cloud 建议提供:

  • 有关哪些群集上部署了 Defender 传感器的直观信息
  • “修复”选项,用于在没有传感器的情况下将此扩展部署到这些群集中
  1. 在 Microsoft Defender for Cloud 的建议页中,打开“启用增强的安全性”安全控制。

  2. 使用筛选器找到名为“已启用 Azure Arc 的 Kubernetes 群集应安装 Defender for Cloud 扩展”的建议。

    有关如何为已启用 Azure Arc 的 Kubernetes 群集部署 Defender 传感器的 Microsoft Defender for Cloud 建议。

    提示

    请注意“操作”列中的“修复”图标

  3. 选择该传感器以查看正常和不正常资源的详细信息 - 有和没有该传感器的群集。

  4. 在“不正常的资源”列表中选择一个群集,然后选择“修正”打开包含修正选项的窗格。

  5. 选择相关的 Log Analytics 工作区,然后选择“修正 x 资源”。

    使用 Defender for Cloud 的“修复”选项为 Azure Arc 部署 Defender 传感器。

验证部署

若要验证群集上是否已安装 Defender 传感器,请执行下列其中一个选项卡中的步骤:

使用 Defender for Cloud 建议来验证传感器的状态

  1. 在 Microsoft Defender for Cloud 的建议页中,打开“启用 Microsoft Defender for Cloud”安全控制。

  2. 选择名为“已启用 Azure Arc 的 Kubernetes 群集应安装 Microsoft Defender for Cloud 扩展”的建议。

    有关如何为已启用 Azure Arc 的 Kubernetes 群集部署 Defender 传感器的 Microsoft Defender for Cloud 建议。

  3. 检查在其上部署了该传感器的群集是否以“正常”状态列出

模拟来自适用于容器的 Microsoft Defender 的安全警报

Microsoft Defender for Cloud 所有安全警报参考表中提供了受支持警报的完整列表。

  1. 若要模拟安全警报,请从群集运行以下命令:

    kubectl get pods --namespace=asc-alerttest-662jfi039n
    

    预期的响应为 No resource found

    在 30 分钟内,Defender for Cloud 检测到此活动并触发安全警报。

    注意

    若要模拟 Defender for Containers 的无代理警报,Azure Arc 不是必备项。

  2. 在 Azure 门户中,打开 Microsoft Defender for Cloud 的“安全警报”页并查看针对相关资源的警报:

    Microsoft Defender for Kubernetes 中的示例警报。

移除 Defender 传感器

若要删除此或任何 Defender for Cloud 扩展,它还不足以关闭自动预配:

  • 启用自动预配可能会影响现有和将来的计算机。
  • 禁用扩展的自动预配只会影响将来的计算机,禁用自动预配不会卸载任何项。

注意

若要完全禁用 Defender for Containers 计划,请转到“环境设置”并禁用“Microsoft Defender for Containers”计划。

不过,若要确保现在不再自动将 Defender for Containers 组件预配到资源,请禁用扩展的自动预配,如为 Microsoft Defender for Cloud 中的代理和扩展配置自动预配中所述。

可以按照以下选项卡中所述,使用 Azure 门户、Azure CLI 或 REST API 删除该扩展。

使用 Azure 门户删除扩展

  1. 在 Azure 门户中打开“Azure Arc”。

  2. 在基础结构列表中选择“Kubernetes 群集”,然后选择特定的群集。

  3. 打开“扩展”页。 其中列出了群集上的扩展。

  4. 选择群集,然后选择“卸载”。

    从已启用 Arc 的 Kubernetes 群集中删除扩展。

移除 Defender 传感器

若要删除此或任何 Defender for Cloud 扩展,它还不足以关闭自动预配:

  • 启用自动预配可能会影响现有和将来的计算机。
  • 禁用扩展的自动预配只会影响将来的计算机,禁用自动预配不会卸载任何项。

注意

若要完全禁用 Defender for Containers 计划,请转到“环境设置”并禁用“Microsoft Defender for Containers”计划。

不过,若要确保现在不再自动将 Defender for Containers 组件预配到资源,请禁用扩展的自动预配,如为 Microsoft Defender for Cloud 中的代理和扩展配置自动预配中所述。

可以使用 REST API 或资源管理器模板移除扩展,如以下选项卡中所述。

使用 REST API 从 AKS 移除 Defender 传感器

要使用 REST API 移除扩展,请运行以下 PUT 命令:

https://management.chinacloudapi.cn/subscriptions/{{SubscriptionId}}/resourcegroups/{{ResourceGroup}}/providers/Microsoft.ContainerService/managedClusters/{{ClusterName}}?api-version={{ApiVersion}}
名称 说明 必需
SubscriptionId 群集订阅 ID
ResourceGroup 群集资源组
ClusterName 群集名称
ApiVersion API 版本必须 >= 2022-06-01

请求正文:

{
  "location": "{{Location}}",
  "properties": {
    "securityProfile": {
            "defender": {
                "securityMonitoring": {
                    "enabled": false
                }
            }
        }
    }
}

请求正文参数:

名称 说明 必需
location 群集位置
properties.securityProfile.defender.securityMonitoring.enabled 确定是否在群集上启用或禁用适用于容器的 Microsoft Defender

后续步骤

启用 Defender for Containers 后,可以: