當使用者嘗試更改密碼時,是否可以通知使用者不僅僅是「違反約束」?
像是「密碼必須是 7 個或更多字元」之類的東西,而不是讓他們猜測?
開放式DJ
答案1
您的 LDAP 伺服器是什麼?
錯誤 19,LDAP_CONSTRAINT_VIOLATION - 指示在修改、新增或修改 DN 作業中指定的屬性值違反了對該屬性設定的約束。約束可以是大小或內容之一(僅限字串,無二進位)。
大多數 LDAP 伺服器已經提供了有關密碼或屬性中缺失部分的足夠資訊。您可以檢查 389 目錄伺服器或 RHDS。 389-ds 的樣本是
[17/Aug/2012:22:24:59 +0000] conn=85 op=14 RESULT err=19 tag=103 nentries=0 etime=0
[17/Aug/2012:22:24:59 +0000] conn=85 op=14 MOD dn="uid=redhat,ou=Users,dc=example,dc=com", within password minimum age
答案2
您需要更改程式碼以使用 LDAP 擴充密碼修改請求,該請求在其回應中提供詳細的錯誤代碼。
答案3
老問題了,但今天我們在使用外部自助密碼網路應用程式時遇到了這個問題。事實證明,SSP Web 應用程式在到達 389-DS 之前對密碼進行了 SSHA 處理,因此 389-DS 收到了雜湊值。
SSP Web 應用程式需要保留密碼清晰,並讓 389-DS 在寫入時自行加密。(無論如何,SSP Web 應用程式使用 TLS 1.2 和 AES-256 與 LDAP 進行通信,因此明文密碼與大多數傳輸中的 HTTPS 網站一樣安全。)
答案4
不建議提供更具描述性的訊息。 LDAP 回應中更多的描述性文字只會幫助攻擊者。