LDAP Kennowrtänderungen (DB-altes Kennwort geht noch)

Hilfe zu OTRS Problemen aller Art
Post Reply
MastereyeFFM
Znuny newbie
Posts: 4
Joined: 12 Feb 2008, 11:49

LDAP Kennowrtänderungen (DB-altes Kennwort geht noch)

Post by MastereyeFFM »

Hallo und einen wunderschönes Wochenende für Euch, :D

ich stehe vor folgenden Problem. Ich habe für die Customer eine LDAP-Anbindung realisiert, diese ist auch voll funktionsfähig. Jedoch
kann der benutzer, auch wenn er das Passwort geändert hat, sich noch mit dem alten PW anmelden. Bisher habe ich gelesen, dass das PW
in die Datenbank geschrieben wird. Wie kann ich es unterbinden, dass die Auth noch mit dem PW in der DB funktioniert. Es osll eine direkte
Auth an der ADS stattfinden.
:( langsam bin ich am verzweifeln.

Ich bitte um Eure Hilfe ;-)

Hier meine Config.pm:

Code: Select all

# --
# Kernel/Config.pm - Config file for OTRS kernel
# Copyright (C) 2001-2006 OTRS GmbH, http://otrs.org/
# --
# $Id: Config.pm.dist,v 1.18 2006/09/07 16:15:41 mh Exp $
# --
# This software comes with ABSOLUTELY NO WARRANTY. For details, see
# the enclosed file COPYING for license information (GPL). If you
# did not receive this file, see http://www.gnu.org/licenses/gpl.txt.
# --
#  Note:
#
#  -->> OTRS does have a lot of config settings. For more settings
#       (Notifications, Ticket::ViewAccelerator, Ticket::NumberGenerator,
#       LDAP, PostMaster, Session, Preferences, ...) see
#       Kernel/Config/Defaults.pm and copy your wanted lines into "this"
#       config file. This file will not be changed on update!
#
# --

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} = 'C:/OTRS/otrs';

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

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

    # ---------------------------------------------------- #
    # data inserted by installer                           #
    # ---------------------------------------------------- #
    $Self->{'LogModule'} = 'Kernel::System::Log::File';
    $Self->{'LogModule::LogFile'} = 'C:/OTRS/otrs/var/log/otrs.log';
    # $DIBI$
    $Self->{'SystemID'} = 10;
    $Self->{'SecureMode'} = 1;
    $Self->{'Organization'} = 'Heinrich-Kleyer-Schule';
    $Self->{'FQDN'} = 'DEN-SRV1.Contoso.msft';
    $Self->{'DefaultLanguage'} = 'de';
    $Self->{'AdminEmail'} = 'admin@example.com';
    $Self->{'DefaultCharset'} = 'utf-8';


# UserSyncLDAPMap                                                          #
        # ---------------------------------------------------- #
        # (map if agent should create/synced from LDAP to DB after login)
       $Self->{UserSyncLDAPMap} = {
        # DB -> LDAP
        Firstname => 'givenName',
        Lastname => 'sn',
        Email => 'mail',
        };


        $Self->{'Customer::AuthModule'} = 'Kernel::System::CustomerAuth::LDAP';
        $Self->{'Customer::AuthModule::LDAP::Host'} = '10.10.0.2';
        $Self->{'Customer::AuthModule::LDAP::BaseDN'} = 'OU=OTRS,DC=contoso,DC=msft';
        $Self->{'Customer::AuthModule::LDAP::AlwaysFilter'} = '';
        $Self->{'Customer::AuthModule::LDAP::SearchUserDN'} = 'CN=Jonas,OU=OTRSadm,DC=contoso,DC=msft';
        $Self->{'Customer::AuthModule::LDAP::SearchUserPw'} = 'Frankfurt@123';
        $Self->{'Customer::AuthModule::LDAP::UID'} = 'sAMAccountName';
        $Self->{'Customer::AuthModule::LDAP::UserAttr'} = 'DN';
        $Self->{'Customer::AuthModule::LDAP::GroupDN'} = 'cn=OTRSuser,OU=OTRS,DC=contoso,DC=msft';
        $Self->{'Customer::AuthModule::LDAP::AccessAttr'} = 'member';
        $Self->{'Customer::AuthModule::LDAP::Params'} = {
        #       port => 389,
        #       timeout => 120,
              async => 0,
        #       version => 3,
                SourceCharset => 'utf-8',
                DestCharset => 'utf-8',
        };

        # ---------------------------------------------------- #
        # customer Auth                                        #
        # ---------------------------------------------------- #
        # CustomerUser
        # (customer user ldap backend and settings)
        $Self->{CustomerUser} = {
        Module => 'Kernel::System::CustomerUser::LDAP',
        Params => {
                # ldap host
                Host => '10.10.0.2',
                # ldap base dn
                BaseDN => 'OU=OTRS,DC=contoso,DC=msft',
                # search scope (one|sub)
                SSCOPE => 'sub',
                UserDN => 'CN=Jonas,OU=OTRSadm,DC=contoso,DC=msft',
                UserPw => 'Frankfurt@123',
                AlwaysFilter => '',
                SourceCharset => 'utf-8',
                DestCharset => 'iso-8859-1',
                },
        # customer uniq id
        CustomerKey => 'sAMAccountName',
        # customer #
        CustomerID => 'mail',
        CustomerUserListFields => ['sAMAccountName', 'cn', 'mail'],
        CustomerUserSearchFields => ['sAMAccountName', 'cn', 'mail'],
        CustomerUserSearchPrefix => '',
        CustomerUserSearchSuffix => '*',
        CustomerUserSearchListLimit => 250,
        CustomerUserPostMasterSearchFields => ['mail'],
        CustomerUserNameFields => ['givenname', 'sn'],
        Map => [
        # note: Login, Email and CustomerID needed!
        # var, frontend, storage, shown, required, storage-type
                #[ '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' ],
                #[ 'UserAddress', 'Address', 'postaladdress', 1, 0, 'var' ],
                #[ 'UserComment', 'Comment', 'description', 1, 0, 'var' ],
                ],
        };



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

# ---------------------------------------------------- #
# needed system stuff (don't edit this)                #
# ---------------------------------------------------- #
use strict;
use vars qw(@ISA $VERSION);
use Kernel::Config::Defaults;
push (@ISA, 'Kernel::Config::Defaults');
$VERSION = '$Revision: 1.18 $';
$VERSION =~ s/^\$.*:\W(.*)\W.+?$/$1/;
# -----------------------------------------------------#

1;
DKP
Znuny newbie
Posts: 16
Joined: 24 Sep 2008, 14:48

LDAP Kennowrtänderungen (DB-altes Kennwort geht noch)

Post by DKP »

Hallo,

ich stehe momentan vor der gleichen Frage und nutze deshalb einfach noch mal diesen alten Thread - ich hoffe das ist in Ordnung :wink:

Ich konnte die Feststellung machen, dass wohl immer das aktuelle sowie das zuletzt genutzte Passwort zum Login funktionieren. Dies ändert sich auch nicht, wird das Passwort mehrmals hintereinander geändert.
Handelt es sich bei diesem Phänomen um ein Feature oder ist hierfür ein Fehler in der Config schuld? Konnte außer diesem Thread leider nichts dazu finden.

Danke,
gruß DKP
numx
Znuny expert
Posts: 184
Joined: 18 Nov 2009, 13:39
Znuny Version: 3

LDAP Kennowrtänderungen (DB-altes Kennwort geht noch)

Post by numx »

Hallo Liste,

ich habe genau das gleiche Problem wir meine Vorredner. Gibt es eine Möglichkeit deses Phänomen einzustellen? Ich denke nicht das es an der Konfiguration liegt. Vielleicht habe einige Sie SSO nutzen dieses Phänomen auch noch gar nicht bemerkt. Danke für jede Hilfe
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

LDAP Kennowrtänderungen (DB-altes Kennwort geht noch)

Post by ferrosti »

AFAIK tritt dieses Problem auf, wenn der User und das PWD in die Datenbank synchronisiert werden.
Im Log steht dann der Eintrag, dass die LDAP Authentifizierung mit dem Fehler "data 52e, vece" fehl schlägt. Da als zweites in der Config wahrscheinlich die Authentifizierung an der DB eingetragen ist, Authentifiziert sich der User gegen die DB und kommt mit seinem alten Passwort rein; in diesem Fall wurde das neue PWD ja noch nicht in die DB synchronisiert.

Das ist IMHO ein Design Fehler von OTRS. Ein User, der nicht existiert sollte in allen Backends nacheinander gesucht werden. Wenn er aber gefunden wird und die Authentifizierung fehl schlägt sollte das Login abbrechen.
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
Dennis
Znuny wizard
Posts: 310
Joined: 16 Dec 2005, 14:40
Location: Schömberg
Contact:

LDAP Kennowrtänderungen (DB-altes Kennwort geht noch)

Post by Dennis »

Wird nach dem Login dann das Passwort geändert? Ich meine ich hatte sowas auch schon, der User konnte sich dann aber nur noch genau ein mal mit dem alten PW einloggen.
Produktiv:
SuSE 11.2 - OTRS 2.4.7
Post Reply