[公共预览版] 快速入门:使用测试计算机审核适用于 Linux 的 Azure 安全基线

符合性报告 的屏幕片段

本指南将使用 Azure Policy 根据适用于 Linux 的 Azure 安全基线审核测试计算机。

具体而言,你将:

  1. 创建空 资源组
  2. 导入 策略 定义并将其分配给空资源组
  3. 在资源组中创建 VM 并观察审核结果

如果没有 Azure 帐户,可以 创建免费试用版

预览注意事项

此安全基线实现是早期 预览版

有关反馈渠道,请参阅本文末尾的 相关资源 部分。

预览版的已知问题或限制:

  • 我们鼓励在测试环境中测试策略
  • 策略定义是手动导入到 Azure,而不是内置(一旦推出开始,它将成为 Azure Policy 的内置策略 - 我们将在此页上更新区域推出)
  • 除了 Azure 服务的典型连接要求外,托管计算机还需要访问:https://github.com/Azure/azure-osconfig/releases/download/ignite_2024/AzureLinuxBaseline.zip
  • 当前基线基于 CIS 发行版独立基准 版本 2.0.0,该基线的覆盖率约为 63%
  • 基线设置的自定义仅限于策略的效果 - AuditIfNotExist 与 DeployIfNotExist(自动修正为受限公共预览版)

先决条件

在尝试本文中的步骤之前,请确保已具备:

  1. 有权在其中创建资源组、策略分配和虚拟机的 Azure 帐户。
  2. 与 Azure 交互的首选环境,例如:
    1. [建议]使用 Azure Cloud Shell(https://shell.azure.com 或本地等效项)
    2. 在安装并登录 Azure CLI 的情况下使用自己的计算机和 shell 环境
    3. 使用 Azure 门户(https://portal.azure.com 或本地等效项)

检查是否已登录到测试环境

  1. 使用门户中的帐户信息查看当前上下文。

    屏幕截图,显示 Azure 门户中的帐户信息

创建资源组

提示

将“美国东部”(eastus)用作本文中的示例位置是任意的。 可以选择任何可用的 Azure 位置。

  1. 在 Azure 门户中,浏览到 资源组
  2. 选择“+ 创建
  3. 选择名称和区域,例如“my-demo-rg”和“美国东部”
  4. 继续 审阅 + 创建

导入策略定义

预览策略定义目前未内置到 Azure。 以下步骤演示如何将其导入为自定义策略定义。

  1. 策略定义 JSON 下载到计算机,并在首选文本编辑器中打开它。 在后面的步骤中,将复制并粘贴此文件的内容。
  2. 在 Azure 门户搜索栏中,键入“策略”,然后从“服务”结果中选择 策略
  3. 在 Azure Policy 概述中,导航到 创作>定义
  4. 选择 + 策略定义,然后填写生成的表单,如下所示:
    1. 定义位置:<选择测试 Azure 订阅>
    2. 名称:[预览]:适用于 Linux 的 Azure 安全基线(按 OSConfig)
    3. 类别:使用现有的 > 来宾配置
    4. 策略规则删除 预填充的内容,然后在步骤 1 中的文件中 粘贴 JSON 中的

将策略分配给空测试资源组

  1. 在“策略定义”页中,选择 分配策略,这会转到用于分配策略的工作流
  2. “基本信息”选项卡:
    1. 范围:选择 测试 资源组(例如 my-demo-rg)
      1. 请注意 选择整个订阅或错误的资源组
    2. 策略定义:[预览]:适用于 Linux 的 Azure 安全基线(按 OSConfig)
    3. 分配名称:审核 [预览]:适用于 Linux 的 Azure 安全基线(按 OSConfig)
  3. “参数”选项卡
    1. 可选:转到“参数” 选项卡,检查哪些参数可用。 如果要使用已启用 Arc 的计算机(而不是 Azure 虚拟机)进行测试,请务必将“包括 Arc 计算机”更改为 真正的
    2. 可选:选择策略的效果:
      1. “AuditIfNotExist”表示策略将仅 审核
      2. !!警告 - 自动修正会将策略定义设置为所需状态,并可能导致中断 - 这是有限的公共预览版!!
      3. “DeployIfNotExist”表示它将在 自动修正 模式下运行 - 不将其用于生产
  4. 修正 选项卡
    1. 选择创建 托管标识的选项,然后选择“系统托管”
  5. 审阅 + 创建 选项卡
    1. 选择 创建
  6. 返回到策略定义页,导航到刚刚创建的策略分配,在“分配”选项卡下 选项卡

创建测试 VM(虚拟机),并为计算机配置做好准备

  1. 创建 Linux 虚拟机,具有以下选项:
    1. 虚拟机名称:my-demo-vm-01
    2. 资源组:前面创建的空资源组,例如 my-demo-rg
    3. 映像:Ubuntu Server 22.04 或 RedHat Enterprise Linux (RHEL) 9
    4. VM 体系结构:x64
    5. VM 大小:选择,但请注意,较小的 B 系列 VM 大小(如 Standard_B2s)可能是测试的成本效益选项
  2. 创建 VM 后,更新 VM 以使用计算机配置:
    1. 添加系统分配的标识(如果尚不存在)
    2. 添加计算机配置扩展(在门户中标记为 Azure Automanage Machine Configuration

提示

本指南手动执行托管标识和计算机配置扩展步骤,以减少等待和减少上下文更改。 使用 Deploy prerequisites to enable Guest Configuration policies on virtual machines 内置策略计划,可以大规模满足这些计划。

重要提示:在继续操作之前休息一下

现在会自动执行几个步骤。 每个步骤可能需要几分钟时间。 因此,请在 至少 15 分钟 等待,然后再继续。

观察结果

以下示例演示如何获取:

  1. 按符合性状态计算计算机计数(在生产规模上非常有用,其中可能有数千台计算机)
  2. 每个计算机符合性状态的列表
  3. 每个规则的符合性状态和证据的详细列表(也称为 原因

提示

预计看到红色 不符合 会导致以下结果。 仅审核用例是发现现有系统与 Azure 安全基线之间的差异。

  1. 导航到“Azure Policy 概述”页
  2. 在左侧导航中单击“符合性”
  3. 单击“我的演示分配...”策略分配
  4. 请注意,此页面提供以下两项:
    1. 按符合性状态的计算机计数
    2. 每个计算机符合性状态的列表
  5. 准备好查看具有符合性状态和证据的基线规则的详细列表时,请执行以下操作:
    1. 在计算机列表中(显示在 资源符合性)中选择测试计算机的名称
    2. 单击 查看资源 转到计算机概述页
    3. 在左侧导航中,找到并选择 配置管理
    4. 在配置列表中,选择名称以 LinuxSecurityBaseline 开头的配置...
    5. 在配置详细信息视图中,使用筛选器下拉列表 如果要查看符合性和不符合规则,请选择所有

可选:添加更多测试计算机以体验缩放

在本文中,策略已分配给最初为空的资源组,然后获取了一个 VM。 虽然它演示了系统的端到端工作,但它不提供大规模操作的感觉。 例如,在策略分配符合性视图中,一台计算机的饼图可能会感到人为。

请考虑将更多测试计算机添加到资源组,无论是手动还是通过自动化。 这些计算机可以是已启用 Azure VM 或已启用 Arc 的计算机。 看到这些计算机符合性(甚至失败),可以更敏锐地大规模操作 Azure 安全基线。

清理资源

若要避免持续产生费用,请考虑删除本文中使用的资源组。 例如,Azure CLI 命令将 az group delete --name "my-demo-rg"