Ldap
Openldap 在複製時啟用 ssl
你能告訴我如何修改 olcSyncRepl 的目前配置嗎?
我有以下情況:
- 我配置了主 ldap 伺服器和從伺服器
- 我在這兩台伺服器之間配置了複製(一切正常)
- 我對從客戶端有以下配置:
dn: olcDatabase={2}hdb,cn=config changetype: modify add: olcSyncRepl olcSyncRepl: rid=001 provider=ldap://10.101.11.130:389/ bindmethod=simple binddn="uid=rpuser,dc=itzgeek,dc=local" credentials=root1234 searchbase="dc=itzgeek,dc=local" scope=sub schemachecking=on type=refreshAndPersist retry="30 5 300 3" interval=00:00:05:00
我想補充一點:
- 憑證不是純文字(我想添加 {SSHA}….)
- 添加證書(我還啟用了帶有自簽名證書 .crt 和 .key 的 ldaps)
我想建議您如何安全地配置它,修改它。我不想破壞目前的伺服器設置。例如,如何更改目前主伺服器的 IP 地址?如果有人會回答它,我將能夠測試其餘的設置更改
附言
我知道可以修改 /etc/openldap/slapd.d/cn=config 中的文件,但你能告訴我如何使用 ldif 文件和 ldapi 來更新配置嗎?
作為參考,我發布了Æ-DIR中使用的 syncrepl 指令:
olcSyncrepl: rid=001 provider=ldaps://ae-dir-p1.example.com bindmethod=sasl saslmech=EXTERNAL starttls=no tls_cert="/opt/ae-dir/etc/tls/ae-dir-c1.example.com.crt" tls_key="/opt/ae-dir/etc/tls/ae-dir-c1.example.com.key" tls_cacert="/opt/ae-dir/etc/tls/my-ae-dir-testca-2017-06.pem" tls_reqcert=demand crlcheck=none filter="(objectClass=*)" searchbase="dc=ae-dir,dc=example,dc=org" scope=sub schemachecking=on type=refreshAndPersist retry="30 +"
首先,您不應該在 LDAP URL 中使用 IP 地址
provider=
。而是為主機名獲取正確頒發的 TLS 伺服器證書,然後 OpenLDAP slapd將執行正確的 TLS 主機名檢查以防止 MITM 攻擊(請參閱RFC 6125)。我假設您在提供者和消費者實例上配置了 TLS。上面的 syncrepl 配置使用已經配置好的 TLS伺服器證書也作為 TLS客戶端證書進行複制。
在 TLS 客戶端證書的情況下,生成的身份驗證身份 (authc-DN) 是客戶端證書中的主題 DN。您可能希望將其映射到現有 LDAP 條目的授權身份 (authz-DN)。這可以通過將olcAuthzRegexp添加到cn=config來實現,如下所示:
olcAuthzRegexp: "(cn=[^,]+,OU=ITS,O=My Org)" "ldap:///dc=ae-dir,dc=example,dc=org??sub?(&(objectClass=pkiUser)(seeAlso=$1)(seeAlso:dnSubordinateMatch:=OU=ITS,O=My Org)(aeStatus=0))"
使用上面的主題 DN 結尾
OU=ITS,O=My Org
將被映射到具有對像類pkiUser的 LDAP 條目,客戶端證書的主題 DN 儲存在屬性seeAlso中,如下所示:dn: uid=ae-dir-slapd_ae-dir-deb-c1,cn=ae,dc=ae-dir,dc=example,dc=org aeStatus: 0 cn: ae-dir-slapd_ae-dir-deb-c1 memberOf: cn=ae-replicas,cn=ae,dc=ae-dir,dc=example,dc=org objectClass: account objectClass: aeObject objectClass: aeService objectClass: pkiUser objectClass: posixAccount seeAlso: cn=ae-dir-c1.example.com,OU=ITS,O=My Org [..]
然後,您可以通過 LDAP 組ae-replicas正確授權此服務使用者條目,在上面的範例中。