我正在尝试为 Tomcat 9 STIG 创建一个新的存储库以进行工作。我找到了一个相同的公共存储库并尝试镜像它:https://github.com/mitre/apache-tomcat-9.x-stig-baseline/tree/main
我遇到的麻烦是,我不确定如何将从 DoD 网站 (https://public.cyber.mil/stigs/downloads/) 下载的 STIG 转换为单个漏洞文件。我尝试创建一个脚本来创建各个文件,但运气不佳。
这里的问题是,如何从头开始创建 STIG 存储库?或者可能是一个显示如何转换文件的 github 存储库?我已经搜索了一段时间但找不到任何东西。
已更新
我最终能够使用以下方法生成控制文件:
inspect_delta update profile -p <path to repo> -s <path to stig.xml>
具有挑战性的部分是 xml 文件包含命令不喜欢的字符,我必须手动编辑该文件。
我的下一个问题是,每次检查时都需要手动编辑控制目录下的所有文件吗?
您当前的问题是
xml.xpath('//Group')
返回空的 Array
。
这就是为什么没有错误但也没有生成文件的原因。
发生这种情况的原因是因为元素是命名空间的。
您可以使用以下方法解决此问题
xml.xpath('//xmlns:Group').each
或者您可以完全删除命名空间
xml.remove_namespaces!
请注意,这只能解决所提出的问题。既然您的
each
块实际执行,您将必须解决其他问题。