如何监控 Active Directory 组成员身份变更
原生审计 vs. Netwrix Auditor for Active Directory
Netwrix Auditor for Active Directory
- 运行 Netwrix Auditor → 点击“Reports” → 打开“Active Directory” → 转到“Active Directory Changes” → 选择“Security Group Membership Changes” → 点击“View”。
- 如果希望定期通过电子邮件获取此报告,请点击“Subscribe”选项,并设置计划和收件人。
- 要将报告导出为 PDF,请点击“Save”按钮并选择要保存文件的位置。
原生审计
使用 PowerShell 监控 AD 组成员变更:
- 打开 PowerShell ISE。
- 复制并运行以下脚本,在 PowerShell 代码中调整时间范围:
# Get domain controllers list
$DCs = Get-ADDomainController -Filter *
# Define timeframe for report (default is 1 day)
$startDate = (get-date).AddDays(-1)
# Store group membership changes events from the security event logs in an array.
foreach ($DC in $DCs){
$events = Get-Eventlog -LogName Security -ComputerName $DC.Hostname -after $startDate | where {$_.eventID -eq 4728 -or $_.eventID -eq 4729}}
# Loop through each stored event; print all changes to security global group members with when, who, what details.
foreach ($e in $events){
# Member Added to Group
if (($e.EventID -eq 4728 )){
write-host "Group: "$e.ReplacementStrings[2] "`tAction: Member added `tWhen: "$e.TimeGenerated "`tWho: "$e.ReplacementStrings[6] "`tAccount added: "$e.ReplacementStrings[0]
}
# Member Removed from Group
if (($e.EventID -eq 4729 )) {
write-host "Group: "$e.ReplacementStrings[2] "`tAction: Member removed `tWhen: "$e.TimeGenerated "`tWho: "$e.ReplacementStrings[6] "`tAccount removed: "$e.ReplacementStrings[0]
}}
了解更多:Netwrix Auditor for Active Directory
审计 Active Directory 组成员身份的变更
最佳实践建议通过将用户分配到 Active Directory 组来控制访问权限。当然,权限分配并不是“一次性完成”的工作;域管理员需要持续不断地确保每位用户的组成员身份与其工作所需完全一致。解决这一问题的方法之一是使用 PowerShell 脚本收集 Windows 安全日志,并跟踪帐户组成员身份的变更。你可以不时手动运行该脚本,也可以使用 Windows 任务计划程序让它自动运行。
但监控 AD 组成员变更还有更好的方法:获取 Netwrix Auditor 的“Security Group Membership Changes”报告,并按你指定的计划自动发送到你的邮箱,或上传到 Windows Server 的文件共享中。该报告以便于阅读和理解的格式,提供审计和调查所需的所有细节。
审计组成员变更并不是 Netwrix Auditor for Active Directory 的唯一功能。你还可以轻松 查看 AD 组成员的状态、用户帐户及其设置、AD 和组策略对象(Group Policy objects,GPOs)的变更,以及交互式与非交互式登录。你还可以轻松将任何报告导出为 PDF 或 CSV 格式到本地计算机或文件共享中,以便进一步审阅和调查。
分享到