Hilfe beim Single Sign on gelöst

Hilfe zu OTRS Problemen aller Art
Post Reply
BeatYa
Znuny newbie
Posts: 18
Joined: 27 Jun 2017, 10:31
Znuny Version: OTRS 5S
Real Name: René
Company: Makita

Hilfe beim Single Sign on gelöst

Post by BeatYa »

Hallo Community,

ich versuche nun seit einer ganzen Weile das Single Sign On meines OTRS zum laufen zu kriegen.
Derzeit bin ich im Status, dass OTRS wohl bereits versucht SSO beim Aufruf von http://ticketsystem.Firma.de/otrs/index.pl durchzuführen, jedoch mit der Meldung "Anmeldung fehlgeschlagen! Benutzername oder Passwort wurden falsch eingegeben." scheitert.

Im Systemprotokoll stehen dazu die Nachrichten "Need User!" gefolgt von "Need UserLogin or UserID!".

Im Apache steht bei mir folgendes:

Code: Select all

	#Anfang Konfig SSO
        ServerName ticketsystem.firma.de
        #<Location />
        #        AuthType Kerberos
        #        AuthName "Kerberos authenticated intranet"
        #        KrbAuthRealms FIRMA.DE
        #        KrbServiceName HTTP/ticketsystem.firma.de
        #        Krb5Keytab /etc/kerberos.keytab
        #        KrbMethodNegotiate On
        #        KrbMethodK5Passwd On
        #        require valid-user
        #</Location>
        #Ende Konfig SSO
        LoadModule auth_kerb_module usr/lib/apache2/modules/mod_auth_kerb.so
        #<Directory "/opt/otrs/bin/cgi-bin/">
        #AllowOverride None
        #AuthType Kerberos
        #AuthName "OTRS"
        #Krb5Keytab /etc/kerberos.keytab
        #KrbAuthRealms FIRMA.DE
        #KrbMethodNegotiate on
        #KrbSaveCredentials  off
        #KrbMethodK5Passwd on
        #Require valid-user
        #Order allow,deny
        #Allow from all
        #</Directory>
<Directory /otrs>
        Options FollowSymLinks
        AllowOverride None
        Order allow,deny
        Allow from all
        AuthType Kerberos
        AuthName "OTRS"
        Krb5Keytab /etc/kerberos.keytab
        KrbAuthRealm FIRMA.DE
        KrbMethodNegotiate on
        KrbSaveCredentials on
        KrbMethodK5Passwd on
        KrbServiceName HTTP
        Require valid-user
        KrbLocalUserMapping on
</Directory>
Die krb5.conf sieht folgendermaßen aus:

Code: Select all

[realms]
        FIRMA.DE = {
                kdc = DC01.FIRMA.DE
                admin_server = DC01.FIRMA.DE
                default_domain = FIRMA.DE
        }
[domain_realm]
        .firma.de = FIRMA.DE
        firma.de = FIRMA.DE
In der Config.pm wurde folgendes eingetragen:

Code: Select all

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

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


$Self->{'AuthModule1'} = 'Kernel::System::Auth::LDAP';
$Self->{'AuthModule::LDAP::Host1'} = 'dc01.firma.de';
$Self->{'AuthModule::LDAP::BaseDN1'} = 'dc=firma,dc=de'; # lest euch die Seiten die ich oben verlinkt habe durch,
$Self->{'AuthModule::LDAP::UID1'} = 'samaccountname';
$Self->{'AuthModule::LDAP::GroupDN1'} = 'CN=\x,OU=xx,OU=xxx,OU=xxxx,OU=\xxxxx,DC=firma,DC=de';
$Self->{'AuthModule::LDAP::AccessAttr1'} = 'member';
$Self->{'AuthModule::LDAP::UserAttr1'} = 'DN';
$Self->{'AuthModule::LDAP::SearchUserDN1'} = 'OTRS@firma.de';
# oder eben die DN des Bindusers, war bei mir ne böse Falle weil ich es nicht wörtlich genug genommen habe. Die SearchUserDN ist nicht die DN 
# in der der User liegt sondern die eindeutige des Users, das gleiche gilt für die GroupDNs
# der Search User muss Mitglied in "Domänen-Benutzer" und in "Windows-Authentifizierungszugriffgruppe" sein
$Self->{'AuthModule::LDAP::SearchUserPw1'} = 'XXXXX';

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

################################################################################################################################
#------------------------------------------------------------------------------------------------------------------------------#
#                                                            Customer                                                          #
#------------------------------------------------------------------------------------------------------------------------------#
        $Self->{'Customer::AuthModule1'} = 'Kernel::System::CustomerAuth::LDAP';
        $Self->{'Customer::AuthModule::LDAP::Host1'} = 'dc01.firma.de';
        $Self->{'Customer::AuthModule::LDAP::BaseDN1'} ='OU=\x,DC=xx,DC=de'; # hier die DN
		# in der eure User liegen, kommt halt drauf an wie eurer AD strukturiert ist
        $Self->{'Customer::AuthModule::LDAP::UID1'} = 'sAMAccountName';
		$Self->{'Customer::AuthModule::LDAP::GroupDN1'} = 'CN=\x,OU=xx,OU=xxx,OU=xxxx,OU=xxxxx,DC=firma,DC=de';
		# nur wer in der Gruppe 'otrscustomer' ist darf sich einloggen
		$Self->{'Customer::AuthModule::LDAP::AccessAttr1'} = 'member';
        $Self->{'Customer::AuthModule::LDAP::SearchUserDN1'} = 'OTRS@firma.de'; #s.o. das hier wäre dann der userPrincipalName
		#ob es irgenwelche Nachteile hat wenn man den userPrincipalName anstatt der DN nimmt weiss ich nicht...
        $Self->{'Customer::AuthModule::LDAP::SearchUserPw1'} = 'XXXXX';
		$Self->{'Customer::AuthModule::LDAP::Params1'} = {
            port => 389,
            timeout => 120,
            async => 0,
            version => 3,
			};
	
#------------------------------------------------------------------------------------------------------------------------------#
#                                                       LDAP System Users                                                      #
#------------------------------------------------------------------------------------------------------------------------------#
        $Self->{'AuthModule1'} = 'Kernel::System::Auth::LDAP';
        $Self->{'AuthModule::LDAP::Host1'} =  'dc01.firma.de';
        $Self->{'AuthModule::LDAP::BaseDN1'} =  'dc=firma,dc=de';
        $Self->{'AuthModule::LDAP::UID1'} =  'sAMAccountName';
        $Self->{'AuthModule::LDAP::SearchUserDN1'} =  'OTRS@firma.de';
        $Self->{'AuthModule::LDAP::SearchUserPw1'} =  'XXXXX';
        $Self->{'AuthModule::LDAP::Params1'} =  {
              'async' => '0',
              'timeout' => '120',
              'version' => '3',
              'port' => '389'
			};

		$Self->{'AuthModule::LDAP::Die1'} = 1;
	
#------------------------------------------------------------------------------------------------------------------------------#
#                                                           UserSyncLDAPMap                                                    #
#------------------------------------------------------------------------------------------------------------------------------#

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

    $Self->{CustomerUser1} = {
    Name => 'Firma Customer',
    Module => 'Kernel::System::CustomerUser::LDAP',
	Params => {
    Host => 'dc01.firma.de',
    BaseDN => 'dc=firma,dc=de', 
    SSCOPE => 'sub',
    UserDN => 'OTRS@firma.de', # wieder DN oder UserPrincipalName
    UserPw => 'XXXXX',
	AlwaysFilter =>  '(&(|(memberOf=CN=\#x,OU=Benutzer,OU=xx,OU=xxx,OU=\#xxxx,DC=xxxxx,DC=de)(memberOf=CN=\#hier funzt alles war nen langer filter
	# falls ihr was ausschliessen wollt: 
	# AlwaysFilter =>  '(&(objectclass=user)(mail=*.*@Firma.de)(!((was auch immer)))',
    },
    CustomerKey => 'sAMAccountName',
    CustomerID => 'mail',
    CustomerUserListFields => ['sAMAccountName', 'cn', 'mail'],
    CustomerUserSearchFields => ['sAMAccountName', 'cn', 'mail'],
	CustomerUserPostMasterSearchFields => ['mail'],
    CustomerUserNameFields => ['givenname', 'sn'],
	CustomerUserSearchListLimit => 1000,  # die Anzahl der User die in euerer Kundenübersicht maximal angezeit werden.
    # die Zeile muss nicht rein, macht aber bei uns hier Sinn.	

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

#------------------------------------------------------------------------------------------------------------------------------#
#                                                     Firma Ende                                                               #
#------------------------------------------------------------------------------------------------------------------------------#
################################################################################################################################	

################################################################################################################################
#------------------------------------------------------------------------------------------------------------------------------#
#                                             Anpassung für Kerberos SSO	 			                                       #
#------------------------------------------------------------------------------------------------------------------------------#

$Self->{'Customer::AuthModule'} = 'Kernel::System::CustomerAuth::HTTPBasicAuth';
#$Self->{'Customer::AuthModule::HTTPBasicAuth::Replace'} = 'FIRMA.DE\\';
$Self->{'Customer::AuthModule::HTTPBasicAuth::ReplaceRegExp'} = '@FIRMA.DE';

$Self->{'AuthModule'} = 'Kernel::System::Auth::HTTPBasicAuth';
#$Self->{'AuthModule::HTTPBasicAuth::Replace'} = 'FIRMA.DE\\';
$Self->{'AuthModule::HTTPBasicAuth::ReplaceRegExp'} = '@FIRMA.DE';

#------------------------------------------------------------------------------------------------------------------------------#
#                                             Anpassung für Kerberos SSO Ende				                                   #
#------------------------------------------------------------------------------------------------------------------------------#
################################################################################################################################
Das System wurde mittels realmd in das AD eingebunden und wird auch sauber gelistet.

Der Userabgleich aus dem AD funktioniert tadellos.
Gewählte User können sich auch weiter trotz missglückter SSO Anmeldung im zweiten Schritt anmelden.

kinit username@domain funktioniert nach Passwortabfrage bzw sagt danach nichts.
Die .keytab datei wurde mit einem für OTRS angelegten User auf dem PDC erstellt und in /etc kopiert.

Ich habe im Netz und im Forum schon viel gesucht, aber langsam gehen mir die Ideen aus.

Woran ich noch dachte war, dass Email und Samaccountname in der Firma so ganz und gar nicht übereinstimmen.
Als ich jedoch in der Config.pm Samaccountname durch mail ersetzt habe ging gar nichts mehr.

Ich bin für jeden Rat sehr dankbar!
Kann ja nicht sein, dass mich der SSO, der eigentlich nur ein paar Zeilen an Code ausmacht schon über 2 Tage beschäftigt..... zum Haare rausreißen!

Falls noch weitere Erörterungen nötig sind, so liefere ich diese auf Nachfrage natürlich gerne.


Viele Grüße
RK


Mensch, er versucht doch den Login zu machen .... warum klappt es nicht?
Kann man irgendwo auslesen, welche Daten in der Anmeldemaske einzugeben versucht werden?
Man sieht einmal kurz eine zitternde Website von wegen Username und Passwort falsch, obwohl man nichts eingibt.
Sobald dann jedoch die Daten eingegeben werden funktioniert es.
Ich habe nun auch einen User erstellt, welcher alle Namen gleich hat, also OTRS als Vor, Nach, Anzeigename und mailadresse, jedoch kommt auch bei dem das gleiche Erscheinungsbild.
Last edited by BeatYa on 27 Jul 2017, 12:44, edited 1 time in total.
1337
ChrisIAS
Znuny newbie
Posts: 55
Joined: 12 Jul 2017, 09:43
Znuny Version: 5.0.20 / 3.2.12

Re: Hilfe beim Single Sign on

Post by ChrisIAS »

Hi BeatYa
Ich habe das selbe Problem. Ich will auch die Agenten per LDAP gegen eine Gruppe im AD authentifizieren und SSO aktivieren um weniger zu tippen. 8)
Ich habe mich für SSO an diese Anleitung gehalten: http://wiki.otterhub.org/index.php?titl ... ng_Modules
Mit meine Recherchen im Internet bin ich auf folgendem Stand. Ich habe keine beweise, doch mein Bauch sagt mir, dass ich, wenn ich SSO aktiviere ich die User lokal im OTRS pflegen muss. Sie somit nicht per LDAP am AD authentifiziere. Ich müsste sie Lokal anlegen, mit den Namen wie sie im AD stehen. ????
Ist dir so eine Info schon unter gekommen? Kann jemand der Mitlesenden das bestätigen oder widerlegen?

Vielen Grüße
Chris
OTRS 5.0.x mit ITSM, LAMP Ubuntu
BeatYa
Znuny newbie
Posts: 18
Joined: 27 Jun 2017, 10:31
Znuny Version: OTRS 5S
Real Name: René
Company: Makita

Re: Hilfe beim Single Sign on

Post by BeatYa »

Das würde in meinen Augen ja so gar keinen Sinn machen^^
Ich habe die Kerberos Authentifizierung gerade auf Eis gelegt, jedoch war ich bereits so weit, dass alles im Linux System so schien, als würde Kerberos laufen, er auch beim Aufruf der Website die Anmeldung versucht hat, jedoch keine/die falschen Userdaten übergibt.
Auf der Kommandozeile haben die kinit- und klist-Befehle das richtige ausgespuckt.
Leider kann man ja im Log nicht einsehen, welche Daten genau ermittelt/übergeben wurden.

Hast du es vielleicht nachstellen können, ob der Auth mit lokalen usern funktioniert?

Ich habe ettliche Anleitungen durch und gefühlt alles schon drei mal ausprobiert, bis jetzt ohne Erfolg.
Dabei denke ich mir, dass es sich um ein relativ triviales Feature handelt und es fast schon peinlich ist das nicht umgesetzt zu bekommen... :-/
1337
ChrisIAS
Znuny newbie
Posts: 55
Joined: 12 Jul 2017, 09:43
Znuny Version: 5.0.20 / 3.2.12

Re: Hilfe beim Single Sign on

Post by ChrisIAS »

BeatYa wrote:
Hast du es vielleicht nachstellen können, ob der Auth mit lokalen usern funktioniert?
Hi BeatYa

Bisher habe ich es noch nicht testen können. Ich kann leider nicht hauptamtlich an dem Problem arbeiten, daher zieht es sich.
Ich will aber bei einem Durchbruch meine Ergebnisse hier einstellen.

Viele Grüße
Chris
OTRS 5.0.x mit ITSM, LAMP Ubuntu
ChrisIAS
Znuny newbie
Posts: 55
Joined: 12 Jul 2017, 09:43
Znuny Version: 5.0.20 / 3.2.12

Re: Hilfe beim Single Sign on

Post by ChrisIAS »

Hi
Bin ein Schritt weiter.

Ich arbeite mit folgenden Anleitungen:
http://otrshowto.blogspot.de/
http://wiki.otterhub.org/index.php?title=Kerberos_SSO

Eine Baustelle war das erstellen des Keytab-File. Das Lief bei mir immer wieder auf einen Fehler. Grund war die UAC auf unserem Dom-Controller (Win2012).

Wenn ich die Eingabeaufforderung mit "Run as Administrator" öffne. Funktioniert folgender Befehl:

Code: Select all

ktpass -princ HTTP/OTRS-Server-Name@SUBDOM.DOM.DE -mapuser AD-Reader-LDAP@SUBDOM.DOM.DE -crypto RC4-HMAC-NT -ptype KRB5_NT_PRINCIPAL -mapop set -pass MeinPasswort -out c:\temp\OTRS-Server-Name.keytab
Somit konnte ich das keytab erstellen und dem Apache2 auf dem Ubuntu-Server geben.

Viele Grüße
Chris
Last edited by ChrisIAS on 26 Jul 2017, 14:33, edited 1 time in total.
OTRS 5.0.x mit ITSM, LAMP Ubuntu
ChrisIAS
Znuny newbie
Posts: 55
Joined: 12 Jul 2017, 09:43
Znuny Version: 5.0.20 / 3.2.12

Re: Hilfe beim Single Sign on

Post by ChrisIAS »

Testen kann ich vom Ubuntu aus, ob über Kerberos die Authentifizierung funktioniert, mit dem Befehl:

Code: Select all

it@OTRS-Server-Name:~#kinit -VV -k -t /opt/otrs/OTRS-Server-Name.keytab HTTP/OTRS-Server-Name@SUBDOM.DOM.DE
Wenn alles OK ist, meldet kinit: Authenticated to Kerberos v5

Viele Grüße
Chris
OTRS 5.0.x mit ITSM, LAMP Ubuntu
ChrisIAS
Znuny newbie
Posts: 55
Joined: 12 Jul 2017, 09:43
Znuny Version: 5.0.20 / 3.2.12

Re: Hilfe beim Single Sign on

Post by ChrisIAS »

Aktuell habe ich das Problem, das mein Test der Authentifizierung funktioniert, aber das OTRS auf der Webseite folgenden Fehler meldet:

Code: Select all

Anmeldung fehlgeschlagen! Benutzername oder Passwort wurden falsch eingegeben
Im OTRS.log findet sich folgendes:

Code: Select all

[Wed Jul 26 12:13:40 2017][Error][Kernel::System::User::UserLookup][892] Need UserLogin or UserID!
Wo kann ich erkennen, welche Daten, wie Übertragen werden. Ich muss mich auf die Suche machen, wo etwas falsch läuft. Ich möchte wissen, wie der Anmeldename und in welchem Format er übertragen wird.
Das OTRS.Log hilft nicht weiter. In Access.log und Error.log des Apache steht nichts vom Auth.-Versuch, und ein Kerberos Log wird nicht erstellt. Hat jemand eine Idee, wie ich dem Fehler auf die Spur komme?

Viele Grüße
Chris
OTRS 5.0.x mit ITSM, LAMP Ubuntu
BeatYa
Znuny newbie
Posts: 18
Joined: 27 Jun 2017, 10:31
Znuny Version: OTRS 5S
Real Name: René
Company: Makita

Re: Hilfe beim Single Sign on

Post by BeatYa »

Also ich habe es jetzt zum Laufen gebracht.
Jedoch kann ich es nicht wirklich nachstellen. Es wurde so vieles eingegeben, was nicht oder nur in Teilen Dokumentiert war.
Eigentlich kann ich sagen keine Doku hat zu 100% geklappt. Ich habe viel gefummelt, mal von hier, mal von da was adaptiert.
Mein Server hat nun host/fqdn eingetragen statt HTTPS/fqdn und vieles vieles mehr.
Bei Interesse kann ich Denkansätze geben, die mir geholfen haben.

Wichtigste Leitfaden meinerseits war /var/log/Apache2/error.log ....

-> in der Apache2/error.log standen bei mir immer Infos zur Anmeldung drin, mit denen google etwas anfangen konnte.
Zur not hab ich einfach die error.log gelöscht, nen "service apache2 restart" gemacht und so war die error.log dann recht leer und man konnte sich gut orientieren.

Ein Auszug aus den Fehlern der error.log mit denen ich die ganze Zeit gearbeitet habe (Domäneninfos sind bearbeitet):

Code: Select all

[Wed Jul 26 15:02:34.138394 2017] [authz_core:debug] [pid 2825:tid 139665105458944] mod_authz_core.c(809): [client IPADRESSE:50126] AH01626: authorization result of Require valid-user : denied (no authenticated user yet)
[Wed Jul 26 15:02:34.138413 2017] [authz_core:debug] [pid 2825:tid 139665105458944] mod_authz_core.c(809): [client IPADRESSE:50126] AH01626: authorization result of <RequireAny>: denied (no authenticated user yet)
[Wed Jul 26 15:02:34.138440 2017] [auth_kerb:debug] [pid 2825:tid 139665105458944] src/mod_auth_kerb.c(1971): [client IPADRESSE:50126] kerb_authenticate_user entered with user (NULL) and auth_type Kerberos
[Wed Jul 26 15:02:34.138816 2017] [auth_kerb:debug] [pid 2825:tid 139665105458944] src/mod_auth_kerb.c(1049): [client IPADRESSE:50126] Using host/machinename.domäne.tld@DOMÄNE.TLD as server principal for password verification
[Wed Jul 26 15:02:34.138847 2017] [auth_kerb:debug] [pid 2825:tid 139665105458944] src/mod_auth_kerb.c(753): [client IPADRESSE:50126] Trying to get TGT for user USER@DOMAIN
[Wed Jul 26 15:02:34.173442 2017] [auth_kerb:error] [pid 2825:tid 139665105458944] [client IPADRESSE:50126] krb5_get_init_creds_password() failed: KDC reply did not match expectations
[Wed Jul 26 15:02:34.173478 2017] [auth_kerb:debug] [pid 2825:tid 139665105458944] src/mod_auth_kerb.c(1131): [client IPADRESSE:50126] kerb_authenticate_user_krb5pwd ret=401 user=(NULL) authtype=(NULL)
[Wed Jul 26 15:02:36.480612 2017] [ssl:debug] [pid 2825:tid 139665097066240] ssl_engine_kernel.c(243): [client IPADRESSE:50126] AH02034: Subsequent (No.2) HTTPS request received for child 74 (server machinename.domäne.tld:443)
[Wed Jul 26 15:02:36.480803 2017] [authz_core:debug] [pid 2825:tid 139665097066240] mod_authz_core.c(809): [client IPADRESSE:50126] AH01626: authorization result of Require valid-user : denied (no authenticated user yet)
[Wed Jul 26 15:02:36.480825 2017] [authz_core:debug] [pid 2825:tid 139665097066240] mod_authz_core.c(809): [client IPADRESSE:50126] AH01626: authorization result of <RequireAny>: denied (no authenticated user yet)
[Wed Jul 26 15:02:36.480860 2017] [auth_kerb:debug] [pid 2825:tid 139665097066240] src/mod_auth_kerb.c(1971): [client IPADRESSE:50126] kerb_authenticate_user entered with user (NULL) and auth_type Kerberos
[Wed Jul 26 15:02:36.481299 2017] [auth_kerb:debug] [pid 2825:tid 139665097066240] src/mod_auth_kerb.c(1049): [client IPADRESSE:50126] Using host/machinename.domäne.tld@DOMÄNE.TLD as server principal for password verification
[Wed Jul 26 15:02:36.481330 2017] [auth_kerb:debug] [pid 2825:tid 139665097066240] src/mod_auth_kerb.c(753): [client IPADRESSE:50126] Trying to get TGT for user USER@DOMAIN
[Wed Jul 26 15:02:36.517107 2017] [auth_kerb:error] [pid 2825:tid 139665097066240] [client 192.168.60.120:50126] krb5_get_init_creds_password() failed: KDC reply did not match expectations
[Wed Jul 26 15:02:36.517143 2017] [auth_kerb:debug] [pid 2825:tid 139665097066240] src/mod_auth_kerb.c(1131): [client IPADRESSE:50126] kerb_authenticate_user_krb5pwd ret=401 user=(NULL) authtype=(NULL)
[Wed Jul 26 15:02:38.530988 2017] [ssl:info] [pid 2825:tid 139665239303936] (70014)End of file found: [client IPADRESSE:50126] AH01991: SSL input filter read failed.
[Wed Jul 26 15:02:38.531113 2017] [ssl:debug] [pid 2825:tid 139665239303936] ssl_engine_io.c(1004): [client IPADRESSE:50126] AH01999: Connection closed to child 66 with unclean shutdown (server machinename.domäne.tld:443)

wichtig ist auch

kinit -k
klist -k
kvno host/machinename.domäne.tld

kvno's müssen gleich sein




==> Es war ein harter Kampf!!!!
Aber fühlt sich gerade echt geil an :lol:
1337
ChrisIAS
Znuny newbie
Posts: 55
Joined: 12 Jul 2017, 09:43
Znuny Version: 5.0.20 / 3.2.12

Re: Hilfe beim Single Sign on

Post by ChrisIAS »

Hi BeatYa

Bei dir ist zumindest der Benutzername im Error.log zu finden. Auch meldet sich bei dir das Apache-Modul "auth_kerb_module". bei mir nicht.
Geladen ist es, das mach ich scheinbar 2 mal:
[Thu Jul 27 10:42:45.575940 2017] [so:warn] [pid 6311] AH01574: module auth_kerb_module is already loaded, skipping

Wenn ein Client die Webseite aufruft, sehe ich im Error.log folgendes:

Code: Select all

[Thu Jul 27 10:44:12.270744 2017] [authz_core:debug] [pid 6315] mod_authz_core.c(809): [client 10.230.2.101:50817] AH01626: authorization result of Require all granted: granted, referer: http://karlx002-test/otrs/index.pl?Action=PreLogi$
[Thu Jul 27 10:44:12.270850 2017] [authz_core:debug] [pid 6315] mod_authz_core.c(809): [client 10.230.2.101:50817] AH01626: authorization result of <RequireAny>: granted, referer: http://karlx002-test/otrs/index.pl?Action=PreLogin&Reque$
ERROR: OTRS-CGI-30 Perl: 5.22.1 OS: linux Time: Thu Jul 27 10:44:12 2017

 Message: Need UserLogin or UserID!

 RemoteAddress: 10.230.2.101
 RequestURI: /otrs/index.pl

 Traceback (6315):
   Module: Kernel::System::User::UserLookup Line: 892
   Module: Kernel::System::Auth::Auth Line: 253
   Module: Kernel::System::Web::InterfaceAgent::Run Line: 228
   Module: ModPerl::ROOT::ModPerl::Registry::opt_otrs_bin_cgi_2dbin_index_2epl::handler Line: 40
   Module: (eval) (v1.99) Line: 207
   Module: ModPerl::RegistryCooker::run (v1.99) Line: 207
   Module: ModPerl::RegistryCooker::default_handler (v1.99) Line: 173
   Module: ModPerl::Registry::handler (v1.99) Line: 32

[Thu Jul 27 10:44:12.732809 2017] [deflate:debug] [pid 6315] mod_deflate.c(853): [client 10.230.2.101:50817] AH01384: Zlib: Compressed 19120 to 5706 : URL /otrs/index.pl, referer: http://karlx002-test/otrs/index.pl?Action=PreLogin&Reque$
[Thu Jul 27 10:44:12.825238 2017] [authz_core:debug] [pid 6315] mod_authz_core.c(809): [client 10.230.2.101:50817] AH01626: authorization result of Require all granted: granted, referer: http://karlx002-test/otrs/index.pl
[Thu Jul 27 10:44:12.825288 2017] [authz_core:debug] [pid 6315] mod_authz_core.c(809): [client 10.230.2.101:50817] AH01626: authorization result of <RequireAny>: granted, referer: http://karlx002-test/otrs/index.pl
[Thu Jul 27 10:44:12.842322 2017] [deflate:debug] [pid 6315] mod_deflate.c(853): [client 10.230.2.101:50817] AH01384: Zlib: Compressed 142577 to 28634 : URL /otrs-web/skins/Agent/default/css-cache/CommonCSS_e007caa1cb23e227feb8da9ccc913$
[Thu Jul 27 10:44:12.907790 2017] [authz_core:debug] [pid 6315] mod_authz_core.c(809): [client 10.230.2.101:50817] AH01626: authorization result of Require all granted: granted, referer: http://karlx002-test/otrs/index.pl
[Thu Jul 27 10:44:12.907836 2017] [authz_core:debug] [pid 6315] mod_authz_core.c(809): [client 10.230.2.101:50817] AH01626: authorization result of <RequireAny>: granted, referer: http://karlx002-test/otrs/index.pl
[Thu Jul 27 10:44:12.909436 2017] [deflate:debug] [pid 6315] mod_deflate.c(853): [client 10.230.2.101:50817] AH01384: Zlib: Compressed 20677 to 4044 : URL /otrs-web/skins/Agent/default/css/thirdparty/ui-theme/jquery-ui.css, referer: htt$
[Thu Jul 27 10:44:12.962901 2017] [authz_core:debug] [pid 6315] mod_authz_core.c(809): [client 10.230.2.101:50817] AH01626: authorization result of Require all granted: granted, referer: http://karlx002-test/otrs/index.pl
[Thu Jul 27 10:44:12.962945 2017] [authz_core:debug] [pid 6315] mod_authz_core.c(809): [client 10.230.2.101:50817] AH01626: authorization result of <RequireAny>: granted, referer: http://karlx002-test/otrs/index.pl
[Thu Jul 27 10:44:12.964742 2017] [deflate:debug] [pid 6315] mod_deflate.c(853): [client 10.230.2.101:50817] AH01384: Zlib: Compressed 21498 to 4179 : URL /otrs-web/skins/Agent/default/css-cache/ResponsiveCSS_1933eabac4fb0ca505f347e83f1$
[Thu Jul 27 10:44:13.017476 2017] [authz_core:debug] [pid 6315] mod_authz_core.c(809): [client 10.230.2.101:50817] AH01626: authorization result of Require all granted: granted, referer: http://karlx002-test/otrs/index.pl
[Thu Jul 27 10:44:13.017530 2017] [authz_core:debug] [pid 6315] mod_authz_core.c(809): [client 10.230.2.101:50817] AH01626: authorization result of <RequireAny>: granted, referer: http://karlx002-test/otrs/index.pl
[Thu Jul 27 10:44:13.072313 2017] [deflate:debug] [pid 6315] mod_deflate.c(853): [client 10.230.2.101:50817] AH01384: Zlib: Compressed 632910 to 155685 : URL /otrs-web/js/js-cache/CommonJS_b848d13a127015f21cf96c9d8e6150c2.js, referer: h$
[Thu Jul 27 10:44:13.143883 2017] [authz_core:debug] [pid 6315] mod_authz_core.c(809): [client 10.230.2.101:50817] AH01626: authorization result of Require all granted: granted, referer: http://karlx002-test/otrs/index.pl
[Thu Jul 27 10:44:13.143904 2017] [authz_core:debug] [pid 6315] mod_authz_core.c(809): [client 10.230.2.101:50817] AH01626: authorization result of <RequireAny>: granted, referer: http://karlx002-test/otrs/index.pl
[Thu Jul 27 10:44:13.230409 2017] [authz_core:debug] [pid 6315] mod_authz_core.c(809): [client 10.230.2.101:50817] AH01626: authorization result of Require all granted: granted, referer: http://karlx002-test/otrs/index.pl
[Thu Jul 27 10:44:13.230457 2017] [authz_core:debug] [pid 6315] mod_authz_core.c(809): [client 10.230.2.101:50817] AH01626: authorization result of <RequireAny>: granted, referer: http://karlx002-test/otrs/index.pl
[Thu Jul 27 10:44:13.230932 2017] [deflate:debug] [pid 6315] mod_deflate.c(853): [client 10.230.2.101:50817] AH01384: Zlib: Compressed 698 to 350 : URL /otrs-web/js/js-cache/ModuleJS_524f7ce15f4f3f5dc7988518b035c133.js, referer: http://$
ich weis nicht, ob der Client überhaupt Benutzername und Passwort übermittelt. Auch weis ich nicht ob ich einen Konfig-Fehler im Apache habe.
Sagt dir das Log etwas? Mache ich am Apache etwas falsch?

Viele Grüße
Chris
OTRS 5.0.x mit ITSM, LAMP Ubuntu
BeatYa
Znuny newbie
Posts: 18
Joined: 27 Jun 2017, 10:31
Znuny Version: OTRS 5S
Real Name: René
Company: Makita

Re: Hilfe beim Single Sign on

Post by BeatYa »

Da du keine SSL Verschlüsselung benutzt kann das ohne Probleme mit dem Wireshark aufgezeichnet werden.
Da steht aber doch auch erstmal alles wichtige in der error.log drin die du angefügt hast.

Habe auch erstmal nach Need User Login gesucht und habe dann die Anleitungen nachgebaut.

Ich meine das Problem an der stelle war dass ich die Config an die falsche Stelle gesetzt habe.

Ich fand die praktikabelste Lösung die Config in eine neu erstellte Datei zu schreiben.
Diese heißt dann /etc/apache2/conf-enabled/zzzz_auth_otrs.conf mit dem Inhalt:

Code: Select all

LoadModule auth_kerb_module usr/lib/apache2/modules/mod_auth_kerb.so
<LocationMatch "/otrs/(customer|index).pl">
  AuthType Kerberos
  AuthName "fqdn"    <- anpassen
  KrbMethodNegotiate On
  KrbMethodK5Passwd Off
  KrbAuthRealms DOMÄNE <- anpassen
  KrbServiceName host/fqdn <- anpassen an das was klist bei default principal stehen hat
  Krb5Keytab /etc/krb5.keytab
  Require valid-user
</LocationMatch>

Need User ID hat er mir nach dem Pflegen der Config über die genannte Datei nicht mehr im Errorlog aufgeworfen.
Danach kamen ganz viele andere Fehler, nach so ziemlich jeder Änderung ein anderer.

Die nächsten Schritte werden für dich dann viel mit kinit, klist, ktutil zu tun haben
1337
Post Reply