LDAP (AD- Anbindung) für Dummies:-) V1 und V2

Howto's zu OTRS Themen. Keine neuen Topics mit Fragen in diesem Forum!
boris
Znuny wizard
Posts: 554
Joined: 22 Feb 2010, 18:27
Znuny Version: 3.0.4

LDAP (AD- Anbindung) für Dummies:-) V1 und V2

Post by boris »

Hallo ihr da draussen,

da ich mir bei der LDAP Anbindung oft genug wie ein Dummie vorgekommen bin hab hier ein Beispielscript für alle die eine LDAP Anbindung haben wollen, und es genau wie ich nicht direkt auf Anhieb raffen :)
Einen ähnlichen Beitrag hab ich zwar schonmal geschrieben aber da hatte ich doch noch ein paar Patzer eingebaut, und den dementsprechend geändert.

Alles weitere steht in dem Script.
Konstruktive Kritik wird natürlich gerne gelesen.

Boris
You do not have the required permissions to view the files attached to this post.
Last edited by boris on 29 Mar 2012, 10:01, edited 1 time in total.
Produktiv:
OTRS 3.1.7
CentOS 6.3
Apache2/MySQL

Test:
OTRS 3.1.7
CentOS 6.3
Apache2/MySQL
realmaze
Znuny newbie
Posts: 28
Joined: 15 Dec 2008, 15:53
Znuny Version: 3.1.3
Real Name: Martin Zeiske
Company: Eurocopter Deutschland GmbH

Re: LDAP (AD- Anbindung) für Dummies:-)

Post by realmaze »

Hallo, ich habe noch eine Frage:

was passiert, wenn LDAP nicht verfügbar ist, oder besser:

wie kann ich sicherstellen, dass ich mich in jedem Fall mit root@localhost einloggen kann (sollte malk irgendwas mit der LDAP Anbindung nicht passen/ausfallen?
LIVE-System:
Betriebssystem: SLES 11
OTRS version: 3.1.3
ITSM: 3.1.2

Test-Sytem:
Betriebssystem: Windows XP Prof.
OTRS version: 3.1.3
ITSM: 3.1.2
boris
Znuny wizard
Posts: 554
Joined: 22 Feb 2010, 18:27
Znuny Version: 3.0.4

Re: LDAP (AD- Anbindung) für Dummies:-)

Post by boris »

Code: Select all

#Agenten Authentifizierung DB
   # Backend DB fuer Agenten
   #$Self->{'AuthModule'} = 'Kernel::System::Auth::DB';
   #$Self->{'AuthModule::DB::CryptType'} = '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.
wenn du das wieder einkommentierst gehts
Produktiv:
OTRS 3.1.7
CentOS 6.3
Apache2/MySQL

Test:
OTRS 3.1.7
CentOS 6.3
Apache2/MySQL
realmaze
Znuny newbie
Posts: 28
Joined: 15 Dec 2008, 15:53
Znuny Version: 3.1.3
Real Name: Martin Zeiske
Company: Eurocopter Deutschland GmbH

Re: LDAP (AD- Anbindung) für Dummies:-)

Post by realmaze »

Ah! Danke :)
LIVE-System:
Betriebssystem: SLES 11
OTRS version: 3.1.3
ITSM: 3.1.2

Test-Sytem:
Betriebssystem: Windows XP Prof.
OTRS version: 3.1.3
ITSM: 3.1.2
bwelker
Znuny newbie
Posts: 3
Joined: 10 Mar 2011, 16:45
Znuny Version: 3.0.6

Re: LDAP (AD- Anbindung) für Dummies:-)

Post by bwelker »

Ich hab das jetzt genauso gemacht wie in der Beschreibung, leider greift der bei mir immer noch auf die DB zu wo genau mach ich das weg? In meiner Kernel\Config.pm steht davon nix nur in der Kernel\Config\defaults.pm steht da was da soll man ja aber nichts ändern.
opossum_shrimp
Znuny newbie
Posts: 35
Joined: 20 Oct 2010, 08:52
Znuny Version: 3.0.4

Re: LDAP (AD- Anbindung) für Dummies:-)

Post by opossum_shrimp »

Du mußt den entsprechenden Bereich aus der Kernel\Config\defaults.pm herauskopieren, in die Kernel\Config.pm einfügen und ggf. noch anpassen.

lg
opossum_shrimp
OTRS 3.0.6
ITSM 3.0.1
Nagios 3.2.0
OS UCS 2.4.1
bwelker
Znuny newbie
Posts: 3
Joined: 10 Mar 2011, 16:45
Znuny Version: 3.0.6

Re: LDAP (AD- Anbindung) für Dummies:-)

Post by bwelker »

Das hab ich soweit aber wie bringe ich ihm bei das er nicht mehr auf die DB sondern auf das LDAP zugreift ?
xhellsingx
Znuny newbie
Posts: 10
Joined: 03 Sep 2010, 12:30
Znuny Version: 3.0.0

Re: LDAP (AD- Anbindung) für Dummies:-)

Post by xhellsingx »

Danke ersteinmal für diese Anleitung, sie hat mich weiter gebracht als mehrere Tage web durchforsten :)

Ich habe eine Frage, kann ich den Punkt:
$Self->{'Customer::AuthModule::LDAP::GroupDN1'
Bedenkenlos auskommentieren? Wenn ich dies tue bekomm ich beim Login die Fehlermeldung:
Authentication succeeded, but no customer record is found in the customer backend. Please contact your administrator.
OTRS-Version: OTRS-3.0.6.tar.gz
Betriebssystem: Suse Linux Enterprise 10
Datenbank: PostgreSQL
Webserver: Apache2
opossum_shrimp
Znuny newbie
Posts: 35
Joined: 20 Oct 2010, 08:52
Znuny Version: 3.0.4

Re: LDAP (AD- Anbindung) für Dummies:-)

Post by opossum_shrimp »

Hallo bwelker,

indem du in der Kernel/Config.pm
folgende Zeile auskommentierst:

Code: Select all

#       $Self->{'AuthModule1'} = 'Kernel::System::Auth::DB';
Schönes we
opossum_shrimp
OTRS 3.0.6
ITSM 3.0.1
Nagios 3.2.0
OS UCS 2.4.1
bwelker
Znuny newbie
Posts: 3
Joined: 10 Mar 2011, 16:45
Znuny Version: 3.0.6

Re: LDAP (AD- Anbindung) für Dummies:-)

Post by bwelker »

Moin nur dumm das die zeile nicht da drin steht :(
Ich hab gesehen das in der ZZZAAuto.pm was wegen der DB drin steht.
boris
Znuny wizard
Posts: 554
Joined: 22 Feb 2010, 18:27
Znuny Version: 3.0.4

Re: LDAP (AD- Anbindung) für Dummies:-)

Post by boris »

Hi,

250 Downloads :shock:

Hat es irgendjemandem geholfen?
Produktiv:
OTRS 3.1.7
CentOS 6.3
Apache2/MySQL

Test:
OTRS 3.1.7
CentOS 6.3
Apache2/MySQL
boris
Znuny wizard
Posts: 554
Joined: 22 Feb 2010, 18:27
Znuny Version: 3.0.4

V2

Post by boris »

Hi,

ich finde immer mehr Verlinkungen und Beiträge die auf diesen Thread verweisen :D
Also hab ich mir gedacht ich räume nochmal etwas auf und mache eine neue Anleitung.

Also hier die LDAP_fuer_Dummies_V2 :-)

Kritik und Feedback sind natürlich immer willkommen.
You do not have the required permissions to view the files attached to this post.
Produktiv:
OTRS 3.1.7
CentOS 6.3
Apache2/MySQL

Test:
OTRS 3.1.7
CentOS 6.3
Apache2/MySQL
lobmayec
Znuny newbie
Posts: 29
Joined: 16 Mar 2012, 17:44
Znuny Version: 31200
Real Name: Christof Lobmayer
Company: Guardean GmbH

Re: LDAP (AD- Anbindung) für Dummies:-) V1 und V2

Post by lobmayec »

Bei mir funktioniert es leider nicht. Gibt es einen Log wo ich etwas nachlesen kann oder evtl. eine Batch mit der ich überprüfen kann ob eine Verbindung zum AD aufgbaut werden kann? Mit dem Softerra LDAP Administrator 2012 Programm komme ich ohne Probleme auf den AD...

Wenn ich mich anmelden will mit otrs.test\otrsagent geht es nicht weder noch mit otrs\otrsagent. Es kommt die Meldung, dass das Passwort oder der Benutzername falsch sei.

Mein AD heißt otrs.test und hat die IP 10.127.9.185 Firwall ist sicherheitshalber zum Testen ausgeschaltet. Als Betriebssystem läuft ein Windows Server 2008r2
Anbei meine Config und ein Screenshot des AD's und meine LOG Datei von OTRS

Beide Benutzer also otrsagent sowohl als auch otrsldap ist Domänen-Benutzer und Windows-Autorisierungszugriffsgruppe. :(

Danke für eure Hilfe
You do not have the required permissions to view the files attached to this post.
Last edited by lobmayec on 12 Apr 2012, 15:39, edited 1 time in total.
boris
Znuny wizard
Posts: 554
Joined: 22 Feb 2010, 18:27
Znuny Version: 3.0.4

Re: LDAP (AD- Anbindung) für Dummies:-) V1 und V2

Post by boris »

und nur mit otrsagent?

Gibts den user otrsagent?

Und ja es gibt ein Log. Wo das ist kommt auf deine Installatiion an.
Findest du unter Framework -> Core::Log

LogModule::LogFile

oder such in der SysConfig nach
LogModule::LogFile
da steht der Pfad zu deinem Log File
Last edited by boris on 12 Apr 2012, 15:10, edited 1 time in total.
Produktiv:
OTRS 3.1.7
CentOS 6.3
Apache2/MySQL

Test:
OTRS 3.1.7
CentOS 6.3
Apache2/MySQL
lobmayec
Znuny newbie
Posts: 29
Joined: 16 Mar 2012, 17:44
Znuny Version: 31200
Real Name: Christof Lobmayer
Company: Guardean GmbH

Re: LDAP (AD- Anbindung) für Dummies:-) V1 und V2

Post by lobmayec »

boris wrote:und nur mit otrsagent?

Gibts den user otrsagent?
Geht leider auch nicht. Den User otrsagent gibt es nur im AD in der Organisationseinheit otrs_agent. Aber local in Otrs gibt es diesen nicht.
lobmayec
Znuny newbie
Posts: 29
Joined: 16 Mar 2012, 17:44
Znuny Version: 31200
Real Name: Christof Lobmayer
Company: Guardean GmbH

Re: LDAP (AD- Anbindung) für Dummies:-) V1 und V2

Post by lobmayec »

boris wrote:und nur mit otrsagent?

Gibts den user otrsagent?

Und ja es gibt ein Log. Wo das ist kommt auf deine Installatiion an.
Findest du unter Framework -> Core::Log

LogModule::LogFile

oder such in der SysConfig nach
LogModule::LogFile
da steht der Pfad zu deinem Log File
Geht leider auch nicht. Den User otrsagent gibt es nur im AD in der Organisationseinheit otrs_agent. Aber local in Otrs gibt es diesen nicht.

Den Log habe ich auch hochgeladen. :)
boris
Znuny wizard
Posts: 554
Joined: 22 Feb 2010, 18:27
Znuny Version: 3.0.4

Re: LDAP (AD- Anbindung) für Dummies:-) V1 und V2

Post by boris »

der muss auch in der lokalen DB stehen.

Wo ist denn das log?
Produktiv:
OTRS 3.1.7
CentOS 6.3
Apache2/MySQL

Test:
OTRS 3.1.7
CentOS 6.3
Apache2/MySQL
lobmayec
Znuny newbie
Posts: 29
Joined: 16 Mar 2012, 17:44
Znuny Version: 31200
Real Name: Christof Lobmayer
Company: Guardean GmbH

Re: LDAP (AD- Anbindung) für Dummies:-) V1 und V2

Post by lobmayec »

boris wrote:der muss auch in der lokalen DB stehen.

Wo ist denn das log?
Muss ich die Datenbank also MySQL, MSSQL usw. auch mit dem AD verbinden? Oder Welche Datenbank meinst du?
You do not have the required permissions to view the files attached to this post.
boris
Znuny wizard
Posts: 554
Joined: 22 Feb 2010, 18:27
Znuny Version: 3.0.4

Re: LDAP (AD- Anbindung) für Dummies:-) V1 und V2

Post by boris »

Nein verbinden musst du da nix, du musst den Agenten nur im OTRS anlegen.
Authetifiezierung läuft dann gegen das LDAP:

Für die Authetifizierung brauchst du eiegentlich nur:

Code: Select all

$Self->{'AuthModule1'} = 'Kernel::System::Auth::LDAP';
$Self->{'AuthModule::LDAP::Host1'} = '10.127.9.185'; 
$Self->{'AuthModule::LDAP::BaseDN1'} = 'dc=otrs,dc=test';
$Self->{'AuthModule::LDAP::UID1'} = 'sAMAccountName';
$Self->{'AuthModule::LDAP::SearchUserDN1'} = 'otrsldap@otrs.test';
$Self->{'AuthModule::LDAP::SearchUserPw1'} = '0NoUse1';
Damit müsste es eigentlich gehen. Wenn der agent im OTRS angelegt ist :D
Produktiv:
OTRS 3.1.7
CentOS 6.3
Apache2/MySQL

Test:
OTRS 3.1.7
CentOS 6.3
Apache2/MySQL
lobmayec
Znuny newbie
Posts: 29
Joined: 16 Mar 2012, 17:44
Znuny Version: 31200
Real Name: Christof Lobmayer
Company: Guardean GmbH

Re: LDAP (AD- Anbindung) für Dummies:-) V1 und V2

Post by lobmayec »

boris wrote:Nein verbinden musst du da nix, du musst den Agenten nur im OTRS anlegen.
Authetifiezierung läuft dann gegen das LDAP:

Für die Authetifizierung brauchst du eiegentlich nur:

Code: Select all

$Self->{'AuthModule1'} = 'Kernel::System::Auth::LDAP';
$Self->{'AuthModule::LDAP::Host1'} = '10.127.9.185'; 
$Self->{'AuthModule::LDAP::BaseDN1'} = 'dc=otrs,dc=test';
$Self->{'AuthModule::LDAP::UID1'} = 'sAMAccountName';
$Self->{'AuthModule::LDAP::SearchUserDN1'} = 'otrsldap@otrs.test';
$Self->{'AuthModule::LDAP::SearchUserPw1'} = '0NoUse1';
Damit müsste es eigentlich gehen. Wenn der agent im OTRS angelegt ist :D
Habe ich erstellt und zwar als Benutzernamen: otrsldap@otrs.test

Dann in die Config.pm die o.g. Zeilen hinzugefügt. Allerdings stimmer immer etwas noch nicht. Kommt immer noch die Meldung, dass der Benutzername oder das Passwort falsch sei.. :roll:

Wie muss ich mich denn in der index.pl Einloggen. Hätte jede mögliche Kombination bereits versucht... Sollte doch dann mit otrsldap@otrs.test bzw. otrsagent@otrs.test gehen?
boris
Znuny wizard
Posts: 554
Joined: 22 Feb 2010, 18:27
Znuny Version: 3.0.4

Re: LDAP (AD- Anbindung) für Dummies:-) V1 und V2

Post by boris »

also bei mir logg ich mich mit dem LoginNamen des Benutzers ein ohne irgendeinen Suffix. Also sAMAccountName

Wäre dann bei deinem besipiel otrsagent
Produktiv:
OTRS 3.1.7
CentOS 6.3
Apache2/MySQL

Test:
OTRS 3.1.7
CentOS 6.3
Apache2/MySQL
lobmayec
Znuny newbie
Posts: 29
Joined: 16 Mar 2012, 17:44
Znuny Version: 31200
Real Name: Christof Lobmayer
Company: Guardean GmbH

Re: LDAP (AD- Anbindung) für Dummies:-) V1 und V2

Post by lobmayec »

boris wrote:also bei mir logg ich mich mit dem LoginNamen des benutzers ein ohne irgendeinen Suffix.

Wäre dann bei deinem besipiel otrsagent
Wie hast du den Benutzer in OTRS selber erstellt, auch ohne Suffix?
boris
Znuny wizard
Posts: 554
Joined: 22 Feb 2010, 18:27
Znuny Version: 3.0.4

Re: LDAP (AD- Anbindung) für Dummies:-) V1 und V2

Post by boris »

Admin und dann unter Agents einen Agenten angelegt
Produktiv:
OTRS 3.1.7
CentOS 6.3
Apache2/MySQL

Test:
OTRS 3.1.7
CentOS 6.3
Apache2/MySQL
lobmayec
Znuny newbie
Posts: 29
Joined: 16 Mar 2012, 17:44
Znuny Version: 31200
Real Name: Christof Lobmayer
Company: Guardean GmbH

Re: LDAP (AD- Anbindung) für Dummies:-) V1 und V2

Post by lobmayec »

boris wrote:Admin und dann unter Agents einen Agenten angelegt
Ist auch da.. Sogar probeweise der otrsldap mit Suffix...
Agents.jpg
You do not have the required permissions to view the files attached to this post.
boris
Znuny wizard
Posts: 554
Joined: 22 Feb 2010, 18:27
Znuny Version: 3.0.4

Re: LDAP (AD- Anbindung) für Dummies:-) V1 und V2

Post by boris »

was steht denn im Log wenn du dich mit otrsagent einloggst?
Produktiv:
OTRS 3.1.7
CentOS 6.3
Apache2/MySQL

Test:
OTRS 3.1.7
CentOS 6.3
Apache2/MySQL
lobmayec
Znuny newbie
Posts: 29
Joined: 16 Mar 2012, 17:44
Znuny Version: 31200
Real Name: Christof Lobmayer
Company: Guardean GmbH

Re: LDAP (AD- Anbindung) für Dummies:-) V1 und V2

Post by lobmayec »

boris wrote:was steht denn im Log wenn du dich mit otrsagent einloggst?
Immerhin steht jetzt schon was anderes drinnen. Anbei der LOG

Und schon mal Danke für die Bemühungen.
You do not have the required permissions to view the files attached to this post.
lobmayec
Znuny newbie
Posts: 29
Joined: 16 Mar 2012, 17:44
Znuny Version: 31200
Real Name: Christof Lobmayer
Company: Guardean GmbH

Re: LDAP (AD- Anbindung) für Dummies:-) V1 und V2

Post by lobmayec »

Habe etwas an der Struktur des AD's geändert, hab praktisch die Benutzer in eine Organisationseinheit gepackt und die Config jetzt einmal folgendermaßen umbeschrieben:

Code: Select all

$Self->{'AuthModule'} = 'Kernel::System::auth::LDAP';
$Self->{'AuthModule::LDAP::Host'} = '10.127.9.185';
$Self->{'AuthModule::LDAP::BaseDN'} = 'DC=otrs,DC=test';
$Self->{'AuthModule::LDAP::UID} = 'sAMAccountName';
$Self->{'AuthModule::LDAP::SearchUserDN} = 'CN=otrsldap,OU=otrs_agent,DC=otrs,DC=test';
$Self->{'AuthModule::LDAP::Pw} = '0NoUse1';
Wenn ich mich mit "otrsldap" in OTRS Einloggen will kommt folgende Meldung
Panic, user authenticated but no user data can be found in OTRS DB!! Perhaps the user is invalid.
Was auch stimmte, der Benutzer war nicht in der OTRS Datenbank vorhanden. Nachdem ich Ihn über root@localhost erstellt habe und mich wieder mit otrsldap Einloggen wollte kam die Meldung
Anmeldung fehlgeschlagen! Benutzername oder Passwort falsch.
Anbei die OTRS Log Datei
otrs_log.txt
, bei der zu sehen ist, dass die Authentification erfolgreich war. Woran kann es legen, dass das System im Log immer schreibt "No UserID found for 'otrsldap'? Der Benutzer ist ja da.

Habe es mit dem Tool "Softerra LDAP Administration versucht" und mich dort auch mit dem Nutzer otrsldap Eingeloggt. Dort konnte ich die AD Informationen Abrufen...
You do not have the required permissions to view the files attached to this post.
boris
Znuny wizard
Posts: 554
Joined: 22 Feb 2010, 18:27
Znuny Version: 3.0.4

Re: LDAP (AD- Anbindung) für Dummies:-) V1 und V2

Post by boris »

ist der sAMAccountname von dem user denn otrsldap?
Produktiv:
OTRS 3.1.7
CentOS 6.3
Apache2/MySQL

Test:
OTRS 3.1.7
CentOS 6.3
Apache2/MySQL
lobmayec
Znuny newbie
Posts: 29
Joined: 16 Mar 2012, 17:44
Znuny Version: 31200
Real Name: Christof Lobmayer
Company: Guardean GmbH

Re: LDAP (AD- Anbindung) für Dummies:-) V1 und V2

Post by lobmayec »

boris wrote:ist der sAMAccountname von dem user denn otrsldap?
Hallo, ich weiß garnicht was sAMAccountname ist. Das stand in der Anleitung, dass das so sein muss.

Habe es allerdings inzwischen hinbekommen. Es lag wohl anscheinend an folgenden Konstrukt:

Code: Select all

$Self->{'AuthModule::LDAP::SearchUserDN'} = 'otrsldap@otrs.test'
So ging es nicht, aber nachdem ich es folgendermaßen geschrieben habe, ging es dann:

Code: Select all

$Self->{'AuthModule::LDAP::SearchUserDN'} = 'cn=otrsldap,ou=otrs_agent,dc=otrs,dc=test'
Nun aber die nächste Frage. Ich kann mich jetzt nur mit dem User otrsldap Einloggen. Da wir mehrere Agenten haben die sich gegen LDAP Authentifizieren sollen, wie kann ich es lösen, dass OTRS alle User in meinem Fall aus der Organisationseinheit otrs_agent gegen LDAP überprüft?

Also wenn ich jetzt mehrer Benutzer in meiner Organistationseinheit habe jetzt z.B. auf den obigen Code bezogen nicht nur mit otrsldap Einloggen kann sondern auch mit beispielsweise agent1, agent2 usw.
boris
Znuny wizard
Posts: 554
Joined: 22 Feb 2010, 18:27
Znuny Version: 3.0.4

Re: LDAP (AD- Anbindung) für Dummies:-) V1 und V2

Post by boris »

So stehts auch im Handbich:

$Self->{'AuthModule::LDAP::SearchUserDN'} = 'cn=otrsldap,ou=otrs_agent,dc=otrs,dc=test'

bei mir hats aber auch mit dem

$Self->{'AuthModule::LDAP::SearchUserDN'} = 'otrsldap@otrs.test' funktioniert und das war bequemer:-)

Den sAMAccountname kannst du dir im LDAP Browser ansehen. Das ist in der Regel der Domänenanmeldename.


Agenten müssen meines Wissens nach in der lokalen OTRS DB stehen.
Und mit:
'DC=otrs,DC=test';
können sich alle Agenten die unter dieser Struktur angelegt sind authentifizeiren.
Wenn du das einschränken willst müsstest du es so machen:
$Self->{'AuthModule::LDAP::BaseDN'} = 'DC=otrs,DC=test', OU=otrs_agents;
Produktiv:
OTRS 3.1.7
CentOS 6.3
Apache2/MySQL

Test:
OTRS 3.1.7
CentOS 6.3
Apache2/MySQL
lobmayec
Znuny newbie
Posts: 29
Joined: 16 Mar 2012, 17:44
Znuny Version: 31200
Real Name: Christof Lobmayer
Company: Guardean GmbH

Re: LDAP (AD- Anbindung) für Dummies:-) V1 und V2

Post by lobmayec »

boris wrote:So stehts auch im Handbich:

$Self->{'AuthModule::LDAP::SearchUserDN'} = 'cn=otrsldap,ou=otrs_agent,dc=otrs,dc=test'

bei mir hats aber auch mit dem

$Self->{'AuthModule::LDAP::SearchUserDN'} = 'otrsldap@otrs.test' funktioniert und das war bequemer:-)

Den sAMAccountname kannst du dir im LDAP Browser ansehen. Das ist in der Regel der Domänenanmeldename.


Agenten müssen meines Wissens nach in der lokalen OTRS DB stehen.
Und mit:
'DC=otrs,DC=test';
können sich alle Agenten die unter dieser Struktur angelegt sind authentifizeiren.
Wenn du das einschränken willst müsstest du es so machen:
$Self->{'AuthModule::LDAP::BaseDN'} = 'DC=otrs,DC=test', OU=otrs_agents;
Komisch wenn ich unter

Code: Select all

{'AuthModule::LDAP::UID'} =
DEN sAMAccountName einsetze, geht die Anmeldung nicht mehr nur so geht es

Code: Select all

{'AuthModule::LDAP:UID'} = 'sAMAccountName';
wird dann wohl schon stimmen.

Muss ich dann wenn ich in meiner Domäne 200 Benutzer habe die Agenten sind, alle manuell in OTRS Anlegen? :D Das ist ja wahnsinn. Kann man das nicht irgendwie Synchronisieren?
boris
Znuny wizard
Posts: 554
Joined: 22 Feb 2010, 18:27
Znuny Version: 3.0.4

Re: LDAP (AD- Anbindung) für Dummies:-) V1 und V2

Post by boris »

jaja...in der Config pm muss das schon drin stehen. Mit dem sAMAcountname logt man sich dann ein.

Man kann die Agenten auch syncen,
hier steht wie:
http://doc.otrs.org/3.1/en/html/auth-backends.html
gemacht hab ich das aber auch noch nicht
Produktiv:
OTRS 3.1.7
CentOS 6.3
Apache2/MySQL

Test:
OTRS 3.1.7
CentOS 6.3
Apache2/MySQL
lobmayec
Znuny newbie
Posts: 29
Joined: 16 Mar 2012, 17:44
Znuny Version: 31200
Real Name: Christof Lobmayer
Company: Guardean GmbH

Re: LDAP (AD- Anbindung) für Dummies:-) V1 und V2

Post by lobmayec »

boris wrote:jaja...in der Config pm muss das schon drin stehen. Mit dem sAMAcountname logt man sich dann ein.

Man kann die Agenten auch syncen,
hier steht wie:
http://doc.otrs.org/3.1/en/html/auth-backends.html
gemacht hab ich das aber auch noch nicht
Alles klar :) . Benutzt du also nur einen Benutzer welcher sich durch LDAP Authentifiziert bzw. legst du dann jeden Benutzer einzeln in der OTRS DB an und fügst ihn zur Config.pm hinzu?
boris
Znuny wizard
Posts: 554
Joined: 22 Feb 2010, 18:27
Znuny Version: 3.0.4

Re: LDAP (AD- Anbindung) für Dummies:-) V1 und V2

Post by boris »

Wir haben unsere Agenten alle in der OTRS DB angelegt. Bei uns sinds auch nicht so viele...knapp 30 glaub ich :D
Produktiv:
OTRS 3.1.7
CentOS 6.3
Apache2/MySQL

Test:
OTRS 3.1.7
CentOS 6.3
Apache2/MySQL
lobmayec
Znuny newbie
Posts: 29
Joined: 16 Mar 2012, 17:44
Znuny Version: 31200
Real Name: Christof Lobmayer
Company: Guardean GmbH

Re: LDAP (AD- Anbindung) für Dummies:-) V1 und V2

Post by lobmayec »

boris wrote:Wir haben unsere Agenten alle in der OTRS DB angelegt. Bei uns sinds auch nicht so viele...knapp 30 glaub ich :D
Verstehe trotzdem danke bis hier hin. Hat mir viel geholfen. Jetzt wende ich mich dem nächsten Problem zu.. Bei uns sind es auch nur knapp 40 also nicht so ein großes Ding die anzulegen, aber wenn die Domänenauthentifizierung gewünscht ist muss ich das so machen. Ist halt übersichtlicher wenn neue Mitarbeiter dazukommen gehen usw.
lobmayec
Znuny newbie
Posts: 29
Joined: 16 Mar 2012, 17:44
Znuny Version: 31200
Real Name: Christof Lobmayer
Company: Guardean GmbH

Re: LDAP (AD- Anbindung) für Dummies:-) V1 und V2

Post by lobmayec »

boris wrote:Wir haben unsere Agenten alle in der OTRS DB angelegt. Bei uns sinds auch nicht so viele...knapp 30 glaub ich :D
Noch eine kurze Frage. Ich kann nicht herauselesen ob ich nur den Block für "AuthSyncModule" oder auch den "AuthModule" brauche? Das steht leider so direkt nicht in der Beschreibung ob man beide beispiel braucht oder nur das untere bei LDAP.
lobmayec
Znuny newbie
Posts: 29
Joined: 16 Mar 2012, 17:44
Znuny Version: 31200
Real Name: Christof Lobmayer
Company: Guardean GmbH

Re: LDAP (AD- Anbindung) für Dummies:-) V1 und V2

Post by lobmayec »

boris wrote:So stehts auch im Handbich:

$Self->{'AuthModule::LDAP::SearchUserDN'} = 'cn=otrsldap,ou=otrs_agent,dc=otrs,dc=test'

bei mir hats aber auch mit dem

$Self->{'AuthModule::LDAP::SearchUserDN'} = 'otrsldap@otrs.test' funktioniert und das war bequemer:-)

Den sAMAccountname kannst du dir im LDAP Browser ansehen. Das ist in der Regel der Domänenanmeldename.


Agenten müssen meines Wissens nach in der lokalen OTRS DB stehen.
Und mit:
'DC=otrs,DC=test';
können sich alle Agenten die unter dieser Struktur angelegt sind authentifizeiren.
Wenn du das einschränken willst müsstest du es so machen:
$Self->{'AuthModule::LDAP::BaseDN'} = 'DC=otrs,DC=test', OU=otrs_agents;

Code: Select all

$Self->{'AuthModule::LDAP::BaseDN'} = 'OU=otrs_agents,DC=otrs,DC=test'
In deinem Codebeispiel LDAP_Beispiel hast du im Quellcode folgende Zeile:

Code: Select all

# nur Mitlieder dieser Gruppe dürfen sich einloggen
$Self->{'AuthModule::LDAP::GroupDN1'} = 'CN=otrsagents,OU=Gruppen,DC=Firma,DC=local';
Welches ist nun die richtige vorgehensweise um die Benutzer die sich am OTRS Anmelden können einzuschränken?
boris
Znuny wizard
Posts: 554
Joined: 22 Feb 2010, 18:27
Znuny Version: 3.0.4

Re: LDAP (AD- Anbindung) für Dummies:-) V1 und V2

Post by boris »

Code: Select all

$Self->{'AuthModule::LDAP::BaseDN'} = 'OU=otrs_agents,DC=otrs,DC=test'
gibt an in welchem Container die user sind die sich authetifizieren können.

Code: Select all

# nur Mitlieder dieser Gruppe dürfen sich einloggen
$Self->{'AuthModule::LDAP::GroupDN1'} = 'CN=otrsagents,OU=Gruppen,DC=Firma,DC=local';
hiesst dass nur Agenten die Mitglied der gruppe OTRS Agents sind sich authentifizieren dürfen.
Produktiv:
OTRS 3.1.7
CentOS 6.3
Apache2/MySQL

Test:
OTRS 3.1.7
CentOS 6.3
Apache2/MySQL
eugen
Znuny newbie
Posts: 2
Joined: 15 Aug 2012, 08:58
Znuny Version: 3.1.8
Real Name: Eugen

Re: V2

Post by eugen »

boris wrote:Hi,

ich finde immer mehr Verlinkungen und Beiträge die auf diesen Thread verweisen :D
Also hab ich mir gedacht ich räume nochmal etwas auf und mache eine neue Anleitung.

Also hier die LDAP_fuer_Dummies_V2 :-)

Kritik und Feedback sind natürlich immer willkommen.
Vielen Dank für die Anleitung, diese Version hat mit beim Einbinden der Authentifizierung sehr weitergeholfen. Danke!
boris
Znuny wizard
Posts: 554
Joined: 22 Feb 2010, 18:27
Znuny Version: 3.0.4

Re: LDAP (AD- Anbindung) für Dummies:-) V1 und V2

Post by boris »

Dann hat sie ihren Zweck ja erfüllt :)
Produktiv:
OTRS 3.1.7
CentOS 6.3
Apache2/MySQL

Test:
OTRS 3.1.7
CentOS 6.3
Apache2/MySQL
crythias
Moderator
Posts: 10169
Joined: 04 May 2010, 18:38
Znuny Version: 5.0.x
Location: SouthWest Florida, USA
Contact:

Re: LDAP (AD- Anbindung) für Dummies:-) V1 und V2

Post by crythias »

boris, ich danke Ihnen für Ihre Informationen. Ich habe auch zusammen einen LDAP-Beitrag in Englisch HowTos, meist zur Fehlerbehebung.

(Ich spreche nicht Deutsch)
OTRS 6.0.x (private/testing/public) on Linux with MySQL database.
Please edit your signature to include your OTRS version, Operating System, and database type.
Click Subscribe Topic below to get notifications. Consider amending your topic title to include [SOLVED] if it is so.
Need help? Before you ask
jenriks
Znuny newbie
Posts: 11
Joined: 11 Sep 2012, 12:14
Znuny Version: 6.0.22
Real Name: Je St

Re: LDAP (AD- Anbindung) für Dummies:-) V1 und V2

Post by jenriks »

Nach ewig langen Stunden der rumgooglelei, hab ich es mit Ihrem V2 Script getestet.
Nun hat es sehr schnell geklappt und funktioniert einwandfrei, es fehlen nur noch diverse optische Anpassungen :mrgreen:

Ich danke Ihnen vielmals, boris! :)
OTRS 6.0.22
Debian 9.12
Cluster: 2xWeb(Apache), 2xDB(MySQL), 1xData(GlusterFS), 2xLB(HAproxy)
catweazle
Znuny advanced
Posts: 121
Joined: 15 Feb 2012, 12:22
Znuny Version: 3.1

Re: LDAP (AD- Anbindung) für Dummies:-) V1 und V2

Post by catweazle »

Kleine Verständnis Frage.

Die Auth über das Webinterface "Customer.pl" funktioniert und der Kunde könnte sich korrekt anmelden wenn er denn in der DB angelegt wäre.

Wenn ich jetzt von DB auf LDAP umstelle, muss ich in meiner Config.pm nur noch den Teil "Kundendaten" aus dem LDAP_Fuer_Dummies_V2.txt entsprechend einfügen und anpassen, oder?
1: OTRS 3.1.21 + Support + MasterSlave @ CentOS 6.5 , MySQL
2: Test: OTRS 3.1.21 + Support + MasterSlave @ CentOS 6.5 , MySQL
3: Test-2: OTRS 3.3.x + Support + MasterSlave @ CentOS 6.5 , MySQL (iphone, idoit-trash)
boris
Znuny wizard
Posts: 554
Joined: 22 Feb 2010, 18:27
Znuny Version: 3.0.4

Re: LDAP (AD- Anbindung) für Dummies:-) V1 und V2

Post by boris »

Ja genau. Das Beispielscript autehtifiziert die Kunden über LDAP und dann müssen die nicht in der lokalen DB sein
Produktiv:
OTRS 3.1.7
CentOS 6.3
Apache2/MySQL

Test:
OTRS 3.1.7
CentOS 6.3
Apache2/MySQL
choenig
Znuny newbie
Posts: 36
Joined: 28 Sep 2012, 11:26
Znuny Version: 3.1.10
Location: 49° 54′ N, 10° 54′ O

Re: LDAP (AD- Anbindung) für Dummies:-) V1 und V2

Post by choenig »

Hallo zusammen,

da weiter oben noch die Frage bezgl. LDAP-Synchronisation für Agenten offen ist, im Anhang eine funktionierende Config mit integrierter Sync 8)

Viel Spaß & Viele Grüße
You do not have the required permissions to view the files attached to this post.
OTRS 3.2.8 - KIX4OTRS - ConfigureCallHome - ZnunyCustomerMap - running on CentOS 6.4 and MySQL
anyone who finds clerical errors can keep it...
dieter84
Znuny newbie
Posts: 2
Joined: 09 Oct 2012, 16:15
Znuny Version: 2.3.3

Re: LDAP (AD- Anbindung) für Dummies:-) V1 und V2

Post by dieter84 »

Hallo zusammen,

ich teste gerade die AD-Anbindung.

Die Config.pm habe ich nachdem hier beschrieben Muster angepasst:

Code: Select all

$Self->{'AuthModule1'} = 'Kernel::System::Auth::LDAP';
$Self->{'AuthModule::LDAP::Host1'} = 'dc.Firma1.local';
$Self->{'AuthModule::LDAP::BaseDN1'} = 'dc=Firma1,dc=local';
$Self->{'AuthModule::LDAP::UID1'} = 'sAMAccountName';
$Self->{'AuthModule::LDAP::GroupDN1'} = 'CN=otrsagents,OU=Gruppen,DC=Firma,DC=local';
$Self->{'AuthModule::LDAP::AccessAttr1'} = 'member';

$Self->{'AuthModule::LDAP::SearchUserDN1'} = 'CN=otrsldap,CN=Users,DC=Firma1,DC=local'; 
$Self->{'AuthModule::LDAP::SearchUserPw1'} = 'Password';
Leider bekomme ich immer einen Error 500 (internal Server Error). Woran kann das liegen? Im Log gibt es keinen Eintrag.

System ist ein OTRS 3.1.10 auf RHEL 6.3

Vielen Dank im Voraus.
OTRS 3.1.10 ~ CentOS 6.3 ~ Apache 2.2.15 ~ MySQL 5.1.61
dieter84
Znuny newbie
Posts: 2
Joined: 09 Oct 2012, 16:15
Znuny Version: 2.3.3

Re: LDAP (AD- Anbindung) für Dummies:-) V1 und V2

Post by dieter84 »

Hat sich inzwischen erledigt. Die Konfig stand einfach nur an der falschen Stelle.
OTRS 3.1.10 ~ CentOS 6.3 ~ Apache 2.2.15 ~ MySQL 5.1.61
choenig
Znuny newbie
Posts: 36
Joined: 28 Sep 2012, 11:26
Znuny Version: 3.1.10
Location: 49° 54′ N, 10° 54′ O

Re: LDAP (AD- Anbindung) für Dummies:-) V1 und V2

Post by choenig »

Hi,

was steht denn in Deinen Logs? httpd error_log & messages?

Viele Grüße
OTRS 3.2.8 - KIX4OTRS - ConfigureCallHome - ZnunyCustomerMap - running on CentOS 6.4 and MySQL
anyone who finds clerical errors can keep it...
Rotyn
Znuny newbie
Posts: 68
Joined: 21 Aug 2012, 17:11
Znuny Version: 3.3.5
Real Name: Rudy

Re: LDAP (AD- Anbindung) für Dummies:-) V1 und V2

Post by Rotyn »

Boris: grosses Danke fuer deine Anleitung. Habe heute meine LDAP-Anbindung im ersten Anlauf ohne das kleinste Problem hinbekommen.

DANKE
Testing & Productive: OTRS::ITSM 3.3.5 on CentOS 6.5 and MySQL
Packages: All included
staybb
Znuny newbie
Posts: 51
Joined: 01 Jul 2011, 09:39
Znuny Version: 3.0.4

Re: LDAP (AD- Anbindung) für Dummies:-) V1 und V2

Post by staybb »

#EDIT:
Es funktioniert nun!

Das Problem war bei dem Eintrag

Code: Select all

$Self->{'AuthModule::LDAP::SearchUserDN'}

Der Syntax benötigt das @domainname.de dann geht es.

Code: Select all

$Self->{'AuthModule::LDAP::SearchUserDN'}  = 'ldap_user@domainname.de';
Hallo,

ich möchte unser OTRS 3.1.11 an unser ActiveDirectory anbinden, damit sich die Agenten und Customer via LDAP anmelden können.

Die Anmeldung für die Customer habe ich zum laufen bekommen. Über das Framework und die Config.pm .

Nur bei der Agenten habe ich das Problem das ich folgende Meldung in den Logs erhalte, wenn ich mich versuche über ldap anzumelden:

Code: Select all

User: otrs_admin authentication failed, no LDAP entry found!BaseDN='dc=domain,dc=domain', Filter='(sAMAccountName=otrs_admin)', (REMOTE_ADDR: IP).
So sieht meine Config.pm momentan aus:

Code: Select all

    # ---------------------------------------------------- #
    # ---------------------------------------------------- #
    #                                                      #
    #           End of your own config options!!!          #
    #                                                      #
    # ---------------------------------------------------- #
    # ---------------------------------------------------- #

	$Self->{'AuthModule'} = 'Kernel::System::Auth::LDAP';
	$Self->{'AuthModule::LDAP::Host'} = 'ldapserver';
	$Self->{'AuthModule::LDAP::BaseDN'} = 'dc=domain,dc=domain';
	$Self->{'AuthModule::LDAP::UID'} = 'sAMAccountName';
# $Self->{'Customer::AuthModule::LDAP::UserAttr'} = 'DN';
# $Self->{'Customer::AuthModule::LDAP::GroupDN'} = '';
	$Self->{'AuthModule::LDAP::AccessAttr'} = 'member';
	$Self->{'AuthSyncModule::LDAP::SearchUserDN'} = 'domain\user';
	$Self->{'AuthSyncModule::LDAP::SearchUserPw'} = 'password';
	$Self->{'AuthModule::LDAP::AlwaysFilter'} = '';
       $Self->{'Customer::AuthModule::LDAP::Params'} = {
          port => 389,
          timeout => 120,
          async => 0,
          version => 3,
       };

	# Enable LDAP Authentication Sync for Agent #
	$Self->{'AuthSyncModule'} = 'Kernel::System::Auth::Sync::LDAP';
	$Self->{'AuthSyncModule::LDAP::Host'} = 'ldap://ldapserver/';
	$Self->{'AuthSyncModule::LDAP::BaseDN'} = 'dc=domain,dc=domain';
	$Self->{'AuthSyncModule::LDAP::UID'} = 'sAMAccountName';
	$Self->{'AuthSyncModule::LDAP::AccessAttr'} = 'member';
	$Self->{'AuthSyncModule::LDAP::SearchUserDN'} = 'domain\guenthart';
	$Self->{'AuthSyncModule::LDAP::SearchUserPw'} = 'password';

	# Enable Agent Mapping from LDAP to DB #
	$Self->{'AuthSyncModule::LDAP::UserSyncMap'} = {
	UserFirstname => 'givenName',
	UserLastname => 'sn',
	UserEmail => 'mail',
	};	

	# AuthSyncModule::LDAP::UserSyncInitialGroups
	# (sync following group with rw permission after initial create of first agent
	# login)
	$Self->{'AuthSyncModule::LDAP::UserSyncInitialGroups'} = [
    'users',
	];

# CustomerUser
    # (customer ldap backend and settings)
    $Self->{CustomerUser} = {
        Name => 'LDAP Datenquelle',
        Module => 'Kernel::System::CustomerUser::LDAP',
        Params => {
            # ldap host
        Host => 'ldapserver',
            # ldap base dn
        BaseDN => '1',
            # search scope (one|sub)
        SSCOPE => 'sub',
            # The following is valid but would only be necessary if the
            # anonymous user does NOT have permission to read from the LDAP tree
        UserDN => 'domain\user',
        UserPw => 'password',
            # in case you want to add always one filter to each ldap query, use
            # this option. e. g. AlwaysFilter => '(mail=*)' or AlwaysFilter => '(objectclass=user)'
        AlwaysFilter => '',
            # if both your frontend and your LDAP are unicode, use this:
            SourceCharset => 'utf-8',
            DestCharset   => 'utf-8',
            # if your frontend is unicode and the charset of your
            # ldap server is iso-8859-1, use these options.
            # SourceCharset => 'iso-8859-1',
            # DestCharset => 'utf-8',
            # Net::LDAP new params (if needed - for more info see perldoc Net::LDAP)
            Params => {
                port => 389,
                timeout => 120,
                async => 0,
                version => 3,
            },
    },
            # customer unique id
        CustomerKey => 'sAMAccountName',
            # customer #
        CustomerID => 'mail',
        CustomerUserListFields => ['sAMAccountName', 'cn', 'mail'],
        CustomerUserSearchFields => ['sAMAccountName', 'cn', 'mail'],
        CustomerUserSearchPrefix => '',
        CustomerUserSearchSuffix => '*',
        CustomerUserSearchListLimit => 250,
        CustomerUserPostMasterSearchFields => ['mail'],
        CustomerUserNameFields => ['givenname', 'sn'],
            # show not own tickets in customer panel, CompanyTickets
        CustomerUserExcludePrimaryCustomerID => 0,
            # add an ldap filter for valid users (expert setting)
        #    CustomerUserValidFilter => '(!(description=locked))',
            # administrator can't change customer preferences
        AdminSetPreferences => 0,
        #    # cache time to live in sec. - cache any database queries
        #    CacheTTL => 0,
            Map => [
            # note: Login, Email and CustomerID are mandatory!
            # var, frontend, storage, shown (1=always,2=lite), required, storage-type, http-link, readonly
            [ 'UserFirstname',  'Firstname',  'givenname',       1, 1, 'var', '', 0 ],
            [ 'UserLastname',   'Lastname',   'sn',              1, 1, 'var', '', 0 ],
            [ 'UserLogin',      'Login',   'sAMAccountName',     1, 1, 'var', '', 0 ],
            [ 'UserEmail',      'Email',      'mail',            1, 1, 'var', '', 0 ],
            [ 'UserCustomerID', 'CustomerID', 'mail',            0, 1, 'var', '', 0 ],
        ],
    };
}
An was könnte es liegen? Ich habe schon etliche Einstellungen versucht...
Last edited by staybb on 14 Nov 2012, 11:38, edited 1 time in total.
Post Reply