elix2k
Goto Top

Linux LDAP - AD

Hallo zusammen,

ich bin so langsam am verzfeifeln. Seit drei Tagen versuche ich vergeblich auf einem Debian 9 / 10 Server eine LDAP-Anmeldung am Active Directory zu konfigurieren.
Ich habe mittlerweile alle Anleitungen die ich im Netz gefunden habe durchgearbeitet.

Hier eine Beispiel-Anleitung:

Titel

die pam_ldap.con und libnss-ldap.conf sehen so aus:

# The distinguished name of the search base.
base ou=user,dc=firma,dc=de

# Another way to specify your LDAP server is to provide an
uri ldap://firma.de
ldap_version 3

binddn CN=ldapread,OU=ServiceUser,DC=firma,DC=de
bindpw XXX
port 389

# The search scope.
#scope sub
#scope one
#scope base

# Search timelimit
#timelimit 30

wenn ich in bindpw ein falsches Kennwort eintrage sehe ich in der /var/log/auth.log Datei einen LDAP-Fehler mit der Meldung "Wrong Credentials"
Wenn ich das richtige Kennwort eintrage kommen gar keine Fehlermeldungen.
Die Authentifizierung funktioniert einfach nicht.

Hat Jemand eine Idee?

Vielen Dank im Voraus!

Content-Key: 482026

Url: https://administrator.de/contentid/482026

Printed on: April 19, 2024 at 02:04 o'clock

Member: erikro
erikro Aug 06, 2019 at 09:10:44 (UTC)
Goto Top
Moin,

Zitat von @elix2k:
> # The distinguished name of the search base.
> base ou=user,dc=firma,dc=de
> 

Da fehlt doch ein S, oder? Also

base ou=users,dc=firma,dc=de

hth

Erik
Member: emeriks
emeriks Aug 06, 2019 at 09:15:10 (UTC)
Goto Top
Also, wenn "Users" dann "CN=Users". Das ist keine OU sondern ein Container.

E.
Member: elix2k
elix2k Aug 06, 2019 at 09:22:55 (UTC)
Goto Top
user ist schon richtig, war eine Test-OU von mir.

Mit CN=User passiert auch nichts. Ich weiß nicht wie ich debuggen soll, wenn keine Logfiles geschrieben werden.
Member: erikro
Solution erikro Aug 06, 2019 at 09:28:24 (UTC)
Goto Top
Moin,

Zitat von @elix2k:

user ist schon richtig, war eine Test-OU von mir.

Deshalb habe ich das auch als Frage formuliert. Die Seite hast Du durch?
https://www.thomas-krenn.com/de/wiki/Passwort-Authentifizierung_mit_Acti ...
Am Ende findest Du eine Anleitung zum debuggen.

hth

Erik
Member: elix2k
elix2k Aug 06, 2019 updated at 09:31:19 (UTC)
Goto Top
Das war eine der ersten Seiten die ich getestet habe.

Sowohl mit Stretch als auch mit Buster ohne Erfolg.

Er benutzt im gegensatz zu anderen Seiten libpam-ldapd und libnss-ldapd. Der Debug-Schalter spuckt keine Fehler aus.
Member: erikro
erikro Aug 06, 2019 at 09:35:15 (UTC)
Goto Top
Schon mit -dddd versucht?
Member: emeriks
emeriks Aug 06, 2019 at 09:46:25 (UTC)
Goto Top
Zitat von @elix2k:
Mit CN=User passiert auch nichts. Ich weiß nicht wie ich debuggen soll, wenn keine Logfiles geschrieben werden.
CN=UserS !
Member: emeriks
emeriks Aug 06, 2019 at 09:50:49 (UTC)
Goto Top
Stehen diese Benutzer direkt in dieser OU oder in einer Sub-OU? Falls Sub, dann das Scope ändern.
Oder gleich Base auf "dc=firma,dc=de" und Scope auf "sub".
Member: elix2k
elix2k Aug 06, 2019 at 10:10:22 (UTC)
Goto Top
Auch schon probiert. :/ Gerade einen Snapshot wiederhergestellt und es nach der Thomas Krenn Anleitung konfiguriert.

Hier die Ausgabe von nslcd -d

nslcd -d
nslcd: DEBUG: NSS_LDAP nss-pam-ldapd 0.9.7
nslcd: DEBUG: ldap_set_option(LDAP_OPT_X_TLS_REQUIRE_CERT,demand)
nslcd: DEBUG: ldap_set_option(LDAP_OPT_X_TLS_CACERTFILE,"/etc/ssl/certs/firma.crt")  
nslcd: DEBUG: CFG: threads 5
nslcd: DEBUG: CFG: uid nslcd
nslcd: DEBUG: CFG: gid 124
nslcd: DEBUG: CFG: uri ldap://firma.de
nslcd: DEBUG: CFG: ldap_version 3
nslcd: DEBUG: CFG: binddn cn=ldapread,ou=ServiceUser,dc=firma,dc=de
nslcd: DEBUG: CFG: bindpw ***
nslcd: DEBUG: CFG: base dc=firma,dc=de
nslcd: DEBUG: CFG: scope sub
nslcd: DEBUG: CFG: deref never
nslcd: DEBUG: CFG: referrals yes
nslcd: DEBUG: CFG: filter aliases (objectClass=nisMailAlias)
nslcd: DEBUG: CFG: filter ethers (objectClass=ieee802Device)
nslcd: DEBUG: CFG: filter group (objectClass=posixGroup)
nslcd: DEBUG: CFG: filter hosts (objectClass=ipHost)
nslcd: DEBUG: CFG: filter netgroup (objectClass=nisNetgroup)
nslcd: DEBUG: CFG: filter networks (objectClass=ipNetwork)
nslcd: DEBUG: CFG: filter passwd (objectClass=user)
nslcd: DEBUG: CFG: filter protocols (objectClass=ipProtocol)
nslcd: DEBUG: CFG: filter rpc (objectClass=oncRpc)
nslcd: DEBUG: CFG: filter services (objectClass=ipService)
nslcd: DEBUG: CFG: filter shadow (objectClass=shadowAccount)
nslcd: DEBUG: CFG: map group userPassword "*"  
nslcd: DEBUG: CFG: map passwd uid sAMAccountName
nslcd: DEBUG: CFG: map passwd userPassword "*"  
nslcd: DEBUG: CFG: map passwd gecos "${gecos:-$cn}"  
nslcd: DEBUG: CFG: map shadow userPassword "*"  
nslcd: DEBUG: CFG: map shadow shadowLastChange "${shadowLastChange:--1}"  
nslcd: DEBUG: CFG: map shadow shadowMin "${shadowMin:--1}"  
nslcd: DEBUG: CFG: map shadow shadowMax "${shadowMax:--1}"  
nslcd: DEBUG: CFG: map shadow shadowWarning "${shadowWarning:--1}"  
nslcd: DEBUG: CFG: map shadow shadowInactive "${shadowInactive:--1}"  
nslcd: DEBUG: CFG: map shadow shadowExpire "${shadowExpire:--1}"  
nslcd: DEBUG: CFG: map shadow shadowFlag "${shadowFlag:-0}"  
nslcd: DEBUG: CFG: pam_authc_ppolicy yes
nslcd: DEBUG: CFG: bind_timelimit 10
nslcd: DEBUG: CFG: timelimit 0
nslcd: DEBUG: CFG: idle_timelimit 0
nslcd: DEBUG: CFG: reconnect_sleeptime 1
nslcd: DEBUG: CFG: reconnect_retrytime 10
nslcd: DEBUG: CFG: ssl off
nslcd: DEBUG: CFG: tls_reqcert demand
nslcd: DEBUG: CFG: tls_cacertfile /etc/ssl/certs/firma.crt
nslcd: DEBUG: CFG: pagesize 0
nslcd: DEBUG: CFG: nss_min_uid 0
nslcd: DEBUG: CFG: nss_nested_groups no
nslcd: DEBUG: CFG: nss_getgrent_skipmembers no
nslcd: DEBUG: CFG: nss_disable_enumeration no
nslcd: DEBUG: CFG: validnames /^[a-z0-9._@$()]([a-z0-9._@$() \~-]*[a-z0-9._@$()~-])?$/i
nslcd: DEBUG: CFG: ignorecase no
nslcd: DEBUG: CFG: cache dn2uid 15m 15m
nslcd: nslcd may already be active, cannot acquire lock (/var/run/nslcd/nslcd.pid): Permission denied
Member: aqui
Solution aqui Aug 06, 2019 updated at 10:21:01 (UTC)
Goto Top
Permission denied ??
Kann das sein das da schon ein nscld Daemon rennt ? Wenn du ihn manuell startest im Debug Mode musst du ihn erst mit systemctl stop nslcd stoppen
Hast du zusätzlich mit tcpdump mal nachgesehen ob überhaupt LDAP Pakete gesendet werden ans AD ?
Member: elix2k
elix2k Aug 06, 2019 updated at 11:16:38 (UTC)
Goto Top
Ooops, der Prozess wurde bereits gestartet.

Jetzt bekomme ich die Meldung :
nslcd: [8b4567] <passwd="esxadmin"> CN=esxi admin,OU=ESX,OU=Dienstkonten,OU=FIRMA,DC=firma,DC=de: uidNumber: missing
Member: SlainteMhath
SlainteMhath Aug 06, 2019 at 10:59:06 (UTC)
Goto Top
Bitte, nimm das password und den Firmennamen raus!!
Member: erikro
erikro Aug 06, 2019 at 11:12:26 (UTC)
Goto Top
Zitat von @SlainteMhath:

Bitte, nimm das password und den Firmennamen raus!!

Wenn das das echte Passwort des esxi admin ist, dann ist das auch egal. face-wink
Member: elix2k
elix2k Aug 06, 2019 updated at 11:18:00 (UTC)
Goto Top
Das ist nicht das Kennwort sondern der Anmeldename.
Member: elix2k
elix2k Aug 06, 2019 updated at 11:29:22 (UTC)
Goto Top
Soooo, hier die Lösung =) Habe ich sogar in diesem Forum gefunden:

LINK

Ich musste das Mapping ändern und alles lief auf anhieb.

Danke an alle!