Variante 2: NTLM-Authentifizierung gegen Windows-Domäne (Debian/Ubuntu)Anleitung wird benötigt, wenn Sie in einer Windows Domain arbeiten und KIX auf einem Linux Web-Server läuft (Ziel ist Singe Sign On (SSO) über Windows-Anmeldung)
1.a) Notwendige Konfiguration Firefox:Mittels "about:config" müssen in den Schlüssel "network.automatic-ntlm-auth.trusted-uris" Komma-separiert die URLs der Webseite für die NTLM-Authentifizierung eingetragen werden.
1.b) Notwendige Konfiguration IE:- IE sendet nur SSO-Informationen, wenn der Webserver in der Sicheren Zone/Intranet-Zone konfiguriert ist
- Für IE >= 6.0 ist zudem noch die Option "Enable Integrated Windows Authentication" zu aktivieren (Advanced Options/Security Group)
2. Notwendige Komponenten auf Web-Server für Apache: - winbind
- Perl-Modul: Apache::AuthenNTLM (bei Ubuntu und Debian z.B. libapache2-authenntlm-perl)
3. Konfiguration /etc/apache2/sites-available/kix.conf:
Unten stehender Block muss in die kix.conf eingefügt und wie folgt ergänzt werden:
- DOMAIN:: ADS-Domain-Name in Großbuchstaben
- ADSERVER:: Hostname des AD-Server PDC (Hostname muss auflösbar sein)
- ntlmdebug kann nach erfolgreichem Test entfernt werden (Logs unter /var/log/apache2/...)
<Directory /pfad/zum/verzeichnis>
Options Indexes -FollowSymLinks -ExecCGI
IndexOptions FancyIndexing FoldersFirst NameWidth=*
AllowOverride None
Order Deny,Allow
Deny from all
Allow From xxx.xxx.xxx.xxx/255.255.255.0
# NTLM v1 Basic Auth against Windows Domain
PerlAuthenHandler Apache2::AuthenNTLM
AuthType ntlm,basic
AuthName NTLMTest
require valid-user
PerlAddVar ntdomain "DOMAIN ADSERVER"
PerlSetVar defaultdomain DOMAIN
PerlSetVar splitdomainprefix 1
PerlSetVar ntlmdebug 3
</Directory>
4. KIX Konfiguration:
Folgende Einträge müssen in der <KIX-Home>/Kernel/Config.pm gemacht werden:
für die Authentifizierung der Agenten per SSO ist folgender Eintrag zuständig:
$Self->{'AuthModule'} = 'Kernel::System::Auth::HTTPBasicAuth';
$Self->{'AuthModule::HTTPBasicAuth::ReplaceRegExp'} ='@DOMAIN';
für die Authentifizierung der Customer sieht der Eintrag wie folgt aus:
$Self->{'Customer::AuthModule'} = 'Kernel::System::CustomerAuth::HTTPBasicAuth';
$Self->{'Customer::AuthModule::HTTPBasicAuth::ReplaceRegExp'} ='@DOMAIN';
Um die Authentifizierung Agenten mehrerer Domänen zu ermöglichen, muss für jede Domäne ein eigener Eintrag gemacht werden (gleiches gilt für die Customer Authentifizierung)
$Self->{'AuthModule'} = 'Kernel::System::Auth::HTTPBasicAuth';
$Self->{'AuthModule::HTTPBasicAuth::ReplaceRegExp'} ='@DOMAIN1';
...