使用 MFA 在 Office 365 中启用邮箱访问审核

使用 MFA 在 Office 365 中启用邮箱访问审核

Microsoft 安全与合规中心和 Microsoft 安全评分提供了一系列好的、优秀的和不相关的安全建议。有时它们看起来有点不相容……

考虑一下这些已经完成的情况:

  1. 为 Azure AD 特权角色启用 MFA
  2. 为(所有)用户启用 MFA

然后:为所有用户启用邮箱审核
使用 O365-InvestigationTooling /启用邮箱审核.ps1

#This script will enable non-owner mailbox access auditing on every mailbox in your tenancy
#First, let's get us a cred!
$userCredential = Get-Credential

#This gets us connected to an Exchange remote powershell service
$ExoSession = New-PSSession -ConfigurationName Microsoft.Exchange `
    -ConnectionUri https://outlook.office365.com/powershell-liveid/ `
    -Credential $userCredential -Authentication Basic -AllowRedirection
Import-PSSession $ExoSession

#Enable global audit logging
Get-Mailbox -ResultSize Unlimited -Filter {RecipientTypeDetails -eq "UserMailbox" `
    -or RecipientTypeDetails -eq "SharedMailbox" -or RecipientTypeDetails `
    -eq "RoomMailbox" -or RecipientTypeDetails -eq "DiscoveryMailbox"} `
    | Set-Mailbox -AuditEnabled $true -AuditLogAgeLimit 180 -AuditAdmin Update, `
        MoveToDeletedItems, SoftDelete, HardDelete, SendAs, SendOnBehalf, Create, `
        UpdateFolderPermission -AuditDelegate Update, SoftDelete, HardDelete, SendAs, `
        Create, UpdateFolderPermissions, MoveToDeletedItems, SendOnBehalf `
        -AuditOwner UpdateFolderPermission, MailboxLogin, Create, `
        SoftDelete, HardDelete, Update, MoveToDeletedItems 

#Double-Check It!
Get-Mailbox -ResultSize Unlimited `
    | Select Name, AuditEnabled, AuditLogAgeLimit `
    | Out-Gridview

但是,New-PSSession使用全局管理员帐户失败:

New-PSSession : [outlook.office365.com] Connecting to remote server 
outlook.office365.com failed with the following error message : 
Access is denied.

我认为这是因为Get-CredentialNew-PSSession不支持 MFA。身份验证机制枚举好像没有这样的身份验证:改为BasicDefault没用。我错了吗?

还有其他方法可以为所有用户启用邮箱访问审核/检查其状态吗?

答案1

我猜对了,罪魁祸首是 MFA。我暂时禁用 MFA对于全局管理员帐户,脚本运行良好。毕竟,您只需执行一次,或者偶尔只需为新邮箱更新它。禁用和启用 MFA 会立即发生,并且为了获得最大(即锡纸帽)安全性,您甚至可以在运行脚本之前更改密码。

更新:应用程序密码也有效!考虑到你可以获得的信息和可以更改的设置,我不确定这是否真的是微软的安全选择,完全跳过 MFA。

答案2

旧帖子,但要使用支持 MFA 和现代身份验证的 powershell,您需要使用 Microsoft Exchange Online Powershell 模块 - 可以从 Exchange Online 管理中心的“混合”部分下载

https://docs.microsoft.com/en-us/powershell/exchange/exchange-online/connect-to-exchange-online-powershell/mfa-connect-to-exchange-online-powershell?view=exchange-ps

相关内容