
Office365メール(Exchange)のメール監査機能は、単純に『情報漏洩対策』による目的以外にも、今まであったメールが無くなったんだけど「何かした?」というクレーム対策にも活用できるとExchangeブログJapanに記載がある。また、当記事は、マイクロソフトのテクニカルサポートで回答が来た内容も含めて執筆しています。
(参考)メールボックス監査ログの活用(ExchangeブログJapan、2015.11.10)
(参考)突然アイテムが消えた!場合の対策(ExchangeブログJapan、2015.04.15)
Office365管理者は比較的弱い立場にいるかもしれない。何もできるように思われるからだ。まして、第三者のメールは見れるんでしょ?と馬鹿げた質問もしてくる。メールのパスワードが分からない限り、原則見ることができない。また、メールアドレスに対し、監査機能を有効にしていれば、見ることも可能だが、逆にシステムによって「監査されている」ため、そんな危険行為に足を突っ込みたくない。
「Office 365 のセキュリティおよびコンプライアンス(Microsoft、2016.12.21)」には、詳しくOffice365管理者機能であるセキュリティやコンプラに関する内容が記載されている。また、「Office365の監査(Microsoft、2016.12.21)」にはメールのExchange Online、グループウエア的なSharePoint Onlineの監査ができるという。ここでは、Exchange Onlineの監査機能に絞って説明していきたい。
「Office 365 でメールボックスの監査を有効にする(Microsoft、2016.12.21)」によると、監査機能はデフォルトでは無効になっている。しかし有効にすることで、メールボックスの所有者、代理人、および管理者がによるメールボックスへのアクセスをログに記録できるようになる。だったら、最初から有効にして欲しいところだが。
この「監査機能」を利用するためには、Exchange Onlineプラン2が必要となる。すなわち、Office365 E3〜E5は利用できるが、E1や、Exchange Onlineプラン1を利用している場合は利用できないのだ。そのために、Exchange Online Archiving(EOA)ライセンスが別途必要となる。<参考:Exchange Online Archiving のコンプライアンス機能とセキュリティ機能(Microsoft、2016.12.21)> そのために、監査機能が初期値で無効になっているのだろうと考えられる。
このE3以降もしくはEOAを別途契約している場合、監査機能を有効にしないともったいない。この監査機能が有効なのか、無効なのかを確認するには次のコマンドで確認できる。user@domain.com部分は、確認したいメールアドレスを入力する。
Get-Mailbox -Identity user@domain.com | Select DisplayName,PrimarySmtpAddress,AuditEnabled,AuditDelegate,AuditOwner,AuditLogAgeLimit
全てのメールアドレスに対し、設定値がどうなっているか調べるには、次のコマンドで、CSV出力ができる。
Get-Mailbox -ResultSize Unlimited -RecipientTypeDetails UserMailbox | Select DisplayName,PrimarySmtpAddress,AuditEnabled,AuditDelegate,AuditOwner,AuditLogAgeLimit | Export-Csv -NoTypeInformation -Encoding UTF8 "C:\temp\AuditEnabledList_AllList.csv"
<実行結果>
[AuditEnabled]
メールボックス監査ログについて
※有効であれば True、無効であれば False となる。
※値が空白の場合、設定が行われていない状況となる。 [AuditLogAgeLimit] メールボックス監査ログの、ログの保存期間が表示される。初期値は90日間。
これでAuditEnabledがFalseになっていれば、次の流れで処理する方法が望ましい。なお、【3】と同じ処理。
【1】メールボックス監査ログの有効化 【2】監査項目の追加 【3】メールボックス監査ログの期間変更 【4】設定状況の確認 【5】メールボックス監査ログの出力 |
【1】メールボックス監査ログの有効化
・特定のアドレス
Set-Mailbox -Identity user@domain.com -AuditEnabled $true
・全てのアドレス
Get-Mailbox -ResultSize Unlimited -RecipientTypeDetails UserMailbox | Set-Mailbox -AuditEnabled $true
【2】全ての監査項目の追加
(参考)PowerShellコマンドレット:Set-Mailbox
・特定のアドレス
Set-Mailbox -Identity user@domain.com -AuditDelegate @{add="FolderBind,Move,MoveToDeletedItems,SendOnBehalf"} -AuditOwner @{add="Create,HardDelete,SoftDelete,Update,MailboxLogin,Move,MoveToDeletedItems"}
・全てのアドレス
Get-Mailbox -ResultSize Unlimited -RecipientTypeDetails UserMailbox | Set-Mailbox -AuditDelegate @{add="FolderBind,Move,MoveToDeletedItems,SendOnBehalf"} -AuditOwner @{add="Create,HardDelete,SoftDelete,Update,MailboxLogin,Move,MoveToDeletedItems"}
【3】メールボックス監査ログの期間変更
初期値は90日。90日あれば十分かと思われるが、00:00:00 ~ 24855.03:14:07 内で指定が可能の模様。どんだけ記録が必要なのか?
例えば、400日に変更する場合は次の方法となる。
・特定のアドレス
Set-Mailbox -Identity user@domain.com -AuditLogAgeLimit 400.00:00:00
・全てのアドレス
Get-Mailbox -ResultSize Unlimited -RecipientTypeDetails UserMailbox | Set-Mailbox -AuditLogAgeLimit 400.00:00:00
【4】設定状況の確認
1〜3の設定がされているか確認するコマンド。これは、冒頭に記入済み。
・特定のアドレス
Get-Mailbox -Identity user@domain.com | Select DisplayName,PrimarySmtpAddress,AuditEnabled,AuditDelegate,AuditOwner,AuditLogAgeLimit
・全てのアドレス
Get-Mailbox -ResultSize Unlimited -RecipientTypeDetails UserMailbox | Select DisplayName,PrimarySmtpAddress,AuditEnabled,AuditDelegate,AuditOwner,AuditLogAgeLimit | Export-Csv -NoTypeInformation -Encoding UTF8 "C:\temp\AuditEnabledList_AllList.csv"
【5】メールボックス監査ログの出力
2017.7.1〜2017.7.7までの情報を出力する場合。
(参考)PowerShellコマンドレット:Search-MailboxAuditLog
・特定のアドレス
Search-MailboxAuditLog -StartDate 7/1/2017 -EndDate 7/7/2017 -Identity user@domain.com -ResultSize 250000 -ShowDetails | Export-Csv -NoTypeInformation -Encoding UTF8 -Path "C:\Temp\MailboxAuditLog-User-20170707.csv"
*Outlook on the Web (OWA,OotW)にログインしたログを取得したい場合
Search-MailboxAuditLog -StartDate 7/1/2017 -EndDate 7/7/2017 -Identity user@domain.com -ResultSize 250000 -ShowDetails | Select ClientInfoString,ClientIPAddress,LastAccessed | Export-Csv -NoTypeInformation -Encoding UTF8 -NoTypeInformation -Path "C:\Temp\OWAAuditLog-User-20170707.csv"
・全てのアドレス
Get-Mailbox -ResultSize Unlimited -RecipientTypeDetails UserMailbox | Search-MailboxAuditLog -StartDate 7/1/2017 -EndDate 7/7/2017 -ResultSize 250000 -ShowDetails | Export-Csv -NoTypeInformation -Encoding UTF8 -Path "C:\Temp\MailboxAuditLog-All.csv"
なお、コマンドは夜間にバッチで回しても特にシステムに負荷になるということも無いとのことだ。Office365への自動ログインについては、こちらを参考。また、タスクログとしてこちらを参考に記録すれば、何かあった際も振り返ることもできる。