谢谢您的订阅!
当新的内容发布后您将开始接收邮件。您也可以点击邮件内的链接随时取消订阅。关闭Close

您每隔多久会在 Linux 上安装一次安全补丁?

by Canonical on 12 September 2024

定期应用补丁对于维护安全的环境至关重要,但对于确保 Linux 资产的安全性,并不存在一劳永逸的办法。那么,如何平衡更新频率和运行稳定性呢?有一些策略可通过合规且安全的方式实现安全补丁自动化,甚至适用于限制和监管最严格的环境。在确定安全补丁策略时,有必要了解 Canonical 软件更新发布时间表和安全补丁覆盖周期时间窗口等重要信息。笔者在近期主持的一场在线研讨会和安全问答活动中,解释了如何尽量减少补丁应用频率或尽量缩短未修复漏洞被利用的时间。本篇文章将概述笔者在这次网络研讨会上的主要观点,并说明确定更新计划时最重要的考虑因素。 

针对 Linux 内核的安全补丁

Ubuntu 中有两种类型的内核,这些内核有两种打包方式。两种内核类型为通用版(GA)内核和变体内核。两种打包类型为 debian 包和快照包。GA 内核是 Ubuntu LTS 发行首日所包含的内核版本。每个 Ubuntu LTS 版本都会在每年 2 月和 8 月收到一次小数点版本更新,通常会有 5 个小数点版本。Ubuntu Server 默认在该版本 Ubuntu Pro 所覆盖的生命周期内在 GA 内核上运行。Ubuntu Desktop 默认从第二个小数点版本开始将内核升级为上游内核(其被称为硬件启用(HWE)内核)的更新版本。

GA 内核的安全覆盖周期将延伸至 Ubuntu Pro 的整个生命周期。HWE 内核的安全覆盖周期将延伸至 HWE 内核的生命周期(6 个月)再加 3 个月。HWE 内核生命周期结束之后的这额外 3 个月安全覆盖周期则为用户提供了升级到下一版 HWE 内核的时间窗口。

是否需要重新启动才能安装安全补丁?

内核包更新后,Ubuntu 实例必须重新启动才能将安装补丁后的内核加载到内存中。当通用内核作为快照安装时,该快照包的更新将重新启动设备。当通用内核作为 deb 包安装时,设备不会自动重新启动,但必须重新启动才能安装安全补丁。

Ubuntu 中的其他一些软件包在更新后也需要重新启动才会生效。glibc、libc、CPU 微码和 grub 引导加载程序的任何安全更新都需要重新启动才能生效。作为服务运行的软件,例如 ssh、网络服务器,需要在安装安全补丁后重新启动服务。对于不是作为服务运行而是按照需要运行的其他软件,则不需要重新启动系统或重新启动服务即可生效。

Livepatch 服务将在内存中对所运行的内核应用高关键级的安全补丁。其不会升级已安装的内核包,因此重新启动计算机并清除其内存将导致 Livepatch 已应用的安全补丁被删除。Livepatch 提供了针对 GA 内核的 13 个月安全补丁,以及针对 HWE 内核的 9 个月安全补丁。在上述 13 个月或 9 个月时间窗口之后,内核包必须升级,且 Ubuntu 实例必须重新启动,才能享受通过 Livepatch 提供的安全保障。

安装安全补丁的 3 种方法

Canonical 提供了包括 Livepatch、Landscape、Snaps 和命令行实用程序(如 unattended-upgrade)在内的一系列工具与服务。这些工具和服务可以一起使用,也可以选择性地使用,它们在 Ubuntu 中可以提供安全补丁自动化功能。您可以灵活运用这些工具,在台式电脑、服务器和物联网设备上实现各种不同的安全补丁目标。假设没有人想要运行无维护人员确保安全或提供支持的软件,您可能会倾向于以下安全补丁应用方法之一:

  1. 尽可能延期安装安全补丁,以达到最长拖延期。
  2. 以最小的频率但按照预定义的定期执行时间表安装安全补丁。
  3. 通过减少安全补丁发布与安装之间的时间,尽量缩短系统被漏洞利用的时间窗口。

无论使用哪种方法,要注意的是,可能需要留出不定期安全维护时间窗口来修复 glibc、libc 或 CPU 微码中的安全漏洞。

Linux 安全补丁自动化

The 【安全补丁自动化时间安排的最佳做法】 深入探讨了这 3 种安全补丁应用方法实现细节背后的基本原理。

观看视频

适用于拖延者的安全补丁

启用 Livepatch 后,在 GA 内核上运行的 Ubuntu LTS 实例需要每 13 个月升级并重新启动一次。如果在 HWE 内核上运行,首次升级并重新启动必须在 13 个月后,即 5 月进行。第二次升级并重新启动必须在 6 个月后,即 11 月进行。在 5 月和 11 月的升级并重新启动之后,HWE 内核将升级到下一版 GA 内核。GA 内核需要每 13 个月升级并重新启动一次。

每次升级并重新启动之间可能会间隔数月,因此,如果以此拖延,中等及以下的内核漏洞将保持未修复状态。这样会延长中等及以下内核漏洞处于未修复状态的时间。

定期安装安全补丁

如果使用的是 GA 内核,则可以按每年一次的频率安装补丁。结合 Livepatch 针对 GA 内核的 13 个月安全覆盖周期时间窗口,每年 5 月安装安全补丁并重新启动应当可以确保计算机中内核和其他软件包的安全。

假设使用的是 HWE 内核,则不能按每年一次的频率在每年的同一月份安装安全补丁。这种方法会导致内核的安全补丁覆盖周期缺失一段时间。除了 Ubuntu LTS 发行的第三年,当第四个小数点版本发布后,使用 HWE 内核的情况下则可每年应用一次安全补丁。

每年 5 月和 9 月应用一年两次的安全补丁,无论选择什么内核,都可安心使用。这种安全补丁应用频次考虑了 Canonical 的发布时间表和内核安全覆盖周期时间窗口。如果是每年两次,即每年 5 月和 9 月的安全维护时间窗口,安全覆盖周期则不会出现中断。

针对最小漏洞的安全补丁

很显然,安全维护时间窗口越频繁越好。一个极为常用的频次是每月一次:每月升级并重新启动,根本没有机会运行过时的内核。建议每周应用一次安全补丁并重新启动,也可以每天进行。Canonical 的安全补丁发布即可用,建议在其发布之时即进行应用。以高度可用的状态运行工作负载,启用安全补丁自动化,以及每天为计算机集群进行定期升级并重新启动,从而享受最有力的安全保障。

启用安全补丁自动化的最佳做法

【安全补丁自动化时间安排的最佳做法】视频解答了所有的常见问题:

  • 有哪些补丁自动化选项可供选择?
  • 安全补丁来源是哪里,从哪里分发?
  • 安全补丁如何分发,应该如何应用?Canonical 的滚动内核策略如何针对特定的内核延长安全覆盖周期时间窗口?
  • 什么时候应该安排安全维护事件?
订阅博客文章

订阅您感兴趣的主题

在提交此表格的同时,我确认已阅读和同意的隐私声明隐私政策。

查看更多内容

Ubuntu Linux 为什么成为金融服务领域取代 CentOS 的首选?

金融服务由技术驱动。而客户体验越来越多地由数据驱动,通过定制产品和服务可以体现出个人行为和偏好。所有这一切都建立在安全稳定的技术基础之上,只有这样的基础才可以提供敏捷性和灵活性,以适应客户需求的同时保持合规性。  使用 CentOS 作为创新基础的金融服务机构见证了 CentOS 8 于 2021 年退出,随后是 CentOS 7 于 2024 年 6 月退出。不过,最近的一项研究显示,各行业近四分之一的企业组织仍在使用 CentOS。  听起来是不是很耳熟?众所周知,金融机构在进行重大技术变革时是最谨慎的。考虑到金融业务的敏感性,这也就可以理解了。事实上,尽管过渡到云已成为一种成熟的方案,但仍有 60% 的金融机构表示,他们采用的传统技术堆栈成本过高且存在不足。与所有传 […]

写给坚守CentOS的你-必知的六个关键点,助你做好准备

CentOS 7 的生产商在 2020 年宣布,CentOS 7 将于 2024 年 7 月达到生命周期结束(EoL)。如今,该日期已经过去,然而 CentOS 的故事还没有结束。有人预计 CentOS 用户数量会大幅下降,但数据显示,22% 的企业仍在使用 CentOS。  我们也许应该降低我们的期望:CentOS 7 的生命周期可能即将结束,但许多组织可能仍在考虑向新系统过渡却尚未实施。然而,CentOS 用户仍然必须面对这样一个事实:他们等待迁移的时间越长,就越难保持 CentOS 资产的安全和功能。坚持下去看起来很诱人,但是月复一月,年复一年,依赖关系将开始瓦解,手动修补工作量将增加,不兼容性将开始在整个堆栈中出现。  本篇博客适合仍在决定迁移到哪个系统的读者进行 […]

欢庆 Ubuntu 20 年:伙伴如何协助将 Ubuntu 引入不同的行业、市场和硬件

在我们庆祝 Ubuntu 诞生 20 周年之际,我们想花一点时间来思考合作的价值。软件应该开源并对所有人开放访问的想法催生了一个充满活力的用户社区和一个合作伙伴生态系统,并帮助我们将 Ubuntu 带到各个行业。  那么,我们和谁进行合作?我们很幸运拥有超过 100 个合作伙伴,他们都和 Ubuntu 有着不同的关系。 我们的合作之旅 当 Ubuntu 在 2004 年推出时,我们的目标之一是鼓励 Linux 社区采用,并将 Ubuntu 打造成一个可靠且用户友好的发行版。我们的第一个合作伙伴是 Debian 和 Linux 社区,他们一直与我们合作至今。  随着 Ubuntu 得到更为广泛的采用,其他组织很快就会注意到并利用 Ubuntu 的稳健性、适应性和可靠性。  […]