什么是 Linux 内核实时修补?

复制 URL

Linux 内核实时修补是一种在不需要重启或中断运行的情况下,将重大安全补丁应用到运行中 Linux 内核的方法。

补丁和更新不一样,更新是软件包的一个比较次要的新版本 ,可以包含错误修复、性能改进、新增功能、命令行修改以及其他增强。而补丁是代码的一个部分片段(通常来自软件包或文件的两个不同版本),旨在修复现有版本中的漏洞。这些补丁可以及时地修复漏洞,使现有实施可以更安全地运行,并且让系统管理员能够将系统重启推延到下一个定期维护期。

理论上,实时修补可以用于运行中内核的任何补丁,包括定期错误修复和增强。在实际运用中,实时修补会优先用于主要安全漏洞,因为它们的修复不可拖延。我们非常重视红帽® 企业 Linux® 的安全补丁,内核实时修补就是我们保障安全的一项重要安全功能(也可为管理员提供管理方面的好处)。

如果没有实时修补,应用补丁需要重启被修补的服务或应用,这样才能加载已修补版本中新的更改。即使是应用于 Linux 内核本身的补丁也不例外,这给 Linux 系统管理员带来了一个难题:他们需要应用重要的安全更新,但这会不定期地重启 Linux 服务器,造成延迟和停机。

麻省理工大学的一位学生系统管理员 Jeff Arnold 遇到了一个棘手的窘境。他的系统有待进行安全更新,但为了不影响使用,他打算晚一点再解决这个漏洞。结果,系统就遭到了黑客攻击。2008 年,Arnold 决定解决面临的这个难题,创造了他所称的“无根内核安全更新”,一种在系统保持运行的同时应用和加载安全补丁的方法。这个初始项目(ksplice)标志着 Linux 内核实时修补概念的诞生。

动态软件更新对于计算界是一个不小的挑战,因为需要同时处理好许多方面,例如无状态与有状态服务、持久性、数据管理、事务和后续命令等,这一切都关乎服务或应用如何运行。

Arnold 以及后续 Linux 内核实时修补项目所做的,是在内核空间内使用工具来加载内核模块。

红帽资源

Linux 系统运行划分为两个部分:用户空间(所有服务和应用的运行位置)和内核空间(内核系统运行所处的位置)。内核是一个资源中介,供所有应用来访问 CPU 和存储等硬件资源。除了内核本身外,管理员还可创建自定义内核模块来扩展或修改功能,这些内核模块可以动态加载和执行(甚至是在启动之后)。

内核实时修补工具所做的,是利用修补后的代码创建一个内核模块,然后使用 ftrace(function trace)工具从废弃函数路由到新的替代函数、修补模块或修补函数。

图 1:内核实时修补的工作原理
Diagram of how kernel live patching works. Process described in more detail by surrounding text.

Ksplice 虽然是第一个 Linux 内核实时修补项目,不过,它后来出售给了 Oracle,最终变成了一个闭源工具。其他开发团队开始尝试发起开源项目来取代 ksplice,并在 2014 年推出了两个各自略不同的项目:红帽的 kpatch,以及SuSE 的 kgraft。最终,为了帮助 Linux 内核项目的社区,红帽和 SuSE 开发人员携手创造了 livepatch:Linux 内核中的一个通用层,允许人们开发兼容的内核实时修补工具。

有一点很重要,补丁是专门用来解决安全风险的。系统管理员面临的挑战之一,就是不仅需要负责 Linux 系统中的安全漏洞修补,还要确保满足正常运行时间要求。也就是说,他们可能无法在预定维护期外让系统下线。这根弦会绷得越来越紧。

根据红帽安全风险报告,识别的安全问题(称为通用漏洞披露或 CVE)在 2019 到 2020 年大幅激增,达到了约 155%(从 1,313 上升到 2,040)。尽管 2021 年 (1,596)稍有回落,但依然比 2019 年高 22%。数量增长主要在于中等严重性的漏洞;重要 CVE 大致持平,而严重漏洞有所下降。

内核更新和补丁每六个星期发布一次,而红帽企业 Linux 次要版本更新每六个月发布一次,里面包含所有的安全补丁。实时修补服务能够在不重启系统的前提下对 Linux 内核进行修补,让管理员不用再左右为难。

详细了解如何确定内核版本

与内核相关的 CVE 是首要关注点之一,2021 年浏览量排名前 10 的 CVE 中有 4 个与内核相关。

实时执行 Linux 内核安全修补的意义不只是便捷。这是安全团队的一个重要工具,让他们能够主动解决安全漏洞,使内核功能正常运行,并且确保其系统的安全。

详细了解通过 Linux 安全修补解决漏洞

我享受补丁处理的过程以及红帽企业 Linux 布局元素的方式。我从来没有经历过补丁会话的失败,即使是在同时安装一千个包时。

Bruce Lundberg

Linux HPC 系统管理员

了解更多评价

内核实时修补是一个专门用来管理安全的工具,但红帽企业 Linux 中提供的工具不止于此。红帽企业 Linux 还包含了多种用来管理安全的工具,例如用来管理权限和访问控制的 SELinux,以及有助于配置和任务自动化的系统角色。升级红帽企业 Linux 基础架构后,您可以不间断地访问最新的修复程序,这有助于保持安全态势。 

只靠一个解决方案,并不能打造“绝对安全的环境”。随着技术的发展,网络威胁更加变化多端,不同的攻击途径层出不穷,系统中的一切都可能沦为攻击的目标。安全防护必须从操作系统层面(甚至是源代码)就开始到位,贯穿整个技术堆栈并覆盖整个生命周期,因此,各种各样的工具都会派上用场。

红帽企业 Linux Web 控制台管理内核实时修补,可以大幅降低实施关键维护的复杂性。这个新的 Web 控制台提供了一个简化的界面,让技能娴熟的管理员和经验不足的管理员都能够应用内核更新,而无需使用命令行工具。

所有红帽企业 Linux 订阅中均包含红帽 Lightspeed(原红帽智能分析),这为解决安全问题提供了一个统一的管理体验。其中包括:

  • 覆盖整个基础架构的可视化控制面板,可显示易受攻击的系统和补丁状态,让您无需单独订阅红帽卫星服务器即可查找并修复关键错误。
  • 相关的 CVE 和其他更新。
  • 用于自动执行 Linux 安全修补的 playbook。
  • 用于管理系统配置的既定安全配置文件和自定义配置文件。
  • 使用基线配置,并标记与基线有偏差的系统。

进一步了解安全与合规

回望 Linux 内核实时修补的诞生,它与所有开源项目一样,应需求而生,不同的组织和社区成员携手贡献,打造能让整个社区受益的解决方案。这种开放的工作方式也是红帽订阅原则的核心思想:通力协作、公开透明,以及始终用心改进技术和用户体验。  

进一步了解红帽企业 Linux 安全功能

红帽官方博客

获取有关我们的客户、合作伙伴和社区生态系统的最新信息。

所有红帽产品试用

我们的免费试用服务可让您亲身体验红帽的产品功能,为获得认证做好准备,或评估某个产品是否适合您的企业组织。

扩展阅读

为什么选择红帽 Linux?

工作负载需要能够在不同环境之间轻松地移植和扩展。红帽企业 Linux 是您在混合云部署中始终如一、稳定可靠的基础。

什么是 SAP HANA 迁移?

SAP 宣布将于 2027 年停止对 SAP NetWeaver 平台上传统 ERP 应用的支持。

为什么选择 AWS 上的红帽企业 Linux?

AWS 携手红帽企业 Linux 提供各式解决方案,帮助您转变 IT 环境和运维,拥抱云端未来。

Linux 相关资源

相关文章