逢年过节卡点送祝福早已是常识,元旦,相信不少人都在卡点送祝福。零点一过,大批的祝福通过各种服务器送出,因此服务器的稳定运行是非常必要的。然而就在这个关键时刻,微软Exchange服务器却出了岔子。不少Exchange服务器的用户发现自己的祝福邮件没发出去,被留在了2021年。
Windows事件日志显示的错误提醒
Exchange Server是微软公司推出的一套电子邮件服务组件,可以被用来构架应用于企业、学校等团体机构的邮件系统。也可以用于开发工作流、知识管理系统、Web系统或者是其他消息系统。
话说程序员不是在写Bug就是在改Bug,就连新年也躲不过!Exchange管理员被迫紧急加班。
他们调查发现,造成邮件无法发送的原因是Microsoft Exchange采用的邮件过滤管理系统(FIP-FS),采用了一种名叫“yymmddHHMM”的有符号变量(Int32)来存储日期。但是,因为该变量最多只能存储-2,147,483,647到+2,147,483,647的数据,而2022年1月1日午夜的新日期值为2,201,010,001,超过了这个范围。所以,当Microsoft Exchange尝试检查AV扫描版本时,它生成了一个错误并导致恶意软件引擎崩溃,信息就被卡在了传输队列中。
巧的是,这次微软日期bug事件与2000年的“千年虫(Y2K)”问题如出一辙,所以该故障被命名为Y2K22(22指的是2022年)。据微软称,该问题只影响配置了FIP-FS恶意软件引擎的Microsoft Exchange 2016和2019版本。如果用户已经禁用FIP-FS引擎,并使用其它的电子邮件拦截方案,那就不会受到影响,边缘传输服务器也一样。
幸运的是,Exchange管理员已有对策,并发布了一个正式的修复方案,看来Y2K22危机已经结束。微软表示,客户可以通过自动或手动解决方案来解决这个问题。
自动化解决方案:
在此处下载脚本:https://aka.ms/ResetScanEngineVersion
在运行脚本之前,通过运行Set-ExecutionPolicy -ExecutionPolicy RemoteSigned更改 PowerShell 脚本的执行策略
在您的组织中每个下载反恶意软件更新的Exchange邮箱服务器上运行该脚本(使用提升的Exchange管理壳)
手动解决方案:
代替使用脚本,客户也可以手动执行步骤来解决问题并恢复服务。要手动解决这个问题,用户必须在组织中每个下载反恶意软件更新的Exchange邮箱服务器上执行以下步骤。
验证受影响的版本是否已安装
运行 Get-EngineUpdateInformation 并检查 UpdateVersion 信息。如果它以“22... ”开头,则继续。如果安装的版本以 “21... ”开头,则不需要采取任何措施。
删除现有的引擎和元数据
1. 停止微软过滤管理服务。当提示您同时停止Microsoft Exchange传输服务时,请点击是。
2. 使用任务管理器以确保 updateservice.exe 没有运行。
3.删除以下文件夹:%ProgramFiles%\Microsoft\Exchange Server\V15\FIP-FS\Data\Engines\amd64\Microsoft。4. 移除以下文件夹中的所有文件:%ProgramFiles%\MicrosoftExchange Server\V15\FIP-FS\Data\Engines\metadata。
更新到最新的引擎
1. 启动Microsoft过滤管理服务和Microsoft Exchange传输服务。
2. 打开Exchange管理壳,导航到Scripts文件夹(%ProgramFiles%\Microsoft\Exchange Server\V15\Scripts),并运行Update-MalwareFilteringServer.ps1 <server FQDN>。
验证引擎更新信息
1.在Exchange Management Shell中,运行Add-PSSnapin Microsoft.Forefront.Filtering.Management.Powershell。
2.运行 Get-EngineUpdateInformation 并验证 UpdateVersion 信息为 2112330001(或更高)。
微软还建议用户在更新引擎后验证邮件流是否正常工作,并且应用程序事件日志中不存在 FIPFS 错误事件。
参考链接:
https://www.theverge.com/2022/1/2/22863950/microsoft-exchange-y2k22-bug
https://www.bleepingcomputer.com/news/microsoft/microsoft-releases-emergency-fix-for-exchange-year-2022-bug/
https://techcommunity.microsoft.com/t5/exchange-team-blog/email-stuck-in-exchange-on-premises-transport-queues/ba-p/3049447