LDAP -> Single Sign-on

Hilfe zu OTRS Problemen aller Art
Post Reply
benson
Znuny newbie
Posts: 8
Joined: 26 Jun 2007, 11:12

LDAP -> Single Sign-on

Post by benson »

Hallo Leute!

Ich habe OTRS jetzt soweit dass sowohl die Customer als auch die
Agent-Anmeldungen per LDAP (M$ ADS) klappen.

Allerdings benötige ich jetzt noch ein Single-Sign on. Laut doc.otrs.org muss
dazu nur folgendes aktiviert werden

Code: Select all

# This is an example configuration for an apache ($ENV{REMOTE_USER})
# auth. backend. Use it if you want to have a singe login through
# apache http-basic-auth

$Self->{'Customer::AuthModule'} = 'Kernel::System::CustomerAuth::HTTPBasicAuth';
# Note:
# If you use this module, you should use the following
# config settings as fallback, if user isn't login through
# apache ($ENV{REMOTE_USER})

$Self->{CustomerPanelLoginURL} = 'http://host.example.com/not-authorised-for-otrs.html';
$Self->{CustomerPanelLogoutURL} = 'http://host.example.com/thanks-for-using-otrs.html';
Leider ist die Beschreibung etwas knapp...

Wenn ich also die oben genannte config zu meiner config.pm hinzufüge bekomme
ich beim Zugriff auf's Kunden-Login nur "Anmeldung fehlgeschlagen! Benutzername
oder Passwort falsch." Und in der OTRS-Log steht
"[Notice][Kernel::System::CustomerAuth::HTTPBasicAuth::Auth] User: No $ENV{REMOTE_USER} !(REMOTE_ADDR: 127.0.0.1)."

Weiß IIIIIIRGENDJEMAND wie ich das hinbekomme? oder einen Workaround? Immerhin wird OTRS überall angeprießen als mögliche Single Sign-on Lösung und mein Chef glaubt leider schon daran ^^

Grüße
jojo
Znuny guru
Posts: 15020
Joined: 26 Jan 2007, 14:50
Znuny Version: Git Master
Contact:

LDAP -> Single Sign-on

Post by jojo »

Du musst Deinem Apache beibringen das er die Userdaten vom angemeldeten Windowsnutzer nutzt z.B. per NTLM
"Production": OTRS™ 8, OTRS™ 7, STORM powered by OTRS
"Testing": ((OTRS Community Edition)) and git Master

Never change Defaults.pm! :: Blog
Professional Services:: http://www.otrs.com :: enjoy@otrs.com
benson
Znuny newbie
Posts: 8
Joined: 26 Jun 2007, 11:12

LDAP -> Single Sign-on

Post by benson »

Aaah, das scheint die Lösung zu sein, das klingt logisch.
Allerdings bring ich das auch nicht ganz zusammen, es müsste doch eigentlich ausreichen die module auth_basic, authnz_ldap und ldap vom apache laden zu lassen, oder?

grüße
mabaiker
Znuny newbie
Posts: 7
Joined: 12 Jul 2007, 16:51

LDAP -> Single Sign-on

Post by mabaiker »

Hallo,
ich stehe vor demselben Problem.
Ich habe die Einträge in der Config.pm gemacht und bekomme die gleiche Fehlermeldung.
Was muß noch konfiguriert werden, damit der Single Sign on funktioniert?

Grüße
jojo
Znuny guru
Posts: 15020
Joined: 26 Jan 2007, 14:50
Znuny Version: Git Master
Contact:

LDAP -> Single Sign-on

Post by jojo »

benson wrote:Aaah, das scheint die Lösung zu sein, das klingt logisch.
Allerdings bring ich das auch nicht ganz zusammen, es müsste doch eigentlich ausreichen die module auth_basic, authnz_ldap und ldap vom apache laden zu lassen, oder?

Du musst die Module natürlich dann auch noch konfigurieren, das sie gegen Dein AD gehen....
"Production": OTRS™ 8, OTRS™ 7, STORM powered by OTRS
"Testing": ((OTRS Community Edition)) and git Master

Never change Defaults.pm! :: Blog
Professional Services:: http://www.otrs.com :: enjoy@otrs.com
benson
Znuny newbie
Posts: 8
Joined: 26 Jun 2007, 11:12

LDAP -> Single Sign-on

Post by benson »

ok, ich hab nun kerberos passend laufen, die user-daten werden jetzt auch wunderbar an otrs weitergegeben (-> im IE muss man die OTRS-Seite zur sicheren zohne hinzufügen, sonst übergibt IE keine kerberos infos)
bloss steh ich jetzt vor dem problem dass OTRS nicht weiss was es mit den daten anfangen sollen, da der user test@TESTDOMAIN zwar authentifiziert ist aber nicht in der datenbank vorhanden ist.
kann ich hier jetzt irgendwas machen damit OTRS die daten sich aus dem AD holt?
mabaiker
Znuny newbie
Posts: 7
Joined: 12 Jul 2007, 16:51

LDAP -> Single Sign-on

Post by mabaiker »

Hi Benson,

ich bin DRINGEND auf der Suche nach einer Lösung für das Single Sign-On - Konntest Du das lösen ?
Was meinst Du mit : Ich hab nun Kerberos passend laufen - was musstest Du tun um es "passend" zu machen ?

Danke für eine Info im Forum ...

:lol:
Biohazardxxx
Znuny newbie
Posts: 50
Joined: 24 Aug 2007, 11:53

LDAP -> Single Sign-on

Post by Biohazardxxx »

Hi
@benson:
Könntest du uns eine kleine Beschreibung zur Einrichtung Posten?

Gruß
-Bio
Win2003 Standart Server RC 2
OTRS 3.0.11 & ITSM 3.0.5
Biohazardxxx
Znuny newbie
Posts: 50
Joined: 24 Aug 2007, 11:53

LDAP -> Single Sign-on

Post by Biohazardxxx »

benson wrote:ok, ich hab nun kerberos passend laufen, die user-daten werden jetzt auch wunderbar an otrs weitergegeben (-> im IE muss man die OTRS-Seite zur sicheren zohne hinzufügen, sonst übergibt IE keine kerberos infos)
bloss steh ich jetzt vor dem problem dass OTRS nicht weiss was es mit den daten anfangen sollen, da der user test@TESTDOMAIN zwar authentifiziert ist aber nicht in der datenbank vorhanden ist.
kann ich hier jetzt irgendwas machen damit OTRS die daten sich aus dem AD holt?
Ich hab da etwas bei den otrs listen gefunden, glaube das könnte dir helfen:


Hi,
das Kerberos-Modul für den Apache funktioniert einwandfrei. Leider
gibt es einen unschönen Effekt:
Der Benutzername wird in der Form von "username at MEINEDOMÄNE.DE"
übergeben.
Abhilfe soll hier allergings eine Konfigurationsvariable in der
Version 2.1.3 schaffen, mit der man das "@MEINE..." dann entfernen
kann und damit mit "normalen" Benutzerdaten in OTRS arbeiten kann.

Leider ist diese Option noch nicht dokumentiert.

Siehe Auszug aus dem changelog (2.1.3):
- (2006/11/09) added AuthModule::HTTPBasicAuth::Replace and
Customer::AuthModule::HTTPBasicAuth::Replace config option to
HTTPBasicAuth
modules to strip e. g. domains like example_domain\user from login
down to user
- (2006/11/09) added AuthModule::LDAP::UserLowerCase to allways
convert
usernames into lower case letters


Paul
Win2003 Standart Server RC 2
OTRS 3.0.11 & ITSM 3.0.5
mabaiker
Znuny newbie
Posts: 7
Joined: 12 Jul 2007, 16:51

LDAP -> Single Sign-on

Post by mabaiker »

Hallo Biohazardxxx

Hier die Doku für den genannten Parameter ...
zu finden hier ...

B.1.34.9. Customer::AuthModule::HTTPBasicAuth::Replace
Description Value
Description: Wenn "HTTPBasicAuth" als Customer::AuthModule ausgew?hlt wurde, kann hier spezifiziert werden, ob f?hrende Teile eines Benutzernamens entfernt werden sollen (z. B. eine Dom?ne example_domain\user zu user).
Group: Framework
SubGroup: Frontend::Customer::Auth
Valid: 0
Required: 0
Config-Setting: $Self->{'Customer::AuthModule::HTTPBasicAuth::Replace'} = 'example_domain\\\\';

Nur fehlt die Beschreibung, WO in der CONFIG.PM dieser Parameter stehen muss :(
sira
Znuny newbie
Posts: 1
Joined: 04 Sep 2007, 11:48

LDAP -> Single Sign-on

Post by sira »

Hi,
also bei mir hat die Replace-Funktion einfach nicht funktioniert.
Habe stattdessen in der Config.pm im LDAP-Bereich
CustomerKey=> 'userPrincipalName'
gesetzt.
Das heisst, OTRS kann nun auch etwas mit meinem authentifizierten Benutzer
'user@DOMAIN.NET' anfangen....
Jetzt funktioniert die SSO-Anmeldung auch für Customer (per HTTPBasicAuth und LDAP),
dafür bekomme ich ne dicke MySQL-Fehlermeldung im SysLog und die Tickets der Customer
werden nicht gefunden.

-------------------------------------------------------------------------------
-- OTRS 2.2.2 auf SLES10 --
benson
Znuny newbie
Posts: 8
Joined: 26 Jun 2007, 11:12

LDAP -> Single Sign-on

Post by benson »

so, meine "vorgesetzten" haben mich jetzt gezwungen die ganze sache unter suse linux enterprise 10 zu machen (das ist wohl die dümmste linux distribution die verfügbar ist!!) und wie es das glück so will ist gestern meine platte mit meiner test-vmware eingegangen, jetzt muss mir also die ganze config nochmal zusammensuchen.

jedenfalls fang ich jetzt von vorn an otrs zu konfigurieren (unter suse *grrr*) und werde die ganze sache mitdokumentieren.
diese doku werde ich dann hier im forum hinterlegen (würde sagen das wäre dann *sticky*).

noch etwas geduld also liebe freunde...
six1
Znuny newbie
Posts: 9
Joined: 12 Dec 2007, 18:39

LDAP -> Single Sign-on

Post by six1 »

Hallo,
nach einigem rumprobieren habe ich das Problem gelöst.
Es lag in meinem Fall daran, dass $ENV{REMOTE_USER} nicht in den Apache Globals vorhanden war, weil ich Apache nicht beibringen konnte, welche Location er überwachen und Authentifizieren sollte.

Wenn das HTTP DocRoot z.B. d:\www und OTRS unter d:\www\OTRS\otrs liegt, dann genügt es nicht im Apache <Location /OTRS> zu definieren!
Zusätzlich muss noch die eigene OTRS Freigabe: http://irgendwas/otrs für SSO bestimmt werden!

Wichtig ist natürlich auch in der config.pm den SSO zu aktivieren:
Für den "Agent"
$Self->{'AuthModule'} = 'Kernel::System::Auth::HTTPBasicAuth';
Für den "Kunden"
$Self->{'Customer::AuthModule'} = 'Kernel::System::CustomerAuth::HTTPBasicAuth';

Hier die Einstellungen für SSPI in der Conf von Apache zu dem angenommenen Pfad d:\www\OTRS\otrs:

Code: Select all

LoadModule dav_module modules/mod_dav.so


<Location /OTRS/>

    AuthName "My OTRS"
    AuthType SSPI
    SSPIAuth On
    SSPIAuthoritative On
    SSPIDomain meine.domain.de

    SSPIOmitDomain on
 #   SSPIOfferBasic on
    Require valid-user
</Location>

<Directory /OTRS>
    Options FollowSymLinks
    AllowOverride None
    AuthName "---!"	
    AuthType SSPI
    SSPIAuth On
    SSPIAuthoritative On
    SSPIDomain meine.domain.de

    SSPIOmitDomain on
 #   SSPIOfferBasic on
    Require valid-user
</Directory>

<Location /otrs/>

    AuthName "My OTRS"
    AuthType SSPI
    SSPIAuth On
    SSPIAuthoritative On
    SSPIDomain meine.domain.de

    SSPIOmitDomain on
 #   SSPIOfferBasic on
    Require valid-user
</Location>

<Directory /otrs>
    Options FollowSymLinks
    AllowOverride None
    AuthName "---!"	
    AuthType SSPI
    SSPIAuth On
    SSPIAuthoritative On
    SSPIDomain meine.domain.de

    SSPIOmitDomain on
 #   SSPIOfferBasic on
    Require valid-user
</Directory>

MarkusFrank
Znuny newbie
Posts: 45
Joined: 30 Jan 2008, 11:27

LDAP -> Single Sign-on

Post by MarkusFrank »

Hi,

ich habe im Forum deine Beiträte zu OTRS und SSO gelesen und möchte das auch umsetzen, bzw einsetzen.
Habe aber leider nichts wirklich gefunden, was mir helfen könnte, bis auf die 3 einträge in der config.pm

Was muss ich beim Apache konfigurieren, dass er die anmeldeinformationen an OTRS weitergibt??

Wäre für jede Hilfe dankbar,


Gruß Markus
OTRS: 3.3.5
ITSM: 3.3.4
KIX4OTRS 6.0.2
OS: Debian Lenny
Apache2/MySQL 5
mes
Znuny newbie
Posts: 3
Joined: 29 Jan 2008, 19:49

LDAP -> Single Sign-on

Post by mes »

MarkusFrank wrote:Was muss ich beim Apache konfigurieren, dass er die anmeldeinformationen an OTRS weitergibt??
Garnichts! Vorrausgesetzt du hast deinem Webserver bereits gesagt, dass er für die OTRS Seiten eine "HTTP Authentifizierung" verwenden soll.
Das macht man typischerweise mit einer .htaccess -Datei oder in der VirtualHost-Config, hier ein Beispiel:

Code: Select all

AuthType Basic
AuthName "OTRS"
AuthUserFile /linux/pfad/zur/.htpasswd
# optional AuthGroupFile /linux/pfad/zur/.htgroup

<Location /otrs/>
Require valid-user
</Location>
Was nun passiert ist folgendes:
- Ein User will auf das OTRS zugreifen
- Der Webserver merkt "hoppla" diesen Pfad darf ich nur Usern anzeigen, die einenen Benutzernamen+Kennwort haben
- Der Webserver schickt dem User eine Passwortabfrage
- User gibt seine Daten ein, der Webserver schickt ihm die OTRS-Seiten

- Das OTRS seinerseits bekommt vom Webserver automatisch den Usernamen mitgeteilt und schaut ob es den User kennt
- Wenn nein --> NoUserID!!
- Wenn ja --> Das OTRS führt ein automatisches Login durch, ohne dass der User sich nochmal einloggen muss

Sprich: Du hast eine Userverwaltung sowohl im OTRS als auch im Webserver. Erst wenn deine Datenbanken zB per LDAP synchron sind, hast du ein Single-Sign-On
Ein großer Vorteil dieser Methode ist aber auch, dass die Skripte des OTRS (die ja theoretisch eine Sicherheitslücke enthalten könnten) erst nach Passworteingabe ausgeführt und angezeigt werden.
MarkusFrank
Znuny newbie
Posts: 45
Joined: 30 Jan 2008, 11:27

LDAP -> Single Sign-on

Post by MarkusFrank »

Vielen Dank für deine Antwort.

Habe aber trotzdem noch die ein oder andere Frage.

Wo muss ich die .htaccess ablegen? im root Verzeichnis vom OTRS??
Wozu brauch ich eine .htpasswd, wenn die Daten doch gegen LDAP authentifiziert werden?! Oder ist die nur fiktiv?
OTRS: 3.3.5
ITSM: 3.3.4
KIX4OTRS 6.0.2
OS: Debian Lenny
Apache2/MySQL 5
jojo
Znuny guru
Posts: 15020
Joined: 26 Jan 2007, 14:50
Znuny Version: Git Master
Contact:

LDAP -> Single Sign-on

Post by jojo »

OTRS liest eine entsprechende Umgebungsvariable aus dem Apache aus, daher muss der Apache auch die Authentifizierung vornehmen. In OTRS wird dann gegen den Apachen statt gegen LDAP authentifiziert, d.h. bedeutet alle Agenten müssen von Hand in die OTRS Datenbank....
"Production": OTRS™ 8, OTRS™ 7, STORM powered by OTRS
"Testing": ((OTRS Community Edition)) and git Master

Never change Defaults.pm! :: Blog
Professional Services:: http://www.otrs.com :: enjoy@otrs.com
Biohazardxxx
Znuny newbie
Posts: 50
Joined: 24 Aug 2007, 11:53

LDAP -> Single Sign-on

Post by Biohazardxxx »

Der Post von sisx1 funktioniert bei uns wunderbar!

Mir war damals nur nicht klar dass, das NTLM Modul für Unix ist und das SSPI für Windows ist!
Dies muss auch noch in die Apache config:

Code: Select all

<IfModule !mod_auth_sspi.c>
    LoadModule sspi_auth_module modules/mod_auth_sspi.so
</IfModule>
Win2003 Standart Server RC 2
OTRS 3.0.11 & ITSM 3.0.5
serg
Znuny newbie
Posts: 13
Joined: 19 Oct 2009, 21:48
Znuny Version: 2.4.5

LDAP -> Single Sign-on

Post by serg »

Ich muss jeden Benutzernamen in die .htpasswd eintragen, bevor er sich per SSO anmelden kann.

Kennt jemand eine Lösung?
Centos 5.4
OTRS 2.4.6
jojo
Znuny guru
Posts: 15020
Joined: 26 Jan 2007, 14:50
Znuny Version: Git Master
Contact:

LDAP -> Single Sign-on

Post by jojo »

Forensuche benutzen (Stichworte: LDAP, Kerberos)
"Production": OTRS™ 8, OTRS™ 7, STORM powered by OTRS
"Testing": ((OTRS Community Edition)) and git Master

Never change Defaults.pm! :: Blog
Professional Services:: http://www.otrs.com :: enjoy@otrs.com
Post Reply