LDAP Kerberos Passwortspeicher (SASL)

Alle weiteren Dienste, die nicht in die drei oberen Foren gehören.
Antworten
Benutzeravatar
joe2017
Beiträge: 1125
Registriert: 07.08.2017 14:29:51

LDAP Kerberos Passwortspeicher (SASL)

Beitrag von joe2017 » 20.07.2018 11:42:45

Hallo zusammen,

ich habe eine Frage zu dem Thema LDAP und Kerberos Server. Ich komme hier irgendwie nicht weiter und glaube, dass ich einfach nur einen Denkfehler mache.

Ich habe einen LDAP und einen Kerberos Server. Meinen LDAP Server habe ich auch als Keystore eingerichtet. Ich habe meine LDAP Benutzer mit den entsprechenden Gruppenzugehörigkeiten und einen gleichnamigen Kerberos Benutzer welcher für die Authentifizierung verwendet wird. Ich kann mich auch an meinem Client und meinem NFS4 Server Authentifizieren. Das Problem ist nur, dass für beide Benutzer (LDAP/Kerberos) ein Passwort existiert. Kann dies nicht synchronisert werden, bzw. nur an einer Stelle hinterlegt werden?

Oder kann man die Kerberos Informationen zu einem bestehenden LDAP Benutzer anhängen und somit nur einen Benutzer mit Passwort anlegen?

Ich habe jetzt erst einmal auf meine gesamte Installationsbeschreibung verzichtet. Kann diese bzw. teile davon bei Fragen gerne posten.

Vielen Dank für einen Denkanstoß.
Zuletzt geändert von joe2017 am 21.08.2018 14:39:54, insgesamt 1-mal geändert.

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

Re: LDAP Kerberos Passwortspeicher

Beitrag von joe2017 » 01.08.2018 10:10:09

Oder gibt es eine Möglichkeit beide Passwörter zu änder?

Ich habe zwar meine Konfigurationen von UBUNTU übernommen jedoch funktioniert das irgendwie nicht mehr. Wenn ich früher passwd ausgeführt habe wurde ich erst nach dem Kerbereos Passwort und anschließend noch einmal nach dem LDAP Passwort gefragt. Wo kann ich das im Client konfigurieren?

Benutzeravatar
bluestar
Beiträge: 2334
Registriert: 26.10.2004 11:16:34
Wohnort: Rhein-Main-Gebiet

Re: LDAP Kerberos Passwortspeicher

Beitrag von bluestar » 05.08.2018 09:12:48

Wie soll denn dein Setup am Ende aussehen?

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

Re: LDAP Kerberos Passwortspeicher

Beitrag von joe2017 » 06.08.2018 09:15:22

Naja, wie schon beschrieben.

- Entweder nur ein Passwort für LDAP/Kerberos Benutzer.
- oder die beiden Passwörter sysnchronisieren sich.
- oder ein Benutzer kann beide Passwörter ändern.

Das Problem ist, dass es auch Services gibt welche kein Kerberos sondern nur die LDAP authentication (Bsp. Thunderbird LDAP Adressbuch) verwenden. Wenn ich mit passwd mein Passwort ändere, wird aktuell nur das Kerberos Passwort abgefragt und geändert. Somit bleibt das LDAP Passwort noch das alte.

Benutzeravatar
bluestar
Beiträge: 2334
Registriert: 26.10.2004 11:16:34
Wohnort: Rhein-Main-Gebiet

Re: LDAP Kerberos Passwortspeicher

Beitrag von bluestar » 06.08.2018 11:50:54

Du beschreibst dein Problem, nicht dein Setup, daher frage ich noch einmal nach:

Du möchtest LDAP UND Kerberos einsetzen?
Warum beides, reicht dir LDAP nicht?

Normalerweise, wenn man Kerberos und LDAP einsetzt, dann werden die Passwörter ausschließlich im Kerberos hinterlegt und nicht mehr im LDAP.

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

Re: LDAP Kerberos Passwortspeicher

Beitrag von joe2017 » 06.08.2018 12:07:51

Ich habe einen LDAP Server welche meine Benutzer und Gruppen beinhaltet.
Ich habe einen (MIT) Kerberos Server welcher für die Authentication verantwortlich ist.

Eigentlich sollte laut der Beschreibung die Kennwörter im Kerberos gespeichert sein.
Ich kann mich an meinem Client auch an meinem Kerberos Server authentifizieren. Auch die Gruppenzugehörigkeiten für Bsp. mein NFS Server funktionieren.
Jedoch wenn ich mein Kerberos Passwort am Client mit passwd ändere, steht im LDAP immer noch das zuvor angelegte LDAP User Passwort.
Es gibt Services wie Z.B. mein LDAP Adressbuch für Thunderbird, welches lediglich die LDAP Benutzerinformationen abfragt. Selbstverständlich wäre es mir auch am liebsten wenn hier meine Kerberos Benutzerinformationen verwendet würden.

Das ist alles etwas verwirrend. Weshalb sind im LDAP immer noch die Passwörter gespeichert? Kann man den Kerberos Benutzer mit seinem Passwort nicht mit dem identischen LDAP Benutzer verknüpfen?

Benutzeravatar
bluestar
Beiträge: 2334
Registriert: 26.10.2004 11:16:34
Wohnort: Rhein-Main-Gebiet

Re: LDAP Kerberos Passwortspeicher

Beitrag von bluestar » 06.08.2018 12:13:10

joe2017 hat geschrieben: ↑ zum Beitrag ↑
06.08.2018 12:07:51
Jedoch wenn ich mein Kerberos Passwort am Client mit passwd ändere, steht im LDAP immer noch das zuvor angelegte LDAP User Passwort.
Da liegt dein Fehler, deine LDAP dürfen kein Passwort im LDAP hinterlegt haben, sondern den Verweis auf den Kerberos-Server:

Code: Alles auswählen

userPassword: {SASL}username@REALM

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

Re: LDAP Kerberos Passwortspeicher

Beitrag von joe2017 » 06.08.2018 12:31:56

bluestar hat geschrieben: ↑ zum Beitrag ↑
06.08.2018 12:13:10
Da liegt dein Fehler, deine LDAP dürfen kein Passwort im LDAP hinterlegt haben, sondern den Verweis auf den Kerberos-Server:

Code: Alles auswählen

userPassword: {SASL}username@REALM
Ich muss diese Info in dem LDAP User als Passwort Eintrag hinterlegen RICHTIG?

Code: Alles auswählen

userPassword: {SASL}username@REALM
Meine Kerberos Informationen sind in der LDAP Datenbank gespeichert. Der Eintrag in meinem LDAP User ist somit der Verweis auf mein Kerberos User Passwort?
Dann hätte ich somit meine LDAP Benutzer welche ich LDAP Gruppen für Berechtigungen etc. zuordnen kann, und lediglich ein Passwort welches für die Authentifizierung in meinem Kerberos Benutzern hinterlegt sind.

Mit passwd würde ich somit am Client mein Kerberos Passwort ändern können und alles andere würde somit weiterhin funktionieren. So hab ich das ganze jetzt verstanden.
Muss hierfür am LDAP / Kerberos Server noch etwas konfiguriert werden?

Das wäre natürlich die einzig RICHTIGE Lösung! Perfekt! Werde ich später gleich testen. Ich gebe auf jeden Fall noch einmal eine Rückmeldung.

Benutzeravatar
bluestar
Beiträge: 2334
Registriert: 26.10.2004 11:16:34
Wohnort: Rhein-Main-Gebiet

Re: LDAP Kerberos Passwortspeicher

Beitrag von bluestar » 06.08.2018 13:30:45

joe2017 hat geschrieben: ↑ zum Beitrag ↑
06.08.2018 12:31:56
Ich muss diese Info in dem LDAP User als Passwort Eintrag hinterlegen RICHTIG?

Code: Alles auswählen

userPassword: {SASL}username@REALM
Richtig, sofern du Kerberos und deinen LDAP-Server entsprechend konfiguiert hast.
joe2017 hat geschrieben: ↑ zum Beitrag ↑
06.08.2018 12:31:56
Meine Kerberos Informationen sind in der LDAP Datenbank gespeichert. Der Eintrag in meinem LDAP User ist somit der Verweis auf mein Kerberos User Passwort?
Dann hätte ich somit meine LDAP Benutzer welche ich LDAP Gruppen für Berechtigungen etc. zuordnen kann, und lediglich ein Passwort welches für die Authentifizierung in meinem Kerberos Benutzern hinterlegt sind.
Wie hast du denn Kerberos konfiguriert?
Wie hast du deinen LDAP-Server denn konfiguriert?

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

Re: LDAP Kerberos Passwortspeicher

Beitrag von joe2017 » 06.08.2018 14:54:02

Meine LDAP Installation richtet sich nach folgendem Link https://help.ubuntu.com/lts/serverguide ... erver.html
Ich habe zwei redundante LDAP Server

Meine Kerberos Installation richtet sich nach folgendem Link https://help.ubuntu.com/lts/serverguide ... -ldap.html
Ich habe zwei redundante Kerberos Server

Ich komm gerade nicht klar mit dem ändern des Passwortes. Ich habe folgende Anpassung forgenommen.

sudo apt-get install sasl2-bin libsasl2-modules-gssapi-mit
sudo nano /etc/default/saslauthd

Code: Alles auswählen

START=yes
DESC="SASL Authentication Daemon"
NAME="saslauthd"
MECHANISMS="kerberos5"
MECH_OPTIONS=""
THREADS=5
OPTIONS="-c -m /var/run/saslauthd"
sudo adduser openldap sasl

ldappasswd -H ldaps://LDAP-IP -x -D "cn=admin,dc=domain,dc=net" -W "uid=userid,ou=Users,dc=domain,dc=net" -s {SASL}userid@DOMAIN.NET

Code: Alles auswählen

Result: No such object (32)

Benutzeravatar
bluestar
Beiträge: 2334
Registriert: 26.10.2004 11:16:34
Wohnort: Rhein-Main-Gebiet

Re: LDAP Kerberos Passwortspeicher

Beitrag von bluestar » 06.08.2018 15:24:20

joe2017 hat geschrieben: ↑ zum Beitrag ↑
06.08.2018 14:54:02
ldappasswd -H ldaps://LDAP-IP -x -D "cn=admin,dc=domain,dc=net" -W "uid=userid,ou=Users,dc=domain,dc=net" -s {SASL}userid@DOMAIN.NET

Code: Alles auswählen

Result: No such object (32)
Das wird auch nicht funktionieren, du musst schon über ldapmodify das Feld direkt modifizieren.

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

Re: LDAP Kerberos Passwortspeicher

Beitrag von joe2017 » 06.08.2018 16:11:31

Danke für den Tipp. Hier bekomme ich jedoch einen Fehler.

sudo nano /tmp/tmp.ldif

Code: Alles auswählen

dn: cn=Vorname Nachname,ou=Users,dc=domain,dc=net
changetype: modify
replace: userPassword
userPassword: {SASL}uid@DOMAIN.NET
sudo ldapmodify -Q -Y EXTERNAL -H ldapi:/// -f /tmp/tmp.ldif

Code: Alles auswählen

modifying entry "cn=Vorname Nachname,ou=Users,dc=domain,dc=net"
ldap_modify: Insufficient access (50)
Eigentlich hatte ich so schon öfter diverse Dinge angepasst. Nur noch keine Passwörter. Werden diese anders behandelt?

Benutzeravatar
bluestar
Beiträge: 2334
Registriert: 26.10.2004 11:16:34
Wohnort: Rhein-Main-Gebiet

Re: LDAP Kerberos Passwortspeicher

Beitrag von bluestar » 06.08.2018 16:16:16

joe2017 hat geschrieben: ↑ zum Beitrag ↑
06.08.2018 16:11:31
Eigentlich hatte ich so schon öfter diverse Dinge angepasst. Nur noch keine Passwörter. Werden diese anders behandelt?
Dann konsultierst du die ACLS in deinem Setup, die können dir sagen, wer welche Berechtigungen hat.

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

Re: LDAP Kerberos Passwortspeicher

Beitrag von joe2017 » 06.08.2018 16:20:03

joe2017 hat geschrieben: ↑ zum Beitrag ↑
06.08.2018 16:11:31
sudo ldapmodify -Q -Y EXTERNAL -H ldapi:/// -f /tmp/tmp.ldif
Ich musste diese Zeile lediglich gegen folgende austauschen
ldapmodify -x -c -D cn=admin,dc=domain,dc=net -W -f /ems/tmp.ldif


Wenn ich nach der Anpassung die folgende Prüfung durchführe erhalte ich eine Fehlermeldung
sudo testsaslauthd -u uid@DOMAIN.NET -p userpassword

Code: Alles auswählen

 0: NO "authentication failed"

Benutzeravatar
ThorstenS
Beiträge: 2875
Registriert: 24.04.2004 15:33:31

Re: LDAP Kerberos Passwortspeicher

Beitrag von ThorstenS » 06.08.2018 21:43:09

schau bei Gelegenheit mal in deine Privaten Nachrichten oben rechts neben deinem Anmeldenamen.

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

Re: LDAP Kerberos Passwortspeicher

Beitrag von joe2017 » 07.08.2018 09:52:46

Ich habe jetzt einige Seiten zu SASL gelesen. Ich habe das Gefühl, dass folgende Seite nicht den vollen Umfang beschreibt
http://labs.opinsys.com/blog/2010/03/16 ... sing-sasl/

Ich muss sagen, dass dieses Thema etwas verwirrend für mich ist.
Die Installation von LDAP und (MIT) Kerberos war eigentlich überschaubar. Hier habe ich aktuell auch keine Probleme. Meine Services funktionieren auch. Jedoch eben nur mit den getrennten Passwörtern. So wie ich das sehe, ist SASL die richtige Vorgehensweise um den LDAP Benutzern mitzuteilen, dass die Passwörter im Kerberos hinterlegt sind. Irgendwie hakt es hierbei noch etwas. Hat jemand eine gute Anleitung für Debian 9.5.0. Hierbei bräuchte ich leider etwas Unterstützung.

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

Re: LDAP Kerberos Passwortspeicher

Beitrag von joe2017 » 07.08.2018 11:45:34

Anbei meine LDAP Kerberos Installation. Ich hoffe das hilft.
Ich habe natürlich einige Inhalte (Servername, IP, Domain) angepasst. Ich habe hier jetzt auch nur den Primary LDAP/Kerberos aufgelistet. Der Secondary LDAP/Kerberos wird bis auf die Replication identisch installiert. Es wäre prima wenn ich das mit dem Passwortspeicher im Kerberos noch irgendwie hinbekommen könnte. Ich hab jetzt schon dutzende Seiten hierzu durchgelesen und komme nicht wirklich weiter damit. Alles was ich bisher getestet habe funktioniert nicht. Ich habe auf jeden Fall einen Snapshot meiner Virtuellen Maschine. ;-)

LDAP PRIMARY

sudo nano /etc/hostname

Code: Alles auswählen

LDAP-Server-1.domain.net
sudo reboot

sudo apt -y install slapd ldap-utils
sudo nano /folder/logging.ldif

Code: Alles auswählen

dn: cn=config
changetype: modify
replace: olcLogLevel
olcLogLevel: stats
sudo ldapmodify -Q -Y EXTERNAL -H ldapi:/// -f /folder/logging.ldif

sudo cp /etc/rsyslog.conf /etc/rsyslog.conf.1st
sudo nano /etc/rsyslog.conf

Code: Alles auswählen

# add to the end....

# Disable rate limiting
# (default is 200 messages in 5 seconds; below we make the 5 become 0)
$SystemLogRateLimitInterval 0
sudo systemctl restart syslog.service

REPLICATION - PROVIDER
sudo nano /folder/provider_sync.ldif

Code: Alles auswählen

# Add indexes to the frontend db.
dn: olcDatabase={1}mdb,cn=config
changetype: modify
add: olcDbIndex
olcDbIndex: entryCSN eq
-
add: olcDbIndex
olcDbIndex: entryUUID eq

#Load the syncprov and accesslog modules.
dn: cn=module{0},cn=config
changetype: modify
add: olcModuleLoad
olcModuleLoad: syncprov
-
add: olcModuleLoad
olcModuleLoad: accesslog

# Accesslog database definitions
dn: olcDatabase={2}mdb,cn=config
objectClass: olcDatabaseConfig
objectClass: olcMdbConfig
olcDatabase: {2}mdb
olcDbDirectory: /var/lib/ldap/accesslog
olcSuffix: cn=accesslog
olcRootDN: cn=admin,dc=domain,dc=net
olcDbIndex: default eq
olcDbIndex: entryCSN,objectClass,reqEnd,reqResult,reqStart

# Accesslog db syncprov.
dn: olcOverlay=syncprov,olcDatabase={2}mdb,cn=config
changetype: add
objectClass: olcOverlayConfig
objectClass: olcSyncProvConfig
olcOverlay: syncprov
olcSpNoPresent: TRUE
olcSpReloadHint: TRUE

# syncrepl Provider for primary db
dn: olcOverlay=syncprov,olcDatabase={1}mdb,cn=config
changetype: add
objectClass: olcOverlayConfig
objectClass: olcSyncProvConfig
olcOverlay: syncprov
olcSpNoPresent: TRUE

# accesslog overlay definitions for primary db
dn: olcOverlay=accesslog,olcDatabase={1}mdb,cn=config
objectClass: olcOverlayConfig
objectClass: olcAccessLogConfig
olcOverlay: accesslog
olcAccessLogDB: cn=accesslog
olcAccessLogOps: writes
olcAccessLogSuccess: TRUE
# scan the accesslog DB every day, and purge entries older than 7 days
olcAccessLogPurge: 07+00:00 01+00:00
sudo -u openldap mkdir /var/lib/ldap/accesslog
sudo ldapadd -Q -Y EXTERNAL -H ldapi:/// -f /folder/provider_sync.ldif


KERBEROS SCHEMA IMPORT
sudo apt install -y krb5-kdc krb5-admin-server krb5-kdc-ldap

sudo gzip -d /usr/share/doc/krb5-kdc-ldap/kerberos.schema.gz
sudo cp /usr/share/doc/krb5-kdc-ldap/kerberos.schema /etc/ldap/schema/

sudo nano /folder/schema_convert.conf

Code: Alles auswählen

include /etc/ldap/schema/core.schema
include /etc/ldap/schema/collective.schema
include /etc/ldap/schema/corba.schema
include /etc/ldap/schema/cosine.schema
include /etc/ldap/schema/duaconf.schema
include /etc/ldap/schema/dyngroup.schema
include /etc/ldap/schema/inetorgperson.schema
include /etc/ldap/schema/java.schema
include /etc/ldap/schema/misc.schema
include /etc/ldap/schema/nis.schema
include /etc/ldap/schema/openldap.schema
include /etc/ldap/schema/ppolicy.schema
include /etc/ldap/schema/kerberos.schema
mkdir /tmp/ldif_output
sudo slapcat -f /folder/schema_convert.conf -F /tmp/ldif_output -n0 -s "cn={12}kerberos,cn=schema,cn=config" > /tmp/cn=kerberos.ldif

sudo nano /tmp/cn\=kerberos.ldif ### DELETE ###

Code: Alles auswählen

structuralObjectClass: olcSchemaConfig
entryUUID: 18ccd010-746b-102d-9fbe-3760cca765dc
creatorsName: cn=config
createTimestamp: 20090111203515Z
entryCSN: 20090111203515.326445Z#000000#000#000000
modifiersName: cn=config
modifyTimestamp: 20090111203515Z
sudo ldapadd -Q -Y EXTERNAL -H ldapi:/// -f /tmp/cn\=kerberos.ldif

sudo ldapmodify -Q -Y EXTERNAL -H ldapi:///

Code: Alles auswählen

dn: olcDatabase={1}mdb,cn=config
add: olcDbIndex
olcDbIndex: krbPrincipalName eq,pres,sub
sudo ldapmodify -Q -Y EXTERNAL -H ldapi:///

Code: Alles auswählen

dn: olcDatabase={1}mdb,cn=config
replace: olcAccess
olcAccess: to attrs=userPassword,shadowLastChange,krbPrincipalKey by dn="cn=admin,dc=domain,dc=net" write by anonymous auth by self write by * none
-
add: olcAccess
olcAccess: to dn.base="" by * read
-
add: olcAccess
olcAccess: to * by dn="cn=admin,dc=domain,dc=net" write by * read
KERBEROS SETUP
sudo cp /etc/krb5.conf /etc/krb5.conf.1st
sudo nano /etc/krb5.conf

Code: Alles auswählen

[libdefaults]
        default_realm = DOMAIN.NET
...

[realms]
        domain.NET = {
                kdc = LDAP-Server-1.domain.net
                kdc = LDAP-Server-2.domain.net
                admin_server = LDAP-Server-1.domain.net
                admin_server = LDAP-Server-2.domain.net
                default_domain = domain.net
                database_module = openldap_ldapconf
        }
...

[domain_realm]
        .domain.net = DOMAIN.NET
        domain.net = DOMAIN.NET
...

[dbdefaults]
        ldap_kerberos_container_dn = cn=krbContainer,dc=domain,dc=net

[dbmodules]
        openldap_ldapconf = {
                db_library = kldap
                ldap_kdc_dn = "cn=admin,dc=domain,dc=net"

                # this object needs to have read rights on
                # the realm container, principal container and realm sub-trees
                ldap_kadmind_dn = "cn=admin,dc=domain,dc=net"

                # this object needs to have read and write rights on
                # the realm container, principal container and realm sub-trees
                ldap_service_password_file = /etc/krb5kdc/service.keyfile
                # ldap_servers = ldap://LDAP-Server-1.domain.net ldap://LDAP-Server-2.domain.net
                ldap_servers = ldaps://LDAP-Server-1.domain.net ldaps://LDAP-Server-2.domain.net
                ldap_conns_per_server = 5
        }
sudo kdb5_ldap_util -D cn=admin,dc=domain,dc=net create -subtrees \ dc=domain,dc=net -r domain.NET -s -H ldap://LDAP-Server-1.domain.net

sudo kdb5_ldap_util -D cn=admin,dc=domain,dc=net stashsrvpw -f /etc/krb5kdc/service.keyfile cn=admin,dc=domain,dc=net
sudo nano /etc/krb5kdc/kadm5.acl

Code: Alles auswählen

# This file is the access control list for krb5 administration.
# When this file is edited run /etc/init.d/krb5-admin-server restart to activate
# One common way to set up Kerberos administration is to allow any principal
# ending in /admin  is given full administrative rights.
# To enable this, uncomment the following line:
*/admin@domain.NET	*
sudo /etc/init.d/krb5-admin-server restart

LDAP SSL/TLS

sudo apt install ssl-cert
sudo chgrp openldap /etc/ssl/private/LDAP-Server-1_ecdsa_re.key.pem
sudo chmod 0640 /etc/ssl/private/LDAP-Server-1_ecdsa_re.key.pem
sudo gpasswd -a openldap ssl-cert
sudo systemctl restart slapd.service

sudo nano /folder/certinfo.ldif

Code: Alles auswählen

dn: cn=config
add: olcTLSCACertificateFile
olcTLSCACertificateFile: /etc/ssl/certs/ca.int_ecdsa.crt.pem
-
add: olcTLSCertificateFile
olcTLSCertificateFile: /etc/ssl/certs/LDAP-Server-1_ecdsa.crt.pem
-
add: olcTLSCertificateKeyFile
olcTLSCertificateKeyFile: /etc/ssl/private/LDAP-Server-1_ecdsa_re.key.pem
sudo ldapmodify -Y EXTERNAL -H ldapi:/// -f /folder/certinfo.ldif

sudo nano /etc/default/slapd

Code: Alles auswählen

# SLAPD_SERVICES="ldap:/// ldapi:/// ldaps:///"
SLAPD_SERVICES="ldaps:///"
sudo service slapd restart

sudo nano /etc/ldap/ldap.conf

Code: Alles auswählen

BASE	dc=domain,dc=net
URI	ldaps://LDAP-IP-1 ldaps://LDAP-IP-2

TLS_CACERT	/etc/ssl/certs/ca.int_ecdsa.crt.pem
TLS_REQCERT	never
sudo service slapd restart
sudo systemctl start krb5-kdc.service
sudo systemctl start krb5-admin-server.service

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

Re: LDAP Kerberos Passwortspeicher

Beitrag von joe2017 » 20.08.2018 10:35:56

Guten Morgen zusammen,

hat hier keiner einen Tipp für mich? Es wäre wirklich toll wenn ich das Problem mit SASL noch lösen könnte. Ich komm hier irgendwie nicht weiter.
Ich habe mir jetzt noch einmal das Thema LDAP Kerberos und Passwortspeicher angeschaut. Auf folgender Seite https://wiki.ubuntuusers.de/Kerberos/LDAP/wird beschrieben, dass LDAP als KDC ungleich einfacher wäre als SASL - Kerberos als Passwordspeicher. Genau so habe ich meinen LDAP/Kerberos auch installiert. Jedoch habe ich immer noch unterschiedliche Passwörter in LDAP und Kerberos. Können diese nicht synchronisiert werden. Bzw. nur in einem Benutzer hinterlegt werden?

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

Re: LDAP Kerberos Passwortspeicher (SASL)

Beitrag von joe2017 » 27.08.2018 16:07:50

Also ich bin echt amverzweifeln. Hat denn niemand eine Installation von einem LDAP Server mit einem MIT Kerberos Server und SASL durchgeführt? Ich bekomme die Installation des SASL (pass through authentication) nicht hin.

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

Re: LDAP Kerberos Passwortspeicher (SASL)

Beitrag von joe2017 » 25.10.2018 16:17:56

So ich bin jetzt schon mal einen kleinen Schritt weiter.
Ich habe nach der Installation von LDAP und Kerberos (auf einem Server) folgendes Setup durchgeführt.

sudo apt install libsasl2-modules-gssapi-mit
sudo kadmin -p admin/admin
addprinc -randkey ldap/LDAP-Server-1.domain.net
ktadd -k /etc/ldap/ldap.keytab ldap/LDAP-Server-1.domain.net
exit
sudo klist -e -k /etc/ldap/ldap.keytab
sudo chown openldap. /etc/ldap/ldap.keytab

sudo nano /etc/default/slapd

Code: Alles auswählen

export KRB5_KTNAME=/etc/ldap/ldap.keytab
sudo /etc/init.d/slapd restart

sudo nano /tmp/sasl.ldif

Code: Alles auswählen

dn: cn=config
changetype: modify
add: olcSaslHost
olcSaslHost: LDAP-Server-1.domain.net
-
add: olcSaslRealm
olcSaslRealm: DOMAIN.NET
-
add: olcAuthzRegexp
olcAuthzRegexp: {0}"uid=([^/]*),cn=GSSAPI,cn=auth" "uid=$1,ou=Users,dc=domain,dc=net"
-
add: olcAuthzRegexp
olcAuthzRegexp: {1}"uid=([^/]*),cn=realm,cn=GSSAPI,cn=auth" "uid=$1,ou=Users,dc=domain,dc=net"
-
add: olcAuthzRegexp
olcAuthzRegexp: {2}"uid=host/([^/]*).realm,cn=realm,cn=gssapi,cn=auth" "cn=$1,ou=Hosts,dc=domain,dc=net"
sudo ldapmodify -Y EXTERNAL -H ldapi:/// -f /tmp/sasl.ldif


Auf meinem Client hab ich zusätzlich zu der Client Installation von LDAP und Kerberos folgendes durchgeführt.

sudo apt install libsasl2-modules-gssapi-mit
sudo kadmin -p admin/admin
addprinc -randkey host/client.domain.net
ktadd host/client.domain.net

sudo nano /etc/ldap/ldap.conf

Code: Alles auswählen

SASL_MECH GSSAPI
Das sieht eigentlich alles gut aus. Ich habe auch schon diverse Tests durchgeführt.
ldapwhoami
kdestroy
klist
kinit ldap-username
klist


Das funktioniert schon mal alles.

Womit ich noch Probleme habe, sind die unterschiedlichen Passwörter von LDAP und Kerberos. Eigentlich sollte ich das LDAP Passwort doch jetzt nicht mehr benötigen oder?
Mein user verwendet jetzt doch die SASL/GSSAPI authentication (username@DOMAIN.NET)

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

Re: LDAP Kerberos Passwortspeicher (SASL)

Beitrag von joe2017 » 26.10.2018 16:28:56

Ich hab jetzt folgende Konfiguration gefunden. Hier wurden die LDAP Benutzer ohne Passwort angelet und die Kerberos Benutzer mit einem Passwort. Dies funktioniert soweit auch.

Folgendes Szenario habe ich in Firefox und Thunderbird getestet.
Wenn ich z.B. einen WebDAV (Apache) Server aufsetzte und diverse Bereiche nur einer bestimmten LDAP Gruppe zugänglich mache, wird immer nach einem Benutzer/Passwort gefragt. Hier sollte einfach der angemeldete Kerberos Benutzer verwendet werden. Ist das eine Einstellung im LDAP/Kerberos, in meinem WebDAV Server oder sogar nur eine Client Einstellung in Firefox/Thunderbird.

Zur Information. Meine LDAP Gruppen-Berechtigungen auf meinem NFS4 Server funktionieren einwandfrei nach der Anmeldung. Hier darf nur der User auf einen Ordner zugreifen wenn er auch in der freigegebenen LDAP Gruppe gelistet ist.

Ich vermute fast, dass dieses Problem bei Firefox/Thunderbird zu suchen ist.

Antworten