[gelöst] LDAP Kerberos GSSAPI Fehler

Einrichten des lokalen Netzes, Verbindung zu anderen Computern und Diensten.
Antworten
Benutzeravatar
joe2017
Beiträge: 1125
Registriert: 07.08.2017 14:29:51

[gelöst] LDAP Kerberos GSSAPI Fehler

Beitrag von joe2017 » 19.07.2019 10:07:25

Hallo zusammen,

ich habe ein ganz seltsames Phänomen. Wenn ich folgende Befehle eingebe bekomme ich eine erfolgreiche Rückmeldung.

Code: Alles auswählen

ldapsearch -x -LLL -H ldaps:/// -b dc=domain,dc=net dn | grep user
kdestroy
kinit user
klist
Wenn ich als nächstes ldapwhoami eingebe erhalte ich folgende Fehlermeldung:

Code: Alles auswählen

SASL/GSSAPI authentication started
ldap_sasl_interactive_bind_s: Invalid credentials (49)
        additional info: SASL(-13): authentication failure: GSSAPI Failure: gss_accept_sec_context
Wenn ich aus der Datei /etc/ldap/ldap.conf folgende Zeile auskommentiere ist mein ldapwhoami erfolgreich.

Code: Alles auswählen

URI     ldaps://server1.domain.net ldaps://server2.domain.net
sudo service slapd restart
sudo systemctl start krb5-kdc.service
sudo systemctl start krb5-admin-server.service


Das funktioniert jedoch nur bei meinem Server2. Bei meinem Server1 erhalte ich immer die Fehlermeldung.

Code: Alles auswählen

SASL/GSSAPI authentication started
ldap_sasl_interactive_bind_s: Invalid credentials (49)
        additional info: SASL(-13): authentication failure: GSSAPI Failure: gss_accept_sec_context
Hat jemand eine Idee woran dies liegen könnte? Das Zertifikat kann ich ausschließen, da die ldaps Abfrage ja funktioniert.

Code: Alles auswählen

ldapsearch -x -LLL -H ldaps:/// -b dc=domain,dc=net dn | grep user
Zuletzt geändert von joe2017 am 31.07.2019 10:02:06, insgesamt 2-mal geändert.

Benutzeravatar
joe2017
Beiträge: 1125
Registriert: 07.08.2017 14:29:51

Re: LDAP Kerberos GSSAPI Fehler

Beitrag von joe2017 » 19.07.2019 10:33:21

Ich habe gelesen, dass es evtl mit dem encryption type zu tun haben könnte.
sudo klist -e -k /etc/ldap/ldap.keytab

Code: Alles auswählen

   2 ldap/server2.domain.net@DOMAIN.NET (aes256-cts-hmac-sha1-96)
   2 ldap/server2.domain.net@DOMAIN.NET (aes128-cts-hmac-sha1-96)
Wie kann man den encryption type abfragen? Bzw. die beiden (aes256-cts, aes128-cts) hinzufügen?
Ich habe jetzt folgendes in die Datei /etc/krb5.conf eingetragen

Code: Alles auswählen

default_tkt_enctypes = aes256-cts-hmac-sha1-96 aes128-cts-hmac-sha1-96 rc4-hmac
default_tgs_enctypes = aes256-cts-hmac-sha1-96 aes128-cts-hmac-sha1-96 rc4-hmac
permitted_enctypes = aes256-cts-hmac-sha1-96 aes128-cts-hmac-sha1-96 rc4-hmac
Ich erhalte jedoch noch immer die selbe Fehlermeldung?

Benutzeravatar
joe2017
Beiträge: 1125
Registriert: 07.08.2017 14:29:51

Re: LDAP Kerberos GSSAPI Fehler

Beitrag von joe2017 » 19.07.2019 12:41:45

Aus irgendeinem Grund funktioniert es jetzt. Ich könnte mir vorstellen, dass es ein Berechtigungsproblem war.

Ich habe jedoch noch ein anderes Problem. Ich habe eine LDAP/Kerberos mit GSSAPI Konfiguration.
Wenn ich in der Datei /etc/default/slapd meinen Wert von SLAPD_SERVICES="ldap:/// ldapi:/// ldaps:///" zu SLAPD_SERVICES="ldaps:///" ändere, funktioniert meine Kerberos Verbindung nicht mehr. Es geht auch kein kinit oder ldapwhoami mehr? Woran könnte das liegen?

Ich habe folgende Anpassungen nach dem einspielen der Zertifikate durchgeführt:
sudo nano /tmp/certinfo.ldif

Code: Alles auswählen

dn: cn=config
add: olcTLSCACertificateFile
olcTLSCACertificateFile: /etc/ldap/sasl2/ca.chain.crt.pem
-
add: olcTLSCertificateFile
olcTLSCertificateFile: /etc/ldap/sasl2/server1_ecdsa.crt.pem
-
add: olcTLSCertificateKeyFile
olcTLSCertificateKeyFile: /etc/ldap/sasl2/server1_ecdsa_re.key.pem
sudo nano /etc/krb5.conf

Code: Alles auswählen

ldap_servers = ldaps://server1.domain.net ldaps://server2.domain.net
sudo nano /etc/default/slapd

Code: Alles auswählen

SLAPD_SERVICES="ldaps:///"
sudo nano /etc/ldap/ldap.conf

Code: Alles auswählen

BASE	dc=domain,dc=net
URI	ldaps://server1.domain.net ldaps://server2.domain.net 

TLS_CACERT	/etc/ldap/sasl2/ca.chain.crt.pem
TLS_REQCERT	never
sudo service slapd restart
sudo systemctl start krb5-kdc.service
sudo systemctl start krb5-admin-server.service

Antworten