Ste*_*ski 22 security redhat centos yum 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 中添加的。
截至 2011 年底, Scientific Linux 6 不支持 yum-plugin-security。它确实附带/etc/cron.daily/yum-autoupdate
,它每天更新 RPM。但是,我认为这不仅仅处理安全更新。
CentOS 不支持yum-plugin-security
.
我监控 CentOS 和 Scientific Linux 邮件列表的更新,但这很乏味,我想要一些可以自动化的东西。
对于我们这些维护 CentOS 和 SL 系统的人来说,有没有什么工具可以:
yum update-minimal --security
在命令行上?我已经考虑使用yum-plugin-changelog
打印出每个包的变更日志,然后解析某些字符串的输出。是否有任何工具可以做到这一点?
如果你绝对想使用yum security plugin
,有一种方法可以做到这一点,虽然有点复杂。但是一旦你设置好了,这一切都是自动化的。
唯一的要求是您至少需要订阅一个 RHN。这是一个很好的投资 IMO,但让我们坚持这一点。
yum security
.modifyrepo
命令如图所示这里,注入updateinfo.xml
成repomd.xml
。在执行此操作之前,您必须修改 perl 脚本以将 xml 中的 Rpm MD5 总和从 RHN 更改为 Centos 总和。并且您必须确定 CentOS 存储库是否确实包含 中提到的所有 Rpm updateinfo.xml
,因为它们有时会落后于 RHN。但这很好,您可以忽略 CentOS 没有赶上的更新,因为除了从 SRPM 构建它们之外,您几乎无能为力。使用选项 2,您可以yum security
在所有客户端上安装插件,它会起作用。
编辑:这也适用于 Redhat RHEL 5 和 6 机器。并且比使用像 Spacewalk 或 Pulp 这样的重量级解决方案更简单。
Scientific Linux 现在可以从命令行列出安全更新。此外,我可以更新系统以仅应用安全更新,这比默认情况下更好(“只需更新所有内容!包括您不关心的错误修正以及引入回归的错误修正。”
我已经在 Scientific Linux 6.1 和 6.4 上对此进行了测试。我不确定这是什么时候正式宣布的,但当我发现时我会发布更多。
这里有些例子。
列出安全更新的摘要:
[root@node1 ~]# yum updateinfo
Loaded plugins: changelog, downloadonly, fastestmirror, priorities, security
Loading mirror speeds from cached hostfile
Updates Information Summary: available
4 Security notice(s)
1 important Security notice(s)
3 moderate Security notice(s)
2 Bugfix notice(s)
updateinfo summary done
root@node1 ~]# yum list-sec
Loaded plugins: changelog, downloadonly, fastestmirror, priorities, security
Loading mirror speeds from cached hostfile
SLSA-2013:1459-1 moderate/Sec. gnupg2-2.0.14-6.el6_4.x86_64
SLSA-2013:1436-1 moderate/Sec. kernel-2.6.32-358.23.2.el6.x86_64
SLSA-2013:1436-1 moderate/Sec. kernel-devel-2.6.32-358.23.2.el6.x86_64
SLSA-2013:1436-1 moderate/Sec. kernel-firmware-2.6.32-358.23.2.el6.noarch
SLSA-2013:1436-1 moderate/Sec. kernel-headers-2.6.32-358.23.2.el6.x86_64
SLSA-2013:1457-1 moderate/Sec. libgcrypt-1.4.5-11.el6_4.x86_64
SLSA-2013:1270-1 important/Sec. polkit-0.96-5.el6_4.x86_64
SLBA-2013:1486-1 bugfix selinux-policy-3.7.19-195.el6_4.13.noarch
SLBA-2013:1491-1 bugfix selinux-policy-3.7.19-195.el6_4.18.noarch
SLBA-2013:1486-1 bugfix selinux-policy-targeted-3.7.19-195.el6_4.13.noarch
SLBA-2013:1491-1 bugfix selinux-policy-targeted-3.7.19-195.el6_4.18.noarch
updateinfo list done
Run Code Online (Sandbox Code Playgroud)
按 CVE 列出:
[root@node2 ~]# yum list-sec cves
Loaded plugins: changelog, downloadonly, fastestmirror, priorities, security
Loading mirror speeds from cached hostfile
* epel: mirrors.kernel.org
* sl6x: ftp.scientificlinux.org
* sl6x-security: ftp.scientificlinux.org
7404 packages excluded due to repository priority protections
CVE-2012-6085 moderate/Sec. gnupg2-2.0.14-6.el6_4.x86_64
CVE-2013-4351 moderate/Sec. gnupg2-2.0.14-6.el6_4.x86_64
CVE-2013-4402 moderate/Sec. gnupg2-2.0.14-6.el6_4.x86_64
CVE-2013-4162 moderate/Sec. kernel-2.6.32-358.23.2.el6.x86_64
CVE-2013-4299 moderate/Sec. kernel-2.6.32-358.23.2.el6.x86_64
CVE-2013-4162 moderate/Sec. kernel-firmware-2.6.32-358.23.2.el6.noarch
CVE-2013-4299 moderate/Sec. kernel-firmware-2.6.32-358.23.2.el6.noarch
CVE-2013-4242 moderate/Sec. libgcrypt-1.4.5-11.el6_4.x86_64
updateinfo list done
Run Code Online (Sandbox Code Playgroud)
然后我可以应用所需的最小更改集
[root@node1 ~]# yum update-minimal --security
Run Code Online (Sandbox Code Playgroud)
或者,只需修补所有内容:
[root@node1 ~]# yum --quiet --security check-update
gnutls.x86_64 2.8.5-14.el6_5 sl-security
libtasn1.x86_64 2.3-6.el6_5 sl-security
[root@node1 ~]# yum --quiet --security update
=================================================================================================================
Package Arch Version Repository Size
=================================================================================================================
Updating:
gnutls x86_64 2.8.5-14.el6_5 sl-security 345 k
libtasn1 x86_64 2.3-6.el6_5 sl-security 237 k
Transaction Summary
=================================================================================================================
Upgrade 2 Package(s)
Is this ok [y/N]: Y
[root@node1 ~]#
Run Code Online (Sandbox Code Playgroud)
如果我在 CentOS6 机器上尝试这个相同的命令,我不会得到任何结果。我知道一些“可用的 137 个软件包”包含安全修复,因为我昨天通过 CentOS 邮件列表收到了勘误通知。
[root@node1 ~]# yum --security check-update
Loaded plugins: downloadonly, fastestmirror, security
Loading mirror speeds from cached hostfile
* base: mirrors.usc.edu
* epel: mirrors.kernel.org
* extras: mirror.web-ster.com
* updates: mirrors.kernel.org
Limiting package lists to security relevant ones
No packages needed for security; 137 packages available
[root@node1 ~]#
Run Code Online (Sandbox Code Playgroud)
小智 5
我有同样的问题。我尝试创建了一些 Python 代码,以便将上面提到的 steve-meier Errata 站点中的 Yum 更新和建议汇总在一起(我根据已安装的软件包对其进行过滤)。
如果有帮助,这里是来源:https : //github.com/wied03/centos-package-cron