如何在成功登录一定数量后锁定帐户?

Tom*_*nor 5 active-directory securid user-accounts

我有一个远程访问 VPN,它通过 RSA SecurID 服务器和 Active Directory 进行身份验证。

出于复杂的内部政策原因,有人提出请求,要求我们能够在每个用户的登录次数达到一定数量后暂停访问。

例如,用户 john.doe 可以登录 100 次,但此后,他的帐户将在 AD 中被禁用,直到手动恢复。

我很难弄清楚如何以及在哪里最好地配置它。

有任何想法吗?

Tro*_*eft 1

限制并发登录

\n\n

抱歉,Microsoft 没有内置方法来限制并发用户登录。然而,第三方工具已经解决了这个问题。如果您使用的是 Server 2003(真可惜),那么免费的LimitLogin工具可能会起作用。如果您使用的是 2008 R2 及更高版本,请查看UserLock。它不是免费的,但可以满足您的需要。最后,如果您的预算有限,您也许可以编写一些脚本。这里有一个例子。

\n\n
\n

例如,您可以创建一个 Windows 登录脚本组件,将驱动器映射到用户的主目录共享。如果无法创建映射,则会出错并注销。在每个用户的主目录共享上,您可以将最大连接数设置为 1。当用户登录一次时,一切正常。但是,这样做两次将生成\n net use 错误级别为 1。可以在登录脚本中捕获此错误,\n 以重定向到注销命令并退出。

\n
\n\n

还有摩尔纹脚本示例,请参见此处此处。祝你好运!

\n\n

限制总登录次数

\n\n

如果 - 正如 @JacobEvans 建议的那样 - 您正在查看登录总数而不是并发数,那么您可以检查 AD 属性Logon-Count。问题是,您必须将所有 DC 的 LogonCount 相加。我想您想看看这里如何计算 DC 并结合这里的脚本计算登录次数。一个例子。

\n\n
Set objUser = GetObject _\n\n    (\xe2\x80\x9cLDAP://atl-dc-01/cn=ken myer, ou=Finance, dc=fabrikam, dc=com\xe2\x80\x9d)\n\nWscript.Echo objUser.LogonCount\n
Run Code Online (Sandbox Code Playgroud)\n\n

如果您不喜欢编写脚本,那么ManageEngineNetwrix工具套件等付费工具确实会提供列出用户登录次数的报告。

\n