自动“yum 更新”以确保服务器安全 - 优点和缺点?

自动“yum 更新”以确保服务器安全 - 优点和缺点?

我正在考虑在一些没有定期维护的机器上添加一个定期运行的 cronjob yum -qy update。目标是让机器保持最新的安全补丁,否则这些补丁会应用得太晚。我只使用 CentOS 基础存储库。

问题:

  • 根据您的经验,这种方法有多“安全”?我应该预料到偶尔会出现更新失败的情况吗?这种方法大概多久需要重启一次?
  • 这种方法有哪些优点/缺点或其他缺陷?
  • 您如何使用自动化来保持机器的最新状态?

答案1

这取决于

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

您是否应该预料到偶尔会出现更新失败的情况... 是的... 就像您应该预料到偶尔会出现硬盘故障或 CPU 故障一样。备份永远不会嫌多。:-)

自动更新的优点是,与手动更新相比,您可以更快地获得修补(因此更安全)。

手动补丁似乎总是被推迟或被视为“低优先级”,所以如果您要进入手动模式,请在日历上安排时间来执行此操作。

我已经配置了许多机器来自动执行 yum 更新(通过 cron 作业),很少出现问题。事实上,我不记得曾经遇到过 BASE 存储库问题。我能想到的每个问题(根据我的经验,我脑海中想到的)都是第三方的情况。

话虽如此……我确实有几台机器需要我手动更新。对于数据库服务器和其他极其关键的系统,我喜欢采用“亲自动手”的方式。

我个人的想法是这样的......我会考虑“如果”的情况,然后试着想想重建或从备份中恢复需要多长时间,以及会丢失什么(如果有的话)。

如果有多个 Web 服务器...或者服务器的内容没有太大变化...我会继续进行自动更新,因为重建/恢复所需的时间很少。

对于关键数据库服务器等,我每周安排一次时间来检查它们并手动修补它们......因为重建/恢复所需的时间更耗时。

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

希望这可以帮助。

答案2

专业版:您的服务器始终处于最新的补丁级别,通常甚至可以抵御零日漏洞。

反对意见:您的服务器上运行的任何使用后续版本中删除的功能的代码、任何更改语法的配置文件以及任何阻止执行可利用代码的新安全“功能”都可能导致该服务器上运行的程序中断,而您却对此毫不知情,直到有人打电话告诉您问题。

最佳实践:当服务器需要更新时,让服务器向您发送电子邮件。备份或了解如何回滚更新。

答案3

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

我的设置是让 yum 每天自动更新系统一次,然后让 yum 在安装或升级软件包后立即向我发送邮件。当 yum 发生冲突并需要手动干预时(每 4 小时),我也会收到邮件。

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

除此之外,我没有遇到任何问题。

答案4

我想,只要你有自动备份,就不会有太多担心,只要你可以忍受服务器停机时间。

我还没有尝试过;我个人不想尝试,因为上游修复可能会破坏某些东西或引入不寻常的模糊问题。如果这是一台很少受到关注的服务器,情况会更糟,所以如果出现问题,您可能不知道。

如果您可以忍受有问题的服务器在发生故障时停机一段时间,并且您有一个将系统恢复到之前状态的响应计划,以及一个通过日志或电子邮件向您发送更新的系统,报告何时更新以及更新了什么(这样您就知道它没有处于卡住状态或等待需要干预的回复),那么您可以尝试一下。如果是关键服务器或重要的东西……我不想冒这个险。

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

相关内容