1. 说明
正在使用的阿里云服务器报了几个内核漏铜,使用自带【一键修复】需要额外的支付费用,所以尝试采用升级系统内核的方式来修复漏洞。
1.1 服务器参数
操作系统:CentOS 7.4 64位
当前内核版本:Linux 3.10.0
1.2 ELRepo
ELRepo是一个为Linux提供驱动程序和内核映像的存储库。
这里的升级方案就是采用ELRepo提供的内核通道。
ELRepo官网:http://elrepo.org/tiki/tiki-index.php
2. 升级内核
2.1 当前内核版本
说明:可以看到当前服务器的内核版本为3.10.0,Linux提供的内核信息可以访问此网站:https://www.kernel.org/
$ uname -mrs Linux 3.10.0-693.2.2.el7.x86_64 x86_64
2.2 导入ELRepo公钥
$ rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
2.3 安装ELRepo
说明:因当前服务器的操作系统为CentOS7.4,所以采用此安装包。其他操作系统版本安装方式可去ELRepo官网查看。
$ yum install https://www.elrepo.org/elrepo-release-7.0-4.el7.elrepo.noarch.rpm
2.4 查看ELRepo提供的内核版本
$ yum --disablerepo="*" --enablerepo="elrepo-kernel" list available
显示:
kernel-lt:表示longterm,即长期支持的内核;当前为4.4.*。
kernel-ml:表示mainline,即当前主线的内核;当前为5.2.*
2.5 安装kernel-lt内核
$ yum --disablerepo='*' --enablerepo=elrepo-kernel install kernel-lt
2.6 查看启动器
$ awk -F\' '$1=="menuentry " {print i++ " : " $2}' /etc/grub2.cfg 0 : CentOS Linux (4.4.186-1.el7.elrepo.x86_64) 7 (Core) 1 : CentOS Linux (3.10.0-957.27.2.el7.x86_64) 7 (Core) 2 : CentOS Linux (3.10.0-957.21.3.el7.x86_64) 7 (Core)
2.7 设置默认启动为新内核
$ grub2-set-default 0
2.8 重启
说明:重启后发现内核版本已变更为 4.4.186。
$ reboot $ uname -mrs Linux 4.4.186-1.el7.elrepo.x86_64 x86_64
3. 修复ecs漏洞
说明:除了升级内核外,还可以通过更新rpm软件包的形式来修复漏洞。
3.1 检查可更新的rpm包
$ yum check-update
3.2 更新所有的rpm包
$ yum update
说明:更新所有rpm包是一种粗狂的解决方案,实际中可指定rmp包进行单独更新。