通过自定义合规性内容,可以定义自己的安全标准,用于补充 SaltStack SecOps Compliance 中内置的安全基准和检查库。

自定义内容有助于增强 SaltStack SecOps Compliance 策略以满足您的内部要求。

SaltStack SecOps Compliance 包括自定义内容 Software Development Kit (SDK),可以用于创建、测试和构建自己的自定义安全内容。可以导入自定义安全内容,以便与 SaltStack SecOps Compliance 内置安全库一起用于评估和修复。通过导入自定义内容功能,还可以使用自己选择的版本控制系统对内容进行版本控制,例如 Git。

要使用自定义检查,必须先初始化 SaltStack SecOps Compliance 自定义内容 SDK。SDK 包含示例文件,可以对其修改以创建自己的自定义检查以及基准。SDK 还包含基于 Docker 的测试环境,可以在其中测试新内容。

创建并测试自定义内容后,可以构建内容文件,并导入到 SaltStack SecOps Compliance 以开始评估和修复。自定义检查包括用户图标(自定义检查用户图标),区别于 SaltStack 检查(内置检查防护图标)SaltStack SecOps Compliance 可跟踪策略与自定义内容之间的依赖关系,并提供删除内容时可能会中断的依赖关系列表。

前提条件

过程

  1. 从命令行导航到包含该文件的目录,然后运行以下命令:
    操作系统 命令
    Mac OS 或 Linux ./secops_sdk init
    Windows secops_sdk.exe init
    未显示任何输出,这是预期的结果。您的目录包含以下文件夹和文件:
    • 基准 - 包含自定义基准元文件 (.meta)
    • Salt/locke/custom - 包含自定义检查状态文件 (.sls) 和元文件 (.meta)
    • sample_tests - 包含使用 Docker 进行测试的示例文件
    • README.md - 提供有关 SDK 的更多详细信息
  2. (可选)将更改提交到版本控制的存储库。
  3. 要创建自定义检查,请在自定义内容 SDK 中导航到 salt/locke/custom。要创建自定义基准,请跳至步骤 8。
    注: 所有自定义检查都必须同时在状态文件 (.sls) 和相应的元文件 (.meta) 中进行配置。
  4. 为示例状态文件 (.sls) 和相应的元文件 (.meta) 创建副本,并使用所需的自定义名称重命名这两个文件。将这两个文件一起保存在 salt/locke/custom 的任何子目录中。
    这两个文件必须位于相同目录中并以相同的名称开头,例如: my_first_check.metamy_first_check.sls
  5. 编辑元文件的内容,以根据需要自定义检查。
    注: 检查元文件包含对不同基准的引用。创建自定义内容时,请确保在检查元文件中包含所有关联的基准。
  6. 编辑状态文件的内容。
  7. 确保两个文件都保存在同一目录中。
  8. 要创建自定义基准,请在自定义内容 SDK 中导航到 benchmarks 目录。此目录包含示例基准元文件 (.meta)。
  9. 创建 Sample_benchmark.meta 的副本,并使用所需的自定义名称对其进行重命名。
  10. 编辑元文件的内容,以根据需要自定义基准。

结果

将创建自定义检查和基准。如果需要,您可以导航到 SecOps > 检查SecOps > 基准,单击自定义内容旁边的菜单图标 ,然后单击 删除,以删除自定义检查或基准。

下一步做什么

创建自定义内容后,您可以通过打开命令行,导航到自定义内容 SDK sample_tests 目录并运行以下命令来对其进行测试:

命令 结果
1. ./build.sh 使用 Salt 构建 CentOS7 docker 映像以进行测试。
2. ./up.sh 启动测试容器
3. ./test.sh salt-call --local state.apply locke.custom.mounts.my_first_check test=True 对在 salt/locke/custom 目录中创建的检查运行示例测试。可以像执行正常 Salt 状态一样启动自定义检查。有关 Salt 状态的详细信息,请参见如何使用 Salt 状态
4. ./down.sh 测试完成后,运行以下命令关闭测试容器。

测试自定义内容后,您可以构建自定义内容库