跳过内容

简介

在上一篇文章中,我们使用 OpenSCAP 在一个新的 rocky linux 8 系统上设置了 DISA stig。现在,我们将介绍如何使用这些相同的工具测试系统,并查看我们可以使用工具 oscap 及其 UI 对等工具 SCAP Workbench 生成哪些类型的报告。

Rocky Linux 8(和 9!)包括一套 SCAP 内容来测试和修复针对各种标准的合规性。如果你在第 1 部分中构建了一个 STIG 系统,你已经看到了这一点。anaconda 安装程序利用此内容来修改 rocky 8 配置以实施各种控制、安装/删除软件包以及更改操作系统级别挂载点的工作方式。

随着时间的推移,这些事情可能会发生变化,你需要密切关注。通常,我还使用这些报告来证明特定控制已正确实施。无论哪种方式,它都已烘焙到 Rocky 中。我们将从一些基础知识开始。

列出安全配置文件

要列出可用的安全配置文件,我们需要使用 openscap-scanner 包提供的 oscap info 命令。如果你从第 1 部分开始一直遵循,那么该命令应该已经安装在你的系统中。要获取可用的安全配置文件

oscap info /usr/share/xml/scap/ssg/content/ssg-rl8-ds.xml

注意

Rocky linux 8 内容将在文件名中使用标签“rl8”。在 Rocky 9 中,它将是“rl9”。

如果一切顺利,你应该看到类似于以下屏幕的屏幕

Security Profiles

DISA 只是 Rocky Linux SCAP 定义支持的众多安全配置文件之一。我们还拥有针对以下内容的配置文件

审核 DISA STIG 符合性

这里有两种类型可供选择

  • stig - 无 GUI
  • stig_gui - 有 GUI

运行扫描并为 DISA STIG 创建 HTML 报告

sudo oscap xccdf eval --report unit-test-disa-scan.html --profile stig /usr/share/xml/scap/ssg/content/ssg-rl8-ds.xml

这将生成如下报告

Scan Results

并将输出 HTML 报告

HTML Report

生成修复 Bash 脚本

接下来,我们将生成扫描,然后使用扫描结果生成一个 bash 脚本,根据 DISA stig 配置文件修复系统。我不建议使用自动修复,你应该始终在实际运行更改之前查看更改。

1) 在系统上生成扫描

```bash
sudo oscap xccdf eval --results disa-stig-scan.xml --profile stig /usr/share/xml/scap/ssg/content/ssg-rl8-ds.xml
```

2) 使用此扫描输出生成脚本

```bash
sudo oscap xccdf generate fix --output draft-disa-remediate.sh --profile stig disa-stig-scan.xml
```

生成的脚本将包含它将对系统进行的所有更改。

警告

在运行之前查看它!它将对系统进行重大更改。

Script Contents

生成修复 Ansible 剧本

你也可以生成 ansible 剧本格式的修复操作。让我们重复上述部分,但这次使用 ansible 输出

1) 在系统上生成扫描

```bash
sudo oscap xccdf eval --results disa-stig-scan.xml --profile stig /usr/share/xml/scap/ssg/content/ssg-rl8-ds.xml
```

2) 使用此扫描输出生成脚本

```bash
sudo oscap xccdf generate fix --fix-type ansible --output draft-disa-remediate.yml --profile stig disa-stig-scan.xml
```

警告

同样,在运行之前查看它!你有没有发现这里有规律?所有这些过程中的这个验证步骤非常重要!

Ansible Playbook

关于作者

Scott Shinn 是 Atomicorp 的 CTO,也是 Rocky Linux 安全团队的成员。自 1995 年以来,他一直参与白宫、国防部和情报界的联邦信息系统。其中包括创建 STIG 并要求您使用它们,对此我深感抱歉。

作者:Scott Shinn

贡献者:Steven Spencer,Ganna Zhyrnova