众所周知,自从 Exchange Server 2013 以来,Microsoft 就默认启用 FIP-FS 反垃圾邮件和反恶意软件扫描引擎,以保护用户免受恶意电子邮件的侵害。
但是,谁也没想到,在2022年的第一天会因为该引擎导致无法发送邮件。
来自2022年的错误
2022年1月1日,全球 Microsoft Exchange 管理员收到大量的告警报告,FIP-FS 引擎中的一个错误阻止了内部部署服务器的电子邮件传递。
安全研究员兼 Exchange 管理员 Joseph Roosen 表示,这是由 Microsoft 使用带符号的 int32 变量来存储日期值引起的,该值的最大值为 2,147,483,647。
但是2022年的日期最小值为2,201,010,001,大于signed int32变量所能存储的最大值,导致扫描引擎失败,无法释放邮件进行发送。
触发此错误时,Exchange Server 的事件日志中将出现 1106 错误,指出“FIP-FS 扫描进程初始化失败。错误:0x8004005。错误详细信息:未指定的错误”或“错误代码:0x80004005。反恶意软件扫描引擎在将值“2201010001”转换为长整数值时遇到错误,导致无法在加载相关进程。
发现这一问题后,微软一面准备发布一个 Exchange Server 更新,该更新使用更大的变量来保存日期以正式修复此错误;而针对那些急需发送电子邮件的用户,微软给出了一个紧急的解决办法:禁用FIP-FS 扫描引擎。
禁用FIP-FS 扫描引擎,用户可在 Exchange Server 上执行以下 PowerShell 命令:
- Set-MalwareFilteringServer -Identity -BypassFiltering $true
- Restart-Service MSExchangeTransport
然后重新启动 MSExchangeTransport 服务,邮件发送就会恢复正常。
但是这个方法存在明显的安全隐患,禁用FIP-FS 扫描引擎后,那些恶意、垃圾电子邮件将会非常容易发送至用户手中,大大增加了用户计算机中招的风险。
目前,微软已经发布了修复补丁,并促使用户尽快进行修复。
事件发生后,微软发文表示,正在积极解决在 Exchange Server 2016 和 Exchange Server 2019上邮件无法发送的问题。该问题是与2022年更改的日期有关,FIP-FS 扫描引擎本身并没有任何的安全问题。微软随后将会发布有关解决该问题的详细信息。
参考来源:
https://www.bleepingcomputer.com/news/microsoft/microsoft-exchange-year-2022-bug-in-fip-fs-breaks-email-delivery/