多个系统上的补丁管理

多个系统上的补丁管理

我负责审核一个重要的 Unix 服务器群的安全配置。到目前为止,我想到了一种评估基本配置的方法,但无法评估已安装的更新。

  • 问题的关键在于,我无法信任这些机器上的包管理工具。事实上,其中一些工具很长时间没有与存储库同步(例如,我无法在 Redhat 上执行“yum check-updates”)。其中一些服务器甚至没有连接到互联网并使用公司存储库。

  • 另一个问题是我有多个目标系统:AIX,Debian,Centos/Redhat等......所以版本可能不同(AIX)并且可用的工具也会不同。

  • 最后但并非最不重要的一点是,我无法在目标系统上安装任何东西。因此,我需要使用脚本来检索信息,然后:直接处理信息或保存信息以便稍后在服务器上处理信息(服务器可能运行与检索信息的发行版不同的发行版)。

我能想到的最好的想法是:

  • 要么检索机器上已安装软件包的列表(例如,在 debian 上为 dpkg -l),然后在专用服务器上处理它(直接解析 debian 存储库的“Packages”文件)。但是,对于 AIX 和 Redhat 来说,问题仍然是一样的……

  • 或者使用 Nessus 的脚本来评估已安装软件包的漏洞,但我发现这有点肮脏。

有人知道任何更好/更有效的方法来做到这一点吗?

附言:我已经花时间查看了一些类似问题的答案。不幸的是厨师、木偶、……不符合我必须满足的要求。

编辑:长话短说。我需要 Unix 系统上缺少的更新列表,就像 Windows 上的 MBSA 一样。我没有权限在此系统上安装任何东西,因为它不属于我。我只有脚本语言。

谢谢。

答案1

通常会有某种代理缓存服务充当上游存储库和目标机器之间的中介。它有助于节省带宽并加快部署速度,在 RHEL/CentOS 世界中,spacewalk在 Debian 及其衍生产品中,debmirror在 AIX 世界中,可能是 NIM 服务器。

鉴于没有适用于 AIX 的 ruby​​(尽管确实存在一些端口),适合您环境的配置管理将是cfengine。如果这看起来有点过分,您还可以尝试ansible,它只需要python。甚至还有python适用于 AIX 的 。

不同平台的版本、服务名称、软件包名称等也各不相同,这也很常见,甚至在意料之中。您需要处理数据和代码的分离。如果成熟的配置管理系统不能满足您的要求,我非常怀疑一堆自制脚本是否能满足您的要求。

第三个要求:“我无法在目标系统上安装任何东西......”根本不清楚,而且似乎与您使用私有存储库的事实相冲突。

最后但同样重要的一点是,管理软件包仅占您为保护和审核系统所需执行的任务的 1%。

相关内容