使用Azure Update Management管理IaaS VM更新
在讲今天的主题之前,我们先看下面的截图:
没错,如果大家在4月、5月的更新中对Windows 10操作系统进行了默认全部更新,那么当您再次远程Windows Server时,会出现以上错误提示。是因为微软提升了远程桌面的安全属性,补丁号是:KB4103727。
关于详细的说明,可以参见:
https://support.microsoft.com/zh-cn/help/4093492/credssp-updates-for-cve-2018-0886-march-13-2018
最直接的解决办法就是:在Windows10电脑上卸载该补丁或者Windows 10和Windows Server中同时更新该补丁。
我的问题来了,我的Windows Server运行在Microsoft Azure中,在Azure中不提供Console功能对VM进行管理,怎么办?我并没有用卸载补丁的办法解决,而是利用平台自带的”Azure中的更新管理解决方案-Update Management”解决该问题,即″打补丁”。
Azure中的更新管理解决方案-Update Management:为部署在Azure、本地环境或其他云提供程序中的Windows和Linux计算机管理操作系统更新。可以快速评估所有代理计算机上可用更新的状态,并管理为服务器安装所需更新的过程。
可以直接通过Azure自动化帐户为虚拟机启用更新管理,还可以通过 Azure门户中的虚拟机页面为单个虚拟机启用更新管理。此方案可供Linux和Windows虚拟机使用。
由Azure Update Management托管的计算机使用以下配置执行评估和更新部署:
- 用于 Windows 或 Linux 的 Microsoft 监视代理
- 用于 Linux 的 PowerShell 所需状态配置 (DSC)
- 自动化混合 Runbook 辅助角色
- 适用于 Windows 计算机的 Microsoft 更新或 Windows Server 更新服务
下图是针对Azure Update Management的一个工作流程图,说明了该解决方案如何评估安全更新并将其应用到工作区中所有连接的Windows Server和 Linux 计算机。
在计算机执行更新符合性扫描以后,代理会将信息批量转发到 Log Analytics。 在 Windows 计算机上,符合性扫描默认情况下每 12 小时执行一次。 除了按扫描计划扫描,更新符合性扫描还会在更新安装前和更新安装后的 15 分钟内启动,前提是 Microsoft Monitoring Agent (MMA) 重新启动。 使用 Linux 计算机时,符合性扫描默认情况下每 3 小时执行一次。在重新启动 MMA 代理的情况下,15 分钟内就会启动符合性扫描。
可以通过创建计划的部署,在需要更新的计算机上部署和安装软件更新。 归类为”可选”的更新不包括在Windows计算机的部署范围内,仅必需更新包括在其内。计划的部署会显式指定计算机或根据特定的一组计算机的日志搜索结果来选择计算机组,从而定义会接收适用更新的目标计算机。也可通过指定计划来批准和指定一个时段,允许在该时段内安装更新。通过Azure自动化中的 runbook 安装更新。 无法查看这些runbook,它们不需要任何配置。 更新部署在创建时,会创建一个计划,在指定的时间为包括在内的计算机启动主更新Runbook。此主 Runbook会在每个代理上启动子Runbook,以便执行所需更新的安装。
目标计算机会按更新部署中指定的日期和时间,以并行方式执行部署。 首先会执行扫描,验证是否仍然需要更新,如果是,则会安装相应的更新。对于 WSUS 客户端计算机来说,如果更新未在WSUS中获得批准,则更新部署会失败。
Azure Update Management主要支持如下操作系统
操作系统 | 说明 |
Windows Server 2008、Windows Server 2008 R2 RTM | 仅支持更新评估 |
Windows Server 2008 R2 SP1或更高版本 | Windows PowerShell 4.0 或更高版本是必需的。为提高可靠性,建议使用 Windows PowerShell 5.1。 |
CentOS 6 (x86/x64) 和 7 (x64) | Linux 代理必须具有访问更新存储库的权限。 |
Red Hat Enterprise 6 (x86/x64) 和 7 (x64) | Linux 代理必须具有访问更新存储库的权限。 |
SUSE Linux Enterprise Server 11 (x86/x64) 和 12 (x64) | Linux 代理必须具有访问更新存储库的权限。 |
Ubuntu 12.04 LTS, 14.04 LTS, 16.04 LTS (x86/x64) | Linux 代理必须具有访问更新存储库的权限。 |
不支持Windows 7、Windows 10以及Windows Server 2016 Nano Server等操作系统。
当然如果您的企业中部署了System Center Configuration Manager,我们还可以与之集成。
使用您的有效账户登陆Azure global版本(Azure China 暂时还没有提供该功能).
启用更新管理
从Azure门户中,在左侧菜单上选择”虚拟机”,然后从列表中找到您希望进行补丁更新的服务器VM。
从VM页面中,在”操作”部分下单击”更新管理”。”启用更新管理”页随即打开。
执行验证以确定是否为该虚拟机启用了更新管理。此验证包括针对 Log Analytics工作区和链接的自动化帐户进行检查,并检查更新管理解决方案是否在工作区中。
Log Analytics工作区用于收集由功能和服务(如更新管理)生成的数据。工作区提供了一个位置来查看和分析来自多个数据源的数据。
验证过程还会检查VM是否预配了Microsoft Monitoring Agent (MMA) 和自动化混合Runbook辅助角色。此代理用于与Azure自动化进行通信并获取关于更新状态的信息。代理要求打开端口443以便与Azure自动化服务进行通信以及下载更新。
如果在载入过程中发现缺少下列任何先决条件,则会自动添加这些条件:
- Log Analytics 工作区
- 自动化帐户
- VM 上已启用混合 runbook 辅助角色
“更新管理”屏幕随即打开。配置要使用的位置、Log Analytics 工作区和自动化帐户,然后单击”启用”。如果这些字段灰显,则意味着已为VM启用其他自动化解决方案,因此必须使用同一工作区和自动化帐户。
启用解决方案最多可能需要几分钟时间。在此期间,不应关闭浏览器窗口。 启用该解决方案后,VM中缺少的更新信息会流向Log Analytics。这些数据需花费 30 分钟到 6 小时的时间才能用于分析。
查看更新评估
启用”更新管理”后,”更新管理”屏幕随即显示。 如果缺少更新,可在”缺失更新”选项卡上查看缺失更新的列表。
选择更新的”信息链接”即可在新窗口中打开更新的支持文章。 可以在此处了解有关更新的重要信息。
单击更新的其他位置会打开所选更新的”日志搜索”窗口。 日志搜索的查询是为该特定更新预定义的。可以修改此查询或创建自己的查询,以便查看环境中已部署更新或缺失更新的详细信息。
配置更新部署
单击”安排更新部署″,在”新建更新部署″屏幕中,指定以下信息:
- 名称 – 提供用于更新部署的唯一名称。
- 操作系统 – 选择更新部署的目标 OS。
- 更新分类– 选择部署中包含的更新部署的软件类型。
操作系统 | 更新类型 |
Windows | 关键更新、安全更新、更新汇总、功能包、服务包、定义更新、工具、更新 |
Linux | 关键和安全更新、其他更新 |
关于更加详细的更新描述,如下图
- 计划设置:这将打开”计划设置”页面。 默认开始时间为晚于当前时间 30 分钟。 可以将其设置为10 分钟之后的任何将来时间。还可以指定部署是发生一次还是设置定期计划。在”重复”下选择”一次”。保留默认值”1 天”,然后单击”确定”。这样会设置定期计划。
- 维护时间段:可以指定要进行更新部署的时间段。 此设置有助于确保在定义的服务时段内执行更改。
- 排除的更新:不希望操作系统安装的补丁
更新管理服务会多次评估该VM是否需要更新,直到不需要更新为止
查看更新部署结果
在计划性部署开始后,可以在”更新管理”屏幕的”更新部署″选项卡上查看该部署的状态。如果部署当前正在运行,则状态显示为”正在运行”。 如果部署已成功完成,则状态会更改为”成功”。当部署中有一个或多个更新失败时,状态为”部分失败”。单击已完成的更新部署,查看该更新部署的仪表板。
“更新结果”磁贴中的摘要提供了VM上更新和部署结果的总数。以下列表显示可用值:
- 未尝试 – 由于定义的维护时段时长不足,因而未安装更新。
- 成功- 更新成功
- 失败- 更新失败
如果希望管理Azure上多台VM,点击”管理多台计算机“即可
以上,即时利用Azure Update Management对服务器操作系统进行自动化补丁更新的过程。更直接的说法就是微软将WSUS这一传统功能作为服务体现给最终用户,WSUS as a Service。
需要注意的是,目前该服务还不支持Azure China,希望国内能够尽快上线。