0

企業エクストラネット ActiveDirectory に対してユーザーを認証するためにモバイル アプリケーションで使用できる WCF サービスを開発しています。私は、Microsoft のこの実装のカスタマイズされたバージョンを使用しています。n 回の再試行後に ActiveDirectory のアカウントがロックアウトされるように、アカウント ロックアウト ロジックを実装する必要があります。

失敗したログインを追跡するために、ステートフル WCF サービスを試しました。しかし、クライアントは次のセッションをやり直して攻撃を続けることができます。

これを強制するように ActiveDirectory ポリシーを設定できることは知っていますが、Microsoft ソリューションがユーザーを認証するように AD にクエリを実行するだけでは、ユーザーはロックアウトされません。

そのため、Windows に誤ったパスワードで n 回ログインすると、AD で設定されたポリシーに従ってアカウントがロックアウトされるように機能するソリューションを楽しみにしています。

4

2 に答える 2

1

私はあなたのコードを見ていません。したがって、この例で実装されている同様のソリューションがあると思います。このリンクをご覧ください

上記の例では、行を見てください

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

このエントリオブジェクトは、ActiveDirectoryで検索呼び出しを行うときに認証に使用されます。

認証したいユーザー/パスワードを使用している場合は、コードによるロックについて心配する必要はありません。ActiveDirectoryポリシーで十分です。

しかし、コメントを読んだ後、モバイルアプリケーションユーザーを検索してActiveDirectoryに存在するかどうかを確認するために使用する特定のユーザーが1人いると思います。これが事実上当てはまる場合、モバイルユーザーに対して認証を行うことは決してないため、それらのユーザーが自動的にブロックされることはありません。

私はあなたの答えを知りたいと思います。

于 2012-06-16T20:52:45.050 に答える
0

これを行うには、基本的に次の 2 つの方法があります。

編集

marc_s のコメントを見た後、ディレクトリ検索を実行するとロックアウトされるかどうかわかりません。無限に試行できると、実際には重大なセキュリティ ホールになります。ただし、AD を使用する前に、AD のクエリを許可されたアカウントが必要です。

リンク先のコードにはこの行がありました

object obj = entry.NativeObject

これは認証を強制することでした。この行を含めましたか?

于 2012-06-16T15:21:43.147 に答える