Не могли бы вы сказать мне, как я могу изменить текущую конфигурацию для olcSyncRepl?
У меня такая ситуация:
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
И хочу добавить:
Хочу посоветовать, как его безопасно настроить, доработать. Не хочу портить текущие настройки сервера. Например, как я могу изменить IP-адрес текущего главного сервера? Если кто-то ответит, смогу протестировать остальные изменения набора
PS
Я знаю, что можно изменять файлы в /etc/openldap/slapd.d/cn=config, но не могли бы вы рассказать мне, как я могу использовать файлы ldif и ldapi для обновления конфигурации?
В качестве справки я публикую директивы syncrepl, используемые в Æ-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 +"
Прежде всего, вы не должны использовать IP-адрес в URL-адресе LDAP для provider=
. Лучше получите правильно выданный сертификат сервера TLS для имени хоста, а затем OpenLDAP пощечина выполнит правильную проверку имени хоста TLS для предотвращения атак MITM (см. RFC 6125).
Я предполагаю, что у вас настроен TLS у вашего провайдера и экземпляры потребителей. Приведенная выше конфигурация syncrepl использует уже настроенный TLS сервер сертификат также как TLS клиент сертификат для репликации.
В случае сертификата клиента TLS полученный аутентификация identity (authc-DN) - это DN субъекта в сертификате клиента. Возможно, вы захотите сопоставить это с удостоверением авторизации (authz-DN) существующей записи LDAP. Этого можно добиться, добавив 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
будет сопоставлен с записью LDAP с классом объекта pkiUser с 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-реплики.