Omdat ik naar een nieuwe thrill zocht leek het me leuk om een LDAPv3 implementatie in elkaar te schroeven op Gentoo Linux. In mijn geval houd dat in een mix van OpenLDAP, MIT Kerberos en Cyrus SASL. Aangezien ik al wat LDAP avonturen beleeft had was het opzetten van LDAP niet zon ramp. Ook Kerberos instellen was niet zo lastig. Echter LDAP en Kerberos met elkaar laten "praten" via GSSAPI blijkt een wat grotere opgaven.
Zoals ik al aangaf werken kerberos en ldap afzonderlijk gewoon goed. Ik kan StartTLS gebruiken van LDAP, SSL, etc. Bij Kerberos kan ik tickets etc aanvragen. Echter zodra ik probeer me te authenticeren met LDAP en SASL Auth gaat het mis. Ik krijg dan de volgende error:
De logs zijn niet al te enlightning:
Het lijkt erop als of me kerberos realm niet gevonden kan worden, echter deze staat gewoon goed in /etc/krb.conf:
Het lijkt me niet dat het probleem in me slapd.conf zit:
Verder heeft ldap een keytab in /etc/openldap/ldap.keytab. De principal in deze keytab is ldap/judicator.lan@JUDICATOR.LAN. LDAP zou deze keytab moeten kunnen vinden dmv deze export "KRB5_KTNAME=/etc/openldap/ldap.keytab".
Als ik op internet google op deze error zie ik dat deze error een heel scala aan oorzaken kan hebben, maar het lijkt mij toch echt iets te doen hebben met de mapping naar de kerberos realm.
Voor meer info zie ook: http://www.ofb.net/~jheiss/krbldap/
Iemand die wat licht kan werpen op deze (voor mij
) duistere zaak?
Zoals ik al aangaf werken kerberos en ldap afzonderlijk gewoon goed. Ik kan StartTLS gebruiken van LDAP, SSL, etc. Bij Kerberos kan ik tickets etc aanvragen. Echter zodra ik probeer me te authenticeren met LDAP en SASL Auth gaat het mis. Ik krijg dan de volgende error:
code:
1
2
3
4
5
| judicator root # ldapsearch -H ldap://judicator.lan/ -b dc=judicator,dc=lan
SASL/GSSAPI authentication started
ldap_sasl_interactive_bind_s: Local error (82)
additional info: SASL(-1): generic failure: GSSAPI Error:
Miscellaneous failure (Server not found in Kerberos database) |
De logs zijn niet al te enlightning:
code:
1
2
3
4
5
6
7
| Jul 11 22:44:25 judicator slapd[6838]: conn=2 fd=13 ACCEPT from IP=192.168.1.2:32789 (IP=0.0.0.0:389) Jul 11 22:44:25 judicator slapd[6852]: conn=2 op=0 SRCH base="" scope=0 filter="(objectClass=*)" Jul 11 22:44:25 judicator slapd[6852]: conn=2 op=0 SRCH attr=supportedSASLMechanisms Jul 11 22:44:25 judicator slapd[6852]: conn=2 op=0 RESULT tag=101 err=0 text= Jul 11 22:44:25 judicator ldapsearch: GSSAPI Error: Miscellaneous failure (Server not found in Kerberos database) Jul 11 22:44:25 judicator slapd[6838]: conn=2 fd=13 closed |
Het lijkt erop als of me kerberos realm niet gevonden kan worden, echter deze staat gewoon goed in /etc/krb.conf:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
| [libdefaults]
ticket_lifetime = 24000
default_realm = JUDICATOR.LAN
default_tkt_enctypes = des3-hmac-sha1 des-cbc-crc
default_tgs_enctypes = des3-hmac-sha1 des-cbc-crc
[realms]
JUDICATOR.LAN = {
kdc = kerberos.judicator.lan:88
admin_server = kerberos.judicator.lan:749
default_domain = judicator.lan
}
[domain_realm]
.judicator.lan = JUDICATOR.LAN
judicator.lan = JUDICATOR.LAN
[kdc]
profile = /etc/krb5kdc/kdc.conf
[logging]
kdc = FILE:/var/log/krb5kdc.log
admin_server = FILE:/var/log/kadmin.log
default = FILE:/var/log/krb5lib.log |
Het lijkt me niet dat het probleem in me slapd.conf zit:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
| include /etc/openldap/schema/core.schema include /etc/openldap/schema/cosine.schema include /etc/openldap/schema/inetorgperson.schema include /etc/openldap/schema/nis.schema include /etc/openldap/slapd.acl pidfile /var/run/openldap/slapd.pid argsfile /var/run/openldap/slapd.args TLSCertificateFile /etc/openldap/ssl/server_crt.pem TLSCertificateKeyFile /etc/openldap/ssl/server_key.pem TLSCACertificateFile /etc/openldap/ssl/cacert.pem saslRegexp uid=([^/]*),cn=GSSAPI,cn=auth uid=$1,ou=people,dc=judicator,dc=lan database bdb suffix "dc=judicator,dc=lan" rootdn "cn=Manager,dc=judicator,dc=lan" directory /var/lib/openldap-data index objectClass eq |
Verder heeft ldap een keytab in /etc/openldap/ldap.keytab. De principal in deze keytab is ldap/judicator.lan@JUDICATOR.LAN. LDAP zou deze keytab moeten kunnen vinden dmv deze export "KRB5_KTNAME=/etc/openldap/ldap.keytab".
Als ik op internet google op deze error zie ik dat deze error een heel scala aan oorzaken kan hebben, maar het lijkt mij toch echt iets te doen hebben met de mapping naar de kerberos realm.
Voor meer info zie ook: http://www.ofb.net/~jheiss/krbldap/
Iemand die wat licht kan werpen op deze (voor mij