当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] 逐步安装 Exchange 安全更新

作者:精品下载站 日期:2024-12-14 03:23:59 浏览:13 分类:玩电脑

逐步安装 Exchange 安全更新


当发现漏洞时,Microsoft Exchange 团队会发布针对 Exchange Server 2013/2016/2019 的 Exchange Server 安全更新 (SU)。您不想等待并立即修补 Exchange 服务器。请记住,完成可能需要一些时间。如果您只有一台 Exchange Server,则邮件流此时将无法运行。现在,在 Exchange Server 中安装安全更新的最佳过程是什么?在本文中,您将了解如何逐步安装 Exchange 安全更新。

安装 Exchange 安全更新最佳实践

安全更新之前:

  • 在监控系统(例如 SCOM)中将服务器置于维护模式
  • 检查 Windows 更新并安装更新
  • 重新启动服务器
  • 将服务器置于维护模式
  • 暂时禁用所有防病毒软件
  • 暂时禁用任何备份软件
  • 使用提升的命令提示符运行安全更新

安全更新后:

  • 重新启动服务器
  • 通过过滤错误和警告来检查事件日志
  • 让服务器退出维护模式
  • 启用备份软件
  • 启用防病毒功能
  • 在监控系统(例如 SCOM)中使服务器退出维护模式

查找 Exchange 服务器版本

请阅读文章使用 PowerShell 查找 Exchange 版本来了解更多信息。

在开始安装 Exchange 安全更新之前,请转至控制面板 > 程序和功能并检查安装的 Exchange Server 版本。

[玩转系统] 逐步安装 Exchange 安全更新

我们发现 Exchange Server 内部版本并不总是正确显示在程序和功能窗口中。更好的方法是使用 PowerShell 查找 Exchange Server 版本。

以管理员身份启动 Exchange 命令行管理程序并运行以下脚本。输出将显示 Exchange Server 的内部版本号。

$ExchangeServers = Get-ExchangeServer | Sort-Object Name
ForEach ($Server in $ExchangeServers) {
    Invoke-Command -ComputerName $Server.Name -ScriptBlock { Get-Command Exsetup.exe | ForEach-Object { $_.FileversionInfo } }
}

在我们的示例中,Exchange Server EX01-2019 和 EX02-2019 都运行 Exchange Server 2019 CU12(内部版本号 15.02.1118.012)。

ProductVersion   FileVersion      FileName                                                         PSComputerName
--------------   -----------      --------                                                         --------------
15.02.1118.012   15.02.1118.012   C:\Program Files\Microsoft\Exchange Server\V15\bin\ExSetup.exe   EX01-2019
15.02.1118.012   15.02.1118.012   C:\Program Files\Microsoft\Exchange Server\V15\bin\ExSetup.exe   EX02-2019

下载 Exchange Server 安全更新

很高兴知道,当您下载 Exchange Server 安全更新 (SU) 时,它不是 Exchange Server 累积更新 (CU)。安全更新是您将在累积更新之上安装的更新。如果 Exchange Server 未使用最新的 CU,则需要先安装 Exchange Server 累积更新,然后再应用安全更新。

Microsoft 发布了最新两个 Exchange Server 版本的安全更新。他们不会为每个 Exchange Server 版本发布 SU,因为这不仅对他们来说工作量太大,而且不建议在推送新 CU 时运行旧的 CU。始终使您的 Exchange Server 保持最新的 CU。

注意: Exchange Server 安全更新是累积的。如果您正在运行可安装 SU 的 CU,则无需按顺序安装所有 SU,而只需安装最新的 SU。

让我们下载 Exchange 安全更新。请转至 Microsoft 安全更新指南以获取所有安全更新。按产品系列 Exchange Server 进行筛选。单击安全更新

在此示例中,我们将下载 Exchange Server 2019 CU12 的 Exchange 安全更新。

[玩转系统] 逐步安装 Exchange 安全更新

Microsoft 安全响应中心 (MSRC) 调查所有影响 Microsoft 产品和服务的安全漏洞报告。它在此处提供的信息是帮助您管理安全风险并帮助保护您的系统的持续努力的一部分。

下载 Exchange 安全更新。

[玩转系统] 逐步安装 Exchange 安全更新

将 Exchange 安全更新放在 Exchange Server C:\install 文件夹中。如果您没有安装文件夹,请创建一个。

[玩转系统] 逐步安装 Exchange 安全更新

将 Exchange Server 置于维护模式

请阅读将 Exchange Server 置于维护模式一文中了解更多信息。

登录 Exchange Server EX01-2019。以管理员身份运行 Exchange 命令行管理程序。将集线器传输服务设置为排出。它将停止接受更多消息。

[PS] C:\>Set-ServerComponentState -Identity "EX01-2019" -Component HubTransport -State Draining -Requester Maintenance

将任何排队的消息重定向到 EX02-2019。目标服务器值必须是目标服务器的 FQDN。目标服务器不应处于维护模式。

[PS] C:\>Redirect-Message -Server "EX01-2019" -Target "EX02-2019.exoip.local"

Confirm
Are you sure you want to perform this action?
Redirecting messages to "EX02-2019.exoip.local".
[Y] Yes  [A] Yes to All  [N] No  [L] No to All  [?] Help (default is "Y"): Y

如果服务器是DAG成员,则运行以下命令。如果您的服务器不是 DAG 成员,请跳至设置 ServerWideOffline 的命令。

暂停集群节点。从 DAG 暂停服务器 EX01-2019。

[PS] C:\>Suspend-ClusterNode "EX01-2019"

Name      State  Type
----      -----  ----
EX01-2019 Paused Node

禁用数据库副本自动激活。此命令还将任何活动数据库副本移动到其他 DAG 成员。假设还有其他健康的 DAG 成员可用。这不是瞬时的,可能需要几分钟才能发生移动。我们将使用以下命令之一来检查它。

[PS] C:\>Set-MailboxServer "EX01-2019" -DatabaseCopyActivationDisabledAndMoveNow $true

记下服务器上的数据库副本自动激活策略。您可以在维护结束时将其设置回该值。默认设置为无限制。

[PS] C:\>Get-MailboxServer "EX01-2019" | Select DatabaseCopyAutoActivationPolicy

DatabaseCopyAutoActivationPolicy
--------------------------------
                    Unrestricted

将其设置为“已阻止”以防止任何数据库变为“活动”。

[PS] C:\>Set-MailboxServer "EX01-2019" -DatabaseCopyAutoActivationPolicy Blocked

检查服务器上是否仍安装有任何数据库副本。活动数据库可能需要一段时间才能移动。该命令不应返回任何结果。如果任何数据库副本在服务器上仍然处于活动状态,并且其他 DAG 成员托管数据库副本,请执行手动切换。

[PS] C:\>Get-MailboxDatabaseCopyStatus -Server "EX01-2019" | Where {$_.Status -eq "Mounted"} | ft -AutoSize

一旦活动数据库被移动,我们将检查传输队列。队列应该为空或几乎为空,因为我们将禁用所有服务器组件。队列中仍待处理的任何电子邮件都将延迟发送,直到服务器退出维护模式。

[PS] C:\>Get-Queue

Identity             DeliveryType Status MessageCount Velocity RiskLevel OutboundIPPool NextHopDomain
--------             ------------ ------ ------------ -------- --------- -------------- -------------
EX01-2019\Submission Undefined    Ready  0            0        Normal    0              Submission

将服务器 EX01-2019 置于维护模式。

[PS] C:\>Set-ServerComponentState "EX01-2019" -Component ServerWideOffline -State Inactive -Requester Maintenance

检查负载均衡器

您是否在负载平衡器中配置了 Exchange Server?验证负载均衡器运行状况检查是否已将服务器从池中取出或将其标记为脱机/非活动。如果负载均衡器没有自动执行此操作,请手动将服务器标记为脱机/不活动。登录到您的负载均衡器并设置您必须禁用的任何虚拟服务,以禁用与服务器 EX01-2019 的任何连接。通常会有 SMTP 和 HTTPS 虚拟服务。这将强制将来连接到服务器 EX01-2019。

如何验证 Exchange Server 是否处于维护模式

验证 Exchange Server EX01-2019 是否已置于维护模式。除MonitoringRecoveryActionsEnabled 之外,所有组件均应显示Inactive

[PS] C:\>Get-ServerComponentState "EX01-2019" | Select Component, State

Component                     State
---------                     -----
ServerWideOffline          Inactive
HubTransport               Inactive
FrontendTransport          Inactive
Monitoring                   Active
RecoveryActionsEnabled       Active
AutoDiscoverProxy          Inactive
ActiveSyncProxy            Inactive
EcpProxy                   Inactive
EwsProxy                   Inactive
ImapProxy                  Inactive
OabProxy                   Inactive
OwaProxy                   Inactive
PopProxy                   Inactive
PushNotificationsProxy     Inactive
RpsProxy                   Inactive
RwsProxy                   Inactive
RpcProxy                   Inactive
XropProxy                  Inactive
HttpProxyAvailabilityGroup Inactive
ForwardSyncDaemon          Inactive
ProvisioningRps            Inactive
MapiProxy                  Inactive
EdgeTransport              Inactive
HighAvailability           Inactive
SharedCache                Inactive
MailboxDeliveryProxy       Inactive
RoutingUpdates             Inactive
RestProxy                  Inactive
DefaultProxy               Inactive
Lsass                      Inactive
RoutingService             Inactive
E4EProxy                   Inactive
CafeLAMv2                  Inactive
LogExportProvider          Inactive

安装 Exchange Server 安全更新

在 Exchange Server 上以管理员身份运行命令提示符并浏览到C:\安装路径。之后,输入文件名并单击Enter

重要提示:使用管理员权限通过命令提示符安装 Exchange 安全更新。

[玩转系统] 逐步安装 Exchange 安全更新

等待安装程序计算空间要求。

[玩转系统] 逐步安装 Exchange 安全更新

单击下一步

[玩转系统] 逐步安装 Exchange 安全更新

接受许可条款并单击下一步

[玩转系统] 逐步安装 Exchange 安全更新

Exchange Server 的安全更新安装将:

  • 停止服务
  • 复制文件
  • 创建备份文件
  • 安装文件
  • 启动服务
  • 删除备份文件

[玩转系统] 逐步安装 Exchange 安全更新

随着 Exchange 安全更新安装的进一步进行,还会出现一个屏幕。

[玩转系统] 逐步安装 Exchange 安全更新

Exchange 安全更新已完成。单击完成

[玩转系统] 逐步安装 Exchange 安全更新

单击重新启动 Exchange Server。

[玩转系统] 逐步安装 Exchange 安全更新

注意:您可能不会收到显示的重新启动消息。在安全更新后始终重新启动 Exchange Server。

测试

通过过滤错误和警告来检查事件日志。如果出现错误,请务必排除故障并修复它们。

让 Exchange Server 退出维护模式

请阅读文章使 Exchange Server 退出维护模式了解更多信息。

更新后,我们希望再次激活 Exchange Server EX01-2019。因此,让我们将服务器从维护模式中删除。

以管理员身份运行 Exchange 命令行管理程序并运行命令。

注意:如果服务器不是 DAG 成员,则仅需要第一个和最后一个命令。如果服务器是DAG成员,则需要运行所有命令。

使用服务器上设置的数据库副本自动激活策略值。默认为无限制

[PS] C:\>Set-ServerComponentState "EX01-2019" -Component ServerWideOffline -State Active -Requester Maintenance

[PS] C:\>Resume-ClusterNode -Name "EX01-2019"

[PS] C:\>Set-MailboxServer "EX01-2019" -DatabaseCopyAutoActivationPolicy Unrestricted

[PS] C:\>Set-MailboxServer "EX01-2019" -DatabaseCopyActivationDisabledAndMoveNow $false

[PS] C:\>Set-ServerComponentState "EX01-2019" -Component HubTransport -State Active -Requester Maintenance

重新平衡数据库可用性组

请阅读文章平衡 Exchange DAG 中的邮箱数据库来了解更多信息。

在整个更新过程中,数据库副本将在 DAG 成员之间移动。将您的活动数据库副本返回给他们最喜欢的 DAG 成员。使用 Microsoft 提供的 PowerShell 脚本。

[PS] C:\>cd $exscripts
 
[PS] C:\Program Files\Microsoft\Exchange Server\V15\scripts\>.\RedistributeActiveDatabases.ps1 -DagName "DAG01-2019" -BalanceDbsByActivationPreference -SkipMoveSuppressionChecks

验证退出维护模式

验证 Exchange Server EX01-2019 是否已备份并正在运行。运行以下命令。

集群节点需要处于状态 up。

[PS] C:\>Get-ClusterNode "EX01-2019"

Name      State Type
----      ----- ----
EX01-2019 Up    Node

检查群集节点在所有 Exchange 服务器上的状态是否均已启动。

[PS] C:\>Get-ClusterNode

检查所有必需的服务是否正在运行。

[PS] C:\>Test-ServiceHealth "EX01-2019"


Role                    : Mailbox Server Role
RequiredServicesRunning : True
ServicesRunning         : {IISAdmin, MSExchangeADTopology, MSExchangeDelivery, MSExchangeIS, MSExchangeMailboxAssistants, MSExchangeRepl, MSExchangeRPC, MSExchangeServiceHost,
                          MSExchangeSubmission, MSExchangeThrottling, MSExchangeTransportLogSearch, W3Svc, WinRM}
ServicesNotRunning      : {}

Role                    : Client Access Server Role
RequiredServicesRunning : True
ServicesRunning         : {IISAdmin, MSExchangeADTopology, MSExchangeMailboxReplication, MSExchangeRPC, MSExchangeServiceHost, W3Svc, WinRM}
ServicesNotRunning      : {}

Role                    : Hub Transport Server Role
RequiredServicesRunning : True
ServicesRunning         : {IISAdmin, MSExchangeADTopology, MSExchangeEdgeSync, MSExchangeServiceHost, MSExchangeTransport, MSExchangeTransportLogSearch, W3Svc, WinRM}
ServicesNotRunning      : {}

检查所需的服务是否正在所有 Exchange 服务器上运行。

[PS] C:\>Get-ExchangeServer | Test-ServiceHealth

测试 MAPI 连接性。

[PS] C:\>Test-MAPIConnectivity -Server "EX01-2019"

MailboxServer           Database            Result    Error
-------------           --------            ------    -----
EX01-2019               DB01                Success
EX01-2019               DB03                Success

测试所有 Exchange 服务器上的 MAPI 连接。

[PS] C:\>Get-ExchangeServer | Test-MAPIConnectivity

获取 DAG 副本状态运行状况的结果。

[PS] C:\>Get-MailboxDatabaseCopyStatus -Server "EX01-2019" | Sort Name | Select Name, Status, Contentindexstate

Name           Status  ContentIndexState
----           ------  -----------------
DB01\EX01-2019 Mounted      NotApplicable
DB02\EX01-2019 Healthy      NotApplicable
DB03\EX01-2019 Mounted      NotApplicable
DB04\EX01-2019 Healthy      NotApplicable

获取所有 Exchange 服务器上的 DAG 副本状态运行状况结果。

[PS] C:\>Get-MailboxDatabaseCopyStatus * | Sort Name | Select Name, Status, Contentindexstate

检查复制运行状况。

[PS] C:\>Test-ReplicationHealth -Server "EX01-2019"

Server          Check                      Result     Error
------          -----                      ------     -----
EX01-2019       ClusterService             Passed
EX01-2019       ReplayService              Passed
EX01-2019       ActiveManager              Passed
EX01-2019       TasksRpcListener           Passed
EX01-2019       TcpListener                Passed
EX01-2019       ServerLocatorService       Passed
EX01-2019       DagMembersUp               Passed
EX01-2019       MonitoringService          Passed
EX01-2019       ClusterNetwork             Passed
EX01-2019       QuorumGroup                Passed
EX01-2019       FileShareQuorum            Passed
EX01-2019       DatabaseRedundancy         Passed
EX01-2019       DatabaseAvailability       Passed
EX01-2019       DBCopySuspended            Passed
EX01-2019       DBCopyFailed               Passed
EX01-2019       DBInitializing             Passed
EX01-2019       DBDisconnected             Passed
EX01-2019       DBLogCopyKeepingUp         Passed
EX01-2019       DBLogReplayKeepingUp       Passed

检查所有 Exchange 服务器上的复制运行状况。

[PS] C:\>Get-DatabaseAvailabilityGroup | Select -ExpandProperty:Servers | Test-ReplicationHealth | Sort Name

验证数据库激活策略是否设置为无限制。

[PS] C:\>Get-MailboxServer "EX01-2019" | Select Name, DatabaseCopyAutoActivationPolicy

Name      DatabaseCopyAutoActivationPolicy
----      --------------------------------
EX01-2019                     Unrestricted

验证所有 Exchange 服务器上的数据库激活策略均设置为无限制。

[PS] C:\>Get-MailboxServer | Select Name, DatabaseCopyAutoActivationPolicy

负载均衡器

您是否在负载平衡器中配置了 Exchange Server?验证负载均衡器运行状况检查是否已获取池中的服务器或将其标记为联机/活动。如果负载均衡器没有自动执行此操作,请手动将服务器标记为联机/活动。登录到您的负载均衡器并设置您必须启用的任何虚拟服务,以启用与服务器 EX01-2019 的任何连接。通常会有 SMTP 和 HTTPS 虚拟服务。这将启用与服务器 EX01-2019 的连接。

验证 Exchange 安全更新安装

转至控制面板> 程序和功能。在程序列表中检查 Exchange Server 版本。

该更新有时不会更改 Exchange Server 累积更新版本。这是因为“程序和功能”窗口不如 PowerShell 可靠。

单击查看已安装的更新

[玩转系统] 逐步安装 Exchange 安全更新

验证 Exchange Server 的安全更新是否出现在列表中。在此示例中,它是 Exchange Server 2019 累积更新 12 的安全更新 (KB5019758)

[玩转系统] 逐步安装 Exchange 安全更新

Exchange Server 安全更新已成功安装。

在所有 Exchange 服务器上安装安全更新

您的组织中是否运行着多个 Exchange Server?在所有 Exchange 服务器上执行相同的步骤。它可以是:

  • Exchange 邮箱服务器
  • 交换边缘服务器
  • Exchange 混合服务器

检查 Exchange Server 是否是最新的

请阅读 Microsoft Exchange Server 漏洞检查一文了解更多信息。

如何验证组织中的所有 Exchange 服务器都是最新的?运行 Exchange 运行状况检查器脚本(确保从 GitHub 下载最新版本)。

下载 HealthChecker.ps1 PowerShell 脚本并将其放置在 Exchange Server C:\scripts 文件夹中。如果您没有脚本文件夹,请创建一个。确保该文件未被阻止,以防止运行脚本时出现任何错误。请阅读文章运行 PowerShell 脚本时出现未数字签名错误来了解更多信息。

[玩转系统] 逐步安装 Exchange 安全更新

创建 Exchange 服务器报告

以管理员身份运行 Exchange 命令行管理程序。更改脚本文件夹的路径。

[PS] C:\>cd C:\scripts
[PS] C:\scripts>

在使用 Get-AuthenticodeSignature cmdlet 运行脚本之前验证签名。

[PS] C:\scripts>Get-AuthenticodeSignature -FilePath ".\HealthChecker.ps1" | ft -AutoSize


    Directory: C:\scripts


SignerCertificate                        Status Path
-----------------                        ------ ----
AFBF0B8B6A18F7E23CCA1DDCD0AC1A55B4035173 Valid  HealthChecker.ps1

运行 cmdlet 为所有 Exchange 服务器创建报告。它将运行 HTML 报告并自动打开它。

[PS] C:\scripts>Get-ExchangeServer | ?{$_.AdminDisplayVersion -Match "^Version 15"} | .\HealthChecker.ps1; .\HealthChecker.ps1 -BuildHtmlServersReport -HtmlReportFile "ExchangeAllServersReport.html"; .\ExchangeAllServersReport.html

如果报告没有自动打开,您可以在 C:\scripts 文件夹中找到该报告。

[玩转系统] 逐步安装 Exchange 安全更新

检查 Exchange Server 报告是否存在漏洞

HTML 报告将显示如下屏幕。一切看起来都很棒,因为环境中有两台具有邮箱角色的 Exchange 服务器。它们都在 Exchange 2019 CU12 上并已修补。 安全漏洞列将两台 Exchange 服务器显示为

[玩转系统] 逐步安装 Exchange 安全更新

如果您没有更新或未打补丁,就会表明您很容易受到攻击。您是否在 Exchange Server 报告中看到红色或黄色警告?调查一下并修复它!

结论

您已了解如何逐步安装 Exchange 安全更新。使 Exchange 服务器保持最新状态以简化安全更新的推送非常重要。当新的安全补丁推出时,您不必更新到最新的 CU 和补丁,这比立即修补需要更多的时间,因为您已经使用了最新的 CU。

您喜欢这篇文章吗?您可能还喜欢使用 PowerShell 脚本重新启动 Exchange 服务。不要忘记关注我们并分享这篇文章。

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯