首页/安全/安全加固速查/OpenSCAP 快速核查思路

OpenSCAP 快速核查思路

用 SCAP 内容包做机器可读的合规体检:CIS/STIG 报告可作为等保自评证据,但结论仍需人工复核。

安全加固速查安全更新于 2026-10-13

OpenSCAP 是干什么的

OpenSCAP 用 SCAP 内容包(常见的是 SCAP Security Guide)对主机做机器可读的合规体检,输出 XCCDF 结果文件和 HTML 报告。它只核查、不改配置,价值在于给出可对比的两份快照:整改前的现状报告与整改后的验证报告,构成完整的闭环证据。

基本信息

适用平台RHEL/CentOS 等 RPM 系发行版
客户端包openscap-scanner
内容包scap-security-guide(按发行版本命名 ds 文件)
常用 profileCIS、PCI-DSS、STIG 等,以内容包实际提供为准
输出物XCCDF XML 结果 + HTML 报告
性质只读核查,不做修复

典型使用场景

  • 整改立项:先出一份现状报告,量化差距项分布
  • 闭环验证:整改后复扫,两份报告对比作为完成证据
  • 新系统上线前的一次性体检,避免带着已知问题交付
  • 批量巡检:脚本对多台主机顺序扫描并集中收集报告
  • 向审计方交付:XML 供机器比对,HTML 供人工阅读

扫描与出报告

扫描与出报告
rpm -q openscap-scanner || yum install -y openscap-scanner scap-security-guide
# 确认内容包文件名与系统发行版本匹配
ls /usr/share/xml/scap/ssg/content/ | head
# 按 profile 扫描,同时产出结果与报告
oscap xccdf eval --profile xccdf_org.ssgproject.content_profile_cis \
  --results /tmp/oscap-results.xml --report /tmp/oscap-report.html \
  /usr/share/xml/scap/ssg/content/ssg-rhel8-ds.xml
# 从已有结果重新生成报告(便于分发)
oscap xccdf generate report /tmp/oscap-results.xml > /tmp/oscap-report2.html

结果状态判读

状态含义处理方式
pass满足该规则要求归档,作为合规证据
fail不满足规则要求按 severity 排优先级,纳入整改清单
notapplicable规则不适用于本系统记录原因,避免复扫时反复误判
unknown条件不足无法判定补齐依赖或权限后重跑,不能算通过
error扫描过程本身出错查内容包版本、权限与运行环境
内容包版本必须与系统发行版本匹配,用 rhel8 的内容包去扫 rhel7 会产出一大批没有意义的失败项。
报告篇幅很大,先看 HTML 里的概览与高危项分布,需要机器比对时再回到 XML 结果文件。
扫描结果包含账户、服务、内核参数等系统信息,按敏感数据处理并限制文件访问权限。
机器判定与人工核查要互补:参数、文件权限这类检查适合自动化,服务配置的合理性与业务例外仍需人工确认。
同一台机器换 profile 会得到完全不同的通过率,报告里必须写明使用的 profile 与内容包版本,否则跨期对比没有意义。

易错点

  • 内容包与系统版本不匹配:产出大量假失败,把整改方向带偏
  • 把扫描结论直接当作合规结论:SSG 规则集与等保条款不是一一对应,映射关系需要人工维护
  • 只跑一次不做复扫:缺少整改后的第二份报告,无法证明问题已闭环
  • 把 unknown 与 error 计入通过率:合规率虚高,未验证项被掩盖过去

数据来源与参考

  • OpenSCAP 官方文档
  • CIS Benchmark:SCAP 内容

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌