YUM(Yellowdog Updater Modified)是一个强大的包管理工具,可以用来安装、更新、删除软件包,以及管理软件包仓库,进行安全更新操作对于保持系统安全至关重要。Alibaba Cloud Linux发行版为保障系统的安全性,会紧密跟进业界与社区发现的软件问题及安全漏洞(CVE),及时更新包括内核在内的软件包、修复软件缺陷、修补安全漏洞以及增强安全功能。本文主要介绍如何使用yum查询、检查以及安装Alibaba Cloud Linux操作系统的安全更新。
前提条件
已创建了操作系统为Alibaba Cloud Linux的ECS实例。具体操作,请参见实例创建方式介绍。
背景信息
关于Alibaba Cloud Linux安全更新记录,请参见Alibaba Cloud Linux 3安全公告和Alibaba Cloud Linux 2安全公告。
Alibaba Cloud Linux安全更新根据CVE的通用漏洞评估方法(CVSS3)的评分,将安全更新分为以下四个等级:
Critical:高风险,必须更新
Important:较高风险,强烈建议更新
Moderate:中等风险,推荐更新
Low:低风险,可选更新
查询安全更新
查询安全更新的yum命令格式如下。
yum updateinfo <command> [option]
yum updateinfo
命令用于显示与软件包更新相关的信息。包括哪些更新是安全更新、哪些是缺陷修复更新、哪些是增强功能更新。此命令通常用于获取可用更新的详细信息,包括描述更新的类型、相关的CVE标识、以及可能影响的软件包。
命令内参数的取值说明如下。
变量名称 | 取值 |
<command> |
|
[option] |
|
yum updateinfo
命令相关的使用示例如下。
运行以下命令,获取命令的帮助信息。
yum updateinfo --help
运行以下命令,查询当前全部可用的安全更新信息。
yum updateinfo
查询结果示例如下所示:
Alibaba Cloud Linux 3
Last metadata expiration check: 0:06:42 ago on Wed 02 Jun 2021 03:05:30 AM EDT. Updates Information Summary: available 3 Security notice(s) 2 Important Security notice(s) 1 Moderate Security notice(s)
Alibaba Cloud Linux 2
Loaded plugins: fastestmirror Determining fastest mirrors base | 3.1 kB 00:00:00 extras | 2.5 kB 00:00:00 plus | 2.5 kB 00:00:00 updates | 2.9 kB 00:00:00 (1/6): extras/2.1903/x86_64/primary_db | 149 kB 00:00:00 (2/6): base/2.1903/x86_64/group_gz | 101 kB 00:00:00 (3/6): updates/2.1903/x86_64/updateinfo | 81 kB 00:00:00 (4/6): plus/2.1903/x86_64/primary_db | 1.5 MB 00:00:00 (5/6): base/2.1903/x86_64/primary_db | 4.9 MB 00:00:00 (6/6): updates/2.1903/x86_64/primary_db | 6.1 MB 00:00:00 Updates Information Summary: updates 17 Security notice(s) 7 Important Security notice(s) 6 Moderate Security notice(s) 4 Low Security notice(s) updateinfo summary done
运行以下命令,查询当前可用的安全更新列表。
yum updateinfo list
查询结果示例如下所示:
Alibaba Cloud Linux 3
Last metadata expiration check: 0:09:05 ago on Wed 02 Jun 2021 03:05:30 AM EDT. ALINUX3-SA-2021:0008 Moderate/Sec. gnutls-3.6.14-7.1.al8.x86_64 ALINUX3-SA-2021:0029 Important/Sec. gnutls-3.6.14-8.1.al8.x86_64 ALINUX3-SA-2021:0028 Important/Sec. libldb-2.1.3-3.1.al8.x86_64 ALINUX3-SA-2021:0029 Important/Sec. nettle-3.4.1-4.1.al8.x86_64
Alibaba Cloud Linux 2
Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile ALINUX2-SA-2019:0055 Moderate/Sec. binutils-2.27-41.base.1.al7.x86_64 ALINUX2-SA-2019:0058 Low/Sec. curl-7.29.0-54.1.al7.x86_64 ALINUX2-SA-2019:0059 Low/Sec. elfutils-default-yama-scope-0.176-2.1.al7.n ...
运行以下命令,查询指定安全更新的内容。
yum updateinfo info <update_id>
使用示例如下:
Alibaba Cloud Linux 3
例如,<update_id>的取值为
ALINUX3-SA-2021:0008
,则需要运行以下命令。yum updateinfo info ALINUX3-SA-2021:0008
查询结果示例如下所示:
Last metadata expiration check: 0:11:58 ago on Wed 02 Jun 2021 03:05:30 AM EDT. =============================================================================== ALINUX3-SA-2021:0008: gnutls security and bug fix update (Moderate) =============================================================================== Update ID: ALINUX3-SA-2021:0008 Type: security Updated: 1969-12-31 19:00:00 CVEs: CVE-2020-24659 Description: Package updates are available for Alibaba Cloud Linux 3 that fix the following vulnerabilities: : : CVE-2020-24659: : An issue was discovered in GnuTLS before 3.6.15. A server can trigger a NULL pointer dereference in a TLS 1.3 client if a no_renegotiation alert is sent with unexpected timing, and then an invalid second handshake occurs. The crash happens in the application's error handling path, where the gnutls_deinit function is called after detecting a handshake failure. : Severity: Moderate
Alibaba Cloud Linux 2
例如,<update_id>的取值为
ALINUX2-SA-2020:0005
,则需要运行以下命令。yum updateinfo info ALINUX2-SA-2020:0005
查询结果示例如下所示:
Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile =============================================================================== ALINUX2-SA-2020:0005: nss, nss-softokn, nss-util security update (Important) =============================================================================== Update ID : ALINUX2-SA-2020:0005 Release : Alibaba Cloud Linux 2.1903 Type : security Status : stable Issued : 2020-01-03 CVEs : CVE-2019-11729 : CVE-2019-11745 Description : Package updates are available for Alibaba Cloud Linux 2.1903 that fix : the following vulnerabilities: : : CVE-2019-11729: : Empty or malformed p256-ECDH public keys may : trigger a segmentation fault due values being : improperly sanitized before being copied into : memory and used. This vulnerability affects : Firefox ESR < 60.8, Firefox < 68, and Thunderbird : < 60.8. : : CVE-2019-11745: : When encrypting with a block cipher, if a call to : NSC_EncryptUpdate was made with data smaller than : the block size, a small out of bounds write could : occur. This could have caused heap corruption and : a potentially exploitable crash. This : vulnerability affects Thunderbird < 68.3, Firefox : ESR < 68.3, and Firefox < 71. : Severity : Important updateinfo info done
运行以下命令,指定安全更新级别进行查询。
yum updateinfo list --sec-severity=Moderate
查询结果示例如下所示:
Last metadata expiration check: 0:05:25 ago on Mon 07 Jun 2021 09:08:25 AM EDT. ALINUX3-SA-2021:0008 Moderate/Sec. gnutls-3.6.14-7.1.al8.x86_64
检查安全更新
Alibaba Cloud Linux操作系统中默认安装并开启了update-motd
服务,当系统检测有可用的安全更新时,会在您登录ECS实例时显示安全更新的提醒。关于update-motd
服务的管理操作,请参见管理update-motd服务。
您也可以通过yum check-update --security
命令检查系统当前可用的安全更新信息。可以在命令后追加参数--sec-severity=<SEVS>
来检查指定级别的安全更新,参数<SEVS>为指定的安全更新级别。
您可以指定多个安全更新的级别,以半角逗号(,)分隔,区分大小写。
检查安全更新的使用示例如下。
Alibaba Cloud Linux 3
示例一:运行以下命令,检查所有安全更新信息。
yum check-update --security
查询结果示例如下所示:
Last metadata expiration check: 0:08:41 ago on Wed 02 Jun 2021 05:24:55 PM CST. nss.x86_64 3.53.1-17.1.al8 alinux3-updates nss-softokn.x86_64 3.53.1-17.1.al8 alinux3-updates nss-softokn-freebl.x86_64 3.53.1-17.1.al8 alinux3-updates nss-sysinit.x86_64 3.53.1-17.1.al8 alinux3-updates nss-util.x86_64 3.53.1-17.1.al8 alinux3-updates perl-Errno.x86_64 1.28-417.2.al8 alinux3-updates perl-IO.x86_64 1.38-417.2.al8 alinux3-updates
示例二:运行以下命令,检查高风险和较高风险的安全更新信息。
yum check-update --security --sec-severity={Critical,Important}
查询结果示例如下所示:
Last metadata expiration check: 0:10:23 ago on Wed 02 Jun 2021 05:24:55 PM CST. gnutls.x86_64 3.6.14-8.2.al8 alinux3-updates nss.x86_64 3.53.1-17.1.al8 alinux3-updates nss-softokn.x86_64 3.53.1-17.1.al8 alinux3-updates nss-softokn-freebl.x86_64 3.53.1-17.1.al8 alinux3-updates nss-sysinit.x86_64 3.53.1-17.1.al8 alinux3-updates nss-util.x86_64 3.53.1-17.1.al8 alinux3-updates perl-Errno.x86_64 1.28-417.2.al8 alinux3-updates perl-IO.x86_64 1.38-417.2.al8 alinux3-updates
Alibaba Cloud Linux 2
示例一:运行以下命令,检查状态为
available
的所有安全更新信息。yum check-update --security |grep available
查询结果示例如下所示:
49 package(s) needed for security, out of 183 available
示例二:运行以下命令,检查状态为
available
的高风险和较高风险的安全更新信息。yum check-update --security --secseverity=Critical,Important |grep available
查询结果示例如下所示:
30 package(s) needed for security, out of 183 available
安装安全更新
检查系统中有安全更新时,您可以通过yum upgrade
命令指定安全更新级别或者CVE ID,安装安全更新。
通过命令yum upgrade
进行安装安全更新会强制删除过时的软件包(内核包除外),可能造成您的实例停止工作,导致业务中断,建议您在非业务高峰期时执行该操作。
命令
yum upgrade --security
可以安装安全更新,可在该命令后追加参数--sec-severity=<SEVS>
来安装指定级别的安全更新,<SEVS>为指定的安全更新级别。说明您可以指定多个安全更新的级别,以半角逗号(,)分隔,区分大小写。
使用示例如下:
运行以下命令,安装高风险和较高风险的安全更新。
sudo yum upgrade --security --sec-severity={Critical,Important}
安装过程中的回显信息示例如下所示:
Alibaba Cloud Linux 3
Last metadata expiration check: 0:06:43 ago on Wed 02 Jun 2021 03:51:48 AM EDT. Dependencies resolved. ================================================================================ Package Arch Version Repository Size ================================================================================ Upgrading: ... Transaction Summary ================================================================================ Upgrade 12 Packages Total download size: 3.9 M Is this ok [y/N]:
Alibaba Cloud Linux 2
Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile ... [snipped] ... Transaction Summary ============================================================================================================================================================================= Upgrade 30 Packages (+1 Dependent package) Total download size: 91 M Is this ok [y/d/N]:
命令
yum upgrade -cve=<CVE ID>
可以安装指定CVE的安全更新,参数-cve=<CVE ID>
为指定的CVE ID。说明您可以指定多个CVE ID,以半角逗号(,)分隔,区分大小写。
使用示例如下:
Alibaba Cloud Linux 3
运行以下命令,安装
CVE-2020-24659
安全更新。sudo yum upgrade --cve=CVE-2020-24659
安装过程中的回显信息示例如下所示:
Last metadata expiration check: 0:02:44 ago on Wed 02 Jun 2021 04:17:27 AM EDT. Dependencies resolved. ===================================================================================== Package Architecture Version Repository Size ===================================================================================== Upgrading: ... Transaction Summary ===================================================================================== Upgrade 1 Package Total download size: 1.0 M Is this ok [y/N]
Alibaba Cloud Linux 2
运行以下命令,安装
CVE-2019-11729
和CVE-2019-11745
安全更新。sudo yum upgrade --cve=CVE-2019-11729,CVE-2019-11745
安装过程中的回显信息示例如下所示:
Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile ... [snipped] ... Dependencies Resolved ============================================================================================================================================================================= Package Arch Version Repository Size ============================================================================================================================================================================= Updating: nss x86_64 3.44.0-7.1.al7 updates 854 k nss-softokn x86_64 3.44.0-8.1.al7 updates 330 k nss-softokn-freebl x86_64 3.44.0-8.1.al7 updates 225 k nss-sysinit x86_64 3.44.0-7.1.al7 updates 65 k nss-tools x86_64 3.44.0-7.1.al7 updates 528 k nss-util x86_64 3.44.0-4.1.al7 updates 79 k Updating for dependencies: nspr x86_64 4.21.0-1.1.al7 updates 127 k Transaction Summary ============================================================================================================================================================================= Upgrade 6 Packages (+1 Dependent package) Total download size: 2.2 M Is this ok [y/d/N]:
说明通过命令
man yum
可知,sudo yum upgrade
命令等同于sudo yum update --obsoletes
。因配置文件/etc/yum.conf中默认开启了obsoletes
,所以sudo yum upgrade
也等同于sudo yum update
。
管理update-motd
服务
您可以通过systemctl
命令管理update-motd
服务。具体说明如下:
启动
update-motd
服务。sudo systemctl start update-motd
停止
update-motd
服务。sudo systemctl stop update-motd
重启
update-motd
服务。sudo systemctl restart update-motd
查看
update-motd
服务状态。systemctl status update-motd