Miko Asked: 2010-04-02 15:24:03 +0800 CST2010-04-02 15:24:03 +0800 CST 2010-04-02 15:24:03 +0800 CST 每晚运行 apt-get update 是否安全? 772 apt-get update -y在生产服务器上运行 cron 是否安全? debian cron apt 11 个回答 Voted Best Answer Zoredache 2010-04-02T16:20:02+08:002010-04-02T16:20:02+08:00 它可能是安全的,或者更准确地说,风险水平可能在您的舒适范围内。可接受的风险水平取决于几个因素。 您是否有一个良好的备份系统,可以让您在出现故障时快速恢复? 您是否将服务器注销转发到远程系统,以便如果盒子倒塌,您仍然会知道发生了什么? 您是否愿意接受某些事情可能会发生故障的可能性,并且如果某些事情发生故障,您可能必须在系统上进行快速恢复/还原? 您是否自己手动编译过任何东西,或者您系统上安装的所有东西都绝对来自官方存储库?如果您在本地安装了某些东西,则上游更改可能会破坏您在本地维护/安装的软件。 这个系统的作用是什么?如果它死了(例如辅助 DNS 服务器),它是几乎不会错过的东西,还是您的基础设施的核心部分(例如 LDAP 服务器或主文件服务器)。 您是否要设置此设置,因为没有人负责服务器有时间维护安全补丁?被未修补漏洞破坏的潜在风险可能高于错误更新的可能性。 如果你真的认为你想这样做,我建议你使用已经为此目的的工具之一,比如cron-apt. 他们有一些逻辑比盲人更安全apt-get -y update。 ptman 2010-04-07T05:39:52+08:002010-04-07T05:39:52+08:00 是的,只要您在谈论update而不是upgrade。如果您输入以下代码,Apt 甚至会为您完成: APT::Periodic::Update-Package-Lists "1"; 在一个文件中/etc/apt/apt.conf.d/ Marseille07 2010-04-07T10:05:39+08:002010-04-07T10:05:39+08:00 它通常是安全的,但我不推荐它,原因很简单: 你失去了一个已知的状态。 在生产环境中,您需要确切地知道上面有什么,或者应该有什么,并且能够轻松地重现该状态。 任何变更都应通过变更管理流程完成,公司充分了解他们正在进入的内容,以便他们以后可以分析出了什么问题等等。 每晚更新使这种分析变得不可能,或者更难进行。 Jon Lasser 2010-04-02T15:41:10+08:002010-04-02T15:41:10+08:00 我可能会在 stable 或 Ubuntu 上这样做,但不会在不稳定的分支甚至测试分支上这样做。 不过,当我戴上系统管理员的帽子时,我相信我应该手动应用所有更新,这样我就可以保持服务器之间的一致性——而且,如果有一天服务中断,我知道我上次更新的时间是什么时候服务。那是我可能不会检查更新是否自动进行的事情。 Matt Beckman 2010-04-02T16:07:24+08:002010-04-02T16:07:24+08:00 我们在大多数 Debian 系统上使用 stable 和 schedule apt-get upgrade 周二晚上(与我们的微软“周二补丁”更新一致)。效果很好。我们还将所有升级事件记录到 Nagios,因此我们可以查看上次在任何服务器上执行升级的历史记录。 Craig 2010-04-02T16:23:47+08:002010-04-02T16:23:47+08:00 当您指定这是一个“生产”服务器时,这是否意味着也有开发和测试服务器?如果是这样,补丁应该在这些系统上进行测试,然后再安装到生产盒上。 我不会这样做的。糟糕的补丁确实会发生,我不希望系统在半夜或我不可用时出现故障。当管理员可以监控更新时,它们应该被推送到维护窗口中。 user39530 2010-04-03T01:15:21+08:002010-04-03T01:15:21+08:00 我记得在以前的工作中这样做过;我最终在生产服务器上遇到了问题,因为更新自动重写了配置文件。 因此,我建议您监督更新。 Charles Stewart 2010-04-07T01:57:56+08:002010-04-07T01:57:56+08:00 如果替代方案是不定期地应用更新,您没有积极关注安全更新,并且您正在运行一个普通的稳定 Lenny,那么自动更新可能会增加您机器的安全性,因为您会更快地更新已知的安全漏洞。 3dinfluence 2010-04-02T18:13:40+08:002010-04-02T18:13:40+08:00 Ubuntu Server 有一个允许它自动更新安全更新的软件包。它还允许您将某些应用程序列入黑名单。它还谈到了 apticron,它会在您的服务器有可用更新时向您发送电子邮件。 根据您运行的 Ubuntu Server 版本,您可以在以下页面中找到有关它的更多信息。 8.10 9.04 9.10 编辑:假设您正在运行 Ubuntu。尽管我敢打赌,Debian 上提供了相同的软件包和解决方案。 ko-dos 2010-04-02T18:20:09+08:002010-04-02T18:20:09+08:00 看看 cron-apt。它默认只下载列表和包文件,但你可以调整它来发送邮件,甚至升级系统。
它可能是安全的,或者更准确地说,风险水平可能在您的舒适范围内。可接受的风险水平取决于几个因素。
您是否有一个良好的备份系统,可以让您在出现故障时快速恢复?
您是否将服务器注销转发到远程系统,以便如果盒子倒塌,您仍然会知道发生了什么?
您是否愿意接受某些事情可能会发生故障的可能性,并且如果某些事情发生故障,您可能必须在系统上进行快速恢复/还原?
您是否自己手动编译过任何东西,或者您系统上安装的所有东西都绝对来自官方存储库?如果您在本地安装了某些东西,则上游更改可能会破坏您在本地维护/安装的软件。
这个系统的作用是什么?如果它死了(例如辅助 DNS 服务器),它是几乎不会错过的东西,还是您的基础设施的核心部分(例如 LDAP 服务器或主文件服务器)。
您是否要设置此设置,因为没有人负责服务器有时间维护安全补丁?被未修补漏洞破坏的潜在风险可能高于错误更新的可能性。
如果你真的认为你想这样做,我建议你使用已经为此目的的工具之一,比如
cron-apt
. 他们有一些逻辑比盲人更安全apt-get -y update
。是的,只要您在谈论update而不是upgrade。如果您输入以下代码,Apt 甚至会为您完成:
在一个文件中
/etc/apt/apt.conf.d/
它通常是安全的,但我不推荐它,原因很简单:
在生产环境中,您需要确切地知道上面有什么,或者应该有什么,并且能够轻松地重现该状态。
任何变更都应通过变更管理流程完成,公司充分了解他们正在进入的内容,以便他们以后可以分析出了什么问题等等。
每晚更新使这种分析变得不可能,或者更难进行。
我可能会在 stable 或 Ubuntu 上这样做,但不会在不稳定的分支甚至测试分支上这样做。
不过,当我戴上系统管理员的帽子时,我相信我应该手动应用所有更新,这样我就可以保持服务器之间的一致性——而且,如果有一天服务中断,我知道我上次更新的时间是什么时候服务。那是我可能不会检查更新是否自动进行的事情。
我们在大多数 Debian 系统上使用 stable 和 schedule apt-get upgrade 周二晚上(与我们的微软“周二补丁”更新一致)。效果很好。我们还将所有升级事件记录到 Nagios,因此我们可以查看上次在任何服务器上执行升级的历史记录。
当您指定这是一个“生产”服务器时,这是否意味着也有开发和测试服务器?如果是这样,补丁应该在这些系统上进行测试,然后再安装到生产盒上。
我不会这样做的。糟糕的补丁确实会发生,我不希望系统在半夜或我不可用时出现故障。当管理员可以监控更新时,它们应该被推送到维护窗口中。
我记得在以前的工作中这样做过;我最终在生产服务器上遇到了问题,因为更新自动重写了配置文件。
因此,我建议您监督更新。
如果替代方案是不定期地应用更新,您没有积极关注安全更新,并且您正在运行一个普通的稳定 Lenny,那么自动更新可能会增加您机器的安全性,因为您会更快地更新已知的安全漏洞。
Ubuntu Server 有一个允许它自动更新安全更新的软件包。它还允许您将某些应用程序列入黑名单。它还谈到了 apticron,它会在您的服务器有可用更新时向您发送电子邮件。
根据您运行的 Ubuntu Server 版本,您可以在以下页面中找到有关它的更多信息。
编辑:假设您正在运行 Ubuntu。尽管我敢打赌,Debian 上提供了相同的软件包和解决方案。
看看 cron-apt。它默认只下载列表和包文件,但你可以调整它来发送邮件,甚至升级系统。