如何检测作为回退认证方式的基本身份验证——本地Exchange 2016 + Azure MFA
嘿,这个问题确实戳中了很多升级过渡期的痛点!旧客户端绕开MFA的情况太常见了,我来分享几个实用的检测方法,帮你在完成客户端升级前牢牢盯住这些基本认证尝试:
查看CAS服务器的IIS日志
本地Exchange 2016的CAS角色服务器上,IIS日志会详细记录所有客户端的认证类型。默认路径是C:\inetpub\logs\LogFiles\W3SVC1(如果站点编号不同,可在IIS管理器里确认)。日志里的cs-auth-type字段会标明认证方式,基本认证对应的是Basic。你可以用PowerShell快速筛选:Get-Content "C:\inetpub\logs\LogFiles\W3SVC1\u_exYYMMDD.log" | Where-Object { $_ -match "cs-auth-type:Basic" }这条命令会把所有基本认证请求捞出来,还能看到对应的客户端IP、邮箱账号和客户端标识(比如Outlook 2010会有专属的标识字符串)。
利用Exchange审核日志追踪
先确保Exchange的组织审核功能已启用:Set-OrganizationConfig -AuditEnabled $true之后就可以搜索和基本认证相关的活动日志,比如查看用户邮箱的基本认证配置变更,或者直接筛选登录事件:
Search-AdminAuditLog -Cmdlets "Set-CASMailbox" -Parameters "BasicAuthEnabled" | Select-Object UserID, CmdletName, Parameters, Created要是想追踪具体的登录尝试,还可以用
Get-AuditLogSearch指定对应的事件类型,精准定位基本认证的访问记录。借助Azure AD登录日志监控
既然已经配置了Azure MFA,Azure AD的登录日志里其实也会记录那些绕开MFA的基本认证尝试(旧客户端不支持现代认证,会触发回退机制)。你可以在Azure门户的Azure AD -> 登录日志中,筛选“身份验证方法”为“基本认证”的条目,能看到对应的客户端应用、用户账号和IP地址,甚至可以设置警报规则,一旦出现大量基本认证请求就自动通知。创建客户端访问规则记录尝试
你可以先创建一条允许但详细记录的客户端访问规则,专门监控基本认证:New-ClientAccessRule -Name "Monitor_Basic_Auth" -Action Allow -AnyOfProtocols ExchangeActiveSync, OutlookAnywhere, POP3, IMAP4 -AnyOfAuthenticationTypes Basic -LogLevel Verbose规则生效后,所有匹配的基本认证尝试都会被详细记录在Exchange的跟踪日志里,你可以通过
Get-MessageTrackingLog或者事件查看器里的Exchange日志来获取这些信息。
这些方法搭配起来,就能全面监控过渡期的基本认证活动,及时发现那些绕开MFA的旧客户端访问。等完成客户端升级后,记得彻底禁用基本认证,从根源上解决这个问题哦!
备注:内容来源于stack exchange,提问作者YaKs

