Red Hat Training
A Red Hat training course is available for Red Hat Satellite
6.2. RHN Satellite 中的 OpenSCAP
6.2.1. 前提条件
软件包要求
SCAP 需要这些软件包:
- 服务器:RHN Satellite 5.5
- 客户端:spacewalk-oscap 软件包(可在 RHN 工具子频道中找到)
授权要求
调度的扫描需要管理授权。
其他要求
客户端:向客户端机器发布 XCCDF 内容
您可使用以下方法向客户端机器中发布 XCCDF 内容:
- 传统方法(CD、USB、nfs、scp、ftp)
- Satellite 脚本
- RPM推荐使用自定义 RPM 将 SCAP 内容发布到其他机器中。可签署或者确认 RPM 软件包以确定其完整性。可使用用户界面安装、删除并确认 RPM 软件包。
6.2.2. 执行审核扫描
RHN Satellite Server 中整合的 OpenSCAP 可在客户端系统中执行审核扫描。本小节讨论了两种可用的方法。
过程 6.1. 使用网页界面扫描
通过 Satellite 网页界面执行扫描:
- 登录 Satellite 网页界面。
- 点击「系统」 → 「目标系统」.
- 点击「审核」 → 「调度」
- 填写
调度新 XCCDF 扫描
表格:- 命令行参数:可在此字段添加 oscap 工具的附加参数。这里有两个可使用的命令行参数。它们是:
--profile PROFILE
— 从 XCCDF 文档中选择具体侧写。XCCDF xml 文件可确定侧写,并可使用Profile id
标签检查。例如:Profile id="RHEL6-Default"
注意
OpenSCAP 的某些版本需要 --profile 命令行参数,否则扫描将失败。--skip-valid
— 不确认输入/输出文件。使用非正规格式 XCCDF 内容的用户可以选择使用这个参数绕过文件验证过程。如果命令行参数通过,则会使用默认侧写。 - 到 XCCDF 文档的路径:这是必填项。
path
参数指向客户端系统中该内容位置。例如:/usr/local/scap/dist_rhel6_scap-rhel6-oval.xml
警告
在远程系统中运行 xccdf 内容前要对其进行验证。指定无效参数可导致 spacewalk-oscap 无法验证或者运行。出于安全考虑,‘osccap xccdf eval’ 命令只接受有限的参数。
- 运行
rhn_check
保证客户端系统选择了这个动作。rhn_check -vv
注意
另外,如果客户端系统中运行rhnsd
或者osad
命令,则这些服务会提取这个动作。要检查它们是否正在运行:service rhnsd start
或者service osad start
要查看扫描结果,请参考 第 6.2.3 节 “如何查看 SCAP 结果”。
图 6.1. 使用 Web UI 调度扫描
过程 6.2. 使用 API 扫描
使用 API 执行审核扫描:
- 可使用前台 API
system.scap.scheduleXccdfScan
选择现有脚本或者创建调度系统扫描的脚本。脚本示例:#!/usr/bin/python client = xmlrpclib.Server('https://spacewalk.example.com/rpc/api') key = client.auth.login('username', 'password') client.system.scap.scheduleXccdfScan(key, 1000010001, '/usr/local/share/scap/usgcb-rhel5desktop-xccdf.xml', '--profile united_states_government_configuration_baseline')
其中:- 1000010001 是
system ID (sid)
。 - 内容在
/usr/local/share/scap
目录中。 --profile united_states_government_configuration_baseline
代表 oscap 工具中的附加参数。在这个示例中使用 USCFGB。
- 在任意系统的命令行界面中运行脚本。该系统需要安装正确的 python 和库。
- 运行
rhn_check
保证客户端系统选择了这个动作。rhn_check -vv
注意
另外,如果客户端系统中运行rhnsd
或者osad
命令,则这些服务会提取这个动作。要检查它们是否正在运行:service rhnsd start
或者service osad start
6.2.3. 如何查看 SCAP 结果
查看完成的扫描结果有三种方法:
- 使用网页界面。执行该动作后,会在系统「审核」标签中显示结果。详情请参考 第 6.2.4 节 “OpenSCAP Satellite 页面”。
- 使用句柄
system.scap
的 API 功能: - 运行以下命令使用 Satellite 的
spacewalk-reports
工具:# /usr/bin/spacewalk-reports system-history-scap # /usr/bin/spacewalk-reports scap-scan # /usr/bin/spacewalk-reports scap-scan-results
6.2.4. OpenSCAP Satellite 页面
下面的小节讨论了包含 OpenSCAP 的 RHN Satellite Web UI 中的标签。
6.2.4.1. 「审核」
导航栏顶部的「审核」是 RHN Satellite Server 5.5 中使用 OpenSCAP 功能的页面。点击这个标签就可以查看完成的 OpenSCAP 扫描、搜索,并进行比较。
- 「审核」 → 「所有扫描」
- 「所有扫描」 是选择 「审核」 标签后默认出现的页面。在这个页面中显示所有完成的 OpenSCAP 扫描,这些扫描是用户有查看权限的扫描。扫描权限与系统权限相同。
图 6.2. 审核 ⇒ 所有扫描
在每个扫描中都会显示以下信息:- 系统
- 扫描的目标系统
- XCCDF 侧写
- 评估的侧写
- 完成
- 完成时间
- 满足
- 满足/通过的规则数。如果评估结果是 Pass 或者 Fixed,则视其为满足。
- 不满足
- 不满足/失败的规则数。如果评估结果是 Fail,则视其为不满足。
- 未知
- 无法评估的规则数。如果评估结果为 Error、Unknown 或者 Not Checked,则视其为未知。
XCCDF 规则评估也可能会返回类似「Informational」、「Not Applicable」或者「Not Selected」等状态。如果出现这种情况,给出的规则就不会包含在本页的统计信息中。详情请查看「系统详情」 → 「审核」。 - 「审核」 → 「XCCDF Diff」
- XCCDF Diff 是对比两个 XCCDF 扫描结果的视频程序。它显示两个扫描的元数据以及结果列表。
图 6.3. 审核 ⇒ XCCDF Diff
您可以直接访问类似扫描的diff
,方法是点击 「列出扫描」页,或者您也可以通过指定其 id,使用diff
对比随机扫描。只在进行对比的扫描中的一个中显示的项目被视为“验证中”。验证中的项目总是被突出为米黄色。有三个可能的对比形式:「全面对比」,即显示所有扫描项目;「只对比更改的项目」,即显示有变动的项目;和「只对比不变的项目」,即显示没有更改或者类似的项目。 - 「审核」 → 「高级搜索」
- 搜索页面允许您根据具体标准搜索您的扫描,其中包括:
- 规则结果
- 目标机器
- 扫描时间范围
图 6.4. 审核 ⇒ 高级搜索
搜索返回结果列表或者结果中的扫描列表。
6.2.4.2. 「系统」 → 「系统详情」 → 「审核」
这个标签及其子标签可让您调度和查看系统的合规扫描。扫描由 SCAP 工具执行,该工具是 NIST 的标准 SCAP(安全内容自动化协议)实施。要扫描该系统,请确定准备好 SCAP 内容,并满足 第 6.2.1 节 “前提条件” 中列出的条件。
- 「系统」 → 「系统详情」 → 「审核」 → 「列出扫描」
图 6.5. 系统 ⇒ 系统详情 ⇒ 审核 ⇒ 列出扫描扫描结果
这个子目录列出系统中完成的所有扫描小结。该栏目类似如下:表 6.1. OpenSCAP 扫描标签
栏目标签 定义 XCCDF 测试结果 扫描的测试结果名称,它可提供该扫描详细结果的链接。 完成 扫描完成的具体时间 合规 根据使用的标准得到的合规非加权 pass/fail 比例 P 通过的检查数 F 失败的检查数 E 扫描中出现的错误 U 未知 N 无法在该机器中应用 K 未检查 S 未选择 I 信息 X 已修复 总计 检查总数 每一行前面的图标表示与上衣个类似扫描的对比结果。这些图标显示新的扫描可以是:- — 与上一个扫描相比没有不同
- — 肯定有不同
- — 有很大不同,可能是比上一个扫描失败的项目多,或者通过的项目少
- — 没有找到可进行对比的扫描,因此无法进行对比。
- 「系统」 → 「系统详情」 → 「审核」 → 「扫描详情」
- 本页包含单次扫描的结果。可将其分为两部分:
- XCCDF 扫描详情扫描详情为您提供:
- 文件路径的常规信息
- 使用的命令行参数
- 调度此扫描的人
- 基准识别符和版本是什么
- 侧写识别符
- 侧写标题
- 开始和完成时间
- 所有错误输出结果。
- XCCDF 规则结果规则结果为您提供 XCCDF 规则识别符完整列表,用它们可识别每个规则结果的标签和结果。可根据具体结果过滤这个列表。
- 「系统」 → 「系统详情」 → 「审核」 → 「调度」
- 您可以使用这个子标签调度新扫描。除提供系统中要扫描的 XCCDF 文档路径外还可提供附加命令行参数。根据 "
Schedule no sooner than
" 参数,该扫描将在系统下次调度登录 Satellite 服务器时执行。有关如何使用 Satellite 网页界面进行调度的详情请参考本章中 过程 6.1, “使用网页界面扫描” 一节。