在CentOS或Scientific Linux上自动检查安全更新?

我们有运行基于RedHat的发行版的机器,如CentOS或Scientific Linux.如果已安装的软件包存在任何已知漏洞,我们希望系统自动通知我们. FreeBSD使用 ports-mgmt/portaudit端口执行此操作.

RedHat提供yum-plugin-security,可以通过Bugzilla ID,CVE ID或咨询ID检查漏洞.此外,Fedora最近开始支持yum-plugin-security.我相信这是在Fedora 16中添加的.

科学Linux 6没有support yum-plugin-security as of late 2011.它附带/etc/cron.daily/yum-autoupdate,它每天更新RPM.但是,我不认为这只会处理安全更新.

CentOS做not support yum-plugin-security.

我监控CentOS和Scientific Linux邮件列表以获取更新,但这很乏味,我想要一些可以自动化的东西.

对于我们这些维护CentOS和SL系统的人来说,是否有任何工具可以:

>自动(Progamatically,通过cron)通知我们当前RPM是否存在已知漏洞.
>(可选)自动安装解决安全漏洞所需的最低升级,这可能是命令行上的yum update-minimal –security

我考虑过使用yum-plugin-changelog来打印每个包的更改日志,然后解析某些字符串的输出.有没有工具可以做到这一点?

如果你绝对想要使用yum安全插件,有一种方法可以做到这一点,虽然有点精心设计.但是一旦你完成设置,它就全部自动化了.

唯一的要求是您需要至少有一个订阅RHN.这是一个很好的投资IMO,但让我们坚持到底.

>订阅后,您可以使用mreporeposync来设置
房子百胜回购,反映了CentOS回购. (或者你可以使用
rsync的).
>然后使用附加到此mailing list post的脚本定期连接到您的RHN订阅,以下载安全包信息.现在你有两个选择.

>从生成的“updateinfo.xml”文件中仅提取名称.并使用该信息“搜索”您的服务器以获取需要安全性或其他更新的Rpms,使用puppet或cfengine或ssh-in-for-for循环.这更简单,为您提供所需的一切,但您无法使用yum安全性.
>另一个选项是使用如here所示的modifyrepo命令将updateinfo.xml注入repomd.xml.在执行此操作之前,您必须修改perl脚本以更改xml内的Rpm MD5总和,从RHN到Centos总和.而且你必须确保CentOS repos是否真的拥有updateinfo.xml中提到的所有Rpms,因为它们有时会落后于RHN.但是没关系,你可以忽略CentOS没有赶上的更新,因为除了从SRPM构建它们之外你几乎无能为力.

使用选项2,您可以在所有客户端上安装yum安全性插件,它将起作用.

编辑:这也适用于Redhat RHEL 5和6机器.并且比使用像Spacewalk或Pulp这样的重量级解决方案更简单.

相关文章

Centos下搭建性能监控Spotlight
CentOS 6.3下Strongswan搭建IPSec VPN
在CentOS6.5上安装Skype与QQ
阿里云基于centos6.5主机VPN配置
CentOS 6.3下配置multipah
CentOS安装、配置APR和tomcat-native