什么是 Linux 内核实时修补?
Linux 内核实时修补是一种在不需要重启或中断运行的情况下,将重大安全补丁应用到运行中 Linux 内核的方法。
补丁和更新不一样,更新是软件包的一个比较次要的新版本,可以包含错误修复、性能改进、新增功能、命令行修改以及其他增强。而补丁是代码的一个部分片段(通常是软件包或文件的两个版本之间的差异内容),旨在修复现有版本中的漏洞。这些补丁可以及时修复漏洞,使现有实施可以更安全地运行,并且让系统管理员能够将系统重启推延到下一个定期维护期。
理论上,实时修补可以用于运行中内核的任何补丁,包括定期错误修复和增强。在实际运用中,实时修补会优先用于主要安全漏洞,因为它们的修复不可拖延。我们非常重视红帽® 企业 Linux® 的安全补丁,内核实时修补就是我们保障安全的一项重要安全功能(也可为管理员提供管理方面的好处)。
如果没有实时修补,应用补丁需要重启被修补的服务或应用,这样才能加载已修补版本中新的更改。即使是应用于 Linux 内核本身的补丁也不例外,这给 Linux 系统管理员带来了一个难题:他们需要应用重要的安全更新,但这会不定期地重启 Linux 服务器,造成延迟和停机。
Linux 内核实时修补的起源
麻省理工大学的一位学生系统管理员 Jeff Arnold 遇到了一个棘手的窘境。他的系统有待进行安全更新,但为了不影响使用,他打算晚一点再解决这个漏洞。结果,系统就遭到了黑客攻击。2008 年,Arnold 决定解决面临的这个难题,创造了他所称的“无根内核安全更新”,一种在系统保持运行的同时应用和加载安全补丁的方法。这个初始项目(ksplice)标志着 Linux 内核实时修补概念的诞生。
动态软件更新对于计算界是一个不小的挑战,因为需要同时处理好许多方面,例如无状态与有状态服务、持久性、数据管理、事务和后续命令等,这一切都关乎服务或应用如何运行。
Arnold 以及后续 Linux 内核实时修补项目所做的,是在内核空间内使用工具来加载内核模块。
红帽资源
Linux 系统运维的两个空间
Linux 系统运维划分为两个部分:用户空间(所有服务和应用的运维位置)和内核空间(内核系统运维所处的位置)。内核是一个资源中介,供所有应用来访问 CPU 和存储等硬件资源。除了内核本身外,管理员还可创建自定义内核模块来扩展或修改功能,这些内核模块可以动态加载和执行,甚至在启动之后也是如此。
内核实时修补工具所做的,是利用修补后的代码创建一个内核模块,然后使用 ftrace(function trace)工具从废弃函数路由到新的替代函数、修补模块或修补函数。
图 1:内核实时修补的工作原理

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
与内核相关的 CVE 是首要关注点之一,2021 年浏览量排名前十的 CVE 中有四个与内核相关。
实时执行 Linux 内核安全修补的意义不只是便捷。这是安全团队的一个重要工具,让他们能够主动解决安全漏洞,使内核功能正常运行,并且确保其系统的安全。
我享受补丁处理的过程以及红帽企业 Linux 布局组件的方式。我从来没有遇到过补丁会话失败的情况,即使是在同时安装一千个软件包时。
红帽企业 Linux 的与众不同之处
安全防护必须从操作系统层面(甚至是源代码)就开始到位,贯穿整个技术堆栈并覆盖整个生命周期,因此,各种各样的工具都会派上用场。 红帽企业 Linux 包含不同的
- 红帽企业 Linux 的镜像模式
- 用于权限和访问控制的 SELinux
- 红帽企业 Linux 系统角色(由红帽 Ansible 自动化平台提供支持),可帮助实现配置和任务的自动化。
- 红帽 Lightspeed(以前称为“红帽智能分析”)
在 AI 加速型漏洞发现工具(如 Anthropic 的 Mythos)的推动下,网络安全态势已达到一个关键临界点。由于漏洞的发现和利用方式发生了结构性转变,防御者再也无法依靠传统的手动补丁周期来应对漏洞。像 Mythos 这样的模型能够以机器速度分析源代码和系统配置,释放出海量新发现的 CVE。
从红帽企业 Linux Web 控制台管理内核实时修补,可以大幅降低实施关键维护的复杂性。这个 Web 控制台提供了一个简化的界面,让技能娴熟的管理员和经验不足的管理员都能够应用内核更新,而无需使用命令行工具。 升级红帽企业 Linux 基础架构后,您可以不间断地访问最新的修复程序,这有助于保持安全态势。
所有红帽企业 Linux 订阅中均包含红帽 Lightspeed,这为解决安全问题提供了一个统一的管理体验。其中包括:
- 覆盖整个基础架构的可视化控制面板,可显示易受攻击的系统和补丁状态,让您无需单独订阅红帽卫星服务器即可查找并修复关键错误。
- 相关的 CVE 和其他更新。
- 用于自动执行 Linux 安全修补的 playbook。
- 用于管理系统配置的既定安全配置文件和自定义配置文件。
- 使用基线配置,并标记与基线有偏差的系统。
为什么选择红帽?
回望 Linux 内核实时修补的诞生,它与所有开源项目一样,应需求而生,不同的组织和社区成员携手贡献,打造能让整个社区受益的解决方案。这种开放的工作方式也是红帽订阅原则的核心思想:通力协作、公开透明,以及始终用心改进技术和用户体验。
通过红帽企业 Linux,企业可以:
- 借助红帽 Lightspeed 缩短安全风险窗口期,及时收到关于新发现威胁的通知并获得修复方案
- 利用 SELinux 和 fapolicyd 实现进程隔离和访问控制,建立强大的多层防御
- 通过透明的软件供应链降低风险并建立信任
- 通过红帽企业 Linux 的预强化和镜像模式,采用“左移”方法
- 简化获得 FIPS 合规认证的过程
- 通过自动化和编排节省时间并提高效率
通过闭环修复缩短平均修复时间。
了解红帽企业 Linux 中的安全防护功能
红帽官方博客
获取有关我们的客户、合作伙伴和社区生态系统的最新信息。