https://blog.csdn.net/youshijifen/article/details/73472434

 

近期,国家互联网应急中心漏洞(CNCERT)公告中提到Linux kernel4个拒绝服务漏洞,对应CNVD-2017-07509、CNVD-2017-07508、CNVD-2017-07507、CNVD-2017-07386)。综合利用上述漏洞,攻击者可使系统拒绝服务,且在符合一定利用条件下可能导致远程命令执行。设计到的内核版本从3.0到4.99,详细信息可以到国家互联网应急中心官网公告查看,随后官方给出了代码修复,用户重新编译内核到最新即可解决此次漏洞。

 

www.kernel.org内核官网下载4.12-RC5内核包

接下来我把自己虚拟机3.0内核升级到4.12

wgethttps://git.kernel.org/torvalds/t/linux-4.12-rc5.tar.gz --no-check-certificate

这里使用Xshell通过ssh连接虚拟机。官网是https协议传输,使用wget下载时容易报错,在最后加  --no-check-certificate 参数即可解决。

使用tar –xvf解压到本地

安装系统时选择的是最小安装法,导致还会有一些基本的工具没装,这里使用

yum grouplist去检测程序所有安装包情况

这里使用yum groupinstall Development tools安装开发工具,这是一个包含众多小工具例如:binutils、bison、flex、gcc、gcc-c++、gettext、libtool等等,以避免后面对内核进行编译时出现错误。这是已经安装后的。

 

 

yum install hmaccalc zlib-develbinutils-devel elfutils-libelf-devel

来安装其它依赖工具,我这是已经安装过后。如果提示要安装,安装即可。

 

开始准备编译内核

make mrproper 删除不必要的文件和目录。

把旧版本内核的配置文件复制并命名为.config,这样新编译内核就会使用原来的配置文件

make  bzImage  开始编译,一路回车

 

解决报错:

yum install openssl  

yum install openssl-devel

make   编译,需要较长时间

make modules文件编码模块,也需要等待较长一段时间

make modules_install  安装模块

make install

我们知道,centos 6.x是通过/etc/grub.conf就行内核启动顺序修改的,而且比较直观查看。但centos 7的系统和6就不一样了,是通过grub2为引导程序。下边简单说下centos 7的内核启动顺序如何修改。
1,首先查看当前系统有几个内核。比如:

cat /boot/grub2/grub.cfg |grep menuentry

2,设置默认的启动内核,选择CentOS Linux (4.12.0-rc5)7 (Core)这个内核为默认启动。

grub2-set-default "CentOS Linux (3.10.0-327.el7.x86_64)7 (Core)

验证是否修改成功:grub2-editenv list

3,重启机器观察。
重启成功以后查看下机器的内核是不是该内核:

在虚拟机启动的时候出现多个内核引导项,选第一个进入系统

进入系统后查看内核版本,成功升级成4.12

 

 

posted on 2018-09-16 10:10  Dave.Xu  阅读(170)  评论(0编辑  收藏  举报