OpenSCAP 做什么
OpenSCAP 是依据 SCAP(安全内容自动化协议)内容对系统做合规评估的工具,常用内容源是 SCAP Security Guide(SSG)。它按 XCCDF profile 逐条判定规则通过或失败,输出结构化 XML 结果与可读 HTML 报告。它评的是配置基线符合性,不是漏洞扫描:基线达标不等于没有未修补漏洞。
基本信息
| 命令 | oscap xccdf eval |
|---|---|
| 输入 | SCAP 数据流(ds.xml)与 profile 标识 |
| 输出 | XML 结果文件与 HTML 报告 |
| 内容源 | SCAP Security Guide,按发行版提供 |
| 适用平台 | RHEL、CentOS、Ubuntu 等主流 Linux 发行版 |
| 定位 | 配置合规基线评估 |
典型使用场景
- 等保与内控自查:对一批主机做基线符合性评估,输出统一报告
- 变更前后对比:升级或加固后重跑,确认没有引入新的基线偏离
- 加固验收:加固清单落地后验证规则是否真的生效
- 上线前基线检查:新装系统按对应 profile 先过一遍
- 差异分析:同一 profile 在不同批次主机上的失败项分布,找出配置漂移
评估命令示例
评估命令示例
ls /usr/share/xml/scap/ssg/content/ | head # 查看本机可用的基线内容
oscap info /usr/share/xml/scap/ssg/content/ssg-rl9-ds.xml # 列出可用 profile
oscap xccdf eval --profile xccdf_org.ssgproject.content_profile_cis \
--results results.xml --report report.html \
/usr/share/xml/scap/ssg/content/ssg-rl9-ds.xml
# 只评估指定规则:--rule xccdf_org.ssgproject.content_rule_xxx输出要素与用途
| 要素 | 含义 | 用途 |
|---|---|---|
| Rule 结果 | pass / fail / notapplicable 等 | 定位未达标的基线项 |
| Severity | 规则严重级别 | 与内部修复时限挂钩 |
| Profile | 评估所用的基线档位 | 报告需注明档位与内容版本 |
| XML 结果 | 结构化明细 | 入库、批量统计、与上次对比 |
合规扫描与漏洞扫描是两条线:基线达标不代表没有未修补漏洞,两者的报告应并存,派单时也要分流处理,否则修复方会在『配置项』和『补丁』之间无从下手。
先确认 SSG 内容版本与目标系统版本匹配:用错发行版的数据流会得到大量 notapplicable,报告看起来干净却毫无意义。
报告解读顺序
- 先看 profile 与内容版本,确认评估档位是否就是你们要达标的基线
- 再看 fail 规则的严重级别分布,优先处理高严重级别的未达标项
- 区分 notapplicable 与 fail:前者是规则不适用,后者才是需要动作的项
- 把每次结果留档,与上次报告对比,确认整改项是否真的消失了