自动化的“ yum更新”以确保服务器安全-利弊?


8

我正在考虑yum -qy update在一些没有定期维护的机器上添加定期运行的cronjob 。目的是使机器保持最新的安全补丁,否则将无法及时应用。我仅使用CentOS基本存储库。

问题:

  • 根据您的经验-这种方法有多“安全”?我是否应该偶尔会遇到失败的更新?这种方法大约需要多久重启一次?
  • 优点/缺点或其他陷阱?
  • 您如何使用自动化使机器保持最新状态?

2
将yum -qy替换为:/ usr / bin / yum -R 120 -e 0 -d 0 -y更新yum AND / usr / bin / yum -R 10 -e 0 -d 0 -y更新
Adam Benayoun

亚当:谢谢你的建议。您能解释一下为什么更好吗?
knorv

1
首先更新yum,然后更新软件包,-R表示它提供了最长的命令等待时间,这意味着如果我正确的话,它不会超时。-e和-d只是错误/调试级别
Adam Benayoun

我不确定“ -R [以分钟为单位的时间]”-“设置yum在执行命令之前将等待的最大时间-它随时间随机化”。似乎yum将在发出命令之前等待rand()*分钟?这样好吗 :-)
knorv

Answers:


6

这取决于

根据我使用CentOS的经验,它非常安全,因为您仅使用CentOS基本存储库。

您是否应该偶尔希望更新失败...是的...与您偶尔会希望硬盘驱动器或CPU出现故障的级别相同。您永远不会有太多的备份。:-)

自动更新的好处是,与手动更新相比,修补速度更快(因此更安全)。

手动补丁似乎总是被推迟或被视为对许多其他事情的“低优先级”,因此,如果您要进入手动模式,请在日历上安排时间。

我已经配置了许多机器来执行自动yum udpates(通过cron作业),很少遇到问题。实际上,我不记得BASE存储库有问题。我能想到的每个问题(以我的经验为中心)一直都是第三者的情况。

话虽这么说...我确实有几台机器要手动进行更新。像数据库服务器和其他极端关键系统之类的东西,我喜欢采用“动手”方法。

我个人认为的方式是这样的...我想到“假设情况”,然后尝试考虑从备份重建或还原将花费多长时间以及丢失(如果有的话)什么。

如果有多个Web服务器...或内容的服务器变化不大...我继续进行自动更新,因为重建/还原的时间很少。

对于关键的数据库服务器等,我每周安排一次时间来查看它们并手动对其进行修补...因为重建/还原所花费的时间比较耗时。

根据网络中拥有的服务器以及备份/恢复计划的实施方式,您的决定可能会有所不同。

希望这可以帮助。


6

专业版:您的服务器始终处于最新的补丁程序级别,即使是针对0天的漏洞利用,通常也是如此。

缺点:服务器上运行的任何使用了更高版本中删除的功能的代码,任何更改语法的配置文件以及任何阻止执行可利用代码的新安全性“功能”都可能导致该服务器上运行的内容在没有您的情况下中断知道这一点,直到有人打电话给您。

最佳做法:让服务器在需要更新时向您发送电子邮件。备份或知道如何回滚更新。


+1-我强烈建议您加入centos邮件列表,它们在将补丁和优先级的通知推送到存储库之前做得很好。
亚当·贝纳永

3
根据定义,没有针对0天攻击的补丁程序。0天漏洞利用是尚无补丁的漏洞。
MarkR

我认为0天是被发现/利用/宣布的日期,而Redhat通常会在几个小时内修补严重漏洞-碰巧的是,仍在发现之日。
2009年

2

除了大多数人在这里所说的之外,我强烈建议您注册centos邮件列表,他们总是在将补丁和优先级推送到存储库之前就发布有关补丁和优先级的电子邮件。事先了解需要升级哪些软件包很有用。

我的设置允许yum每天自动更新系统一次,我让yum向我发送一封邮件,其中包含安装或升级后的软件包。当yum发生冲突并且需要人工干预(每4个小时)时,我还会收到一封邮件。

直到现在,一切都运行良好(至今已有4年多了),我唯一一次措手不及的是yum升级了常规内核(我对服务器进行了虚拟化)并更改了grub并将常规内核推为默认内核,即2周后来,在维护期间,我的系统重新启动,所有虚拟服务器都消失了几分钟,直到我不得不手动干预。

除此之外,我真的没有任何问题。


1

只要您没有任何自定义程序包,并且仅使用CentOS的基本存储库,它应该是相当安全的。

同时,更好的方式来实现这一目标是使用百胜updatesddo_update = yes集。


1
yum-updatesd服务对于企业环境而言还不够成熟,并且该服务可能会引入不必要的开销。我会使用:/ usr / bin / yum -R 120 -e 0 -d 0 -y更新yum AND / usr / bin / yum -R 10 -e 0 -d 0 -y更新
Adam Benayoun

0

我想,只要您具有自动备份功能,只要您可以忍受服务器的停机,就不必担心。

我没有尝试过 我个人不想这样做,因为上游修复存在很大的破坏某项风险或引入不常见的晦涩问题的风险。如果这是一台很少引起注意的服务器,那就更糟了,因此,如果出现问题,您可能不知道它。

如果您可以在发生故障时/在一段时间内使有问题的服务器宕机,并且您有一个响应计划,可以将系统还原到以前的状态,并且可以通过日志或电子邮件向您发送更新报告更新的时间和内容(因此您知道它没有处于卡滞状态或等待对需要干预的内容的答复),然后可以尝试一下。如果它是关键服务器或重要的东西...我不想冒险。

我的服务器不是你的:-)

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.