メールボックス監査ログと管理者監査ログのコマンドレットが廃止される予定です。以下の記事でご紹介してます。
メールボックスに対してアクセスや操作した状況については [メールボックス監査ログ] のログを確認する方法があります。
メールボックス監査ログの機能により管理者は、メールボックスにアクセスしたユーザーとそのユーザーが実行した操作などを確認できます。
本機能はテナント単位で既定で有効となっており、ログの保存期間は 90 日が既定値として設定されていますが、90 日経過したログは自動で削除される動作になっております。
また、本ログの保存期間は 24855 日まで伸ばすことが可能です。
なお、[MailboxLogin : メールボックスへログイン (アクセス) したログ] などの [追加可能な監査項目] については、既定では無効ですので、必要に応じて項目の追加についてご検討ください。
項目を追加した後に当該の操作が行われますと、ログとして記録される動作になります。
1. 事前準備 : メールボックス監査ログの設定状況確認
現状では、メールボックス監査ログの有効、無効については、組織単位でのみ管理が可能です。
したがいまして、OrganizationConfig の AuditDisabled が False であれば、各メールボックスの監査ログは有効化されております。
なお、セキュリティ/コンプライアンスセンターの監査ログ(統合監査ログ) は、Exchange Online のメールボックス監査ログがコピーされ、「Exchange Online 内のユーザー アクティビティ」 として表示を行う動作となっており、以下のライセンス以外が付与されているメールボックスについては、既定の設定ではコピーを行わないため、ユーザー単位 (AuditEnabled) で監査ログを有効化をする必要があります。
・ Office365 E5
・ Microsoft365 E5
・ Microsoft365 E5 Compliance アドオン
※ 統合監査ログにて、Exchange Online のユーザーアクティビティ(メールボックス監査ログ) の確認が不要であれば、ユーザー単位で有効化を行う必要はありません。
設定を確認するコマンドレット
Get-OrganizationConfig | select AuditDisabled
※既定で Falseであり、全メールボックスに監査ログが有効化されています。
設定を変更する場合
Set-OrganizationConfig -AuditDisabled $False
※Falseが有効、Trueが無効ですのでご注意ください。
2. メールボックス単位で設定状況を確認する
[構文]
Get-Mailbox -Identity <対象メールボックス> | Select DisplayName,AuditEnabled,AuditDelegate,AuditOwner,AuditLogAgeLimit | Export-Csv -Encoding UTF8 -NoTypeInformation -Path "<保存先パス\ファイル名>"
[実行例]
Get-Mailbox -Identity User01@contoso.com | Select DisplayName,AuditEnabled,AuditDelegate,AuditOwner,AuditLogAgeLimit | Export-Csv -Encoding UTF8 -NoTypeInformation -Path "C:\Temp\User01AuditEnable.csv"
※ 実行例は C ドライブの Temp フォルダに CSV ファイルが出力されます。
3. 全てのメールボックスの設定状況を確認する
[構文]
Get-Mailbox -ResultSize unlimited | Select DisplayName,AuditEnabled,AuditDelegate,AuditOwner,AuditLogAgeLimit | Export-Csv -Encoding UTF8 -NoTypeInformation -Path "<保存先パス\ファイル名>"
[実行例]
Get-Mailbox -ResultSize unlimited | Select DisplayName,AuditEnabled,AuditDelegate,AuditOwner,AuditLogAgeLimit | Export-Csv -Encoding UTF8 -NoTypeInformation -Path "C:\Temp\AuditEnabledList.csv"
<実行結果について>
[AuditEnabled] : メールボックス監査ログの有効、無効が表示されます。※ 有効であれば True、無効であれば False となります。
[AuditDelegate] : メールボックス所有者以外がアクセスを行った操作において、記録される項目が表示されます。
[AuditOwner] : メールボックス所有者がアクセスを行った操作において、記録される項目が表示されます。
[AuditLogAgeLimit] : メールボックス監査ログの、ログの保存期間が表示されます。
<補足>
メールボックス監査ログの監査項目につきましては、AuditOwner、AuditDelegate において、以下の監査対象となる操作内容が出力されます。
1. AuditOwner
メールボックス所有者の監査項目が格納されるパラメーターです。
[既定の監査項目]
HardDelete : [削除済みアイテム復元フォルダー] からアイテムが削除されたログ
MoveToDeletedItems : フォルダーからアイテムを削除したログ (削除済みアイテムフォルダーへの移動)
SoftDelete : [削除済みフォルダー] からアイテムが削除されたログ
Update : アイテムプロパティの更新ログ
UpdateCalendarDelegation : 予定表委任のログ
UpdateFolderPermissions : フォルダーのアクセス権変更ログ([◇ 補足事項] をご確認ください)
UpdateInboxRules : 受信トレイ ルールの変更ログ
[追加可能な監査項目]
ApplyRecord : アイテムをレコードとしてラベル付けされたログ
Create : メールボックス内にアイテムが作成されたログ
MailboxLogin : メールボックスへログイン (アクセス) したログ
Move : メールアイテムの移動ログ
RecordDelete : レコードとしてラベル付けされているアイテムが削除されたログ
2. AuditDelegate
所有者以外のユーザー (メールボックスへのアクセス許可を持つユーザー) の監査項目が格納されるパラメーターです。
[既定の監査項目]
Create : メールボックス内にアイテムが作成されたログ
HardDelete : [削除済みアイテム復元フォルダ] からアイテムが削除されたログ
MoveToDeletedItems : フォルダーからアイテムを削除したログ (削除済みアイテムフォルダーへの移動)
SendAs : 所有者送信権限がある所有者以外のユーザーが、該当のユーザーアドレスから送信したログ
SendOnBehalf : 代理送信権限がある所有者以外のユーザーが、該当のユーザーアドレスから送信したログ
SoftDelete : [削除済みフォルダ] からアイテムが削除されたログ
Update : アイテムプロパティの更新ログ
UpdateFolderPermissions : フォルダーのアクセス権変更ログ
UpdateInboxRules : 受信トレイ ルールの変更ログ
[追加可能な監査項目]
ApplyRecord : アイテムをレコードとしてラベル付けされたログ
FolderBind : フォルダーへアクセスしたログ
Move : メールアイテムの移動ログ
RecordDelete : レコードとしてラベル付けされているアイテムが削除されたログ
※ 所有者と所有者以外のユーザーに適用可能な具体的な項目一覧は以下の公開情報をご確認ください。
4. メールボックス監査ログを有効化する
以下のコマンドレットでは、上述いたしました追加可能な監査項目を含めてメールボックス監査ログを有効化いたします。
※統合監査ログを利用しない場合、追加可能な監査項目を追加しない場合は省略しても問題ありません。
1. メールボックス単位で設定を有効にする
[構文]
Set-Mailbox -Identity <対象メールボックス> -AuditEnabled $true -AuditDelegate @{add="FolderBind","Move"} -AuditOwner @{add="Create","MailboxLogin","Move"}
[実行例]
Set-Mailbox -Identity User01@contoso.com -AuditEnabled $true -AuditDelegate @{add="FolderBind","Move"} -AuditOwner @{add="Create","MailboxLogin","Move"}
2. テナント内すべてのメールボックスの設定を有効にする
[実行例]
Get-Mailbox -ResultSize Unlimited | Set-Mailbox -AuditEnabled $true -AuditDelegate @{add="FolderBind","Move"} -AuditOwner @{add="Create","MailboxLogin","Move"}
5. メールボックス監査ログの情報を取得する
1. 指定したユーザーのメールボックス監査ログを取得する
[構文]
Search-MailboxAuditLog -StartDate <mm/dd/yyyy> -EndDate <mm/dd/yyyy> -Identity <対象メールボックス> -ShowDetails | Export-Csv -Encoding UTF8 -NoTypeInformation -Path "<保存先パス\ファイル名>"
[実行例]
Search-MailboxAuditLog -StartDate 1/1/2021 -EndDate 1/10/2021 -Identity User01@contoso.com -ShowDetails | Export-Csv -Encoding UTF8 -NoTypeInformation -Path "C:\Temp\MailboxAuditLog.csv"
※ 上記実行例は、2021 年 1 月 1 日から 2021 年 1 月 10 日の、メールボックス (User01@contoso.com) に対して行われたログを C ドライブ配下の Temp フォルダーに MailboxAuditLog という名前のファイルで CSV ファイルとして出力いたします。
2. 全てのユーザーメールボックスの監査ログを取得する
[構文]
Get-Mailbox -ResultSize Unlimited -RecipientTypeDetails UserMailbox | Search-MailboxAuditLog -StartDate <mm/dd/yyyy> -EndDate <mm/dd/yyyy> -ResultSize 250000 -ShowDetails | Export-Csv -Encoding UTF8 -NoTypeInformation -Path "<保存先パス\ファイル名>"
[実行例]
Get-Mailbox -ResultSize Unlimited -RecipientTypeDetails UserMailbox | Search-MailboxAuditLog -StartDate 1/1/2021 -EndDate 1/10/2021 -ResultSize 250000 -ShowDetails | Export-Csv -Encoding UTF8 -NoTypeInformation -Path "C:\Temp\MailboxAuditLog-All.csv"
※ 上記実行例は、2021 年 1 月 1 日から 2021 年 1 月 10 日の、全ユーザーメールボックスに対して行われた取得可能なすべてのログを、C ドライブ配下の Temp フォルダーに MailboxAuditLog-All という名前のファイルで CSV ファイルとして出力しております。
出力可能なログのエントリ数について
ResultSize パラメーターを指定せずにコマンドレットを実行した場合、既定では最大 1,000 のログ エントリが出力されます。
一度に出力可能なログ エントリ数は、最大で 250000 ログです。
パラメーターの意味はそれぞれ以下の通りです。
PSComputerName : イベントが発生したコンピューターの名前
RunspaceId : イベントが発生したセッションを一意に識別する GUID
PSShowComputerName
Operation : 実施した操作の種類
OperationResult : 操作の成否
LogonType : 操作を行ったユーザーが所有者 (Owner) か代理ユーザー (Delegate) か
ExternalAccess : 外部ユーザーからのアクセスログ
DestFolderPathName : 削除済みアイテム
FolderPathName : 該当アイテムが格納されているフォルダ名
FolderName : 対象フォルダー
ClientInfoString : 操作を実行したクライアントまたは Exchange コンポーネントを識別する詳細情報
ClientIPAddress : クライアントの IP アドレス
InternalLogonType : 操作を実行したユーザーのログオンの種類
MailboxOwnerUPN : メールボックス所有者のユーザー プリンシパル名 (UPN)
DestMailboxGuid : 宛先メールボックス所有者の GUID
LogonUserDisplayName : ログオンしたユーザー名
LogonUserSid : ログオンしたユーザーの SID
ItemSubject : アイテムの件名
ItemAttachments : 添付されたファイルのファイル名を確認できます
OriginatingServer : 実行されたサーバー
MailboxGuid : メールボックスの GUID
MailboxResolvedOwnerName : メールボックス ユーザーの解決された名前 (形式は、ドメイン\SamAccountName)
LastAccessed : オペレーションを実行した日時
6. メールボックス監査ログの保存期間を変更する
メールボックス監査ログの保存期間は既定で 90 日となっており、90 日経過したログは自動で削除される動作でございます。
保存期間は以下コマンドレットにて変更が可能でございます。
※ 保存期間は [ 00:00:00 ~ 24855.03:14:07 ] 内で指定が可能です。
※ 統合監査ログでメールボックス監査ログを確認する場合は、保存期間を変更しても90日までです。
1. メールボックス単位で設定する場合
[構文]
Set-Mailbox -Identity <対象メールボックス> -AuditLogAgeLimit <保存期間>
[実行例]
Set-Mailbox -Identity User01@contoso.com -AuditLogAgeLimit 30.00:00:00
※ メールボックス監査ログの保存期間を 30 日に変更する場合
2. 全てのユーザー メールボックスに対し、一括で設定する場合
[構文]
Get-Mailbox -ResultSize Unlimited -RecipientTypeDetails UserMailbox | Set-Mailbox -AuditLogAgeLimit <保存期間>
[実行例]
Get-Mailbox -ResultSize Unlimited -RecipientTypeDetails UserMailbox | Set-Mailbox -AuditLogAgeLimit 30.00:00:00
※ メールボックス監査ログの保存期間を 30 日に変更する場合
不正アクセスのログを取得できるか
ClientIPAddressで接続元のIPアドレスが確認できますので、AuditOwnerの既定の監査項目の操作を外部からおこなった場合、IPアドレスから判断することができます。
ただし、メールボックスにアクセスした場合の監査項目であるMailboxLoginが既定では有効化されていませんので、あらかじめ追加しておいたほうがいいと思います。
また、以下の監査項目については、E5ライセンスが必要となりますので、それ以外のライセンスでは監査対象になりません。
不正アクセスによりメールの閲覧、メールの送信したログは以下の要件を満たしていないと確認ができないということになります。
また、公開情報上では、E5ライセンスが付与されていれば既定で有効との情報があるのですが、私のE5の環境では既定で有効ではありませんでした。
上述した設定状況の確認をしていただき、有効化されていないようであれば、項目を追加するコマンドレットを実施してください。
MailItemsAccessed : メールアイテムにアクセスしたログ
Send : メールの送信、返信、転送
<必要なライセンス>
・ Office365 E5
・ Microsoft365 E5
・ Microsoft365 E5 Compliance アドオン