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 网页界面执行扫描:
  1. 登录 Satellite 网页界面。
  2. 点击「系统」「目标系统」.
  3. 点击「审核」「调度」
  4. 填写 调度新 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’ 命令只接受有限的参数。
  5. 运行 rhn_check 保证客户端系统选择了这个动作。
    rhn_check -vv
    

    注意

    另外,如果客户端系统中运行 rhnsd 或者 osad 命令,则这些服务会提取这个动作。要检查它们是否正在运行:
    service rhnsd start
    
    或者
    service osad start
    
要查看扫描结果,请参考 第 6.2.3 节 “如何查看 SCAP 结果”
使用 Web UI 调度扫描

图 6.1. 使用 Web UI 调度扫描

过程 6.2. 使用 API 扫描

使用 API 执行审核扫描:
  1. 可使用前台 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。
  2. 在任意系统的命令行界面中运行脚本。该系统需要安装正确的 python 和库。
  3. 运行 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 扫描结果的视频程序。它显示两个扫描的元数据以及结果列表。
审核 ⇒ XCCDF Diff

图 6.3. 审核 ⇒ XCCDF Diff

您可以直接访问类似扫描的 diff,方法是点击 「列出扫描」页,或者您也可以通过指定其 id,使用 diff 对比随机扫描。
只在进行对比的扫描中的一个中显示的项目被视为“验证中”。验证中的项目总是被突出为米黄色。有三个可能的对比形式:「全面对比」,即显示所有扫描项目;「只对比更改的项目」,即显示有变动的项目;和「只对比不变的项目」,即显示没有更改或者类似的项目。
「审核」「高级搜索」
搜索页面允许您根据具体标准搜索您的扫描,其中包括:
  • 规则结果
  • 目标机器
  • 扫描时间范围
搜索返回结果列表或者结果中的扫描列表。

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 已修复
总计 检查总数
每一行前面的图标表示与上衣个类似扫描的对比结果。这些图标显示新的扫描可以是:
  • "已检查 RHN 列表" 图标 — 与上一个扫描相比没有不同
  • "RHN 列表警告" 图标 — 肯定有不同
  • "RHN 列表错误" 图标 — 有很大不同,可能是比上一个扫描失败的项目多,或者通过的项目少
  • "RHN 列表记录" 图标 — 没有找到可进行对比的扫描,因此无法进行对比。
「系统」「系统详情」「审核」「扫描详情」
本页包含单次扫描的结果。可将其分为两部分:
  • XCCDF 扫描详情
    扫描详情为您提供:
    • 文件路径的常规信息
    • 使用的命令行参数
    • 调度此扫描的人
    • 基准识别符和版本是什么
    • 侧写识别符
    • 侧写标题
    • 开始和完成时间
    • 所有错误输出结果。
  • XCCDF 规则结果
    规则结果为您提供 XCCDF 规则识别符完整列表,用它们可识别每个规则结果的标签和结果。可根据具体结果过滤这个列表。
「系统」「系统详情」「审核」「调度」
您可以使用这个子标签调度新扫描。除提供系统中要扫描的 XCCDF 文档路径外还可提供附加命令行参数。根据 "Schedule no sooner than" 参数,该扫描将在系统下次调度登录 Satellite 服务器时执行。有关如何使用 Satellite 网页界面进行调度的详情请参考本章中 过程 6.1, “使用网页界面扫描” 一节。