- 现在的情况
我有一个客户,其拥有多台(200 台)CentOS 5.x 服务器,部署在各种 Web、邮件、数据库和文件服务器角色中,并且这些服务器的管理程度或多或少不同。
所有盒子都将 EPEL 存储库作为其基本安装的一部分,并且所有盒子都有用于“yum -y update”的 cron 作业频繁运行,并在内核可用时重新启动。(因此它们不会处于糟糕的状态)
对于网络、本地和外部漏洞 - 我们使用第三方公司,他们使用 WebInspect 监控面向外部的端口和易受攻击的服务,并向我的老板生成各种定期报告。(因此现在我不会查看 Nessus、OpenVAS 或基于网络的扫描工具,或者任何漏洞工具)
- 镇上新来的大佬——是前安全合规人员
新规则是,如果不是定期进行测试,然后不是遵守规定,即使这是遵守规定等
(说实话,我很喜欢这条规则)
因此现在我正在寻找一种方法来定期为所有机箱生成服务器符合某些合规标准的报告。
我们有一个包含 117 项的配置设置列表,这是各种合规性建议的较弱形式,因此我相信大多数合规性基准(如 CIS、EAL3 或 STIG 级别)就足够了。
我们在 CentOS 实例上安装了 chef,因此我可以推出基于 yum 的软件包(我可以从源 tarball 安装,但在这些实例上,这会让我哭泣)
- 想拥有...
我希望有一个可以在每个 CentOS 机器上本地运行的工具,并生成有关配置合规性的合理全面的 html 报告(并且一个巨大的好处是针对严重问题发送电子邮件警报,但如果需要,我可以编写脚本)
理想情况下,我可以生成一份每周报告,表明符合一个或多个公认的 Linux 服务器基准。
我很乐意为该清单付费订阅,但我怀疑我看到的那种每个实例 100 美元的许可证会超出我的预算。
有一些进展...
我看到 SCAP 和 OVAL 在 CentOS-base 或 EPEL 中有工具,例如
- OpenSCAP 实用程序
- ovaldi - 椭圆形参考解释器
NIST 为 RHEL 桌面提供了 SCAP 内容,有点接近;
http://usgcb.nist.gov/usgcb/rhel_content.html
但我真的想说,这是一个已知的标准,这是报告......
一些新的进展...
fedora 存储库中有一个名为 sectool 的工具,但由于缺少 python-slip 模块,我无法让它在 CentOS 上运行。
看起来最后一次提交是在几年前,作者继续从事 openscap-utils 项目,还依赖于 PolicyKit 和一些 CentOS 5.x 盒子上不可用的其他东西。
答案1
我没有用过 chef,但用过不少 cfengine。因此,虽然我没有针对您的环境的具体建议,但我可以大致告诉您我是如何处理的。我希望您可以使用 chef、puppet 或其他工具做类似的事情。
首先,我想说的是,在我看来,如果你使用 chef(或任何其他配置管理包)仅仅是为了推送包,那么你就会错过很多可以让你的生活更轻松的功能。这个问题的答案要深得多。
在我管理的环境中,我已经设置了 cfengine,不仅可以安装/删除软件包,还可以根据需要在所有服务器、一个或多个类似服务器的子组或特定主机上维护特定(通常与安全相关)的设置。
这对我来说有几件事 -
首先,如果我启动了一台新服务器,那么一旦将其添加到配置管理中,所有通用和特定于组的设置都会自动应用。这意味着我不必担心基本锁定 - 它会自动为我完成 - 我可以专注于锁定该服务器独有的应用程序。它就像一个自检清单,但更好。
其次,我可以查看日志并查看每台主机上的配置运行结果,包括哪些设置被验证为正确,哪些设置不正确并已修复。这样我就可以随时了解正在发生的事情,但更重要的是,为了确保合规性,我可以解析这些信息并生成报告,证明服务器不仅按预期配置,而且每次配置运行都验证为正确。
这还具有一个副作用,即如果您的配置由于某种原因而意外更改,无论是粗心的同事还是破坏了您的系统的攻击者,您都会知道。
因此,虽然它可能不是您短期内寻求的答案,但也许它会给您提供一些可纳入长期计划的想法。