不使用客户端应用程序登录日志

不使用客户端应用程序登录日志

我们的 Office 365 服务(尤其是 Exchange Online)一直存在一些问题。我们的一些用户受到来自不同国家的攻击,试图入侵他们的帐户。从安全角度来看,我们的措施相当不错(我认为……),并且已采取以下缓解措施:

  • 我们用户通过身份验证(PTA)
  • 我们有复杂的密码
  • 我们使用帐户锁定来阻止暴力攻击
  • 用户受到 MFA 保护
  • 我们使用条件访问来禁用旧式身份验证

我知道以上所有方法都有效,因为我可以看到,例如,POP3 之类的东西被条件访问策略阻止。但是,我们仍然遇到帐户锁定,我无法确定导致此问题的特定应用/服务。我通常使用的方法是 Azure AD 登录日志。下面的屏幕截图显示了筛选到单个用户的日志和失败的登录。通常,'客户端应用程序' 字段会指示登录附加到哪个服务,但它是空白的(在下面的屏幕截图中以红色突出显示)。这种情况发生在我的租户中的多个用户身上,因为我们看不到/理解原因,所以我们无法排除故障。奇怪的是,它变成了一个基本的 DoS 问题,因为用户被锁定了,我们不明白是怎么回事。微软建议打开条件访问并阻止旧式身份验证,但我们已经这样做了,似乎仍然有问题。其他人有这个问题吗?有人有什么建议吗?

查看日志屏幕的屏幕截图

更新:

禁用每个邮箱上的 POP3、IMAP 和 SMTP 似乎有帮助。由于我们的租户很大,我使用以下脚本批量执行此操作:

请注意,如果您使用此 powershell 脚本,可能会禁用合法使用 POP 3、IMAP 和 SMTP 的帐户的功能。此脚本适用于所有邮箱!!!

$mailboxes = get-casmailbox
foreach($mailbox in $mailboxes){Set-CASMailbox $mailbox.id -SmtpClientAuthenticationDisabled $true -ImapEnabled $false -PopEnabled $False}

答案1

@Andrew-Emmett 您似乎从未真正提出与您的帖子标题相关的问题,但如果可以的话,我建议您从 Office 365 管理 API 中提取数据。您需要在 AAD 中注册一个应用程序才能执行此操作,但它将允许您保留数据的时间比 Office 365 保留的时间更长,并且您可以从收集的数据中开发启发式方法。您可以使用 PowerShell 执行此操作,并且可以将其存储在各种表单中,但一种有用的方法可能是将其放入 SQL 中。

如果您具有灵活性,则可以使用 Azure Function App 来提取数据。这还将为您提供一种方法,将 Function App 注册为 API 的 5 个源上的 Webhook,以便当新数据到达源时,Function App 会收到通知以提取数据。您也可以使用 Logic App 执行类似操作。

相关内容