![[AIX Solaris HP-UX Linux Windows]](../images/dist.gif)
![[z/OS]](../images/ngzos.gif)
mod_ibm_ldap 指引移轉
本文包含的資訊可協助您從使用 mod_ibm_ldap 模組的現有指引,移轉為使用開放程式碼 LDAP 模組(mod_authnz_ldap 和 mod_ldap)。移轉可確保未來能夠支援 LDAP 配置。
開放程式碼 LDAP 特性由兩個模組提供。AuthLDAP 指引由 mod_authnz_ldap 模組提供,而 LDAP 指引由 mod_ldap 模組提供。這兩個模組都要載入,才能使用 LDAP 特性。在整個下一節中,都是以通用名稱 mod_ldap 來參照開放程式碼 LDAP 模組。
ldapCodePageDir
mod_ldap 模組沒有提供用來指定字碼頁目錄的指引。字碼頁目錄會自動安裝在正確的目錄中,而且字碼頁目錄不能從其安裝位置移動。
ldapCodePageDir /location/of/codepages
LDAPConfigfile
mod_ldap 模組沒有提供用來指定 LDAP 配置檔的指引。雖然沒有用來指定 LDAP 配置檔的 mod_ldap 指引,但是如果您想要將 LDAP 配置放在個別檔案中,可以使用 Apache include 指引。
ldapConfigFile ldap.prop轉換成:
Include /location/of/ldap_conf/apache_ldap.conf
移轉 mod_ibm_ldap LDAPConfigfile 指引的另一種做法,是使用 mod_authn_alias 模組 AuthnProviderAlias 儲存器來建立一或多個 ldap 指引分組,然後在需要的地方參照別名標籤,以使用這些分組
LdapRequire
mod_ldap 模組提供 require 指引,搭配 LDAP 延伸,可確保 LDAP 鑑別安全。
如果您先前已為 IBM HTTP Server 使用 require valid-user,可以保留這個 require 指引,而不要修改。為獲得最高層次的 LDAP 鑑別安全性,您應將 require valid-user 移轉為更明確的形式。如需相關資訊,請參閱下列 require 指引的 Apache 說明文件:ldap-user、ldap-dn、ldap-attribute、ldap-group、ldap-filter 和 valid-user。
LdapRequire filter "(&(objectclass=person)(cn=*)(ou=OurUnit)(o=OurOrg))" LdapRequire group MyDepartment轉換成:
require ldap-filter &(objectclass=person)(cn=*)(ou=OurUnit)(o=OurOrg) require ldap-group cn=MyDepartment,o=OurOrg,c=US
ldap.application.authType
mod_ldap 模組沒有提供用來指定鑑別類型的指引。如果有為 AuthLDAPBindDN 指引指定值,就會啟用基本鑑別 (BA)。如果沒有為 AuthLDAPBindDN 指引指定值,則會啟用 mod_ibm_ldap 模組先前的 None 鑑別類型,或匿名。
ldap.application.authType=[None | Basic | Cert]
ldap.application.DN
mod_ldap 模組提供 AuthLDAPBindDN 指引,以判定應用程式鑑別類型。
如果有為 AuthLDAPBindDN 指引指定值,則 authType 指引的值為 Basic。如果沒有啟用 AuthLDAPBindDN 指引,則 authType 指引的值為 None。如果有為 LDAPTrustedClientCert 指引指定值,則 authType 指引的值為 Cert。
ldap.application.DN=cn=ldapadm,ou=OurDirectory,o=OurCompany,c=US轉換成:
AuthLDAPBindDN "cn=ldapadm,ou=OurDirectory,o=OurCompany,c=US"
ldap.application.password
mod_ldap 模組提供 AuthLDAPBindPassword 指引,以指定連結密碼。該值儲存在純文字的配置檔中。因此,您應限制存取配置檔。
ldap.application.password=mypassword轉換成:
AuthLDAPBindPassword mypassword
ldap.application.password.stashFile
mod_ldap 模組沒有提供用來隱藏密碼的指引。AuthLDAPBindPassword 指引是用來指定密碼的唯一方法,而該值儲存在純文字的配置檔中。因此,您應限制存取配置檔。
ldap.application.password.stashfile=/path/to/stashfile.sth
ldap.cache.timeout
mod_ldap 模組提供 LDAPCacheTTL 指引,以指定 LDAP 快取的逾時值。LDAPCacheTTL 指引全面限定範圍,必須位在配置檔的最高層次。這不同於 mod_ibm_ldap 模組,因為 ldap.cache.timeout 指引可能位在配置檔中的任何地方。
ldap.cache.timeout=60轉換成:
LDAPCacheTTL 60預設值為 600 秒。
ldap.group.dnattributes
mod_ldap 模組提供 AuthLDAPSubGroupClass 指引,以指定用來識別群組的物件類別。若為 mod_ibm_ldap 模組,所有值都指定在單一指引行中;但若為 mod_ldap 模組,這些值可以全部指定成一行,或是用此指引指定成好幾行,每一行各一個值。
ldap.group.dnattributes=groupOfNames GroupOfUniqueNames轉換成:
AuthLDAPSubGroupClass groupOfNames AuthLDAPSubGroupClass groupOfUniqueNames這些是預設值。
ldap.group.memberattribute
mod_ldap 模組提供 AuthLDAPSubGroupAttribute 指引,以指定用來識別現行群組之子群組成員的標籤。若為 mod_ibm_ldap 模組,您只能指定一個標籤;但若為 mod_ldap 模組,就可以指定多個標籤,您可以將所有標籤列示在單一指引行中,或是提供多個指引行,將每一個標籤指定在個別的指引行上。
ldap.group.memberattribute=member轉換成:
AuthLDAPSubGroupAttribute member AuthLDAPSubGroupAttribute uniqueMember
ldap.group.memberattributes
mod_ldap 模組提供 AuthLDAPGroupAttribute 指引,以指定標籤來識別現行群組的任何成員,例如使用者或子群組。若為 mod_ibm_ldap 模組,您已將所有標籤指定在單一指引行上;但若為 mod_ldap 模組,您可以將其全部指定在單一指引行上,或是將每一個標籤指定在個別的指引行上。
ldap.group.membreattributes=member uniqueMember轉換成:
AuthLDAPGroupAttribute member AuthLDAPGroupAttribute uniqueMember
ldap.group.name.filter
mod_ldap 模組沒有提供用來指定個別使用者和群組過濾器的指引。mod_ldap 模組使用在 AuthLDAPURL 指引結尾提供的過濾器。您可以使用 mod_authn_alias 模組提供的 AuthnProviderAlias 儲存器指引,來建立包含必要 ldap 指引的個別 my_ldap_user_alias 和 my_ldap_group_alias 別名。然後您可以將群組別名用在以群組成員資格方式來控制授權的位置。
ldap.group.name.filter=(&(cn=%v1)(|(objectclass=groupofnames)(objectclass=groupofuniquenames)))
ldap.group.search.depth
mod_ldap 模組提供 AuthLDAPMaxSubGroupDepth 指引,以限制所爭取的遞迴深度,達到此限制之後,即停止嘗試尋找巢狀群組中的使用者。
ldap.group.search.depth=5轉換成:
AuthLDAPMaxSubGroupDepth 5預設值為 10。
ldap.group.URL
mod_ldap 模組沒有提供指引來指定 LDAP 伺服器,以授權給不同於用來鑑別使用者之 LDAP 伺服器的群組成員資格。
您也必須在儲存器的 AuthLDAPURL 指引中指定 LDAP 群組伺服器。請確定您已為每一個群組指定正確的過濾器。
ldap.group.URL=ldap://groups_ldap.server.org:389/o=OurOrg,c=US ldap.group.URL=ldaps://groups_ldap.server.org:636/o=OurOrg,c=US
ldap.idleConnection.timeout
mod_ldap 模組沒有提供指引來指定已建立至 LDAP 伺服器的連線在閒置後多久應該逾時。mod_ldap 模組會自動偵測 LDAP 伺服器連線何時到期,但不會導致連線到期。
ldap.idleConnection.timeout=60
ldap.key.file.password.stashfile
如果沒有在 LDAPTrustedGlobalCert 指引中指定密碼,mod_ldap 模組會自動使用 /path/to/keyfile.sth 檔案(假設 /path/to/keyfile.kdb 是 LDAPTrustedGlobalCert 指引中指定的金鑰檔)。
如需有關如何指定金鑰檔密碼的詳細資訊,請參閱 LDAPTrustedGlobalCert 指引的 Apache 資訊。該值儲存在純文字的配置檔中。因此,您應限制存取配置檔。
ldap.key.file.password.stashfile=/path/to/ldap.sth
ldap.key.fileName
mod_ldap 模組提供 LDAPTrustedGlobalCert 指引,以指定在載入憑證時所使用的金鑰檔。mod_ldap 模組也會使用這些指引,以純文字將密碼指定在配置檔中。因此,您應限制存取配置檔。
ldap.key.filename=/path/to/keyfile.kdb轉換成:
![[AIX Solaris HP-UX Linux Windows]](../images/dist.gif)
LDAPTrustedGlobalCert CMS_KEYFILE /path/to/keyfile.kdb myKDBpassword
![[z/OS]](../images/ngzos.gif)
LDAPTrustedGlobalCert SAF saf_keyring
ldap.key.label
mod_ldap 模組提供 LDAPTrustedClientCert 指引,以指定要從 KDB 金鑰檔使用哪個憑證。如果是使用預設憑證,則不需要為這些指引指定值。
ldap.key.label=certname_from_kdb轉換成:
LDAPTrustedClientCert CMS_LABEL certname_from_kdb
ldap.ReferralHopLimit
mod_ldap 模組提供 LDAPReferralHopLimit 指引,以限制所要追蹤的轉介數目,達到此限制之後,即停止嘗試在分散式目錄樹狀結構中尋找使用者。
ldapReferralHopLimit 5轉換成:
LDAPReferralHopLimit 5預設值為 5。
ldapReferrals
mod_ldap 模組提供 LDAPReferrals 指引,可以在分散式目錄樹狀結構中尋找使用者時,啟用或停用轉介追蹤。
ldapReferrals On轉換成:
LDAPReferrals On預設值為 On。
ldap.realm
mod_ldap 模組提供 AuthName 指引,以指定授權網域範圍。
ldap.realm=Some identifying text轉換成:
AuthName "Some identifying text"
ldap.search.timeout
mod_ldap 模組提供 LDAPSearchTimeout 指引,以指定應在何時放棄搜尋要求。
ldap.search.timeout=10to
LDAPSearchTimeout 10預設值為 10 秒。
ldap.transport
mod_ldap 模組提供 LDAPTrustedMode 指引,以指定在與 LDAP 伺服器通訊時,所要使用的網路傳輸類型。
如果沒有在 AuthLDAPURL 指引中指定埠,mod_ldap 模組就會忽略 LDAPTrustedMode 指引,並指定網路傳輸值為 SSL。如需相關資訊,請參閱 LDAPTrustedMode 和 AuthLDAPURL 指引的 Apache 說明文件。
- None 或 TCP,表示沒有加密。如果沒有在 AuthLDAPURL 指引中指定埠,則會使用埠 389。
- SSL。如果指定 None 值,則會使用埠 636。
- TLS 或 STARTTLS。IBM HTTP Server 不支援這些開放程式碼類型。
ldap.transport=TCP(或 SSL)轉換成:
LDAPTrustedMode NONE(或 SSL)如果指定 ldaps://URL,則模式會變成 SSL,並且會忽略 LDAPTrustedMode 的設定。
ldap.URL
mod_ldap 模組提供 AuthLDAPURL 指引,可指定 LDAP 伺服器主機名稱和埠,以及在連接至伺服器時所要使用的基本 DN。mod_ldap 模組也有提供一種方法來指定使用者屬性、範圍、使用者過濾器和傳輸模式。如需相關資訊,請參閱 AuthLDAPURL 指引的 Apache 說明文件。
ldap.URL=ldap://our_ldap.server.org:389/o=OurOrg,c=US ldap.URL=ldaps://our_ldap.server.org:636/o=OurOrg,c=US轉換成:
AuthLDAPURL ldap://our_ldap.server.org:389/o=OurOrg,c=US?cn?sub?(objectclass=person) AuthLDAPURL ldaps://our_ldap.server.org:636/o=OurOrg,c=US?cn?sub?(objectclass=person)
ldap.user.authType
mod_ldap 模組沒有提供用來指定使用者鑑別類型的指引。mod_ldap 模組會依據所提供的使用者 ID 和密碼認證來鑑別使用者。
ldap.user.authType=Basic [Basic | Cert | BasicIfNoCert]
ldap.user.cert.filter
mod_ldap 模組沒有提供用來過濾用戶端憑證的指引。mod_ldap 模組不能直接與用戶端憑證搭配使用。
ldap.user.cert.filter=(&(objectclass=person)(cn=%v1)(ou=%v2)(o=%v3)(c=%v4))
ldap.user.name.fieldSep
mod_ldap 模組沒有提供用來將所提供的認證剖析成子元件的指引。mod_ibm_ldap 模組會使用 ldap.user.name.fieldSep 指引,以指定用來將認證剖析成 %v1、%v2、...%vN 記號的分隔字元。
ldap.user.name.fieldSep=/ ,
ldap.user.name.filter
mod_ldap 模組沒有提供用來指定使用者名稱過濾器的指引。mod_ldap 模組會將使用者名稱過濾器指定在 AuthLDAPURL 指引中。
AuthLDAPURL 指引會將指引中指定的使用者屬性與所提供的過濾器結合在一起,以建立搜尋過濾器。所提供的過濾器遵循標準搜尋過濾器規格。mod_ldap 模組也沒有提供可用於 mod_ibm_ldap 模組的 %vx 記號剖析函數。
ldap.user.name.filter=(&(objectclass=person)(cn=%v1 %v2))
ldap.version
mod_ldap 模組沒有提供用來指定 LDAP 版本的指引。mod_ldap 模組只使用 LDAP 第 3 版。
ldap.version=2(或 3)
ldap.waitToRetryConnection.interval
mod_ldap 模組沒有提供指引來指定重試連線之前,連線失敗嘗試要達到之次數。mod_ldap 模組沒有在連線嘗試失敗時,重試連線的延遲間隔時間。最多會自動重試連線 10 次,之後要求即失敗。
當有新的要求需要存取相同的 LDAP 伺服器時,會再重試連線最多 10 次。重試節流控制取決於傳送至 LDAP 伺服器的新要求量。
ldap.waitToRetryConnection.interval=300