初探Exchange管理员审计日志

Exchange Online默认为用户提供了管理员审计日志功能,该功能可以审计出凡是拥有管理员权限的用户在Exchange层面所做的操作。通过管理员审计日志我们可以方便的跟踪对于Exchange Online的更改以满足组织的遵从性的要求,这一点在较大的组织且有较多管理员。

 

在默认情况下,Office 365的管理员审计日志是被开启的,这为我们提供了很大的便捷,不会再出现问题已经发生了但却没有日志可看。但需要知道的是,管理员对Exchange层面所产生的任何有改动的设置是会被记录下的。换句话说当管理员执行Get、Test这类命令是不会被记录的。另外,默认情况下管理员审计日志会在服务器端保留90天,这个天数是可以被调整的。

 

有关具体信息,请参考如下文档:

 

管理员审核日志记录

https://technet.microsoft.com/zh-cn/library/dd335144(v=exchg.150).aspx

 

例如,您可以运行如下命令搜索管理员对某一个用户进行的更改,您这里将username更改为实际被修改的对象,例如用户名:

 

Search-AdminAuditLog -objectids username -StartDate 01/01/2015 -EndDate 10/02/2016

 

根据这里的返回结果,您可以在下图中看到管理员(Caller)在时间(RunDate)执行的操作(CmdletName)和改命令的参数(CmdletParameters):

 

对于管理员审计日志的设置,您也可以通过如下命令检查全局设置,在这里可以定义是否启用、日志保留的天数、哪些命令和参数会被审计等全局设置:

 

Get-AdminAuditLogConfig

 

此外,您也可以通过如下链接去通过GUI搜索管理员审计日志: Https://protection.office.com/#/unifiedauditlog

 

Exchange的管理员审计日志保存在一个特殊的系统邮箱(arbitration mailbox)中,但该邮箱不可以被直接访问。您需要查看时必须通过图形化或命令行进行查找。

 

一般情况下,审计人员搜索管理员审计日志最关心的是找出是谁在何时做了什么操作以及操作的参数。这些信息直接可以在管理员审计日中返回。但也有些场景需要审计出所修改的值,对类这种情况,Exchange Team Blog中给出了一种做法,即是通过将查找日志的输出结果放置到Array中然后对Array中的条目分隔进行细化查看。这里您可以参看该文档中的命令来实现:

 

Parsing the Admin Audit Logs with PowerShell

https://blogs.technet.com/b/exchange/archive/2015/06/15/parsing-the-admin-audit-logs-with-powershell.aspx