LDAP syncrepl с kerberos аутентификацией

Я пытаюсь настроить сервер репликации для LDAP, использующего syncrepl. Я хотел бы использовать Kerberos для аутентификации потребителя, потому что у нас есть настроенный, и это кажется более безопасным. Определения базы данных для моего поставщика и потребителя ниже.

Когда я запускаю потребителя, я получаю эту ошибку:

GSSAPI Error: Unspecified GSS failure.  Minor code may provide more information 
(Credentials cache file '/tmp/krb5cc_55' not found)

Я думаю, что это означает, что у потребителя нет допустимого TGT. Как я настраиваю потребителя для получения допустимого TGT? Я считал некоторые более старые источники, которые рекомендуют использовать k5start или задание крона. Это - все еще способ сделать это?

slapd.conf страницы руководства указывают это authcid и authzid может использоваться в сочетании с bindmethod=sasl, но это не указывает, как они должны быть отформатированы. Я должен поместить DN здесь или kerberos принципал или возможно что-то еще? Я должен указать их?

Спасибо за помощь

Потребительская конфигурация:

database        bdb
suffix          "dc=example"
rootdn          "uid=someuser,cn=realm,cn=gssapi,cn=auth"
directory       /var/lib/ldap
dirtyread
overlay syncprov
syncprov-checkpoint 100 10
syncprov-sessionlog 100
syncrepl rid=1
    provider=ldap://provider.realm
    type=refreshAndPersist
    starttls=yes
    searchbase="dc=example"
    schemachecking=off
    bindmethod=sasl
    saslmech=gssapi
    retry="10 +"

Конфигурация поставщика

database        bdb
suffix          "dc=example"
rootdn          "uid=someuser,cn=realm,cn=gssapi,cn=auth"
directory       /var/lib/ldap
dirtyread
overlay syncprov
syncprov-checkpoint 100 10
syncprov-sessionlog 100
1
задан 29 May 2015 в 22:29
2 ответа

Я получил syncrepl с аутентификацией Kerberos, работающей с следующая конфигурация. На этом веб-сайте о nslcd.conf говорится, что authzid должен иметь форму «dn: <отличительное имя>» или «u: <имя пользователя>». Я также использовал k5start для создания файла кэша для someuser @ REALM по адресу / tmp / krb5cc_55 и сделал chown ldap: ldap . Обратите внимание, что 55 - это идентификатор ldap; однако я не уверен, что нужно называть файл так. В конфигурации моего провайдера я указал someuser как rootdn , чтобы предоставить ему доступ ко всей базе данных.

Я просто хочу уточнить, что это то, что у меня сработало, но у меня ограниченное представление о ldap, поэтому я не могу гарантировать, что он будет работать где-то еще, и я не знаю, все ли в этой конфигурации необходимо.

syncrepl rid=1
    provider=ldap://provider.realm
    type=refreshAndPersist
    starttls=yes
    searchbase="dc=realm"
    schemachecking=off
    retry="10 +"
    tls_cacert="/path/to/ca.crt"
    bindmethod=sasl
    saslmech=gssapi
    authcid="someuser@REALM"
    authzid="uid=someuser,cn=realm,cn=gssapi,cn=auth"
1
ответ дан 3 December 2019 в 18:39

Mwen panse ke sa vle di ke konsomatè a pa gen yon TGT valab.

Wi, se egzakteman sa li vle di.

Kouman pou mwen konfigire konsomatè a pou jwenn yon TGT valab ? Mwen te li kèk sous ki pi gran ki rekòmande pou itilize k5start oswa yon travay cron. Èske sa toujou fason pou fè li?

An jeneral, cron oswa k5start se toujou metòd prensipal la.

Sepandan, dènye MIT Kerberos sipòte yon metòd entegre ki rele kliyan inisyasyon keytab , ki se pi senp yo mete kanpe: jis ajoute $ KRB5_CLIENT_KTNAME nan anviwònman slapd a, ak pwen li nan dosye a menm jan ak $ KRB5_KTNAME . (Sa a se an konsideran ou gen yon tab separe pou ldap / * . Ou ta dwe.)

Paj manyèl slapd.conf deklare ke authcid ak authzid ka itilize nan konjonksyon avèk bindmethod = sasl, men li pa presize kijan sa yo ta dwe fòma. Èske mwen ta dwe mete yon DN isit la oswa yon direktè lekòl kerberos oswa petèt yon lòt bagay? Èske mwen bezwen presize sa yo?

Mwen pa ka sonje ki objektif authcid sèvi ak GSSAPI (si genyen nan tout) - IIRC, mekanis sa a otomatikman itilize idantite yo detèmine nan tikè ou, kidonk pa bezwen manyèlman presize li.

Sou bò a aksepte, slapd pral konvèti resevwa Kerberos direktè lekòl la nan yon pseudo-DN tankou uid = foo @ domèn, cn = gssapi, cn = auth , epi ou ka itilize li nan ACL yo dirèkteman, oswa itilize authz-regexp (aka olcAuthzRegexp ) pou tradwi li nan yon DN pi bèl.

Pandan se tan, authzid travay menm fason an endepandan de mekanis. Li si ou vle, men si ou presize li, Lè sa a, li dwe swa yon DN prefikse ak dn: , oswa yon non itilizatè prefikse ak u: . (Non itilizatè isit la, tankou authcids, jwenn konvèti nan yon pseudo-DN epi ale nan olcAuthzRegexp , ak DN ki kapab lakòz la itilize.)

Si règleman yo pèmèt, Lè sa a, slapd ap ba ou privilèj yo ke authzid la genyen. (Se tankou sudo pou LDAP.)

2
ответ дан 3 December 2019 в 18:39

Теги

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