技术解析

Linux 使用不支持的内核会有什么影响?
0
2021-06-21 07:49:54
idczone
今晚我的 Ubuntu 1804 的 live path 停止工作,根据错误提示搜索得知是因为安装了 Android studio (还是 Android SDK )导致出现了非常多的内核漏洞(CVE*****)。

原来的是 kernel 4.15.0,想着这些漏洞可以通过升级内核来消除,于是一口气升级到了 kernel 5.1.0。

升级完毕重启出问题了,出现了“ vmlinuz 5.1.0 has invalid signature"的错误,导致无法正常进入系统。于是搜索得知,关闭主板的" Secure Boot"可以解决。确实是可以,也正常进入系统并内核已成功升级到 5.1.0。

但是问题出现了,使用 `sudo canonical-livepatch status --verbose`出现了 kernel unsupported (下图所示),因此想问下大佬们,如果长期使用该内核版本,会有什么影响吗?
https://i.loli.net/2019/06/16/5d052187ad38693061.jpg

使用的 sm.ms 的图床 如看不到图 请告知

影响就是不能用 Livepatch 了,因为它写了 Kernel Unsupported。

以后不会收到关于内核的更新了

“根据错误提示搜索得知是因为安装了 Android studio (还是 Android SDK )导致出现了非常多的内核漏洞(CVE*****)。”
安装应用程序不可能增加内核漏洞。要么内核漏洞一直有,要么没有。
“如果长期使用该内核版本,会有什么影响吗?”
没有太大的影响。但 5.10.x 系列可能会 eol。到时候再往上升级即可。
我这种懒人,现在用的是最新的长期支持内核 4.19.x。求新,喜欢搞的,可以上 mainline 内核(现在是 5.2-rc )
“ Linux 使用不支持的内核会有什么影响?”
5.1.x 目前是受支持的内核啊,5.0.x 确实 eol 了。而且你的帖子内容是“ Ubuntu 使用不支持的内核”而不是“ Linux 使用不支持的内核”。对于前者,你的内核得不到 c 社的支持,仅此而已。

貌似目前 Ubuntu1804LTS 搭配的内核版本是 4.15,就是说非 4.15 的内核都无法使用 live patch 了?

疑问同上. 多问一句, 有两全其美的办法吗 ? 既可使用 live patch 又升级内核


1. 那几个 CVE 都是和 Android 有关的. 具体没截图,故不纠结它了. 在安装 Android 相关环境之前,live patch 是可正常工作的.
2. 没有什么影响就好, 但看楼下的回复说会影响 live patch 的使用,不知道如何解决
3. 嗯,这个确实是我的表达有问题.

了解了下,好像 live patch 对个人桌面的重要性不是特别大,所以上面的疑问也可以无需解答啦. 感谢各位的解惑.

live path 是什么…
同 ubuntu1804 安装 Android studio 没发现有什么问题

系统打补丁不用重启系统。https://ubuntu.com/livepatch

在线应用内核补丁的工具,在内核更改不大的时候可以省掉重启应用更新

你的 4.15.0 和 5.1.0 一样新,装 5.1.0 在漏洞上并不见得是「升级」。
linux-image-4.15.0-51-generic
linux-signed (4.15.0-51.55)
Wed, 15 May 2019 16:11:29 +0200
你 5.1 是什么版本?
只有当前版本才会得到最好的支持,其他版本都不行。建议你老老实实换回来,当前版本才是漏洞最少的。

5.1.0-050100-generic

linux-image-unsigned-5.1.0-050100-generic_5.1.0-050100.201905052130_amd64.deb
2019.05.05 的,比现在 Ubuntu 的 4.15.0 要旧呢。

我是在 Ubuntu 的 kernel mainline 找的, v4.15 是 2018.02.01,而 5.1.0 是 2019.05.06 呀
https://kernel.ubuntu.com/~kernel-ppa/mainline/

系统自带的又不是 mainline,是他们内核团队自己维护的 LTS 啊,你去比 mainline 干什么。
mainline 本来就不是给普通人用的,一般是给开发者测试新内核用的。
By default, Ubuntu systems run with the Ubuntu kernels provided by the Ubuntu repositories. However it is handy to be able to test with unmodified upstream kernels to help locate problems in Ubuntu kernel patches, or to confirm that upstream has fixed a specific issue. To this end we now offer select upstream kernel builds. These kernels are made from unmodified kernel source but using the Ubuntu kernel configuration files. These are then packaged as Ubuntu .deb files for simple installation, saving you the time of compiling kernels, and debugging build issues.
你如果不是测试内核补丁,或者不是来定位内核 Bug 的话,那就不应该去用 mainline 版。
你看看这里:
http://changelogs.ubuntu.com/changelogs/pool/main/l/linux-signed/linux-signed_4.15.0-51.55/changelog

这么说的,只能去手动修复 qemu-kvm 的漏洞了

一般跟着 Ubuntu 升级就足够了,重要的不重要的漏洞官方都会补掉的。

另外我还是不太清楚你是怎么得到有很多 CVE 的结论的。我只知道以前很多测漏洞的脚本只看主版本而不看漏洞补丁版本,以前一个客户就和我们说 Apache 2.4.x 是有很多 CVE 的,我们说你这些 CVE 全都补掉了,这是 Ubuntu 维护的补丁版,不是原版。

像 qemu-kvm 这种自己安装的包导致的漏洞,官方也会补?自从安装了那个 kvm 之后,live patch 都因为漏洞停止工作了,状态为 off

是用的 sudo canonical-livepatch status --verbose 这个命令
然后 need fixs 就出现了好几个 cve
https://i.loli.net/2019/06/16/5d05372d2113425547.jpg

qemu 的漏洞我不太清楚,但是这个包还是一直在收到安全更新的,你可以看看这里。
http://changelogs.ubuntu.com/changelogs/pool/main/q/qemu/qemu_2.11+dfsg-1ubuntu7.14/changelog
然后如果 livepatch 不能用的话,手动更新 kernel 包然后重启也是可以的,livepatch 只是让你不重启也能享受到小规模的内核安全更新(更新比较大的话还是要重启的)。
总之 livepatch 的底线就是你使用 Ubuntu 自己的内核( 4.15 ),至于为什么 apply-failed,需要你去查日志,看到底是为什么 failed 的,然后再做决定。

嗯嗯 ,live patch 的日志我用 grep livepatch /var/log/syslogs 查看后返回的是空,才决定直接升级内核到 5.1.0

另外我看了一下,livepatch 只更新重要的安全补丁,普通的补丁还是要你自己安装新版内核然后重启生效的。所以如果不是纠结这个的话,还是老老实实安装新的 4.15 然后重启吧。

4.19.x。当然不建议用 mainland 内核。
长期支持内核经过了足够测试,足够稳定。
发行版的内核版本很旧,可能有一些 bug,本来这些 bug 已经在上游修复了,但并非所有的 bug 都能反向移植修复。使用长期支持内核可以修正很多 bug。
比如 Ubuntu 的稳定内核,amdgpu 内核模块在 tlp 启用下插拔电源后 panic 的 bug 还没修,上游不知道修好都多长时间了。
//另一个是目前旧内核因为版本很旧,虽然反向移植了 Intel 漏洞补丁,但没法禁用全部 Intel 漏洞修复。但是上游的那些内核可以禁用大部分以救回一些性能。

qemu-kvm 是 Ubuntu 提供的吗,是的话会补(只要你的系统版本还受支持)

KVM 内核模块。那个是跟着内核的。内核升级即可。
qemu-kvm 只是 qemu 的 kvm 后端,不是 kvm。

你的意思,升级为 4.19 的内核会比 5.1 的更好点,而且还能得到 live patch 的支持?
`sudo apt-get install qemu-kvm` 安装的

要用官方 LTS 而不是 Ubuntu LTS 的话,那还不如用 Debian 了。
我觉得既然选择了 Ubuntu 那就应该全套使用 Ubuntu,要么就索性都不用。
按理说重要的 Bug 都会移植的,如果没有移植的话可以找他们问问看。
(所以我选择 Debian→_→)

livepatch 必须使用 Ubuntu 团队维护的内核。
4.19.x 是内核官方(上游)维护的长期支持内核。
Ubuntu 的维护者从上游拿到源码,进行自己的修改,然后打包发给用户。
你可以理解是,源码从 linus 维护的主线分支出来,倒了好几次手,最终到你手上。因此旧是正常的,好处是受 Ubuntu 团队支持。
开源世界里,“开发者”和“打包者”可能并不是一个人 /团队。
======
那么你的 qemu-kvm 会得到 Ubuntu 团队的漏洞修复。

明白了. 总体的影响不是很大. live patch 只是接收 Ubuntu 官方推送的补丁进行修复,但是这些补丁,我们自己手动修复也可以. 4.15 的内核我还留着,当时候看看. 谢谢你的解答

数据地带为您的网站提供全球顶级IDC资源
在线咨询
专属客服