Назад | Перейти на главную страницу

Включение аудита доступа к почтовому ящику в Office 365 с MFA

Центр безопасности и соответствия требованиям Майкрософт с оценкой безопасности Microsoft предлагает длинный список хороших, отличных и нерелевантных советов по безопасности. Иногда они кажутся несовместимыми ...

Рассмотрим ситуацию, когда это уже сделано:

  1. Включение MFA для привилегированных ролей Azure AD
  2. Включить MFA для (всех) пользователей

Затем: Включить аудит почтовых ящиков для всех пользователей
с помощью O365-InvestigationTooling / EnableMailboxAuditing.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-Credential или New-PSSession не поддерживает MFA. Документация для AuthenticationMechanism Enum похоже, не имеет такой аутентификации: изменение Basic к Default не помогает. Я ошибся?

Есть ли другой способ включить аудит доступа к почтовому ящику для всех пользователей / проверить его статус?

Я был прав, что виноват один только МИД. я временно отключен МИД для учетной записи глобального администратора, и сценарий работал нормально. В конце концов, вам нужно сделать это только один раз или, может быть, время от времени, чтобы обновить его для новых почтовых ящиков. Отключение и включение MFA происходит немедленно, и для максимальной безопасности (например, из фольги) вы даже можете изменить пароль прямо перед запуском скрипта.

ОБНОВЛЕНИЕ: Пароль приложения тоже работает! Я не уверен, действительно ли это безопасный выбор от Microsoft, учитывая информацию, которую вы можете получить, и настройки, которые вы можете изменить, полностью пропуская MFA.

Старый пост, но для использования PowerShell, поддерживающего MFA и современную аутентификацию, вам необходимо использовать модуль Microsoft Exchange Online Powershell - его можно загрузить из раздела «гибрид» онлайн-центра администрирования Exchange.

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