Xen 서버에서 Debian jessie를 사용하고 있는데 이제 이 문제가 걱정됩니다.CVE-2016-10229:
4.5 이전 Linux 커널의 udp.c를 사용하면 원격 공격자가 UDP 트래픽을 통해 MSG_PEEK 플래그를 사용하여 recv 시스템 호출을 실행하는 동안 안전하지 않은 두 번째 체크섬 계산을 트리거하는 임의 코드를 실행할 수 있습니다.
내 서버와 VM에서 문제가 해결되었는지 확인하고 싶습니다.
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)
사이트에 따르면 jessie 3.16.39-1의 "linux"라는 패키지에서 수정되었습니다.
그런데 이 "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에 의해 수정되었다고 나와 있지만, 데비안 로그에 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의 구성 파일에서 Dom0의 새 커널과 일치하도록 및 매개변수를 /etc/xen/*.cfg
편집해야 합니다 .kernel
ramdisk
그 다음에:
1.그 중 하나는 Pygrub과 함께 설치됩니다.
uname -v
#1 SMP Debian 3.16.39-1+deb8u2 (2017-03-07)
그래서 이미 정기적인 검사를 통해 안전해졌습니다.apt-get upgrade
Pygrub이 없는 VM에서는 VM을 종료하고 부팅 파일을 /boot/
VM 내부 폴더에 복사해야 했습니다.
xl shutdown vmtest
mount /dev/vg0/vmtest-disk /mnt/
cp /boot/*4.5* /mnt/boot/
xen create /etc/xen/vmtest.cfg
삼.
일부 vms에는 내부에 부팅 파일이 없었습니다 /boot/
. 거기서는 아무것도 하지 않고 vm을 다시 만들었습니다.