Windows事件日志显示的错误提醒
Exchange Server是微软推出的企业级电子邮件服务组件,广泛应用于企业、学校等机构的邮件系统。这次故障的原因在于Exchange使用了一种名为“yymmddHHMM”的有符号变量(Int32)来存储日期。这种格式的最大值为+2,147,483,647,而2022年1月1日午夜的新日期值2,201,010,001超出了这一范围,导致恶意软件引擎崩溃,邮件被卡在传输队列中。
有趣的是,此次事件与2000年的‘千年虫’(Y2K)问题极为相似,因此被命名为Y2K22。据微软官方称,该问题仅影响配置了FIP-FS恶意软件引擎的Microsoft Exchange 2016和2019版本。如果用户禁用了FIP-FS引擎或使用其他邮件拦截方案,则不会受到影响。
幸运的是,微软迅速发布了修复方案,解决了这一危机。客户可以通过自动化或手动方式解决此问题:
自动化解决方案:
手动解决方案:
客户也可以选择手动修复,具体步骤如下:
验证受影响的版本是否已安装
运行 Get-EngineUpdateInformation 并检查 UpdateVersion 信息。如果版本号以“22...”开头,则需要继续操作;若以“21...”开头,则无需采取措施。
删除现有的引擎和元数据
- 停止微软过滤管理服务,并确认 Microsoft Exchange传输服务也已停止。
- 使用任务管理器确保 updateservice.exe 没有运行。
- 删除文件夹:%ProgramFiles%\Microsoft\Exchange Server\V15\FIP-FS\Data\Engines\amd64\Microsoft。
- 移除 %ProgramFiles%\Microsoft Exchange Server\V15\FIP-FS\Data\Engines\metadata 文件夹中的所有文件。
更新到最新的引擎
- 启动Microsoft过滤管理服务和Microsoft Exchange传输服务。
- 打开Exchange管理壳,导航至Scripts文件夹(%ProgramFiles%\Microsoft\Exchange Server\V15\Scripts),并运行Update-MalwareFilteringServer.ps1 。
验证引擎更新信息
- 在 Exchange Management Shell 中,运行 Add-PSSnapin Microsoft.Forefront.Filtering.Management.Powershell。
- 运行 Get-EngineUpdateInformation 并验证 UpdateVersion 信息为 2112330001(或更高)。
微软建议用户在更新引擎后验证邮件流是否正常工作,并确认应用程序事件日志中不存在 FIPFS 错误事件。
参考链接:
1. The Verge报道
2. BleepingComputer报道
3. Microsoft Tech Community讨论