Problem bei Passwortsynchronisation mit AD

Hilfe zu Znuny Problemen aller Art
Locked
numx
Znuny expert
Posts: 184
Joined: 18 Nov 2009, 13:39
Znuny Version: 3

Problem bei Passwortsynchronisation mit AD

Post by numx »

Hallo Forummitglieder, Hallo jojo,

Wie kann ich folgendes Phänomen beheben? Wenn ich das Passwort eines Agenten im AD ändere bekommt er ein neues und dieses wird auch mit der orts DB synchronisiert. So soll es ja auch sein. Das Problem ist aber, dass er sich trotzdem noch mit seinem alten Passwort anmelden kann. Wird das alte Passwort noch woanders zwischengespeichert? Ein neustart des Apache-Servers bzw. ein Reboot des otrs Systems und des Win2003 AD Systems ändern daran auch nichts. Als Info: Es wird immer nur ein altes Passwort gespeichert mit dem man sich anmelden kann. Sprich wenn ich die PAsswörter ändere kann ich mich nur mir dem letzten alten PAsswort und natürlich dem neuen anmelden.
OTRS: 3.0
OS:Debian Lenny
Apache2/MySQL 5
ferrosti
Znuny superhero
Posts: 723
Joined: 10 Oct 2007, 14:30
Znuny Version: 3.0
Location: Hamburg, Germany

Problem bei Passwortsynchronisation mit AD

Post by ferrosti »

Was passiert, wenn Du den User im AD disablest?

Macht der Webserver die Authetifizierung gegen das AD oder wie hast Du das eingerichtet?
openSuSE on ESX
IT-Helpdesk: OTRS 3.0
Customer Service: OTRS 3.0 (upgraded from 2.3)
Customer Service (subsidiary): OTRS 3.0
+additional test and development systems
numx
Znuny expert
Posts: 184
Joined: 18 Nov 2009, 13:39
Znuny Version: 3

Problem bei Passwortsynchronisation mit AD

Post by numx »

Hallo,

ja otrs macht die Benutzerauthentifizierung gegen ein Win2003 AD. Wenn ich den Benutzer in der Win2003 AD deaktiviere kann er sich nicht mehr bei otrs anmelden. So soll es ja auch sein. Aber damt ist leider mein Passwortproblem noch nicht gelöst.
OTRS: 3.0
OS:Debian Lenny
Apache2/MySQL 5
ferrosti
Znuny superhero
Posts: 723
Joined: 10 Oct 2007, 14:30
Znuny Version: 3.0
Location: Hamburg, Germany

Problem bei Passwortsynchronisation mit AD

Post by ferrosti »

Es gibt in einigen LDAP Modulen Caches, die man konfigurieren kann. Das ist bei mir leider zu lange her, als dass ich das jetzt wiedergeben könnte.
Prüf mal nach, wie und wo Du das Webserver Modul für die LDAP Authentifizierung konfigurieren kannst. Soweit ich weiß verwendet das perl ldap Modul auch Caching Mechanismen. Ich weiß allerdings nicht aus dem Kopf wie lange die greifen.
openSuSE on ESX
IT-Helpdesk: OTRS 3.0
Customer Service: OTRS 3.0 (upgraded from 2.3)
Customer Service (subsidiary): OTRS 3.0
+additional test and development systems
numx
Znuny expert
Posts: 184
Joined: 18 Nov 2009, 13:39
Znuny Version: 3

Problem bei Passwortsynchronisation mit AD

Post by numx »

danke ich werde mal schauen was es mit dem cashing auf sich hat. :?
OTRS: 3.0
OS:Debian Lenny
Apache2/MySQL 5
ferrosti
Znuny superhero
Posts: 723
Joined: 10 Oct 2007, 14:30
Znuny Version: 3.0
Location: Hamburg, Germany

Problem bei Passwortsynchronisation mit AD

Post by ferrosti »

Mir ist gerade bei den Kunden Usern aufgefallen, dass die Suche nach Kunden auch über die DB funktioniert, obwohl diese nicht konfiguriert ist. Ich schätze, dass diese Einstellungen aus den Defaults kommen.
Das "Problem" besteht evtl. daher, weil das in der Config.pm eignerichtete Backend als CustomerUser1 eingerichtet ist. Damit dürfte das Default von CustomerUser noch aktiv sein.

Wenn Du in Deiner Config.pm nur die LDAP Authentifizierung für die Agenten eignerichtet hast, dann kannst Du auch noch mal prüfen, was passiert, wenn Du den Agenten in der DB auf inaktiv setzt, bzw. das PWD löscht.
openSuSE on ESX
IT-Helpdesk: OTRS 3.0
Customer Service: OTRS 3.0 (upgraded from 2.3)
Customer Service (subsidiary): OTRS 3.0
+additional test and development systems
numx
Znuny expert
Posts: 184
Joined: 18 Nov 2009, 13:39
Znuny Version: 3

Problem bei Passwortsynchronisation mit AD

Post by numx »

Hallo,

leider besteht bei mir das Problem mit den doppelten Passwörtern immer noch. Wo sollen den dei Cacheeinstellungen für das LDAP Modul zu finden sein. Ich glaube er cacht noch nicht mal was weil sobald ich den AD Server herunterfahre ist keine Anmeldung mehr möglich. Wenn es irgednwo einen Cache gibt dann müsste das System doch dann die Daten daraus lesen. Zumal es müsste eigentlich mit der Authentifikation klappen weil ich es ja jetzt so eingerichtet habe das die Benutzerdaten nach erfolgreicher Authentifizierung in der Datenbak der Benutzer gespeichert wird. Anscheind ist es wohl doch nichts so sonst könnte ich mich ja als Benutzer oder Ahent einloggen auch wenn der AD Server nicht da ist.
OTRS: 3.0
OS:Debian Lenny
Apache2/MySQL 5
numx
Znuny expert
Posts: 184
Joined: 18 Nov 2009, 13:39
Znuny Version: 3

Problem bei Passwortsynchronisation mit AD

Post by numx »

Hallo,

ich habe leider noch nirgends gefunden wo ich den Cache für die Passwörter anpassen kann. Muss ich dazu im Code des Moduls was ändern? Meine Programmierkenntnisse sind dahingehend nicht so dolle und ich wollte mir natürlich nicht das Modul kapput machen. Wenn jemand mir sagen könnte wo ich den Cache für die Passwörter ermitteln oder einstellen kann wäre ich sehr dankbar.
OTRS: 3.0
OS:Debian Lenny
Apache2/MySQL 5
King_Darki
Znuny newbie
Posts: 92
Joined: 14 Nov 2008, 15:23
Znuny Version: 2.4.4
Location: Dingolfing
Contact:

Problem bei Passwortsynchronisation mit AD

Post by King_Darki »

numx wrote:Hallo,

ich habe leider noch nirgends gefunden wo ich den Cache für die Passwörter anpassen kann. Muss ich dazu im Code des Moduls was ändern? Meine Programmierkenntnisse sind dahingehend nicht so dolle und ich wollte mir natürlich nicht das Modul kapput machen. Wenn jemand mir sagen könnte wo ich den Cache für die Passwörter ermitteln oder einstellen kann wäre ich sehr dankbar.

Könnte es nicht vlt auch sein, dass du dein LDAP mit der OTRS-DB synchronisiert hast, ohne es zu wissen?
ich glaube mich zu erinnern, dass es da so eine Funktion gab, mit der man User, die sich über LDAP anmelden, automatisch in der DB speichert...
Vlt hilft dir das ja weiter...
Grüße

King_Darki
---
Produktiv: OTRS 2.4.4, ITSM 1.3.1, MySQL on Debian GNU/Linux lenny/sid
Testing: OTRS 2.4.7, ITSM 1.3.2 MySQL on Debian GNU/Linux lenny/sid
numx
Znuny expert
Posts: 184
Joined: 18 Nov 2009, 13:39
Znuny Version: 3

Problem bei Passwortsynchronisation mit AD

Post by numx »

@King_Darki

King_Darki: Könnte es nicht vlt auch sein, dass du dein LDAP mit der OTRS-DB synchronisiert hast, ohne es zu wissen?
ich glaube mich zu erinnern, dass es da so eine Funktion gab, mit der man User, die sich über LDAP anmelden, automatisch in der DB speichert...
Vlt hilft dir das ja weiter...

Numx: JA das wollte ich auch erreichen und habe es denke ich auch schon fast erreicht. ABER was hat das mit meiner Fragestellung und den doppelten Passwörtern zu tun? Hast du dir den Thread bis hier her genau durchgelsen?
OTRS: 3.0
OS:Debian Lenny
Apache2/MySQL 5
ferrosti
Znuny superhero
Posts: 723
Joined: 10 Oct 2007, 14:30
Znuny Version: 3.0
Location: Hamburg, Germany

Problem bei Passwortsynchronisation mit AD

Post by ferrosti »

Ich habe mich gestern mit den Sessions ein wenig beschäftigen müssen. Dort ist eine Variable hinterlegt, die das alte PWD beinhalten könnte. Musst im Admin Bereich mal auf die Session Verwaltung gehen und eine der Sessions jeweils am Semikolon zeilenweise aufsplitten. Evtl. wird Dein Problem behoben, wenn die Session für den User gelöscht ist.
openSuSE on ESX
IT-Helpdesk: OTRS 3.0
Customer Service: OTRS 3.0 (upgraded from 2.3)
Customer Service (subsidiary): OTRS 3.0
+additional test and development systems
King_Darki
Znuny newbie
Posts: 92
Joined: 14 Nov 2008, 15:23
Znuny Version: 2.4.4
Location: Dingolfing
Contact:

Problem bei Passwortsynchronisation mit AD

Post by King_Darki »

numx wrote:@King_Darki

King_Darki: Könnte es nicht vlt auch sein, dass du dein LDAP mit der OTRS-DB synchronisiert hast, ohne es zu wissen?
ich glaube mich zu erinnern, dass es da so eine Funktion gab, mit der man User, die sich über LDAP anmelden, automatisch in der DB speichert...
Vlt hilft dir das ja weiter...

Numx: JA das wollte ich auch erreichen und habe es denke ich auch schon fast erreicht. ABER was hat das mit meiner Fragestellung und den doppelten Passwörtern zu tun? Hast du dir den Thread bis hier her genau durchgelsen?
Was für eine Frage ;) Klar hab ich mir den genau durchgelesen ;)

Stell dir folgende Situation vor:
1. Der User loggt sich mit AD-Daten ein
2. Daten werden mit AD und OTRS-DB synchronisiert
3. User ändert sein AD-PW
4. User loggt sich mit altem PW ein, da sein altes PW noch in der OTRS-DB drin steht

Evtl wird es ja nicht richtig synchronisiert... Vlt wird jedes mal ein neuer Eintrag in der DB angelegt, wenn man sich mit unterschiedlichen Daten einloggt... oder vlt wird auch nur beim 1. Login synchronisiert...

Schonmal in der Log-Datei geprüft, mit welcher Methode du dich jedesmal einloggst?
Da würdest du ja dann sehen können, ob du dich per DB oder LDAP eingeloggt hast...


PS: findest jez immernoch, dass meine Antwort nichts mit dem Thema zu tun hat? ;)
Grüße

King_Darki
---
Produktiv: OTRS 2.4.4, ITSM 1.3.1, MySQL on Debian GNU/Linux lenny/sid
Testing: OTRS 2.4.7, ITSM 1.3.2 MySQL on Debian GNU/Linux lenny/sid
numx
Znuny expert
Posts: 184
Joined: 18 Nov 2009, 13:39
Znuny Version: 3

Problem bei Passwortsynchronisation mit AD

Post by numx »

Hallo King_Darki,

ich erkläre es nochmal. Ich logge mich per AD ins otrs ein der User wird auch in der OTRS DB angelegt (so wie es sein soll). Jetzt ändere ich das PW in der DB. Der User könnte sich jetzt so oft er will mit dem neuen und mit dem alten passwort einloggen. Ich kann das AD und den otrs hoch und runter fahren der User kann sich aber immer noch mit beidem PWs einloggen. Jetzt ändere ich nochmal das PW im AD und der User kann sich ab jetzt nur noch mit seinem ganz neuen und mit dem alten neuen (das was davor neu angelegt wurde) neu einloggen. Das allererste PW geht jetzt nach der zweiten Änderung nicht mehr. Deshalb ist meine Frage wo wird der Wert eingestellt der dafür verantworlich ist das immer das neue und das alte PW funktionieren. Ich denke nicht das sich in der otrs DB aufeinmal 2 Spalten wo PWs gespeichert werden automatisch anlegen. Deshalb meine Frage warum kann dieses Phänomen auftreten und noch besser wie stelle ich das ab. Es hatten schon mehrere hier und im Internet das Problem. Eine Lösung habe ich aber noch nie dafür gefunden.
OTRS: 3.0
OS:Debian Lenny
Apache2/MySQL 5
ddDagobert
Znuny wizard
Posts: 350
Joined: 13 May 2009, 14:24
Znuny Version: 5.0.10

Problem bei Passwortsynchronisation mit AD

Post by ddDagobert »

Also sorry, aber ich kann dein Problem nicht nachvollziehen. Wie in dem anderen Thema,
http://www.otrs-forum.de/viewtopic.php? ... 086#p17086
hab ich die Config eingestellt und eine Standard APache einstellung (Standard = installiert und nichts weiter konfiguriert).

Wenn ich mein PW im AD ändere, kann ich mich auch nur mit dem neuen PW einloggen.

Evtl. mal den Support von OTRS in Anspruch nehmen!
Produktiv: OTRS 5.0.10 mit ITSM + Individualpakete und Feature AddOn auf SLES 11 SP2 mit PosgtreSQL 9.3
Test: OTRS 5.0.10 mit ITSM + Individualpakete und Feature AddOn auf SLES 11 SP2 mit PosgtreSQL 9.3
Entwicklung: OTRS 5.0.10 mit ITSM + Individualpakete und Feature AddOn auf SLES 11 SP2 mit PosgtreSQL 9.3
King_Darki
Znuny newbie
Posts: 92
Joined: 14 Nov 2008, 15:23
Znuny Version: 2.4.4
Location: Dingolfing
Contact:

Problem bei Passwortsynchronisation mit AD

Post by King_Darki »

ddDagobert wrote:Wenn ich mein PW im AD ändere, kann ich mich auch nur mit dem neuen PW einloggen.
Genau SO kenne ich es auch!
Vlt hast du doch etwas falsch eingestellt...

Schau mal in die Log-Datei rein unter var/log:

Code: Select all

Bei Login über AD kommt folgender Eintrag:
[Thu Jan 28 09:16:57 2010][Notice][Kernel::System::Auth::LDAP::Auth] User: XXX (CN=XXX,OU=XXX,O=XXX) authentication ok (REMOTE_ADDR: XXX).
Bei Login über DB kommt folgender Eintrag:
[Thu Jan 28 09:28:46 2010][Notice][Kernel::System::Auth::DB::Auth] User: XXX authentication ok (REMOTE_ADDR: XXX)
Wenn du etwas falsch eingestellt hast, dann müsste noch folgendes dastehen:

Code: Select all

Bei Login mit AD-Passwort gibt die DB den Fehler:
[Thu Jan 28 09:16:57 2010][Notice][Kernel::System::Auth::DB::Auth] User: XXX authentication with wrong Pw!!! (REMOTE_ADDR: XXX)
Bei Login mit DB-Passwort gibt LDAP den Fehler:
[Thu Jan 28 09:42:12 2010][Notice][Kernel::System::Auth::LDAP::Auth] User: XXX(CN=XXX,OU=XXX,O=XXX) authentication failed: 'Failed, invalid credentials for CN=XXX,OU=XXX,O=XXX' (REMOTE_ADDR: XXX).
Theoretisch düftest du den Login per LDAP nicht ermöglichen...
denn wenn das AD-PW nicht funzt, dann nimmt er eben das von der DB... bzw. andersrum genauso!

Und btw: ich hab dein Problem schon von Anfang an verstanden, sonst hätte ich auch nichts dazu gesagt ;)
Grüße

King_Darki
---
Produktiv: OTRS 2.4.4, ITSM 1.3.1, MySQL on Debian GNU/Linux lenny/sid
Testing: OTRS 2.4.7, ITSM 1.3.2 MySQL on Debian GNU/Linux lenny/sid
ferrosti
Znuny superhero
Posts: 723
Joined: 10 Oct 2007, 14:30
Znuny Version: 3.0
Location: Hamburg, Germany

Problem bei Passwortsynchronisation mit AD

Post by ferrosti »

Ein ähnliches Problem hatte ich gestern.
Ich habe die Anmeldung an der DB aus der Config entfernt, da die User sich nur noch über LDAP anmelden sollten. Das führte dazu, dass sich zwei User nicht mehr anmelden konnten, obwohl sie im AD aktiv sind.

Ich kenne die genaue Ursache noch nicht, Problem ist aber folgendes:
Die betroffenen User sind in einer alten Domäne aktiv und per Vertrauensstellung in die neue Domäne berechtigt. Die LDAP Anmeldung läuft nur gegen die neue Domäne, in welche alle User gerade umgezogen werden. Für mich war das in der Administration der User nicht ersichtlich, da sie in meiner Admin-Oberfläche für mich im neuen AD zu sein schienen.
Wie auch immer... Die User existierten lokal in der DB. Die Anmeldung schlug mit einer Fehlermeldung gegen das AD fehl, loggte die User aber über die DB ein. Irgendjemand (natürlich nicht ich selber :? ) muss die lokalen User auf die Rollen berechtigt haben, so dass das nicht weiter aufgefallen ist. Die Rollen werden eigentlich auch über das AD gemapped.

Lange Rede, kurzer Sinn.

Mach Dir mal einen Plan, wie die Authentifizierungsreihenfolge bei Dir ist und wo die User überall eingetragen sind. Zur Not inaktiviere mal das DB Agentenbackend und teste dann.
openSuSE on ESX
IT-Helpdesk: OTRS 3.0
Customer Service: OTRS 3.0 (upgraded from 2.3)
Customer Service (subsidiary): OTRS 3.0
+additional test and development systems
numx
Znuny expert
Posts: 184
Joined: 18 Nov 2009, 13:39
Znuny Version: 3

Problem bei Passwortsynchronisation mit AD

Post by numx »

ok, gehen wir mal davon aus das die Software otrs und die zugehörigen Module alle akkurat bei mir und bei euch funktionieren. Bei euch erscheint das Phänomen mit den Passwörtern nicht. Dann kann ja nur noch meine Config.pm falsch sein. Ihr könntet meine ja mal mit eurer vergleichen oder eure Config hochladen damit ich selber vergleichen kann. Vielleicht findet ihr ja den Fehler in meiner Config weil sie muss ja anders sein als eure bei euch ja alles funktioniert.


hier mal mein Config:

package Kernel::Config;

sub Load {
my $Self = shift;
# ---------------------------------------------------- #
# ---------------------------------------------------- #
# #
# Start of your own config options!!! #
# #
# ---------------------------------------------------- #
# ---------------------------------------------------- #

# ---------------------------------------------------- #
# database settings #
# ---------------------------------------------------- #
# DatabaseHost
# (The database host.)
$Self->{'DatabaseHost'} = 'localhost';
# Database
# (The database name.)
$Self->{'Database'} = 'otrs';
# DatabaseUser
# (The database user.)
$Self->{'DatabaseUser'} = 'otrs';
# DatabasePw
# (The password of database user. You also can use bin/CryptPassword.pl
# for crypted passwords.)
$Self->{'DatabasePw'} = 'hot';
# DatabaseDSN
# (The database DSN for MySQL ==> more: "man DBD::mysql")
$Self->{DatabaseDSN} = "DBI:mysql:database=$Self->{Database};host=$Self->{DatabaseHost};";

# (The database DSN for PostgreSQL ==> more: "man DBD::Pg")
# if you want to use a local socket connection
# $Self->{DatabaseDSN} = "DBI:Pg:dbname=$Self->{Database};";
# if you want to use a tcpip connection
# $Self->{DatabaseDSN} = "DBI:Pg:dbname=$Self->{Database};host=$Self->{DatabaseHost};";

# ---------------------------------------------------- #
# fs root directory
# ---------------------------------------------------- #
$Self->{Home} = '/opt/otrs';

# ---------------------------------------------------- #
# insert your own config settings "here" #
# config settings taken from Kernel/Config/Defaults.pm #
# ---------------------------------------------------- #
# $Self->{SessionUseCookie} = 0;
# $Self->{CheckMXRecord} = 0;

# ---------------------------------------------------- #

# ---------------------------------------------------- #
# data inserted by installer #
# ---------------------------------------------------- #
# $DIBI$
$Self->{'SystemID'} = 10;
$Self->{'SecureMode'} = 1;
$Self->{'Organization'} = '';
$Self->{'LogModule::LogFile'} = '/tmp/otrs.log';
$Self->{'LogModule'} = 'Kernel::System::Log::SysLog';
$Self->{'FQDN'} = 'yourhost.example.com';
$Self->{'DefaultLanguage'} = 'de';
$Self->{'AdminEmail'} = 'admin@example.com';
$Self->{'DefaultCharset'} = 'utf-8';
$Self->{'CustomerGroupSupport'} = 1;




$Self->{'AuthModule'} = 'Kernel::System::Auth::LDAP';
$Self->{'AuthModule::LDAP::Host'} = '192.168.0.6';
$Self->{'AuthModule::LDAP::BaseDN'} = 'dc=feierabend,dc=de';
$Self->{'AuthModule::LDAP::UID'} = 'sAMAccountName';
$Self->{'Customer::AuthModule::LDAP::GroupDN'} = 'CN=otrs,CN=USERS,DC=feierabend,DC=de';
$Self->{'Customer::AuthModule::LDAP::AccessAttr'} = 'member';
$Self->{'AuthModule::LDAP::SearchUserDN'} = 'CN=Administrator,CN=USERS,DC=feierabend,DC=de';
$Self->{'AuthModule::LDAP::SearchUserPw'} = 'xxxxxxxxx';
# $Self->{'AuthModule::LDAP::AlwaysFilter'} = '';
# $Self->{'AuthModule::LDAP::UserSuffix'} = '@feierabend.de';
$Self->{'AuthModule::LDAP::Charset'} = 'iso-8859-1';
$Self->{'AuthModule::LDAP::Params'} = {
port => 389,
timeout => 120,
async => 0,
version => 3,
};



$Self->{'AuthSyncModule'} = 'Kernel::System::Auth::Sync::LDAP';
$Self->{'AuthSyncModule::LDAP::Host'} = '192.168.0.6';
$Self->{'AuthSyncModule::LDAP::BaseDN'} = 'dc=feierabend,dc=de';
$Self->{'AuthSyncModule::LDAP::UID'} = 'sAMAccountName';
$Self->{'AuthSyncModule::LDAP::SearchUserDN'} = 'CN=Administrator,CN=USERS,DC=feierabend,DC=de';
$Self->{'AuthSyncModule::LDAP::SearchUserPw'} = 'xxxxxxxx';
$Self->{'AuthSyncModule::LDAP::AlwaysFilter'} = '';
$Self->{'AuthSyncModule::LDAP::UserSyncMap'} = {
# DB -> LDAP
UserFirstname => 'givenName',
UserLastname => 'sn',
UserEmail => 'mail',
Phone => 'telephoneNumber',
Username => 'sAMAccountName',
comment => 'description',
};


$Self->{'Customer::AuthModule'} = 'Kernel::System::CustomerAuth::LDAP';
$Self->{'Customer::AuthModule::LDAP::Host'} = '192.168.0.6';
$Self->{'Customer::AuthModule::LDAP::BaseDN'} = 'dc=feierabend,dc=de';
$Self->{'Customer::AuthModule::LDAP::UID'} = 'sAMAccountName';
$Self->{'Customer::AuthModule::LDAP::GroupDN'} = 'CN=otrs,CN=USERS,DC=feierabend,DC=de';
$Self->{'Customer::AuthModule::LDAP::AccessAttr'} = 'member';
$Self->{'Customer::AuthModule::LDAP::SearchUserDN'} = 'CN=Administrator,CN=USERS,DC=feierabend,DC=de';
$Self->{'Customer::AuthModule::LDAP::SearchUserPw'} = 'xxxxxxx';






$Self->{CustomerUser} = {
Name => 'LDAP Backend',
Module => 'Kernel::System::CustomerUser::LDAP',
Params => {
Host => '192.168.0.6',
BaseDN => 'dc=feierabend,dc=de',
SSCOPE => 'sub',
UserDN => 'Administrator@feierabend.de',
UserPw => 'xxxxxxxxx',
# AlwaysFilter => '(&(mail=*)(departmen=*) (info=*)(givenname=*))',
SourceCharset => 'utf8',
DestCharset => 'iso-8859-1',
Die => 1,
Params => {
port => 389,
timeout => 120,
async => 0,
version => 3,
},
},

CustomerKey => 'samaccountName',
CustomerID => 'mail',
CustomerUserListFields => ['givenname', 'cn', 'mail'],
CustomerUserSearchFields => ['mail', 'cn', 'telephonenumber', 'samaccountname', 'department'],
CustomerUserSearchPrefix => '*',
CustomerUserSearchSuffix => '*',
CustomerUserSearchListLimit => 250,
CustomerUserPostMasterSearchFields => ['mail'],
CustomerUserNameFields => ['givenname','sn'],
# CustomerUserExcludePrimaryCustomerID => 0,
# CustomerUserValidFilter => '((accountExpires=0))',
AdminsetPreferences => 0,
CacheTTL => 0,
Map => [
# note: Login, Email and CustomerID needed!
# var, frontend, storage, shown (1=always,2=lite), required, storage-type, http-link, readonly
[ 'UserSalutation', 'Title', 'title', 1, 0, 'var', '', 0 ],
[ 'UserFirstname', 'Firstname', 'givenname', 1, 1, 'var', '', 0 ],
[ 'UserLastname', 'Lastname', 'sn', 1, 1, 'var', '', 0 ],
[ 'UserLogin', 'Username', 'sAMAccountName', 1, 1, 'var', '', 0 ],
[ 'UserEmail', 'Email', 'mail', 1, 1, 'var', '', 0 ],
[ 'UserCustomerID', 'CustomerID', 'mail', 0, 1, 'var', '', 0 ],
# [ 'UserCustomerIDs', 'CustomerIDs', 'second_customer_ids', 1, 0, 'var', '', 0 ],
[ 'UserPhone', 'Phone', 'telephonenumber', 1, 0, 'var', '', 0 ],
[ 'UserAddress', 'Address', 'postaladdress', 1, 0, 'var', '', 0 ],
[ 'UserComment', 'Comment', 'description', 1, 0, 'var', '', 0 ],
],
};







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

# ---------------------------------------------------- #
# needed system stuff (don't edit this) #
# ---------------------------------------------------- #
use strict;
use warnings;

use vars qw(@ISA $VERSION);
use Kernel::Config::Defaults;
push (@ISA, 'Kernel::Config::Defaults');

use vars qw(@ISA $VERSION);
$VERSION = qw($Revision: 1.21 $)[1];

# -----------------------------------------------------#

1;


WAS MACHE ICH FALSCH???
OTRS: 3.0
OS:Debian Lenny
Apache2/MySQL 5
King_Darki
Znuny newbie
Posts: 92
Joined: 14 Nov 2008, 15:23
Znuny Version: 2.4.4
Location: Dingolfing
Contact:

Problem bei Passwortsynchronisation mit AD

Post by King_Darki »

Taucht das Problem eig. nur bei Kunden oder auch bei Agenten auf?
Dann könnte man es schonmal ein wenig eingrenzen...
Grüße

King_Darki
---
Produktiv: OTRS 2.4.4, ITSM 1.3.1, MySQL on Debian GNU/Linux lenny/sid
Testing: OTRS 2.4.7, ITSM 1.3.2 MySQL on Debian GNU/Linux lenny/sid
King_Darki
Znuny newbie
Posts: 92
Joined: 14 Nov 2008, 15:23
Znuny Version: 2.4.4
Location: Dingolfing
Contact:

Problem bei Passwortsynchronisation mit AD

Post by King_Darki »

Hier mal noch ne Frage! Ich hab den wichtigen Teil zusammengefasst:

Code: Select all

$Self->{CustomerUser} = {
...
CustomerUserListFields => ['givenname', 'cn', 'mail'],
CustomerUserSearchFields => ['mail', 'cn', 'telephonenumber', 'samaccountname', 'department'],
...
CustomerUserNameFields => ['givenname','sn'],
Map => [
...
[ 'UserLastname', 'Lastname', 'sn', 1, 1, 'var', '', 0 ],
...
],
};
Einmal nimmst du für den Nachnamen "cn", einmal "sn"... Bei mir in der Config steht z.B. überall "sn" drin... Prüf mal ob das irgendeine Auswirkung hat...
Grüße

King_Darki
---
Produktiv: OTRS 2.4.4, ITSM 1.3.1, MySQL on Debian GNU/Linux lenny/sid
Testing: OTRS 2.4.7, ITSM 1.3.2 MySQL on Debian GNU/Linux lenny/sid
numx
Znuny expert
Posts: 184
Joined: 18 Nov 2009, 13:39
Znuny Version: 3

Problem bei Passwortsynchronisation mit AD

Post by numx »

@King_Darki

Danke für deine Antwort. Der Passwortfehler tritt bei beiden also bei Kunden und Agenten auf. Werde da mit dem cn uns sn mal ändern obwohl ich nicht glaube das es daran liegt. Kann mir echt nicht vorstellen das ich der einzige bin bei dem dieses Phänomen auftitt.

Könntest du deine Config sonst mal hier posten dann passe ich sie auf meine an. Vielleicht ist das Problem dann ja auch gelöst. Danke erst einmal.
OTRS: 3.0
OS:Debian Lenny
Apache2/MySQL 5
King_Darki
Znuny newbie
Posts: 92
Joined: 14 Nov 2008, 15:23
Znuny Version: 2.4.4
Location: Dingolfing
Contact:

Problem bei Passwortsynchronisation mit AD

Post by King_Darki »

Aber:
1. Ich habe keinen Sync mit AD und OTRS-DB
2. Nur die Kunden werden von der AD abgefragt...
3. E-Mails und Passwörter werden für Agenten und Kunden von der AD abgefragt
4. Agenten werden manuell angelegt

Code: Select all

# ---------------------------------------------------- #
#					own config settings                					 #
# ---------------------------------------------------- #	
# Agents auth settings                    					   #
# (auth against SSO, LDAP, otrs db)			           		 #
# ---------------------------------------------------- #

# 1. apache http-basic-auth.
$Self->{'AuthModule1'} = 'Kernel::System::Auth::HTTPBasicAuth';

# 2. LDAP auth. backend.
$Self->{'AuthModule2'} = 'Kernel::System::Auth::LDAP';
$Self->{'AuthModule::LDAP::Host2'} = 'ldap01.xxx.yyy';
$Self->{'AuthModule::LDAP::BaseDN2'} = 'O=xxx';
$Self->{'AuthModule::LDAP::UID2'} = 'uid';
$Self->{'AuthModule::LDAP::UserLowerCase2'} = 1;
$Self->{'AuthModule::LDAP::Params2'} = {
		port => 389,
		timeout => 120,
		async => 0,
		version => 3,
};
$Self->{'AuthModule::LDAP::Die2'} = 1;

# 3. DB auth. backend
$Self->{'AuthModule3'} = 'Kernel::System::Auth::DB';
$Self->{'AuthModule::DB::CryptType3'} = 'md5';

# UserTable
$Self->{DatabaseUserTable}       = 'users';
$Self->{DatabaseUserTableUserID} = 'id';
$Self->{DatabaseUserTableUserPW} = 'pw';
$Self->{DatabaseUserTableUser}   = 'login';

# --------------------------------------------------- #
# Customer auth. settings                    					#
# (SSO, LDAP, otrs DB)											          #
# --------------------------------------------------- #

# 1. SSO Customer auth. backend.
$Self->{'Customer::AuthModule1'} = 'Kernel::System::CustomerAuth::HTTPBasicAuth';

# 2. LDAP Customer auth. backend.
$Self->{'Customer::AuthModule2'} = 'Kernel::System::CustomerAuth::LDAP';
$Self->{'Customer::AuthModule::LDAP::Host2'} = 'ldap01.xxx.yyy';
$Self->{'Customer::AuthModule::LDAP::BaseDN2'} = 'O=xxx';
$Self->{'Customer::AuthModule::LDAP::UID2'} = 'uid';
$Self->{'Customer::AuthModule::LDAP::Params2'} = {
		port => 389,
		timeout => 120,
		async => 0,
		version => 3,
};
$Self->{'Customer::AuthModule::LDAP::Die2'} = 1;

# 3. DB Customer auth. backend.
$Self->{'Customer::AuthModule3'}                       = 'Kernel::System::CustomerAuth::DB';
$Self->{'Customer::AuthModule::DB::Table3'}            = 'customer_user';
$Self->{'Customer::AuthModule::DB::CustomerKey3'}      = 'login';
$Self->{'Customer::AuthModule::DB::CustomerPassword3'} = 'pw';
$Self->{'Customer::AuthModule::DB::CryptType3'} 			 = 'md5';

# --------------------------------------------------- #
# CustomerUser
# --------------------------------------------------- #
# (customer user DB backend and settings)
$Self->{CustomerUser1} = {
	Name => 'DB',
	Module => 'Kernel::System::CustomerUser::DB',
	Params => {
	Table => 'customer_user',
	},
	CustomerKey => 'userPrincipalName',
	CustomerID => 'customer_id',
	CustomerValid => 'valid_id',
	CustomerUserListFields => ['first_name', 'last_name', 'email'],
	CustomerUserSearchFields => ['login', 'first_name', 'last_name', 'email'],
	CustomerUserSearchListLimit        => 500,
	CustomerUserPostMasterSearchFields => ['email'],
	CustomerUserNameFields => ['first_name','last_name'],
	CustomerUserEmailUniqCheck => 1,
	CustomerUserExcludePrimaryCustomerID => 0,
			AutoLoginCreation => 1,
			AdminSetPreferences => 1,
			CustomerCompanySupport => 0,
			CacheTTL => 0,
	Map => [
	# var,                frontend,      storage,    shown, required, storage-type, http-link, readonly
	[ 'UserFirstname',    'Firstname',   'first_name',   1, 1, 'var', '', 0 ],
	[ 'UserLastname',     'Lastname',    'last_name',    1, 1, 'var', '', 0 ],
	[ 'UserLogin',        'Username',    'login',        1, 1, 'var', '', 0 ],
	[ 'UserPassword',     'Password',    'pw',           0, 0, 'var', '', 0 ],
	[ 'UserEmail',        'Email',       'email',        1, 1, 'var', '', 0 ],
	[ 'UserCustomerID',   'CustomerID',  'customer_id',  0, 1, 'var', '', 0 ],
	[ 'UserPhone',        'Phone',       'phone',        1, 0, 'var', '', 0 ],
	[ 'UserComment',      'Comment',     'comments',     0, 0, 'var', '', 0 ],
	[ 'ValidID',          'Valid',       'valid_id',     1, 1, 'int', '', 0 ],
	],
};

# CustomerUser
# (customer user ldap backend and settings)
$Self->{CustomerUser2} = {
		Name => 'LDAP Backend',
		Module => 'Kernel::System::CustomerUser::LDAP',
		Params => {
				Host => 'ldap01.xxx.yyy',
				BaseDN => 'O=xxx',
				SSCOPE => 'sub',
				Die => 1,
				Params => {
						port => 389,
						timeout => 60,
						async => 0,
						version => 3,
				},
		},
		CustomerKey => 'uid',
		CustomerID => 'uid',
		CustomerUserListFields => ['givenname', 'sn', 'mail'],
		CustomerUserSearchFields => ['uid', 'givenname', 'sn', 'mail'],
		CustomerUserSearchListLimit => 500,
		CustomerUserPostMasterSearchFields => ['mail'],
		CustomerUserNameFields => ['givenname', 'sn'],
		CustomerUserExcludePrimaryCustomerID => 0,
		AdminSetPreferences => 1,
		CacheTTL => 0,
		Map => [
				# note: Login, Email and CustomerID needed!
				# 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',      'Username',   'uid',             1, 1, 'var', '', 0 ],
				[ 'UserEmail',      'Email',      'mail',            1, 1, 'var', '', 0 ],
				[ 'UserCustomerID', 'CustomerID', 'uid',             0, 1, 'var', '', 0 ],
				[ 'UserPhone',      'Phone',      'telephonenumber', 1, 0, 'var', '', 0 ],
		],
};
Viel Glück damit, vlt hilft es dir ja was!
Grüße

King_Darki
---
Produktiv: OTRS 2.4.4, ITSM 1.3.1, MySQL on Debian GNU/Linux lenny/sid
Testing: OTRS 2.4.7, ITSM 1.3.2 MySQL on Debian GNU/Linux lenny/sid
ferrosti
Znuny superhero
Posts: 723
Joined: 10 Oct 2007, 14:30
Znuny Version: 3.0
Location: Hamburg, Germany

Problem bei Passwortsynchronisation mit AD

Post by ferrosti »

@numx:
Schick bitte mal Auszüge aus der Logdatei für beide Fälle!
openSuSE on ESX
IT-Helpdesk: OTRS 3.0
Customer Service: OTRS 3.0 (upgraded from 2.3)
Customer Service (subsidiary): OTRS 3.0
+additional test and development systems
numx
Znuny expert
Posts: 184
Joined: 18 Nov 2009, 13:39
Znuny Version: 3

Problem bei Passwortsynchronisation mit AD

Post by numx »

Hallo,

hier mal das Logfile wenn ich mich als Agent anmelden will. Wie man sieht sagt er das das Passwort synchroniesiert wird aber warum behält er denn das alte?
J

Jan 30 19:22:12 otrs OTRS-CGI-10[2886]: [Notice][Kernel::System::Auth::LDAP::Auth] User: harra01 (CN=Robert Klaus,CN=Users,DC=feierabend,DC=de) authentication ok (REMOTE_ADDR: 192.168.0.1).
Jan 30 19:22:12 otrs OTRS-CGI-10[2886]: [Notice][Kernel::System::User::UserUpdate] User: 'klaro01' updated successfully (1)!
Jan 30 19:22:12 otrs OTRS-CGI-10[2886]: [Notice][Kernel::System::User::SetPassword] User: 'klaro01' changed password successfully!
Jan 30 19:22:12 otrs OTRS-CGI-10[2886]: [Error][Kernel::System::Ticket::TicketSearch][Line:4752]: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ') AND sq.group_id IN (1, 2, 3) AND st.until_time >= 1264874832 ORDER BY st.unt' at line 1, SQL: 'SELECT DISTINCT st.id, st.tn, st.until_time FROM ticket st, queue sq WHERE sq.id = st.queue_id AND st.ticket_state_id IN ( ) AND sq.group_id IN (1, 2, 3) AND st.until_time >= 1264874832 ORDER BY st.until_time ASC LIMIT 25'
Jan 30 19:22:21 otrs OTRS-CGI-10[2885]: [Notice][Kernel::System::AuthSession::DB::RemoveSessionID] Removed SessionID 1014a96d9e993f0b502e845810863cc0a5.
Jan 30 19:22:31 otrs OTRS-CGI-10[2885]: [Notice][Kernel::System::Auth::LDAP::Auth] User: klaro01 (CN=Robert Klaus,CN=Users,DC=feierabend,DC=de) authentication ok (REMOTE_ADDR: 192.168.0.1).
Jan 30 19:22:31 otrs OTRS-CGI-10[2885]: [Notice][Kernel::System::User::UserUpdate] User: 'klaro01' updated successfully (1)!
Jan 30 19:22:31 otrs OTRS-CGI-10[2885]: [Notice][Kernel::System::User::SetPassword] User: 'klaro01' changed password successfully!
Jan 30 19:23:09 otrs OTRS-CGI-10[2885]: [Notice][Kernel::System::AuthSession::DB::RemoveSessionID] Removed SessionID 103750583adbd927ba9cce87101acfd199.
OTRS: 3.0
OS:Debian Lenny
Apache2/MySQL 5
ferrosti
Znuny superhero
Posts: 723
Joined: 10 Oct 2007, 14:30
Znuny Version: 3.0
Location: Hamburg, Germany

Problem bei Passwortsynchronisation mit AD

Post by ferrosti »

Das sieht soweit eigentlich ganz gut aus. Zu dem SQL ERROR sage ich jetzt mal nix...
Ändert OTRS denn das PWD tatsächlich direkt nach der Anmeldung auch in der DB?

Sprich: Setze das System in den Zustand, dass der User sich nicht mehr mit dem alten PW anmelden kann. Dann kopierst Du das PW aus der DB irgendwo in eine Textdatei. Dann änderst Du das PW im AD und meldest Dich wieder an.
Wenn Du jetzt wieder in die DB schaust, ist dann das PW immer noch das selbe wie es jetzt in der Textdatei steht?
openSuSE on ESX
IT-Helpdesk: OTRS 3.0
Customer Service: OTRS 3.0 (upgraded from 2.3)
Customer Service (subsidiary): OTRS 3.0
+additional test and development systems
King_Darki
Znuny newbie
Posts: 92
Joined: 14 Nov 2008, 15:23
Znuny Version: 2.4.4
Location: Dingolfing
Contact:

Problem bei Passwortsynchronisation mit AD

Post by King_Darki »

Noch als kleiner Tipp:
Unter Kernel/System/Auth die Dateien DB.pm bzw. LDAP.pm öffnen. (sind für Authentifizierung der Agenten gegen DB bzw. LDAP zuständig)

Da folgendes ändern:

Code: Select all

    # Debug 0=off 1=on
    # $Self->{Debug} = 0;
    $Self->{Debug} = 1;
Dadurch wird wortwörtlich in die Logdatei geschrieben, mit welchem PW du dich gerade versuchst, anzumelden
Könnte glaub in deinem Fall ganz hilfreich sein...
Grüße

King_Darki
---
Produktiv: OTRS 2.4.4, ITSM 1.3.1, MySQL on Debian GNU/Linux lenny/sid
Testing: OTRS 2.4.7, ITSM 1.3.2 MySQL on Debian GNU/Linux lenny/sid
numx
Znuny expert
Posts: 184
Joined: 18 Nov 2009, 13:39
Znuny Version: 3

Problem bei Passwortsynchronisation mit AD

Post by numx »

@King_Darki und ferrosti

so ich habe mal den Debug höher gestellt und sehe meine Passwörter im Log jetzt in Klartext. Somit sehe ich das der Benutzer (Agent) sich wirklich mit dem Passwort authentifiziert das ich auch eingegeben habe. Er meldet sich somit immer mit dem Passwort an welches ich auch eingebe. Also ist da schon mal richtig. es ist aber halt immer noch so das er das neuste und auch das PAsswort davor akzeptiert. Was mich wundert ist wenn ich in die otrs DB users sehe das er jedesmal auch wenn ich mich immer mit den gleich PAsswort hintereinandr anmelde immer wieder eine aktualisierung des Passworst in der otrs DB users macht. Wenn ich mich immer mit dem gleichen Passwort anmelde braucht er es doch nicht immer wieder in der DB überschreiben sondern einfach nur vergleichen und sehen das das Passwort gleich geblieben ist. Zumal wenn ich mal das AD vom Netz nehmen und auf lokale DB Authentifizierung umstelle das System mich nicht rein lässt weil ich angeblich das falsche Passwort eingegeben habe. Das verstehe ich nicht er hat es doch jedes mal in der otrs DB users geändert und immer das neuste rein geschrieben. Warum bekomme ich dann eine Speere und im Logfile steht auch das wenn ich mich verusche an die lokale otrs DB users anzumelden das pw (also das Passwortt) falsch ist. Kann es sein das orts das AD Passwort zwar in die lokale otrs DB users einträgt aber es so einträgt das es es später nicht mehr lesen bzw. ein Übersetzungsfehöer des Passworts besteht wenn ich es im Browser eingeben und es mit dem Passwort in der MYSQL DB verglichen wird? Das vielleicht irgendetwas umcodiert oder durch irgendeine verschlüsselung das PW für otrs unbrauchbar wird?
Ich habe auch mal getestet ob es am Windows 2003 Server liegt das der vielleicht das neuste und das vorletzte PAsswort speichert und otrs evtl. den Fehler daher bekommt. Beim AD vom Windows 2003 liegt aber nicht der Fehler da ich mich dort bei einer Passworterneurung nicht wieder mit dem Passwort von davor anmelden kann. Ich verstehe diesen Fehler einfach nicht. :(
OTRS: 3.0
OS:Debian Lenny
Apache2/MySQL 5
King_Darki
Znuny newbie
Posts: 92
Joined: 14 Nov 2008, 15:23
Znuny Version: 2.4.4
Location: Dingolfing
Contact:

Problem bei Passwortsynchronisation mit AD

Post by King_Darki »

numx wrote:Somit sehe ich das der Benutzer (Agent) sich wirklich mit dem Passwort authentifiziert das ich auch eingegeben habe. Er meldet sich somit immer mit dem Passwort an welches ich auch eingebe. Also ist da schon mal richtig. es ist aber halt immer noch so das er das neuste und auch das PAsswort davor akzeptiert.
Und mit welcher Methode loggt er sich ein?
Wenn du das alte PW eingibst, mit den DB-Daten, und bei neuem PW per LDAP oder?
Müsste ja auch in der Log drin stehen, welche Methode erfolgreich war...
numx wrote:Was mich wundert ist wenn ich in die otrs DB users sehe das er jedesmal auch wenn ich mich immer mit den gleich PAsswort hintereinandr anmelde immer wieder eine aktualisierung des Passworst in der otrs DB users macht. Wenn ich mich immer mit dem gleichen Passwort anmelde braucht er es doch nicht immer wieder in der DB überschreiben sondern einfach nur vergleichen und sehen das das Passwort gleich geblieben ist.
Das find ich schon logisch... immerhin ist es einfacher, jedes mal, wenn der Login per LDAP erfolgreich war, das PW in die DB zu synchronisieren, so hast dus ja auch eingestellt ;)
Du willst ja die DB so aktuell wie dein AD halten, also muss immer alles ausm AD rein in die DB... da jez zusätzliche Prüfungen einzubauen, find ich unnötig...
Grüße

King_Darki
---
Produktiv: OTRS 2.4.4, ITSM 1.3.1, MySQL on Debian GNU/Linux lenny/sid
Testing: OTRS 2.4.7, ITSM 1.3.2 MySQL on Debian GNU/Linux lenny/sid
numx
Znuny expert
Posts: 184
Joined: 18 Nov 2009, 13:39
Znuny Version: 3

Problem bei Passwortsynchronisation mit AD

Post by numx »

@King_Darki

King_Darki: Und mit welcher Methode loggt er sich ein?

numx: mit LDAP und wenn ich mal die connection zum AD unterbreche soll er sich mit der lokalen DB authentifizieren aber das macht er leider nicht weil er greift dann zwar auf die lokale DB zu sagt dann aber immer das Passwort ist falsch obwohl es gerade noch vorher mit LDAP funktioniert hat. Ist schon komisch das das PW in der lokalen DB falsch sein soll obwohl gerade wo noch die Verbindung zum AD bestand das PW synchronisiert wurde. Dazu habe ich aber hier schon eine Thread (Parameter um Kundendaten mit AD zu synchronisieren) auf gemacht wo mir auch noch keiner helfen konnte. Ich meine ich kann doch nicht der einzige sein der dieses Szenario so einsetzt. Schade das mir nicht mal einer seine Config zur Verfügung stellt bei dem es funktioniert. :(
OTRS: 3.0
OS:Debian Lenny
Apache2/MySQL 5
Locked