获取所有 AD 用户登录历史

Get All AD Users Logon History

我需要获取两个日期(开始和结束)之间的所有 AD 用户登录历史记录(不仅是最后一次登录)的列表。

我知道有像 AD Info and AD Tidy 这样的 AD 管理工具,但这种工具只能检索每个用户的最后一次登录,我需要他们每个人的登录历史。

另外,我找到了一个 PowerShell 脚本 here。此脚本执行我想要的操作:获取完整的登录历史记录,但它基于 windows 事件日志,方法是在域控制器的事件查看器中检查 Kerberos TGT 请求事件(EventID 4768)。问题是事件日志有最大大小,一旦达到最大大小,旧日志就会自动删除。

现在我需要提取每个 AD 用户在两个日期之间的登录历史记录,我发现其中大部分已在 windows 事件日志中自动删除,因此此脚本不会检索它们....

那么有没有免费的工具可以直接从AD中提取每个AD用户的完整登录历史?或者您知道可以执行此操作但直接从 AD 而不是 windows 事件日志请求数据的 powershell 脚本吗?

Active Directory 仅存储上次登录日期。

至于历史记录,域控制器会将登录事件记录到事件日志中。当您有多个域控制器时,无论您使用哪个域控制器进行身份验证,都将包含该登录条目。这就是上述工具占有一席之地的原因,因为它们将扫描所有域控制器以查找登录条目,而您不必手动扫描每个域控制器的事件日志。

域控制器上的事件日志大小有限,在一些繁忙的域上,日志会循环,有时可能只包含一天的条目。需要了解的一件事是,事件日志仅用于 logging 信息,而不是 auditing 信息。

如果您想审核 登录信息,那么您应该查看SIEM(安全信息和事件管理)工具。这些工具是为 审核 事件而制作的。他们将使用所有域控制器事件日志并存储它们。它们不仅提供审计(即登录历史记录),而且它们通常还带有一组特定的智能功能来提醒您可疑 activity 或异常登录等事情。

至于免费的 SIEM 工具……好吧,事情是偶然的。通常这个区域的 "free" 意味着设置困难和复杂。当前 "free" 个排名靠前的开源工具是 AlienVault OSSIM. I have heard good things from most paid SIEM tools which are dramatically easier to set up, and usually worth the cost. One popular paid tool is SolarWinds。它会给你所有你需要的审计和合规性的东西。您可能需要进行一些搜索才能找到满足您的审计和合规性需求的内容。