LDAP Anbindung funktioniert nicht!

Hilfe zu Znuny Problemen aller Art
Locked
Wolle
Znuny newbie
Posts: 4
Joined: 01 Feb 2011, 18:02
Znuny Version: 3.0.5

LDAP Anbindung funktioniert nicht!

Post by Wolle »

Hallo zusammen,

habe nun schon einige Dinge zur Anbindung an unsere ADS ausprobiert und dachte diese ausführliche Anleitung würde funktionieren http://forums.otrs.org/viewtopic.php?f=17&t=7558 aber leider passiert gar nichts.

Anscheinend bin ich wohl doch ein dummie. Unter Kunden ist wirklich nichts zusehen. Ich kann mich auch nur mit den von mir vorher in de DB angelegten Usern authentifizieren.

Vielleicht kann mir jemand helfen. Ich habe keine Lust 300 Anwender anzulegen!

Vielen Dank!!

Hier meine derzeitige config:

################################################################################################################################
#----------------------------------------------------------#
# #
# LDAP Authentifizierung Agenten und Customer #
# #
#----------------------------------------------------------#


#Agenten Authentifizierung DB
# Backend DB fuer Agenten
$Self->{'AuthModule10'} = 'Kernel::System::Auth::DB';
$Self->{'AuthModule::DB::CryptType10'} = 'crypt';

# hab ich deaktiviert weil sich unsere Agents auch gegen das LDAP Authentifizieren sollen
# nach meinem Wissenstand müssen die Agenten aber trotzdem in der Datenbank stehen.


################################################################################################################################

################################################################################################################################
#------------------------------------------------------------------------------------------------------------------------------#
# LDAP Anbindung Firma #
#------------------------------------------------------------------------------------------------------------------------------#

#------------------------------------------------------------------------------------------------------------------------------#
# Authentifizierung Agenten via LDAP (AD) Firma #
#------------------------------------------------------------------------------------------------------------------------------#

# Hier steht überall 1 hinter (AuthModule1, Host1, ...)
# habe ich drin gelassen weil ich mehrere ADs abfrage und auch mehrere Firmen im OTRS habe
# wenn ihr nur eine habt kann die 1 überall weg. Ansonsten müsst ihr den ganzen Block halt pro Firma anlegen und einfach durchnummerieren

# Aber hier steht ein wichtiger Beitrag von jojo
# http://forums.otrs.org/viewtopic.php?f=17&t=7423
# da bin ich auch drauf reingefallen bezüglich der Nummerierung, muss man halt erst mal wissen:-)

$Self->{'AuthModule'} = 'Kernel::System::Auth::LDAP';
$Self->{'AuthModule::LDAP::Host'} = '10.49.0.23';# hier kann auch ein DNS Eintrag rein
$Self->{'AuthModule::LDAP::BaseDN'} = 'DC=mbn,DC=de'; # lest euch die Seiten die ich oben verlinkt habe durch,
# dann wird DN,OU, DC usw. alles klar:-)
$Self->{'AuthModule::LDAP::UID'} = 'sAMAccountName';
$Self->{'AuthModule::LDAP::GroupDN'} = 'CN=OTRS_Agenten,OU=OTRS,DC=mbn,DC=de'; # nur Mitlieder dieser Gruppe dürfen sich einloggen
$Self->{'AuthModule::LDAP::AccessAttr'} = 'memberUID'; # bei 2008er Domänen ist es 'member' bei 2003er ist es 'memberUID'*
$Self->{'AuthModule::LDAP::UserAttr'} = 'DN';
$Self->{'AuthModule::LDAP::SearchUserDN'} = 'CN=IUSR_AD,OU=Service-Accounts,OU=EDV,OU=MBN,OU=GMH,DC=mbn,DC=de'; #hier geht es auch mit dem user Principal Name,
# oder eben die DN des Bindusers, war bei mir ne böse Falle weil ich es nicht wörtlich genug genommen habe. Die SearchUserDN ist nicht die DN
# in der der User liegt sondern die eindeutige des Users, das gleiche gilt für die GroupDNs
# der Search User muss Mitglied in "Domänen-Benutzer" und in "Windows-Authentifizierungszugriffgruppe" sein
$Self->{'AuthModule::LDAP::SearchUserPw'} = '*******';

$Self->{'UserSyncLDAPMap'} = {
'UserEmail' => 'mail',
'UserFirstname' => 'givenName',
'UserLastname' => 'sn',
'UserLogin' => 'sAMAccountName'
};

################################################################################################################################
#------------------------------------------------------------------------------------------------------------------------------#
# Customer #
#------------------------------------------------------------------------------------------------------------------------------#
$Self->{'Customer::AuthModule'} = 'Kernel::System::CustomerAuth::LDAP';
$Self->{'Customer::AuthModule::LDAP::Host'} = '10.49.0.23';
$Self->{'Customer::AuthModule::LDAP::BaseDN'} ='CN=Users,DC=mbn,DC=de'; # hier die DN
# in der eure User liegen, kommt halt drauf an wie eurer AD strukturiert ist
$Self->{'Customer::AuthModule::LDAP::UID'} = 'sAMAccountName';
$Self->{'Customer::AuthModule::LDAP::GroupDN'} = 'CN=OTRS_User,OU=OTRS,DC=mbn,DC=de'; # das gleiche wie bei den Agents
# nur wer in der Gruppe 'otrscustomer' ist darf sich einloggen
$Self->{'Customer::AuthModule::LDAP::AccessAttr'} = 'memberUID'; #s.o.
$Self->{'Customer::AuthModule::LDAP::SearchUserDN'} = 'CN=IUSR_AD,OU=Service-Accounts,OU=EDV,OU=MBN,OU=GMH,DC=mbn,DC=de'; #s.o. das hier wäre dann der userPrincipalName
#ob es irgenwelche Nachteile hat wenn man den userPrincipalName anstatt der DN nimmt weiss ich nicht...
$Self->{'Customer::AuthModule::LDAP::SearchUserPw'} = '********';
$Self->{'Customer::AuthModule::LDAP::Params'} = {
port => 389,
timeout => 120,
async => 0,
version => 3,
};

#------------------------------------------------------------------------------------------------------------------------------#
# LDAP System Users #
#------------------------------------------------------------------------------------------------------------------------------#
$Self->{'AuthModule'} = 'Kernel::System::Auth::LDAP';
$Self->{'AuthModule::LDAP::Host'} = '10.49.0.23';
$Self->{'AuthModule::LDAP::BaseDN'} = 'dc=mbn,dc=de';
$Self->{'AuthModule::LDAP::UID'} = 'sAMAccountName';
$Self->{'AuthModule::LDAP::SearchUserDN'} = 'CN=IUSR_AD,OU=Service-Accounts,OU=EDV,OU=MBN,OU=GMH,DC=mbn,DC=del';
$Self->{'AuthModule::LDAP::SearchUserPw'} = '*******';
$Self->{'AuthModule::LDAP::Params'} = {
'async' => '0',
'timeout' => '120',
'version' => '3',
'port' => '389'
};

$Self->{'AuthModule::LDAP::Die'} = 1;

#------------------------------------------------------------------------------------------------------------------------------#
# UserSyncLDAPMap #
#------------------------------------------------------------------------------------------------------------------------------#

$Self->{'UserSyncLDAPMap'} = {
'UserEmail' => 'mail',
'UserFirstname' => 'givenName',
'UserLastname' => 'sn',
'UserLogin' => 'sAMAccountName'
};

$Self->{CustomerUser} = {
Name => 'Firma Customer',
Module => 'Kernel::System::CustomerUser::LDAP',
Params => {
Host => '10.49.0.23',
BaseDN => 'DC=mbn,DC=de',
SSCOPE => 'sub',
UserDN => 'CN=IUSR_AD,OU=Service-Accounts,OU=EDV,OU=MBN,OU=GMH,DC=mbn,DC=del', # wieder DN oder UserPrincipalName
UserPw => 'mbnad11',
AlwaysFilter => '(&(objectclass=user)(mail=*.*@Firma.de))',
# falls ihr was ausschliessen wollt:
# AlwaysFilter => '(&(objectclass=user)(mail=*.*@Firma.de)(!((was auch immer)))',
},
CustomerKey => 'sAMAccountName',
CustomerID => 'mail',
CustomerUserListFields => ['sAMAccountName', 'cn', 'mail'],
CustomerUserSearchFields => ['sAMAccountName', 'cn', 'mail'],
CustomerUserPostMasterSearchFields => ['mail'],
CustomerUserNameFields => ['givenname', 'sn'],
CustomerUserSearchListLimit => 1000, # die Anzahl der User die in euerer Kundenübersicht maximal angezeit werden.
# die Zeile muss nicht rein, macht aber bei uns hier Sinn.

Map => [
[ 'UserSalutation', 'Title', 'title', 1, 0, 'var' ],
[ 'UserFirstname', 'Firstname', 'givenname', 1, 1, 'var' ],
[ 'UserLastname', 'Lastname', 'sn', 1, 1, 'var' ],
[ 'UserLogin', 'Login', 'sAMAccountName', 1, 1, 'var' ],
[ 'UserEmail', 'Email', 'mail', 1, 1, 'var' ],
[ 'UserCustomerID', 'CustomerID', 'mail', 0, 1, 'var' ],
[ 'UserPhone', 'Phone', 'telephonenumber', 1, 0, 'var' ],
],
};

#------------------------------------------------------------------------------------------------------------------------------#
# Firma Ende #
#------------------------------------------------------------------------------------------------------------------------------#
boris
Znuny wizard
Posts: 554
Joined: 22 Feb 2010, 18:27
Znuny Version: 3.0.4

Re: LDAP Anbindung funktioniert nicht!

Post by boris »

wo versuchst du dich den einzuloggen? In der customer.pl?
Was steht denn im log?
Produktiv:
OTRS 3.1.7
CentOS 6.3
Apache2/MySQL

Test:
OTRS 3.1.7
CentOS 6.3
Apache2/MySQL
Wolle
Znuny newbie
Posts: 4
Joined: 01 Feb 2011, 18:02
Znuny Version: 3.0.5

Re: LDAP Anbindung funktioniert nicht!

Post by Wolle »

Also ich kann mich weder an der Kundensite noch an der Agentensite mit Usern aus dem AD anmelden. Wenn ich mich mit einem User den ich vorher manuell in OTRS angelegt habe anmelde kann ich im Kundenbereich keine Kunden sehen. Müssten hier nicht Anwender aus dem User Verzeichnis zu sehen sein? Wo finde ich denn die Logdatei? In dem Bereich Admin -> Systemverwaltung -> Systemprotokoll ist nichts zu sehen.
Wolle
Znuny newbie
Posts: 4
Joined: 01 Feb 2011, 18:02
Znuny Version: 3.0.5

Re: LDAP Anbindung funktioniert nicht!

Post by Wolle »

Hallo,

bin jetzt ein Stück weiter. Zumindest werden mir nun unter Kunden alle Anwender angezeigt. Jetzt gibt es noch das Problem mit der BaseDN. Bei uns sind nicht alle User in einer OU wie z. B. USER sondern in zig verschiedene OUs verteilt (nach Niederlassung usw.) Ich habe die Verzeichnisse zum Testen so benannt daß Mein Testuser auf jeden Fall gefunden wird, bekomme aber trotzdem noch folgenden Fehler im Log:

[Mon Feb 7 10:13:29 2011][Notice][Kernel::System::CustomerAuth::LDAP::Auth] CustomerUser: cmustermann authentication failed, no LDAP group entry foundGroupDN='CN=OTRS_User,OU=OTRS,DC=mbn,DC=de', Filter='(memberUID=CN=mustermann\\, citrix,OU=EDV,OU=MBN,OU=GMH,DC=mbn,DC=de)'! (REMOTE_ADDR: 127.0.0.1).

Der Benutzer cmustermann ist aber auf alle Fälle in der Gruppe der OTRS_User. Was funktioniert da nicht?
Locked