我在 Xen 服务器上使用 Debian jessie,现在我担心这个问题CVE-2016-10229:
4.5 之前的 Linux 内核中的 udp.c 允许远程攻击者通过 UDP 流量执行任意代码,在使用 MSG_PEEK 标志执行 recv 系统调用期间触发不安全的第二个校验和计算。
我想检查我的服务器和虚拟机上的问题是否已解决
在 Dom0 上:
$ uname -a
Linux xen-eclabs 4.5.0-1-amd64 #1 SMP Debian 4.5.1-1 (2016-04-14) x86_64 GNU/Linux
$ dpkg -l |grep linux-
ii linux-base 3.5 all Linux image base package
ii linux-image-3.16.0-4-amd64 3.16.39-1+deb8u2 amd64 Linux 3.16 for 64-bit PCs
ii linux-image-4.3.0-1-amd64 4.3.3-7 amd64 Linux 4.3 for 64-bit PCs
ii linux-image-4.5.0-1-amd64 4.5.1-1 amd64 Linux 4.5 for 64-bit PCs
ii linux-image-amd64 3.16+63 amd64 Linux for 64-bit PCs (meta-package)
ii xen-linux-system-4.3.0-1-amd64 4.3.3-7 amd64 Xen system with Linux 4.3 on 64-bit PCs (meta-package)
ii xen-linux-system-4.5.0-1-amd64 4.5.1-1 amd64 Xen system with Linux 4.5 on 64-bit PCs (meta-package)
ii xen-linux-system-amd64 4.5+72 amd64 Xen system with Linux for 64-bit PCs (meta-package)
该网站称,它已修复在名为“linux”的包中,在 jessie 3.16.39-1 中
但是这个包“linux”是哪个?我没有安装那个简单地称为“linux”的软件包?
我如何理解这种联系?
答案1
您已经安装了两个支持 XEN linux 的内核版本,即 4.3.3-7 和 4.5.1-1,以及常规的非 XEN 生产内核 3.16.0-4、4.3.3-7 和 4.5.1-1 。
amd64(64 位 PC)的常规内核包是linux-image*-amd64
,启用 XEN 的内核包是xen-linux-system*-amd64
。
根据您的清单,相应的 XEN 软件包是:
xen-linux-system-4.3.0-1-amd64, 4.3.3-7
xen-linux-system-4.5.0-1-amd64, 4.5.1-1
从您的输出看来uname
,4.5 版本处于活动状态,这意味着您不容易受到攻击。
尽管如此,虽然内核日志显示它已被 v4.5-rc1 修复,但如果 Debian 日志显示只有 3.16.39-1 存在漏洞,则意味着修复程序已向后移植到旧版本源代码,就像他们过去所做的那样。
尽管如此,您始终可以使用以下命令卸载旧内核版本:
sudo dpkg --purge xen-linux-system-4.3.0-1-amd64
答案2
uname -r
不显示已安装的内核版本,仅显示“内核发布”
你uname -v
会看到已安装的版本
(在长字符串的右边uname -a
)
更新 XEN VM 内的内核
在 VM 的配置文件中,/etc/xen/*.cfg
您必须编辑kernel
和ramdisk
参数以匹配 Dom0 中的新内核。
然后:
1.其中之一与 Pygrub 一起安装:
uname -v
#1 SMP Debian 3.16.39-1+deb8u2 (2017-03-07)
这样人们就已经通过常规的方式获得了安全apt-get upgrade
在没有 Pygrub 的虚拟机中,我必须关闭虚拟机并将启动文件复制到/boot/
虚拟机内的文件夹中:
xl shutdown vmtest
mount /dev/vg0/vmtest-disk /mnt/
cp /boot/*4.5* /mnt/boot/
xen create /etc/xen/vmtest.cfg
3.
有些虚拟机里面没有启动文件/boot/
,我什么也没做,只是重新创建了虚拟机