热门标签 | 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讨论


推荐阅读
  • MySQL 数据库迁移指南:从本地到远程及磁盘间迁移
    本文详细介绍了如何在不同场景下进行 MySQL 数据库的迁移,包括从一个硬盘迁移到另一个硬盘、从一台计算机迁移到另一台计算机,以及解决迁移过程中可能遇到的问题。 ... [详细]
  • 本章将深入探讨移动 UI 设计的核心原则,帮助开发者构建简洁、高效且用户友好的界面。通过学习设计规则和用户体验优化技巧,您将能够创建出既美观又实用的移动应用。 ... [详细]
  • MySQL索引详解与优化
    本文深入探讨了MySQL中的索引机制,包括索引的基本概念、优势与劣势、分类及其实现原理,并详细介绍了索引的使用场景和优化技巧。通过具体示例,帮助读者更好地理解和应用索引以提升数据库性能。 ... [详细]
  • 本文探讨了 Spring Boot 应用程序在不同配置下支持的最大并发连接数,重点分析了内置服务器(如 Tomcat、Jetty 和 Undertow)的默认设置及其对性能的影响。 ... [详细]
  • 探讨如何真正掌握Java EE,包括所需技能、工具和实践经验。资深软件教学总监李刚分享了对毕业生简历中常见问题的看法,并提供了详尽的标准。 ... [详细]
  • 本文探讨了在 ASP.NET MVC 5 中实现松耦合组件的方法。通过分离关注点,应用程序的各个组件可以更加独立且易于维护和测试。文中详细介绍了依赖项注入(DI)及其在实现松耦合中的作用。 ... [详细]
  • Python 异步编程:深入理解 asyncio 库(上)
    本文介绍了 Python 3.4 版本引入的标准库 asyncio,该库为异步 IO 提供了强大的支持。我们将探讨为什么需要 asyncio,以及它如何简化并发编程的复杂性,并详细介绍其核心概念和使用方法。 ... [详细]
  • 本文探讨了如何在发布 XenApp 应用时,通过命令行参数实现启动时的参数传递。特别介绍了静态和动态参数传递的方法,并详细解释了 ICA 文件中两种参数传递方式的区别及安全检查机制。 ... [详细]
  • 如何高效创建和使用字体图标
    在Web和移动开发中,为什么选择字体图标?主要原因是其卓越的性能,可以显著减少HTTP请求并优化页面加载速度。本文详细介绍了从设计到应用的字体图标制作流程,并提供了专业建议。 ... [详细]
  • 使用Vultr云服务器和Namesilo域名搭建个人网站
    本文详细介绍了如何通过Vultr云服务器和Namesilo域名搭建一个功能齐全的个人网站,包括购买、配置服务器以及绑定域名的具体步骤。文章还提供了详细的命令行操作指南,帮助读者顺利完成建站过程。 ... [详细]
  • 网络运维工程师负责确保企业IT基础设施的稳定运行,保障业务连续性和数据安全。他们需要具备多种技能,包括搭建和维护网络环境、监控系统性能、处理突发事件等。本文将探讨网络运维工程师的职业前景及其平均薪酬水平。 ... [详细]
  • 并发编程:深入理解设计原理与优化
    本文探讨了并发编程中的关键设计原则,特别是Java内存模型(JMM)的happens-before规则及其对多线程编程的影响。文章详细介绍了DCL双重检查锁定模式的问题及解决方案,并总结了不同处理器和内存模型之间的关系,旨在为程序员提供更深入的理解和最佳实践。 ... [详细]
  • 随着网络安全威胁的不断演变,电子邮件系统成为攻击者频繁利用的目标。本文详细探讨了电子邮件系统中的常见漏洞及其潜在风险,并提供了专业的防护建议。 ... [详细]
  • 深入解析 Apache Shiro 安全框架架构
    本文详细介绍了 Apache Shiro,一个强大且灵活的开源安全框架。Shiro 专注于简化身份验证、授权、会话管理和加密等复杂的安全操作,使开发者能够更轻松地保护应用程序。其核心目标是提供易于使用和理解的API,同时确保高度的安全性和灵活性。 ... [详细]
  • 深入解析 Spring Security 用户认证机制
    本文将详细介绍 Spring Security 中用户登录认证的核心流程,重点分析 AbstractAuthenticationProcessingFilter 和 AuthenticationManager 的工作原理。通过理解这些组件的实现,读者可以更好地掌握 Spring Security 的认证机制。 ... [详细]
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社区 版权所有