Linux上内核实时修补简介

现场修补正在慢慢流行,但不是出于您可能想到的原因。
在本文中,我将解释Linux内核实时修补是什么,它不是什么,有什么服务,谁可以使用它以及为什么。我将展示Livepatch(在Ubuntu上),Kpatch(在Red Hat上)以及另一个在两者上运行的KernelCare的基本安装步骤。

什么是实时补丁?

实时修补是恶魔操作的无辜名称:更新Linux内核而不停止它。
实时修补是一种在不影响服务器停机的情况下将Linux内核更新为最新的关键安全修补程序的方法。在过去的十年中,这种诱人的想法在Linux越来越流行的滑坡中默默无闻。安全,而不是性能或可用性,已经成为内核开发人员的当务之急,因为他们试图将Linux的优势从服务器转移到桌面市场。系统管理员现在将实时修补视为其系统健康的网络安全策略的重要组成部分,而不仅仅是为自己提供便利。

当研究人员发现Linux内核中的错误或其他问题时,宣布它们之后的第一步是它们进行分类。最重要的内核问题是漏洞。这些是在没有操作员的知情或同意的情况下,某人可能破坏,破坏或渗透Linux系统的方式的发现和描述。其中许多涉及通过利用其程序逻辑中的错误来破坏Linux内核的行为。

漏洞的重要性与它影响的系统数量,复制的容易程度以及发生的情况有关。如果答案是'很多','简单'和'任何',那么内核维护者就会疯狂地寻找解决方案。当它们这样做时,它意味着更新内核。

但是,由于Linux内核的原因,更新也意味着重启。对于个人和业余爱好者来说,这没什么大不了的。但对于企业而言,重启需要规划和协调,这需要时间和金钱。同时,至少在理论上,他们的系统是脆弱的。

实时修补可缩短发布漏洞修复程序与在受影响系统上安装之间的时间。缩小或消除这种差距可降低利用未修补漏洞的风险。

实时修补的优点和缺点是什么?

实时修补仅适用于严重的安全问题。

当开发人员将漏洞追踪到孤立的内核代码片段时,软件补丁可以修复它们而不会影响内核的其他部分。但是,对于影响许多部分的问题,或影响数据结构的部分,不能进行实时修补。

实时修补不能完全消除重启。

实施实时修补策略并不意味着您永远不会再次重启。它确实意味着您可以将其关闭,直到它更方便,并且在此之前,您的系统可以安全地利用已修补的问题。

并非每个内核都支持实时修补。
所有实时修补方法都不同。一些使用核心内核函数,而另一些使用开源和闭源方法的混合。没有通用的多平台解决方案(尽管KernelCare很接近)。

现场打补丁很容易; 制作补丁不是。

任何具有技术知识的人都可以为他们选择的Linux平台构建和安装实时修补软件。源代码和信息是可用的,但它有多容易取决于您拥有哪个平台。
但是,对于所有实时修补方法,修补程序的创建是一个巨大的技术障碍。它需要详细了解内核源代码,其编程模型和约定。即使您可以创建补丁,在尝试安装补丁之前,您有责任对其进行彻底测试。

实时修补不是免费的。
成本一直是Linux非企业核心粉丝群采用的真正障碍。Oracle Ksplice,Red Hat Kpatch,SUSE Kgraft和KernelCare都要求提供不同金额的月度,年度或三年期订阅。之所以提到这个原因:创建补丁并不容易。要了解所涉及的难度,请查看Kpatch补丁编写指南?您将了解为什么公司已成功提供实时补丁作为付费服务。

哪些公司提供实时补丁?

Ksplice是第一个为Linux提供实时补丁的人。他们在2010年推出了商业服务,支持一系列Linux风格。当甲骨文在2011年收购它们时,除了甲骨文自己的Linux之外,其他所有产品都得到了支持。这对红帽和SUSE的其他大公牛来说是一面红旗。每个人都急于创建他们自己的实时补丁解决方案,他们分别在2014年以KpatchKgraft的形式独立发布。不久之后两者都成了商业服务。同样在那一年,KernelCare进入了戒指,填补了Ksplice留下的空间,并取消了对旧内核和其他口味的支持。

现场补丁多少钱?

截至2019年,五家公司提供现场打补丁的商业服务。价格根据地理区域而有所不同 - 显示的是美国,并且按降序排列。

对于本文的其余部分,我将只考虑三种低到中等成本选项:Canonical,Livepatch,Red Hat Kpatch和KernelCare。

谁需要实时补丁?

根据订阅成本,拥有数百台服务器的公司似乎是Oracle,Red Hat和SUSE的目标。对于企业而言,实时修补的好处是毫无疑问的,因此将服务捆绑在支持合同中是完全合理的。

对于个人而言,实时修补仍然是一个非必要的好奇心,对家庭媒体服务器,宿舍游戏服务器,加密货币挖掘或任何重启动作的情况都很有用。他们开始的好方法是使用Ubuntu 18.04 LTS。对于最多三台机器,实时修补是一个痛苦且无成本的介绍。

对于企业家,中小企业和成长型公司来说,选择的选择较少。他们需要成本和覆盖范围的灵活性,这种解决方案不能将其锁定到特定平台,并且可以随着增长而扩展。对他们来说,KernelCare非常适合。

如何安装Linux内核实时修补?

使用Canonical Livepatch服务实时修补Ubuntu内核

Canonical Livepatch Service适用于14.04,16.04和18.04 LTS的服务器和桌面版本。最简单的尝试方法是在18.04 LTS桌面版上。当您在干净安装后首次重新启动时,Ubuntu对话窗口中的新功能的第二个屏幕为您提供了设置Livepatch的机会。如果您错过了,请打开软件更新程序并转到设置的Updatestab,您可以从中登录以激活它。

在安装之前,您必须注册密钥。执行此操作时,页面将显示这些命令,以便通过终端进行安装。

sudo snap install canonical-livepatch
sudo canonical-livepatch enable <your key>

从现在开始,守护进程将检查关键内核安全修补程序,并默认情况下每60分钟自动安装一次。如果你想修补,这里有一些使用canonical-livepatch命令行工具的例子。

检查状态: canonical-livepatch status
显示所有补丁信息: canonical-livepatch status --verbose
强制立即刷新: sudo canonical-livepatch refresh
更改检查间隔(例如,更改为90分钟): sudo canonical-livepatch config check-interval=90

使用Kpatch实时修补RHEL 7内核

Red Hat的Kpatch还没有用户友好的界面来进行设置。通过一些努力,它适用于Fedora和CentOS,以及一些基于Debian的系统,如Ubuntu和Gentoo(但在这些情况下,您必须编写和测试自己的补丁)。

要在Red Hat Enterprise Linux 7上安装kpatch:

sudo yum install kpatch

Kpatch没有自动化功能。而是使用标准命令行工具yum来检查和安装修补程序。包名称提供关键安全修补程序kpatch-patch。如果您有支持订阅,您可以向Red Hat索取自定义补丁,您可以将其作为.rpm文件获取。两者的安装如下所示。

sudo yum install kpatch-patch # From Red Hat's repositories
sudo yum install kpatch-patch-<version>.el7.<your arch>.rpm # Downloaded custom patch

使用KernelCare实时修补Ubuntu和RHEL7 / CentOS 7 Linux内核

KernelCare使用相同的两行命令在Ubuntu 14.04,16.04和18.04 LTS以及Red Hat Enterprise Linux 7或CentOS 7上进行安装。

在开始之前,获取30天免费试用密钥

注册页面显示了您的注册密钥以及安装KernelCare所需的这两个命令。

sudo wget -qq -O - https://repo.cloudlinux.com/kernelcare/kernelcare_install.sh | bash
sudo /usr/bin/kcarectl --register <your key>

如果一切正常,您将看到消息服务器已注册。从现在开始,KernelCare守护程序每四个小时检查一次关键的内核安全补丁。如果有任何可用,它将安装它们而无需重新启动,无需进一步干预。

就像canonical-livepatchkcarectl实用程序允许您在命令行上执行操作。

  • 检查状态: kcarectl --info
  • 显示所有补丁信息: kcarectl --patch-info
  • 强制立即刷新: sudo kcarectl --auto-update
  • 取消注册许可证: sudo kcarectl --unregister

结论

Linux的实时修补正处于转折点。

虽然不是企业客户的默认选择,但Canonical通过在Ubuntu 18.04 LTS上轻松使用Livepatch Service取得了很大进展。我希望随着用户进入专业领域,随着他们熟悉它们,它的受欢迎程度将会提高。那些能够在各种平台上运行的更具成本效益的实时修补解决方案的人将会发现自己倾向于使用KernelCare。

在任何情况下,商业实时补丁提供的不仅仅是实时补丁的能力,而是访问补丁本身,安全托管,及时交付,测试和验证,并保证在没有任何有害影响的情况下工作。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,053评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,527评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,779评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,685评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,699评论 5 366
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,609评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,989评论 3 396
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,654评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,890评论 1 298
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,634评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,716评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,394评论 4 319
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,976评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,950评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,191评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,849评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,458评论 2 342

推荐阅读更多精彩内容