【摘录】centos脏牛漏洞修复

原创 小新  2016-11-08 20:30:46  阅读 410 次 评论 0 条
这个漏洞一出来,影响力和之前的心脏出血有得一比啊!这个漏洞存在长达9年,一直被公布出来,最后还是在今年有人发现将之公布了。之前公布时,官方一直还没有发布修复的方法,今晚查了一下,发现已经公布了,从公布到修复半个月的时间,也这样了,这是内核级的漏洞。今晚把手上的几台CentOS全给修复了。以免发生问题。

【摘录】centos脏牛漏洞修复 引用内容
2016年10月20日,Linux内核团队修复了长达9年的0day漏洞-CVE-2016-5195,该漏洞被称为“脏牛漏洞(DirtyCOW)”,漏洞是由于Linux 内核的内存子系统在处理 Copy-on-Write 时出现竞争条件(漏洞),导致私有的只读内存映射被破坏、获取读写权限后进一步提权,影响范围较大。

更多的系统版本修复方法,可以到阿里云哪边看一下。https://bbs.aliyun.com/read/297492.html
下面这个检测脚本是从redhat官网下载的,如果不清楚自己的服务器是否存在漏洞,可以点击下载回来上传到你自己的服务器上进行检测一下。
【摘录】centos脏牛漏洞修复 点击下载此文件
也可以到官方网站进行下载:https://access.redhat.com/security/vulnerabilities/2706661

漏洞修复方式:
一. CentOS系统
修复准备
1、正确关闭您的业务服务,并做好数据备份工作;
2、修复前对服务器创建快照,避免修复失败造成不可逆的影响

修复方式
CentOS 5/6/7 系列操作系统 阿里云已经更新了CentOS 5/6/7 Aliyun mirror源,在默认配置下,您可以更新软件列表,随后按照以下步骤升级内核:
一.检查是否有内核升级包:yum check-update |grep kernel
二.升级内核:yum update kernel
三.确认下新版本的内核或 initrd/initramfs 是否有xen-vbd和virtio_blk驱动:
#lsinitrd /boot/initramfs-2.6.32-642.6.2.el6.x86_64.img |grep -i -E 'xen-blkfront|virtio_blk'
-rwxr--r-- 1 root root 23448 Nov 4 16:21 lib/modules/2.6.32-642.6.2.el6.x86_64/kernel/drivers/block/virtio_blk.ko
-rwxr--r-- 1 root root 54888 Nov 4 16:21 lib/modules/2.6.32-642.6.2.el6.x86_64/kernel/drivers/block/xen-blkfront.ko
注:我在修复一台服务器时,是一台服务器的是运行上面的lsinitrd命令是没有出现相关的驱动的,可以用下面的命令测试一下,如果OK,可以重启后,再用redhat提供的脚本进行检测一下。
#rpm -q --changelog kernel | grep 'CVE-2016-5195'
- [mm] close FOLL MAP_PRIVATE race (Larry Woodman) [1385116 1385117] {CVE-2016-5195}

四.如果有,则可以重启

五.如果没有,则需要给initrd/initramfs安装驱动,然后执行第三步后重启:
centos 5:
#mkinitrd -f --allow-missing \
--with=xen-vbd --preload=xen-vbd \
--with=xen-platform-pci --preload=xen-platform-pci \
--with=virtio_blk --preload=virtio_blk \
--with=virtio_pci --preload=virtio_pci \
--with=virtio_console --preload=virtio_console \
--with=hvc_console --preload=hvc_console \
$target_initrd $vmlinuz(表示内核版本号)
(具体是版本而定,可以到cd /boot/ 目录下面查看,替换$target_initrd $vmlinuz)

centos 6、7 :
#mkinitrd -f --allow-missing \
--with=xen-blkfront --preload=xen-blkfront \
--with=virtio_blk --preload=virtio_blk \
--with=virtio_pci --preload=virtio_pci \
--with=virtio_console --preload=virtio_console \
$target_initrd $vmlinuz
(具体是版本而定,可以到cd /boot/ 目录下面查看,替换$target_initrd $vmlinuz)
样例:
#mkinitrd -f --allow-missing --with=xen-blkfront --preload=xen-blkfront --with=virtio_blk --preload=virtio_blk --with=virtio_pci --preload=virtio_pci --with=virtio_console --preload=virtio_console initramfs-2.6.32-642.6.2.el6.x86_64.img 2.6.32-642.6.2.el6.x86_64

六.执行后,查看是否有驱动,然后重启系
# lsinitrd /boot/initramfs-2.6.32-642.6.2.el6.x86_64.img |grep -i -E 'xen-blkfront|virtio_blk'
-rwxr--r-- 1 root root 23448 Nov 4 16:21 lib/modules/2.6.32-642.6.2.el6.x86_64/kernel/drivers/block/virtio_blk.ko
-rwxr--r-- 1 root root 54888 Nov 4 16:21 lib/modules/2.6.32-642.6.2.el6.x86_64/kernel/drivers/block/xen-blkfront.ko
七.查看升级后的内核版本:uname -a或者rpm -q --changelog kernel | grep 'CVE-2016-5195',也可以使用云盾安骑士验证
注:更新完毕后可能会安装两个内核,但不影响系统运行。

# uname -a
Linux iZ2ze1zpafrqftmdfh0b3cZ 2.6.32-642.6.2.el6.x86_64 #1 SMP Wed Oct 26 06:52:09 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux

#rpm -q --changelog kernel | grep 'CVE-2016-5195'
- [mm] close FOLL MAP_PRIVATE race (Larry Woodman) [1385116 1385117] {CVE-2016-5195}

修复风险:未知
需要重启:是
本文地址:https://mxlog.com/fenxiang/1463.html
版权声明:本文为原创文章,版权归 小新 所有,欢迎分享本文,转载请保留出处!

发表评论


表情

还没有留言,还不快点抢沙发?