热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

微软Exchange服务器遭遇2022年版“千年虫”漏洞

微软Exchange服务器在新年伊始遭遇了一个类似于‘千年虫’的日期处理漏洞,导致邮件传输受阻。该问题主要影响配置了FIP-FS恶意软件引擎的Exchange2016和2019版本。

跨年之际,许多人通过各种平台发送新年祝福,确保服务器稳定运行显得尤为重要。然而,就在这个关键时刻,微软Exchange服务器出现了一个重大问题,许多用户的邮件未能成功发送,停留在了2021年。




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引擎或使用其他邮件拦截方案,则不会受到影响。


幸运的是,微软迅速发布了修复方案,解决了这一危机。客户可以通过自动化或手动方式解决此问题:


自动化解决方案:

  • 下载修复脚本:https://aka.ms/ResetScanEngineVersion
  • 更改PowerShell脚本执行策略:Set-ExecutionPolicy -ExecutionPolicy RemoteSigned
  • 在每个受影响的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%\Microsoft Exchange Server\V15\FIP-FS\Data\Engines\metadata 文件夹中的所有文件。

更新到最新的引擎

  1. 启动Microsoft过滤管理服务和Microsoft Exchange传输服务。
  2. 打开Exchange管理壳,导航至Scripts文件夹(%ProgramFiles%\Microsoft\Exchange Server\V15\Scripts),并运行Update-MalwareFilteringServer.ps1

验证引擎更新信息

  1. 在 Exchange Management Shell 中,运行 Add-PSSnapin Microsoft.Forefront.Filtering.Management.Powershell。
  2. 运行 Get-EngineUpdateInformation 并验证 UpdateVersion 信息为 2112330001(或更高)。

微软建议用户在更新引擎后验证邮件流是否正常工作,并确认应用程序事件日志中不存在 FIPFS 错误事件。


参考链接:
1. The Verge报道
2. BleepingComputer报道
3. Microsoft Tech Community讨论


推荐阅读
  • 作者:守望者1028链接:https:www.nowcoder.comdiscuss55353来源:牛客网面试高频题:校招过程中参考过牛客诸位大佬的面经,但是具体哪一块是参考谁的我 ... [详细]
  • 本文将介绍如何编写一些有趣的VBScript脚本,这些脚本可以在朋友之间进行无害的恶作剧。通过简单的代码示例,帮助您了解VBScript的基本语法和功能。 ... [详细]
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • 解读MySQL查询执行计划的详细指南
    本文旨在帮助开发者和数据库管理员深入了解如何解读MySQL查询执行计划。通过详细的解析,您将掌握优化查询性能的关键技巧,了解各种访问类型和额外信息的含义。 ... [详细]
  • golang常用库:配置文件解析库/管理工具viper使用
    golang常用库:配置文件解析库管理工具-viper使用-一、viper简介viper配置管理解析库,是由大神SteveFrancia开发,他在google领导着golang的 ... [详细]
  • 本文详细探讨了Java中的24种设计模式及其应用,并介绍了七大面向对象设计原则。通过创建型、结构型和行为型模式的分类,帮助开发者更好地理解和应用这些模式,提升代码质量和可维护性。 ... [详细]
  • 本文详细介绍了Java编程语言中的核心概念和常见面试问题,包括集合类、数据结构、线程处理、Java虚拟机(JVM)、HTTP协议以及Git操作等方面的内容。通过深入分析每个主题,帮助读者更好地理解Java的关键特性和最佳实践。 ... [详细]
  • UNP 第9章:主机名与地址转换
    本章探讨了用于在主机名和数值地址之间进行转换的函数,如gethostbyname和gethostbyaddr。此外,还介绍了getservbyname和getservbyport函数,用于在服务器名和端口号之间进行转换。 ... [详细]
  • 本文深入探讨了Linux系统中网卡绑定(bonding)的七种工作模式。网卡绑定技术通过将多个物理网卡组合成一个逻辑网卡,实现网络冗余、带宽聚合和负载均衡,在生产环境中广泛应用。文章详细介绍了每种模式的特点、适用场景及配置方法。 ... [详细]
  • 掌握远程执行Linux脚本和命令的技巧
    本文将详细介绍如何利用Python的Paramiko库实现远程执行Linux脚本和命令,帮助读者快速掌握这一实用技能。通过具体的示例和详尽的解释,让初学者也能轻松上手。 ... [详细]
  • MySQL缓存机制深度解析
    本文详细探讨了MySQL的缓存机制,包括主从复制、读写分离以及缓存同步策略等内容。通过理解这些概念和技术,读者可以更好地优化数据库性能。 ... [详细]
  • MySQL 数据库迁移指南:从本地到远程及磁盘间迁移
    本文详细介绍了如何在不同场景下进行 MySQL 数据库的迁移,包括从一个硬盘迁移到另一个硬盘、从一台计算机迁移到另一台计算机,以及解决迁移过程中可能遇到的问题。 ... [详细]
  • Hadoop入门与核心组件详解
    本文详细介绍了Hadoop的基础知识及其核心组件,包括HDFS、MapReduce和YARN。通过本文,读者可以全面了解Hadoop的生态系统及应用场景。 ... [详细]
  • 本文探讨了 Spring Boot 应用程序在不同配置下支持的最大并发连接数,重点分析了内置服务器(如 Tomcat、Jetty 和 Undertow)的默认设置及其对性能的影响。 ... [详细]
  • 探讨如何真正掌握Java EE,包括所需技能、工具和实践经验。资深软件教学总监李刚分享了对毕业生简历中常见问题的看法,并提供了详尽的标准。 ... [详细]
author-avatar
捡耙活哟752
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有