2008年10月19日 星期日

變更 AD 密碼後,仍可使用舊密碼存取服務

 很多企業都使用 Microsoft 的 AD 服務來管理帳號,而其他非 Microsoft 系列的軟體,則可以使用 LDAP 語法來與 AD 整合,以達到單一帳號登入所有服務的功能。 最近我們公司開始要求使用者定期變更密碼,結果有使用者反應密碼變更後新密碼沒有生效,仍然要用舊密碼登入。

 經實際測試發現,密碼變更後新密碼立即生效,所有服務都可以使用新密碼登入,並無發現使用新密碼無法登入的問題。

 但另外有發現一個問題,就是利用 LDAP 整合的服務,使用新舊密碼都可以登入,大約要一小時後舊密碼才會失效,在 Microsoft 系列服務中,如檔案伺服器、開機登入就無此問題。

 因此研判使用者反應密碼變更後,新密碼沒有生效的問題應該是使用者 Key 錯密碼所造成,並不是系統沒有變更密碼,但為何只有使用 LDAP 整合的服務,仍可使用舊密碼登入。

原因:
 安裝 Windows 2003 SP1 時,依預設使用者有一小時可以使用舊密碼存取帳號。

 因此,當使用者在 Active Directory 上變更其密碼時,隨選同步化屬性 dspswvalidate 即會設為 True,而舊密碼可用以對目錄伺服器進行認證。此時,在目錄伺服器上同步化的密碼是先前的舊密碼,而不是目前的 Active Directory 密碼。

資料參考來源:
http://docs.sun.com/app/docs/doc/820-0290/isw?l=zh_TW&a=view


解決方法: 如何關閉此功能的詳細資訊,請參閱 Microsoft Windows KB906305

 在各 Domain Controller 依下列步驟修改機碼:
1.      請按一下「開始」, 按一下「執行」,輸入 regedit,然後按下「確定」
2.      找出下列登錄子機碼::
  HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa 
3.      在「編輯」功能表,指向「新增」「DWORD 值」。  
4.      輸入DWORD值為 OldPasswordAllowedPeriod
5.      以滑鼠左鍵按兩下OldPasswordAllowedPeriod。  
6.      「數值資料」方塊以分鐘為單位,輸入「0」關閉此功能,然後再按一下「確定」
  請注意 如果未設定此登錄值,舊密碼保存期限預設值是 60 分鐘。
7.      結束 [登錄編輯程式]。.
  請注意 這個登錄設定不需要重新開機即可生效。

沒有留言:

張貼留言