フォームベースのログインと中央ディレクトリを備えたWebアプリケーションがある場合:実際のユーザーとアプリケーションでLDAP(高速)バインドを使用すると、(サービスユーザーを使用してパスワードチェックを行うのとは対照的に)いくつかの利点があります。これは特に、ログインが実際に許可されているかどうかをディレクトリサーバーが評価することを意味します。その後、ログインを監査し、失敗した試行をカウントできます。アプリケーションは、パスワードハッシュを比較したり、アカウントロック/有効期限/時間制限を確認したりする方法を知る必要はありません。
ただし、ログインセッション(たとえば、httpセッションcookieを使用)が長時間持続し、その間にユーザーが削除またはロックアウトされた場合の対処方法についての質問があります。
最も簡単な方法は、再度定期的にバインドすることです。ただし、これは、ユーザーに迷惑をかける(再度パスワードを入力する必要がある)か、ユーザーセッションでパスワードを保持する必要があるため、再認証できるという問題があります。別の(広くサポートされている)方法はありますか?
そうでない場合、何が行われますか?サービスバインドを使用してDNを検索し、それが変更されている(属性が変更されている)かどうかを確認しますか?これは「有効期限」タイプの制限をカバーしないと思います。
(GSSAPIが使用されていない場合)LDAPサーバーに対して検証できるトークンを表すセッションを作成する方法はありますか(そうであれば、JavaのLDAPクライアントからアクセスできますか?)
私のソフトウェア製品は、SAMLまたはSiteMinderを使用したSSO、Kerberosなど、他のあらゆる種類の代替方法をサポートしています。しかし、LDAP方式は一部のお客様のためにあり、その部分を特に最適化したいと考えています。
BINDのみを使用しても、目的のユーザーへのアクセスが制限されるとは限りません。たとえば、ユーザーがロックされているかどうかも確認する必要があります。 userAccountControl属性。
資格情報をメモリに保存することに本当に懸念があり、LDAPを介してユーザー権限を迅速に停止したい場合は、適切な属性の定期的なクエリでセッションを開いたままにできます。これには他の問題もありますが、この問題は解決されます。
ただし、ユーザーのディレクトリ情報が変更されたときに、ユーザーをアプリケーションから迅速に追い出す必要性を見積もっていると思います。ユーザーをすぐに追い出す必要がある場合は、アプリケーションにユーザーのセッションを無効にするメカニズムが必要です。
また、ユーザー資格情報をメモリに保存することに過度に関心があると思います。これは比較的難しいターゲットであり、ユーザーの資格情報がそれほど機密性の高いものである場合は、メモリに格納できるものを実際に使用するのではなく、要因の1つが時間制限されているか、暗号的に安全、例えばSecurID、またはPC/SC。
認識できることから、問題はActive Directory固有ではありません。 SQLベースまたはその他の種類の認証バックエンドの場合は、この問題が引き続き発生します。私たちが解決しなければならないことは、アカウントの資格情報を思い出したり、再認証を要求したり、セキュリティを放棄したりせずに、ログインしたユーザーアカウントのステータスをどのように把握するかです。
答えは簡単です:できません。ユーザーがまだ有効であることを確認する唯一の方法は、認証サービスで再チェックすることです。
唯一の選択肢はタイムアウトを長くすることです(ユーザーの資格情報を保持してはいけないというトピックについて説明する必要がないと思います)。しかし、それがまさにこのステータスの一貫性の問題に直面している理由です。
これが、この種の問題に対して 適切な脆弱性カテゴリ がある理由です。単に[〜#〜] not [〜#〜]長いセッションタイムアウト期間または(一部の人の意見では)長期セッションを有効にする必要があります。
@Abuによって言及されたそのSSOについて何かを試すことができます。しかし、前のリンクで説明したように、NTLMが壊れているためにWindowsが認証する方法について、別の 問題 が開かれているため、デフォルトのKerberos構成が行われます。もちろん、影響を受ける暗号を使用しないようにKerberosを適切に構成することは可能ですが、厳密なインフラストラクチャ管理計画の必要性も伴います(現時点でセッションを無効にするかどうかもわかりません)アカウントは削除、ブロックなどされます)。
セキュリティは常に使いやすさを犠牲にしています。上司と話し、上司に状況を説明し、上司が望むことは何でもしてください。どちらにせよ、彼はhis決定の長所と短所を認識します。それは、セキュリティが低い(サーバーがハッキングされているか、完全に消去されているか)か、再認証について不平を言う電子メール(選択したタイムアウト)。
問題を見るところから、セキュリティの低下の影響この場合は2番目のオプションの影響をはるかに上回ります。
しかし、どこが一番痛いかはあなただけがわかるでしょう。