免责声明:本文档可能包含第三方产品信息,该信息仅供参考。阿里云对第三方产品的性能、可靠性以及操作可能带来的潜在影响,不做任何暗示或其他形式的承诺。
概述
本文主要介绍Linux镜像如何开启或关闭Meltdown与Spectre安全漏洞补丁。
详细信息
阿里云提醒您:
- 如果您对实例或数据有修改、变更等风险操作,务必注意实例的容灾、容错能力,确保数据安全。
- 如果您对实例(包括但不限于ECS、RDS)等进行配置与数据修改,建议提前创建快照或开启RDS日志备份等功能。
- 如果您在阿里云平台授权或者提交过登录账号、密码等安全信息,建议您及时修改。
Meltdown与Spectre(中文名称为熔断和幽灵)存在于英特尔(Intel)处理器芯片的安全漏洞,该漏洞源于芯片硬件层面的设计缺陷,可导致操作系统内核信息泄露、应用程序越权访问系统内核数据等问题。如下三种为漏洞编号请在CVE网站中搜索查看。
- CVE-2017-5753
- CVE-2017-5715
- CVE-2017-5754
阿里云于2018年1月20日发布了安全漏洞公告,漏洞风险详情及影响范围。本文主要介绍阿里云提供的公共镜像(GuestOS)安全补丁设置方法,及如何根据具体情况配置操作系统。默认安全策略如下所示。
- 对Meltdown漏洞默认采取PTI ON(Page Table Isolation)开启措施,打开Meltdown安全漏洞补丁。
- 对Spectre漏洞默认采取NOIBRS(No Indirect Branch Restricted Speculation)禁止间接分支限制推测措施,结合Reptpoline和IBPB(Indirect Branch Prediction Barriers)的限制策略。
如何开启或者关闭Meltdown安全漏洞补丁
以下几种镜像为已经打开Meltdown安全漏洞补丁(采取PTI ON措施)的公共镜像,镜像将随着阿里云公共镜像的更新而发生变化。
- CentOS 7.5/7.6
- Debian 9.6/8.10
- Red Hat 7.5/7.6
- SUSE Linux 15
- Ubuntu 18.04
- CoreOS 1911.3.0
- FreeBSD 11.2
- OpenSUSE 15
如果您认为开启PTI ON对实例性能有影响,或者您有其他防护措施,可以根据以下步骤关闭PTI ON。
注:如何添加或修改内核参数,请参阅各Linux发行版对应的官方网站。
- 远程连接并登录Linux实例。
- 请根据现场情况,选择以下对应的步骤。
- CentOS、Debian、OpenSUSE、Red Hat、SUSE Linux和Ubuntu系统,添加内核参数
nopti
。 - CoreOS系统,执行
vi /usr/share/oem/grub.cfg
命令,在grub.cfg配置文件中添加pti=off
。 - FreeBSD系统,执行
vi /boot/loader.conf
命令,在配置文件中添加vm.pmap.pti=0
。
- CentOS、Debian、OpenSUSE、Red Hat、SUSE Linux和Ubuntu系统,添加内核参数
- 重启实例。
如何开启或者关闭Spectre安全漏洞补丁
阿里云目前支持IBRS和IBPB输出。公共镜像默认通过Reptpoline和IBPB (Indirect Branch Prediction Barriers)的限制策略对Spectre漏洞进行防护,同时通过noibrs参数禁用了IBPB。以下几种镜像为涉及的公共镜像,镜像将随着阿里云公共镜像的更新而发生变化。
- CentOS 7.5/7.6
- Debian 9.6/8.10
- Red Hat 7.5/7.6
- SUSE Linux 15
- Ubuntu 18.04
- CoreOS 1911.3.0
- FreeBSD 11.2
- OpenSUSE 15
如果您需要恢复操作系统的默认设置,或者认为当前设置对性能有影响,若您有其他防护措施需要关闭Spectre安全漏洞补丁,请按照以下步骤做相应的修改。
注:如何添加或修改内核参数,请参阅各Linux发行版对应的官方网站。
- 远程连接并登录Linux实例。
- 请根据现场情况,选择以下对应的操作。
发行平台 如何恢复阿里云默认设置 如何恢复操作系统默认设置 如何关闭Spectre漏洞补丁 CentOS 添加内核参数noibrs 删除内核参数noibrs 添加内核参数spectre_v2=off Red Hat CoreOS 运行 vi /usr/oem/share/grub.cfg
在grub.cfg配置文件中添加内核参数spectre_v2=off删除内核参数spectre_v2=off OpenSUSE 添加内核参数spectre_v2=off Debian 已默认开启retpoline与ibpb防护措施 无需修改 Ubuntu SUSE Linux 已默认开启retpoline防护措施 FreeBSD 添加内核参数hw.ibrs_disable 删除内核参数hw.ibrs_disable 添加内核参数hw.ibrs_disable 说明:内核参数
noibrs
对OpenSUSE和CoreOS操作系统无效,您需要通过设置spectre_v2=off
添加防护措施。 - 重启实例。
如何检测是否开启防护
- 远程连接并登录Linux实例。
- 在GitHub spectre-meltdown-checker Repo获取spectre-meltdown-checker.sh检测脚本。
- 依次执行如下命令,添加执行权限并运行脚本。
chmod +x spectre-meltdown-checker.sh sudo bash spectre-meltdown-checker.sh
- 根据脚本提示判断是否已开启Meltdown或Spectre防护。
相关文档
若您使用的是下列操作系统,可以前往官网了解更多信息。
- Red Hat
- SUSE Linux
- Ubuntu
适用于
- 云服务器 ECS