SingleSignOn nur für das Customer Portal... aber wie?

Allgemein Fragen, deutsche News, Ankündigungen & Events zum OTRS
Post Reply
phackert
Znuny newbie
Posts: 21
Joined: 30 Jul 2018, 15:46
Znuny Version: 6.0.8
Real Name: Patrick Hackert
Company: Heinz von Heiden GmbH

SingleSignOn nur für das Customer Portal... aber wie?

Post by phackert »

Ich wünsche einen schönen guten Morgen!

Viel habe ich bisher über die Einrichtung eines SSO für OTRS gelesen. das Meiste war jedoch von 2010 oder früher. ggf. also schon outdatet
Zu meiner Konfiguration:
OTRS Version: 6.0.8 CE auf Ubuntu 16.04 LTS

Das Kerberos Modul ist installiert und aktiviert.
Die kerberos.keytab liegt in /etc/ und gehört www-data:www-data mit den Berechtigungen 640.

ich habe folgendes in der /etc/apache2/sites-available/otrs.conf stehen

Code: Select all

 <Location /otrs>
#        ErrorDocument 403 /otrs/customer.pl
        ErrorDocument 403 /otrs/index.pl
        Krb5KeyTab /etc/kerberos.keytab
        KrbAuthRealms DOMAIN.TLD
        KrbLocalUserMapping On
        KrbMethodK5Passwd On
        KrbMethodNegotiate On
        KrbSaveCredentials Off
        KrbVerifyKDC Off
        require valid-user
        SetHandler  perl-script
        PerlResponseHandler ModPerl::Registry
        Options +ExecCGI
        PerlOptions +ParseHeaders
        PerlOptions +SetupEnv

        <IfModule mod_version.c>
           <IfVersion < 2.4>
                Order allow,deny
                Allow from all
            </IfVersion>
            <IfVersion >= 2.4>
                Require all granted
            </IfVersion>
        </IfModule>
        <IfModule !mod_version.c>
            Order allow,deny
            Allow from all
        </IfModule>
    </Location>

    # mod_perl2 options for GenericInterface
    <Location /otrs/nph-genericinterface.pl>
        PerlOptions -ParseHeaders
    </Location>
Wenn ich den Bereich um <IfModule mod_version.c> und <IfModule !mod_version.c> auskommentiere, erhalte ich beim Seitenaufruf immer den Error 500 und in der /var/log/apache2/error.log steht

Code: Select all

No authentication done but request not allowed without authentication for /otrs/customer.pl. Authentication not configured?
in der /opt/otrs/Kernel/Config.pm habe ich folgenden Block stehen

Code: Select all

 $Self->{'Customer::AuthModule1'} = 'Kernel::System::CustomerAuth::HTTPBasicAuth';
        $Self->{'Customer::AuthModule::HTTPBasicAuth::ReplaceRegExp'} ='@domain.tld';
        $Self->{'Customer::AuthModule::LDAP::Host1'} = 'DomainControllerIPAdresse';
        $Self->{'Customer::AuthModule::LDAP::BaseDN1'} ='DC=domain,DC=tld';

        $Self->{'Customer::AuthModule::LDAP::UID1'} = 'sAMAccountName';
                $Self->{'Customer::AuthModule::LDAP::GroupDN1'} = 'LDAP-Pfad';

                $Self->{'Customer::AuthModule::LDAP::AccessAttr1'} = 'member';
        $Self->{'Customer::AuthModule::LDAP::SearchUserDN1'} = 'AD_User@domain.tld'; 

        $Self->{'Customer::AuthModule::LDAP::SearchUserPw1'} = 'Pass';
                $Self->{'Customer::AuthModule::LDAP::Params1'} = {
            port => 389,
            timeout => 120,
            async => 0,
            version => 3,
                        };
Aber der HTTPBasicAuth wird nicht durchgeführt.
Offensichtlich, wenn ich den besagten Bereich in der Apache Config ausklammere, gilt das alles auch für die index.pl. Das will ich ja eigentlich gar nicht.
Sollte ich dann ggf. in der /etc/apache2/sites-available/otrs.conf den Kerberos-Part lieber so eintragen?

Code: Select all

<Location /opt/otrs/bin/cgi-bin/customer.pl>
        Krb5KeyTab /etc/kerberos.keytab
        KrbAuthRealms DOMAIN.TLD
        KrbLocalUserMapping On
        KrbMethodK5Passwd On
        KrbMethodNegotiate On
        KrbSaveCredentials Off
        KrbVerifyKDC Off
        require valid-user
 </Location>
 
[EDIT]
Ok, der extra Eintrag für die customer.pl location hat so nichts gebracht. habe das jetzt in

Code: Select all

<Location /otrs/customer.pl>
...
geändert. Und schon bekomme ich beim Aufruf dieser Seite wieder den "Internal Server Error" angezeigt.
Aber halt nur für die Customer.pl. Soweit schon mal gut. Jetzt muss nur noch das SSO funktionieren...
[/edit]
Ich bitte um Hilfe!
OTRS 6.0.8 CE | Ubuntu 16.04 LTS | SSO | Active Directory
phackert
Znuny newbie
Posts: 21
Joined: 30 Jul 2018, 15:46
Znuny Version: 6.0.8
Real Name: Patrick Hackert
Company: Heinz von Heiden GmbH

Re: SingleSignOn nur für das Customer Portal... aber wie?

Post by phackert »

Problem gelöst...

Code: Select all

<Location /otrs/customer.pl>
        AuthType Kerberos # <= Hab diese Zeile vergessen gehabt
        Krb5KeyTab /etc/kerberos.keytab
        KrbAuthRealms DOMAIN.TLD
        KrbLocalUserMapping On
        KrbMethodK5Passwd On
        KrbMethodNegotiate On
        KrbSaveCredentials Off
        KrbVerifyKDC Off
        require valid-user
</Location>
Zudem hat es nichts gebracht in der /opt/otrs/Kernel/Config.pm
Die Zeile
$Self->{'Customer::AuthModule1'} = 'Kernel::System::CustomerAuth::HTTPBasicAuth';
einzutragen.

Erst die aktivierung des HTTPBasicAuth im Administrations-Panel Core::Auth::CustomerAuth::HTTPBasicAuth hat dann tatsächlich den gewünschten Erfolg gebracht.
OTRS 6.0.8 CE | Ubuntu 16.04 LTS | SSO | Active Directory
Post Reply