问题
我正在使用自定义 kickstart 文件创建 RHEL 7.3 安装映像。
我可以将它添加到我的 kickstart 文件中以在安装期间启用 SCAP 配置:
%addon org_fedora_oscap
content-type = scap-security-guide
profile = stig-rhel7-server-gui-upstream
%end
但是,当我这样做时,我最终nousb
会在我的内核 cmdline 中禁用所有 USB 接口,包括键盘和鼠标。
(我之前对 RHEL 7.2 映像做过同样的事情,它“正常工作”,所以我知道基本方法是合理的。但这是使用较旧且显然不太完整的安全配置文件。)
现在,我完全明白为什么了:有一条规则专门设置它。我需要“定制”规则,以便 SCAP 工具不会禁用我所有的 USB 设备。
到目前为止我发现了什么
根据Red Hat 的 kickstart 文档和OSCAP Anaconda 站点,我可以通过提供我自己的定制文件来暂停这条规则:
剪裁路径 - 应该使用的剪裁文件的路径,作为存档中的相对路径给出。
所以,我运行 scap-workbench,禁用受影响的规则,并将我的更改保存为一个剪裁.xml 文件
然后,我可以在 kickstart 配置中添加一行,如下所示:
%addon org_fedora_oscap
content-type = scap-security-guide
profile = stig-rhel7-server-gui-upstream
tailoring-path = ssg-rhel7-ds-tailoring.xml
%end
基于反复试验,我还得出结论,tailoring.xml 文件必须放在 /root/openscap_data 中(绝对路径绝对不起作用——在安装过程中你会得到一个显着的显示停止调试提示)。
什么我想不通
nousb
即使在生成定制文件之后,当我进行全新安装时,我仍然会得到一个内核。
我真的将剪裁.xml 放在正确的位置吗?
是否有详细的日志可以用来诊断插件在做什么?(我在 /var/log/anaconda/journal.log 中只找到了非常基本的信息。)
如果定制方法由于某种原因而失败,那么在不完全放弃 STIG 自动配置的情况下,为解决此问题应用解决方法的干净且一致的方法是什么?(例如,我可以在 OSCAP 破坏内核参数后使用另一个附加模块来清理它们吗?)
根据这篇 OpenShift 博客文章,您需要安装一些软件包才能将 openSCAP 日志记录到 syslog:
就解决问题本身而言,您提到的检查基本上执行以下操作:
nousb
因此,您可以通过从默认 grub 选项中删除来恢复该特定规则的操作。但是,我似乎找不到任何关于您的剪裁为什么不起作用的信息。 然而,这篇文章似乎确实向您报告了一个类似的问题,并且这个 RH 解决方案- 如果您有权访问 - 可能会有用(我没有查看解决方案本身的帐户,但它的标题是“支持 OpenSCAP 在卫星 6")。
OpenSCAP 的官方定制指南确实建议您确保保存您的 Work Bench 定制:
还有一件需要注意的小事(来自http://static.open-scap.org/scap-workbench-1.1/#_load_a_ready_made_customization_xccdf_tailoring_file_optional):
如果添加 a
tailoring-path
,则可能需要更新该profile
行定义
tailoring-path
不会自动注入任何新规则,它只是将另一个源添加到搜索层次结构中。要实际使用它,您需要按名称调用“定制”配置文件,而不是原始配置文件,例如:定制的配置文件名称是 Scap Workbench 在您保存它时指导您创建的名称。“长格式”是可以接受的;您可以使用文本编辑器打开定制文件并直接复制它。