SaltStack SecOps Compliance 是一个 IT 基础架构安全与合规解决方案,它通过一个平台实现安全性和执行 IT 操作。其安全库包含基于行业最佳实践强化指南的最新安全标准,例如 CIS 等。它不仅使用该库评估基础架构的安全性,而且还立即修复不合规的系统。

要使用 SaltStack SecOps Compliance,请先定义策略,然后根据策略扫描系统。扫描会检测不合规系统,并支持立即修复问题。此外,还可以输入免除并指定用户权限,以确保根据您组织的需求自定义所有修复途径。

注:

本部分介绍如何在 SaltStack Config 用户界面中使用 SaltStack SecOps Compliance。但是,也可以通过 API (RaaS) 使用 SaltStack SecOps Compliance。如需帮助,请参见 API (RaaS) RPC 端点文档或联系管理员。

SaltStack SecOps Compliance 利用 Salt 的强大配置管理和远程执行功能,使您的所有基础架构资产符合一系列行业范围的安全基准。它与 SaltStack Config 集成以大规模地应用安全措施,同时根据组织的需求遵守自定义免除。

策略

要使用 SaltStack SecOps Compliance 保护基础架构资产的安全,请先定义策略。SaltStack SecOps Compliance 提供不同的行业基准供您选择,包括 CIS 等的检查。有关定义策略的详细信息,请参见构建策略

每个基准都包含一组安全检查。可以选择应用给定基准的所有可用检查,或仅使用部分可用检查。使用部分检查有助于根据您的独特基础架构需求自定义 SaltStack SecOps Compliance,例如,修复给定检查会带来破坏已知依赖项的风险的情况。有关基准和检查的详细信息,请参见合规策略

评估和修复

SaltStack SecOps Compliance 使用您的合规策略作为评估基础架构安全的基础。每次评估后,SaltStack SecOps Compliance 都会提供报告,并突出显示任何不合规的系统以及建议的修复。请参见运行评估

注: SaltStack SecOps Compliance 在评估期间不执行任何更改。

评估之后,您可以修复任何不合规节点。为方便起见,SaltStack SecOps Compliance 允许一次全部修复,或仅修复部分节点或检查。有关修复的详细信息,请参见修复所有检查

自定义

要根据组织需求自定义 SaltStack SecOps Compliance,可以免除修复某些检查和节点。此外,还可以插入变量值以执行比行业标准更严格的要求。有关免除的详细信息,请参见添加免除

另一种自定义方法是配置用户权限,仅允许某些用户进行修复,而允许其他一些用户评估或定义策略。这样,您能够完全控制所采取的每项操作。有关权限的详细信息,请参见角色和权限

构建策略

  1. SaltStack SecOps Compliance 主页中,单击创建策略
  2. 输入策略名称,然后选择要应用策略的目标。然后,单击下一步
    注:

    目标是一个或多个 Salt 主节点中的一组工作节点,会对其应用作业的 Salt 命令。Salt 主节点也可以像工作节点一样进行管理,如果正在运行工作节点服务,也可以成为目标。工作节点是运行工作节点服务的节点,可以侦听 Salt 主节点发出的命令并执行请求的任务。有关详细信息,请参见工作节点

  3. 基准选项卡中,选择要包含在策略中的所有基准,然后单击下一步

    如果未显示任何基准,您可能需要下载合规性内容。如需帮助,请参见正在更新安全库或联系您的管理员。

    注:

    使用Windows Server基准测试时,请务必仔细查看所选基准中包含的内容。某些基准的 CIS 内容(以工具提示 工具提示图标 表示)分布在三个不同基准中,如下所示:

    • 域主节点内容
    • 成员内容
    • 域主节点和成员内容

    这意味着,如果要包括所有成员内容,必须选择“成员”的基准以及“域主节点和成员”的基准。

  4. 检查选项卡中,选择要包括在策略中的所有检查。可用检查由所选基准确定。

    要查看有关检查的更多详细信息(如描述和相关修复),请单击双箭头图标 双箭头图标 以打开详细信息窗格。

    自定义检查包括用户图标 自定义检查用户图标,区别于 SaltStack 检查 内置检查防护图标

    有关了解检查的详细信息,请参见合规策略

    要筛选列表,请单击筛选器按钮 筛选器图标。可以通过单击清除筛选器移除活动筛选器。

    注:

    包含许多检查的策略可能会导致在评估期间处理时间较长。此外,还可能会延迟 SaltStack Config 中的其他进程,如正在运行的作业。请确保只包括需要的检查,并考虑运行大规模评估所需的额外时间。

  5. 单击下一步
  6. 变量选项卡中,根据需要输入或修改变量,或者接受默认值。然后,单击下一步
    注:

    输入的值定义 SaltStack SecOps Compliance 执行所选检查的方式。建议使用默认值。有关变量的详细信息,请参见合规策略

  7. 调度屏幕中,定义调度频率,然后单击保存。有关定义调度设置的详细信息,请参见合规策略
  8. (可选)选择保存时运行评估
  9. 单击保存

    策略现已保存。如果选择在保存时运行评估,则评估现在正在运行。

编辑策略

  1. SaltStack SecOps Compliance 主页中,选择要编辑的策略。
  2. 在策略屏幕中,单击右上角的编辑策略
  3. 根据需要编辑策略,然后单击保存

正在更新安全库

  1. 单击侧边菜单上的管理 > SecOps
  2. 合规性内容 - SaltStack 下,单击检查更新

运行评估

注:

包含许多检查的策略可能会导致在评估期间处理时间较长。此外,还可能会延迟 SaltStack Config 中的其他进程,如正在运行的作业。请确保考虑运行大规模评估所需的额外时间。

  1. SaltStack SecOps Compliance 主页中,选择一个策略。
  2. 在策略主页中,单击运行评估。此时将打开活动屏幕。

    活动屏幕将列出已完成的评估及其状态、作业 ID (JID) 和其他信息。

    注:

    在评估期间,不进行任何更改。可以稍后修复任何问题。请参见修复所有检查

查看评估结果

  1. SaltStack SecOps Compliance 主页中,选择一个策略。
  2. 策略主页显示最近评估的结果,并按检查进行组织。

    要筛选列表,请单击筛选器按钮 筛选器图标。可以通过单击清除筛选器移除活动筛选器。

    此外,还可以选择列标题来对结果进行排序,例如,可以对“不合规”列进行排序,以先查看不合规节点。

    可以选择工作节点选项卡以按工作节点查看评估结果。

    注:

    必须先运行评估,然后才能查看评估结果。请参见运行评估

了解评估结果

有关评估结果参考,请参见评估结果

正在下载评估报告

  1. SaltStack SecOps Compliance 主页中,选择一个策略以查看最新的评估结果。
  2. 在策略主页中,转到报告选项卡,然后单击下载
  3. 在生成的下拉列表中,选择 JSON

    您的 Web 浏览器将开始下载报告。

修复所有检查

识别出不合规系统后,下一步就是进行修复。可以选择修复单个检查或节点(称为工作节点),也可以选择对所有节点修复所有检查。但是,运行全部修复时,不会修复任何免除的检查或节点。

要对所有工作节点修复所有检查,请执行以下操作:

  1. SaltStack SecOps Compliance 主页中,选择一个策略以查看最近评估结果。
  2. 检查选项卡中,单击右上角的全部修复
  3. 在确认对话框中,单击全部修复

    SaltStack SecOps Compliance 将开始对所有不合规节点修复所有检查。可以在活动选项卡中跟踪修复的状态。

  4. 修复完成后,运行新评估以确认您的系统现在合规。
    注:

    要实现完全合规,可能需要多次重复修复和扫描过程,特别是针对许多不合规检查运行全部修复时。这是因为某些检查取决于其他检查的完成情况。例如,一项检查可能需要另一项检查部署的软件包,然后才能对其进行正确修复。

按检查进行修复

  1. 在策略屏幕中,选择一项检查以打开检查描述。
  2. 向下滚动,跳过检查描述,找到上次评估的结果列表。结果按工作节点进行排序。

    如果列标题中包含筛选器图标 筛选器图标,可以按该列类型筛选结果。单击图标,然后从菜单中选择一个筛选器选项,或键入要筛选的文本。可以通过单击清除筛选器移除活动筛选器。

  3. 选择要针对活动检查进行修复的所有工作节点。
  4. 单击修复

按工作节点进行修复

  1. 在策略屏幕中,转到工作节点选项卡,然后选择一个工作节点。
  2. 选择要针对活动工作节点进行修复的所有检查。

    如果列标题中包含筛选器图标 筛选器图标,可以按该列类型筛选结果。单击图标,然后从菜单中选择一个筛选器选项,或键入要筛选的文本。可以通过单击清除筛选器移除活动筛选器。

  3. 单击修复

添加免除

  1. 在策略屏幕中,选择要免除修复的检查。
  2. 单击添加免除
  3. 输入免除原因,然后单击添加免除进行确认。以后可以根据需要随时移除免除。

    免除的项目将不进行修复。如果修复根据包含免除项目的策略运行,将针对该项目跳过修复。

    注:

    可以在运行评估之前或之后添加免除。此外,还可以定义根据您的需求排除检查的自定义策略。请参见构建策略

按工作节点添加免除

  1. 在策略屏幕中,转到工作节点选项卡。
  2. 选择要免除修复的工作节点。
  3. 单击添加免除
  4. 输入免除原因,然后单击添加免除进行确认。以后可以根据需要随时移除免除。

    免除的项目将不进行修复。如果修复根据包含免除项目的策略运行,将针对该项目跳过修复。

移除免除

  1. 在策略屏幕中,转到免除选项卡。
  2. 上下滚动该页面以查看包含所有免除的列表。
    注:

    首次打开免除选项卡时,屏幕外可能会有更多免除。继续滚动到屏幕底部以查看所有免除。

  3. 单击要移除的免除对应的下拉列表。
    免除工作节点下拉列表

    此时会打开所有受影响的工作节点列表。

  4. 单击移除免除
    免除工作节点下拉列表打开
  5. 在确认对话框中,单击移除免除

定义 SaltStack SecOps Compliance 权限

转到权限编辑器以修改 SaltStack SecOps Compliance 权限。有关 SaltStack Config 角色和权限的详细信息,请参见角色和权限

SaltStack SecOps Compliance 内容库

SaltStack SecOps Compliance 内容库包含预构建的行业最佳实践安全与合规内容,其中包括:

  • CIS
注: 安全库会随着安全标准的变化而自动更新。

合规策略

合规策略是 SaltStack SecOps Compliance 中的安全检查以及对节点应用每项检查所依据的规范的集合。策略还可以包含调度以及处理免除的规范。

下面详细介绍了安全策略的每个组件。

目标

目标是一个或多个 Salt 主节点中的一组工作节点,会对其应用作业的 Salt 命令。Salt 主节点也可以像工作节点一样进行管理,如果正在运行工作节点服务,也可以成为目标。在 SaltStack SecOps Compliance 中选择目标时,需要定义要对其运行安全检查的节点。您可以选择现有目标或创建新目标。有关详细信息,请参见工作节点

基准

基准是安全检查的类别。SaltStack SecOps Compliance 基准由公认的专家定义,而自定义基准可以按您自己组织的标准进行定义。可以使用基准帮助创建一系列针对不同节点组优化的不同策略。例如,可以创建将 CIS 检查应用于 Oracle Linux 工作节点的 Oracle Linux 策略,以及将 CIS 检查应用于 Docker 工作节点的 Docker 策略。

有关创建自定义检查和基准的详细信息,请参见 SaltStack SecOps Compliance 自定义内容

SaltStack SecOps Compliance 按基准对安全检查进行分组,有助于简化定义安全策略的过程。

检查

检查是 SaltStack SecOps Compliance 进行评估以满足合规性的安全标准。SaltStack SecOps Compliance 库会随着安全标准的变化而频繁更新检查。除了 SaltStack SecOps Compliance 内容库中包含的检查之外,还可以创建自己的自定义检查。自定义检查包括用户图标 自定义检查用户图标,区别于 SaltStack 检查 内置检查防护图标。有关创建自定义检查和基准的详细信息,请参见 SaltStack SecOps Compliance 自定义内容

每项检查都包含以下信息字段。

注: 下面的一些项针对每个检查进行定义,而其他一些项针对一个或多个基准进行定义。
说明
检查的简要描述。
操作
修复时将执行的操作的简要描述。
中断
仅用于内部测试目的。有关详细信息,请联系您的管理员。
全面描述
检查的详细描述。
Osfinger
对其实施检查的 osfinger 值列表。可以在每个工作节点的 grains.items 中找到 osfinger。它可识别工作节点的操作系统和主要版本。颗粒是一个接口,用于获取有关底层系统的信息。会收集操作系统、域名、IP 地址、内核、操作系统类型、内存以及许多其他系统属性的颗粒信息。有关颗粒的详细信息,请参见 Salt 颗粒参考
配置文件
不同基准的配置文件列表。这些配置文件针对计算机在环境(例如,服务器或工作站)中的不同角色以及对比于实际使用的不同安全级别。
基本原理
实施检查的基本原理说明。这包括可能希望实施检查的原因。
引用
基准之间的合规性交叉引用。
修复
(未包含在所有检查中)- 指示 SaltStack SecOps Compliance 是否能够修复不合规节点的值,因为并非所有检查都包括具体的可行性修复步骤。例如, SaltStack SecOps Compliance 不修复 CIS 1.1.6:确保 /var 存在单独的分区,因为不存在用于对每个系统进行重新分区的通用方法。False 表示检查无法修复。如果为 True(默认值),则不显示此字段。
修复方法
描述任何不合规系统的修复方法(如果适用)。请注意,有些检查不包括具体的可行性修复步骤。请参见上面的“修复”。
评分
CIS 基准评分值。已评分的建议会影响目标的基准分数,而未评分的建议不会影响分数。True 表示已评分,False 表示未评分。
状态文件
将应用以执行检查以及(如适用)后续修复的 Salt 状态副本。

变量

SaltStack SecOps Compliance 中的变量用于将值传递到构成安全检查的 Salt 状态。为达到最佳效果,请使用提供的默认值。

有关 Salt 状态的详细信息,请参见 Salt 状态教程

调度

注: 在调度编辑器中,术语“作业”和“评估”可以互换使用。为策略定义调度时,将仅调度评估,而不是修复。

重复重复日期和时间一次 Cron 表达式中选择调度频率。根据已调度的活动和所选择的调度频率,还会提供其他选项。

重复
设置重复调度的时间间隔,其中包括开始或结束日期、伸展树和最大并行作业数等可选字段。
重复日期和时间
选择每周或每天重复调度,其中包括开始或结束日期和最大并行作业数等可选字段。
一次
指定运行作业的日期和时间。
Cron
输入 cron 表达式以根据 Croniter 语法定义自定义调度。有关语法准则,请参见 CronTab 编辑器。为了获得最佳效果,在定义自定义 cron 表达式时,请避免将调度作业的时间间隔设置为少于 60 秒。
注: 定义评估调度时,可以选择额外的 未调度 (按需) 选项。如果选择此选项,表示选择运行一次性评估,而不定义任何调度。

活动状态

在策略主页中,“活动”选项卡显示已完成或正在进行的评估和修复列表。它包括以下状态。

状态 说明
已排队 操作已准备好运行,但是工作节点尚未选取开始操作的任务。
已完成 操作已完成运行。
部分 尽管 Salt 主节点报告操作已完成运行,但操作仍在等待某些工作节点返回。工作节点是运行工作节点服务的节点,可以侦听 Salt 主节点发出的命令并执行请求的任务。Salt 主节点是一个中央节点,用于向工作节点发出命令。

可以在 SaltStack Config 的主“活动”工作区中跟踪 SaltStack Config 中的所有活动,包括评估和修复。请参见活动

评估结果

请参阅以下内容,了解评估结果。有关如何访问评估结果的详细信息,请参见查看评估结果

返回状态

修复完成后,SaltStack SecOps Compliance 会将每个系统标记为以下返回状态之一。

合规
与标准或基准相比,设置处于预期状态。
不合规
与标准或基准相比,设置未处于预期状态。建议进一步调查和执行可能的修复。
不适用
设置不适用于此系统,例如,在 AIX 上运行 CentOS 检查的情况。
未知
尚未运行评估或修复。
错误
SaltStack SecOps Compliance 在运行评估或修复时遇到错误。