Openldap 在复制上启用 SSL

Openldap 在复制上启用 SSL

你能告诉我如何修改 olcSyncRepl 的当前配置吗?

我有以下情况:

  1. 我配置了主 ldap 服务器和从属服务器
  2. 我配置了这两台服务器之间的复制(一切正常)
  3. 我对从属客户端有以下配置:
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

我想补充一点:

  1. 凭证不是纯文本(我想添加{SSHA}……)
  2. 添加证书(我还启用了具有自签名证书 .crt 和 .key 的 ldaps)

我想建议你如何安全地配置它,修改它。我不想破坏当前的服务器设置。例如,我如何更改当前主服务器的 IP 地址?如果有人回答,我将能够测试其余的设置更改

附言

我知道可以修改 /etc/openldap/slapd.d/cn=config 中的文件,但您能告诉我如何使用 ldif 文件和 ldapi 来更新配置吗?

答案1

作为参考,我发布了用于Æ-DIR

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拍打将进行正确的 TLS 主机名检查,以防止 MITM 攻击(请参阅RFC 6125)。

我假设你已经在提供商上配置了 TLS消费者实例。上述 syncrepl 配置使用已配置的 TLS服务器证书也作为 TLS客户供复制的证书。

对于 TLS 客户端证书,结果验证身份 (authc-DN) 是客户端证书中的主题 DN。您可能希望将其映射到现有 LDAP 条目的授权身份 (authz-DN)。这可以通过添加olcAuthzRegexpcn=配置像这样:

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))"

以上内容中,以 结尾的主题 DNOU=ITS,O=My Org将映射到具有对象类的 LDAP 条目pki用户客户端证书的主题 DN 存储在属性中也可以看看像这样:

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-副本

相关内容