0

我正在开发一个 WCF 服务,移动应用程序可以使用它来针对企业外联网 ActiveDirectory 对用户进行身份验证。我正在使用Microsoft的此实现的自定义版本。我需要实现帐户锁定逻辑,以便在 n 次重试后 ActiveDirectory 中的帐户应该被锁定。

我尝试使用状态完整的 WCF 服务来跟踪失败的登录。但是客户端可以重新开始下一个会话并继续攻击。

我知道可以设置 ActiveDirectory 策略来强制执行此操作,但仅查询 AD(就像 Microsoft 解决方案对用户进行身份验证一样)不会锁定用户。

因此,我期待找到一种解决方案,该解决方案的工作原理类似于使用不正确的密码登录 Windows 达 n 次后,该帐户将根据 AD 中设置的策略被锁定。

4

2 回答 2

1

我还没有看到你的代码。所以我猜你在这个例子中实现了类似的解决方案,看看这个链接

在上面的例子中,请看线

DirectoryEntry entry = new DirectoryEntry(_path, domainAndUsername, pwd);

当您在活动目录上进行搜索调用时,此条目对象将用于身份验证。

如果您使用的是要进行身份验证的用户/密码,那么您不必担心被代码锁定。活动目录策略就足够了。

但是在阅读了您的评论后,我猜您有一个特定的用户用于搜索移动应用程序用户以检查他们是否存在于您的活动目录中。如果情况确实如此,那么您永远不会针对移动用户进行身份验证,因此这些用户永远不会被自动阻止。

我很想知道你的答案。

于 2012-06-16T20:52:45.050 回答
0

基本上有两种方法可以做到这一点:

编辑

看到 marc_s 的评论后,我不确定进行目录搜索是否会锁定。如果您可以尝试无数次,这实际上将是一个严重的安全漏洞。但是您需要一个允许查询 AD 的帐户,然后才能使用它。

您链接到的代码有这一行

object obj = entry.NativeObject

这是强制身份验证。你把这条线加进去了吗?

于 2012-06-16T15:21:43.147 回答