Openldap enable ssl on replication

Can you told me how can i modify current configuration for olcSyncRepl?

I have following situation:

  1. I Configured master ldap server and slave server
  2. I Configured replication between these two servers (Everything is working)
  3. I have following configuration for slave client:
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

И я хочу добавить:

  1. Учетные данные не в виде обычного текста (я хочу добавить {SSHA} ....)
  2. Добавить сертификаты (я также включил ldaps с самозаверяющими сертификатами .crt и .key)

Хочу посоветовать, как его безопасно настраивать, модифицировать. Не хочу портить текущие настройки сервера. Например, как я могу изменить IP-адрес текущего главного сервера? Если кто-то ответит на него, я смогу протестировать остальные изменения набора

PS

Я знаю, что можно изменять файлы в /etc/openldap/slapd.d/cn=config но не могли бы вы рассказать мне, как я могу использовать файлы ldif и ldapi для обновления конфигурации?

0
задан 17 October 2018 в 15:28
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 +"

Прежде всего, не следует использовать 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.

1
ответ дан 4 December 2019 в 15:49

Теги

Похожие вопросы