2011-05-04 185 views
1

有沒有什麼方法可以定義您自己的加密/解密,而不是使用純文本密碼存儲?你可以有自己的算法,並作爲過程的一部分單獨運行嗎?雖然詳細並沒有具體說明這樣做的具體方法,但我是新的和在線文檔。這是特定於OpenLDAP和用於身份驗證的當前方法。OpenLDAP身份驗證

回答

0

Apache目錄工作室可以做到這一點爲你

此LDAP瀏覽器檢測到的userPassword OID並提供散列密碼的界面。

suchas: 的userPassword :: e01ENX1Lc25MZmNBclBBQ0Q2M0NKamxTYll3PT0 =

(它只是工作,因爲它內置) 閱讀OpenLDAP的自述文件以獲得更多信息: 這個目錄包含密碼機制的本機slapd的插件, 不積極由項目支持。目前這包括 Kerberos,Netscape MTA-MD5和RADIUS密碼機制。還包括Apache APR1 MD5和BSD/Paul Henning Kamp MD5機制。

要使用Kerberos插件,添加:

在moduleload pw-kerberos.so

您slapd配置文件。

亞達內容十分重要

4

爲了能夠在默認情況下,你必須添加一個密碼政策疊加和指令讓服務器哈希密碼給你。

如果使用聯機cn = config方法,請將overlay子條目添加到olcDatabase對象。

dn: olcOverlay={0}ppolicy,olcDatabase={2}hdb,cn=config 
objectClass: olcPPolicyConfig 
olcOverlay: {0}ppolicy 
olcPPolicyHashCleartext: TRUE 

的slapd.conf方法:

database bdb 
suffix "dc=example,dc=com" 
... 
# invokes password policies for this DIT only 
overlay ppolicy 
ppolicy_hash_cleartext 

然後,當你添加一個新用戶以純文本的userPassword屬性它將存儲哈希密碼。我相信默認是一個非常安全的鹽漬sha1。您還應該考慮限制對userpassword屬性的訪問。

olcAccess: to attrs=userPassword by self write by * auth 
0

你應該永遠,永遠密碼儲存在可逆加密,如果你使用他們的認證!

您應該使用單向散列函數存儲密碼:MD5,SHA1,SHA256。如果你並不是絕對需要以某種舊的,特定的格式存儲它,你應該總是將它們加鹽。 Salted SHA1是OpenLDAP良好的默認設置。

問題是,您需要使用LDAP Extended Operation更改密碼,而不是常規ldapmodify更新,以使其正常工作。最好使用ppolicy來實際執行以這種方式設置密碼。如果你在這裏,你可能想要做密碼質量檢查和老化。