每晚运行apt-get更新安全吗?


16

apt-get update -y在生产服务器上通过cron 运行是否安全?


2
您是否在考虑apt-get upgrade -y而不是update?有什么-y标志update吗?
KajMagnus

Answers:


17

这可能是安全的,或更准确地说,风险程度可能在您的舒适范围内。可接受的风险水平将取决于几个因素。

您是否有一个好的备份系统,如果出现故障,可以快速还原?

您是否正在将服务器注销转发到远程系统,以使如果机器崩溃了,您仍然会知道发生了什么?

您是否愿意接受某些内容可能损坏的可能性,并且如果某些内容失败,则可能必须在系统上进行快速还原/还原?

您是自己手动编译任何东西,还是绝对安装在系统上的所有东西都来自官方存储库?如果您是在本地安装的,则上游更改可能会破坏您本地维护/安装的软件。

这个系统的作用是什么?如果它死了(例如辅助DNS服务器)将几乎不会丢失,或者它是基础结构的核心部分(例如LDAP服务器或主文件服务器)。

您是否要进行设置,因为没有人负责服务器,所以没有时间维护安全补丁?被未修补的漏洞损害的潜在风险可能比不正确更新的潜在风险高。

如果您确实确实想执行此操作,建议您使用已使用的工具之一,例如cron-apt。他们有一些逻辑,可以做到盲目地安全apt-get -y update


1
您在考虑apt-get upgrade,不是apt-get update吧?
KajMagnus

恩,他是。使用apt-get update,很难破坏任何东西。
Olli 2014年

1
这是不安全的。
marcinn

8

是的,只要您谈论的是update而不是upgrade。如果您把这一行放在正确的位置,Apt甚至会为您完成:

APT::Periodic::Update-Package-Lists "1";

在下面的文件中 /etc/apt/apt.conf.d/


5

通常它是安全的,但出于简单的原因,我不建议您这样做:

  • 您失去了已知状态。

在生产环境中,您需要确切地知道上面有什么,或者应该里面有什么,并能够轻松地再现该状态。

任何变更都应通过变更管理流程来完成,在该流程中,公司完全了解他们要进入的内容,以便他们以后可以分析出了什么问题等等。

每晚更新使这种分析不可能或更难进行。


3

我可能会在稳定的或Ubuntu上执行此操作,但不能在不稳定的分支甚至测试分支上执行此操作。

不过,当我戴上sysadmin时,我相信我应该手动应用所有更新,以便维护服务器之间的一致性-并且,以便在某天服务中断时,我知道我上次更新的时间服务。我可能不会检查更新是否自动进行。


2

我们在大多数Debian系统上使用稳定的时间表并安排在星期二晚上进行apt-get升级(与Microsoft的“补丁星期二”更新同时进行)。效果很好。我们还将所有升级事件记录到Nagios,因此我们可以查看任何服务器上次执行升级的历史记录。


1

当您指定这是“生产”服务器时,是否意味着也有开发和测试服务器?如果是这样,应先在这些系统上测试这些修补程序,然后再将其安装在生产环境中。

我不会的 确实会发生错误的补丁程序,并且我不希望系统在深夜或其他情况下无法使用时发生故障。当管理员可以监视更新时,应在维护窗口中推送它们。


1

我记得在上一份工作中曾这样做过;我最终在生产服务器上遇到了问题,因为更新自动重写了配置文件。

因此,我建议您监督更新。


apt-get升级可能会由于自动重启服务而崩溃。显然,这是不安全的。您的答案应该被接受。
marcinn's

1

如果替代方法是不定期地应用更新,则您不会主动遵循安全更新,而您正在运行稳定的Lenny,则自动更新可能会提高计算机的安全性,因为您可以更快地更新已知的安全漏洞。


0

Ubuntu Server有一个软件包,可用于自动更新安全更新。它还允许您将某些应用列入黑名单。它还讨论了apticron,当您的服务器有可用更新时,它将发送电子邮件给您。

您可以在接下来的页面中找到更多有关它的信息,具体取决于运行的Ubuntu Server版本。

编辑:假设您正在运行Ubuntu。尽管我敢打赌,Debian上提供了相同的软件包和解决方案。


0

看看cron-apt。默认情况下,它仅下载列表和软件包文件,但是您可以对其进行调整以发送邮件,甚至升级系统。


0

这取决于您的基础架构。如果我有一台机器,那么通常我会查看更新,并查看我需要或可以避免的事情。如果使用的是群集,则有时会在一台计算机上推出更改,并查看更改的进行情况,然后在一切正常的情况下将其推广到另一台计算机上。

我一直密切关注数据库升级。

如果您的文件系统支持快照功能,那么对系统进行快照,应用更新以及在发生严重错误时可以回滚更改的选项非常有用。

尝试找出为什么要升级软件包?它是错误修复吗?安全修复?是本地命令还是远程网络服务?该软件是否已通过新更新进行了测试?

内核更新应格外谨慎。尝试找出为什么要升级内核?您真的需要这些更改吗?会影响您的申请吗?我是否需要为此申请安全性?

每10个软件更新中有9个更新会顺利进行,但是在极少数情况下,它会使您像一堆垃圾一样留在机器上,制定适当的回滚或系统恢复计划。

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.