Can you told me how can i modify current configuration for olcSyncRepl?
I have following situation:
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" учетные данные = 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 для обновления конфигурации?
В качестве ссылки я публикую директивы синхронизации, используемые в Æ-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-адрес в LDAP URL для провайдера=
. Вместо этого необходимо получить корректно выданный сертификат сервера TLS на имя хоста, после чего OpenLDAP slapd проведет корректную проверку имени хоста TLS для предотвращения MITM-атак (см. RFC 6125).
Я предполагаю, что TLS настроено на экземплярах потребителей вашего провайдера и . Вышеуказанная конфигурация syncrepl использует уже настроенный сертификат TLS сервера также в качестве TLS клиента сертификата для репликации.
В случае сертификатов TLS клиента результирующая аутентификация идентификатор (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, сохраненным в атрибуте 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.