Kerberos-Authentifizierung

enaio® 12.0 »

Anmeldenamen können in enaio® auf Basis des UPN (User Principal Name, Beispiel 'name@mydomain.com') oder des SAM User Name (Security Accounts Manager, Beispiel 'name') verwaltet werden. In beiden Fällen kann die Benutzerauthentifizierung in enaio® via Windows über Kerberos erfolgen.

Technisch verlangt Kerberos als Authentifizierungsmechanismus immer den UPN, NTLM hingegen immer den SAM.

Für die Kerberos-Authentifizierung sind Konfigurationen in enaio® enterprise-manager und enaio® gateway notwendig.

Konfiguration in enaio® enterprise-manager

Die Identifizierung des anzumeldenden Benutzers wird bei Kerberos in enaio® enterprise-manager über den Parameter Login/Namensauflösung (Kerberos) konfiguriert. Wenn dieser Parameter auf UPN gesetzt ist, dann müssen alle enaio®-Anmeldenamen der UPN-Form genügen. Wenn dieser Parameter auf SAM gesetzt ist, dann muss für alle Benutzer der SAM verwendet werden. In der Server-Registry heißt der entsprechende Registrykey QueryNamesMethod und hat die Werte 0/1 (SAM/UPN).

Ist für Windows Kerberos fehlerfrei konfiguriert, dann werden die weiteren Einstellungen in der Konfiguration von enaio® server in enaio® enterprise-manager vorgenommen.

Hier ist Auto-Login auf Aktivund SSP-Login auf Windows gesetzt, damit die Authentifizierung der Clientanwendungen gegen enaio® server über Windows erfolgt und nicht der serverinterne Parameter Reihenfolge der Anmeldung verwendet wird. Der Security Support Provider ist auf Kerberos gesetzt und entsprechend der Anmeldenamen der Benutzer im System ist die Namensauflösung (Kerberos) zu wählen.

Parameter Wert Wert in der Serverregistry
Auto-Login Aktiv Schema / Login / Auto-Login : 1
SSP-Login Windows Schema / Login / NTLMLogin : 1
Namensauflösung (Kerberos) UPN Schema / Login / QueryNamesMethod : 1
Security Support Provider Kerberos Schema / Login / Support Provider : Kerberos

asinit.cfg

Für enaio® client, die administrativen Komponenten und enaio® capture muss in den Konfigurationsdateien asinit.cfg für die Verbindungskonfiguration zu enaio® server der FQDN von enaio® server mit Port angegeben werden. Beispiel:

[ARCHIV]
Comstring=myserver.mydomain.com#4000

Da enaio® enterprise-manager weiterhin das windowsbasierte Login verwendet, muss für diese Anwendung eine Login-Ausnahme definiert werden.

Kerberos-Voraussetzungen

Für eine Kerberos-Authentifizierung muss das Benutzerkonto des enaio® server-Dienstes ein Domänenkonto sein. Ein sonst üblicherweise verwendetes lokales Systembenutzerkonto eignet sich nicht. Für das Domänenkonto müssen genügend Rechte für das Ausführen des Dienstes gewährt werden. Zusätzlich muss für dieses Benutzerkonto in der Domäne ein passender SPN (Service Principal Name) vergeben werden.

Beispiel: enaio/myserver.testdomain.org:4000 myserver

myserver.testdomain.org ist der Rechner auf dem enaio® server installiert ist. Es muss hier der vollqualifizierte Name (FQDN) mit Port angegeben werden.

Domänen-Konfiguration

Folgende Schritte sind notwendig:

  1. SPN in der Domäne registrieren.

  2. Folgenden Aufruf in einer administrativen Shell absetzen, Beispiel:

    setspn -A HTTP/enaio.testdomain.org enaioadmin

  3. Registrierten SPN in eine keytab-Datei exportieren. Beispiel:

    ktpass /out c:\enaioadmin.keytab /mapuser enaioadmin@TESTDOMAIN.ORG /princ HTTP/enaio.testdomain.org@TESTDOMAIN.ORG /ptype KRB5_NT_PRINCIPAL /crypto All /pass enaioadmin_password
    • Die Datei muss nicht zwingend auf dem Laufwerk 'C:' liegen und kann einen beliebigen Namen tragen.
    • Das am Ende übergebene Passwort muss dem des angegebenen NT-Kontos (enaioadmin) entsprechen.
  4. enaio® gateway muss mit dem Benutzerkonto als Dienst ausgeführt werden, für den der SPN gesetzt wurde.

  5. Die Adresse von enaio® gateway muss in den Internet-Eigenschaften unter Lokales Intranet eingetragen sein.

enaio® gateway konfigurieren

In der Konfigurationsdatei …\os_gateway\config\application-prod.yml von enaio® gateway wird das Anmeldeverfahren im Abschnitt ossecurity um folgenden Block erweitert. Beispiel:

ossecurity:
  kerberos: {
    enabled: true,
    servicePrincipal: 'HTTP/beispiel.testdomain.org@TESTDOMAIN.ORG',
     keytabLocation: 'c:/enaioadmin.keytab'
  }

servicePrincipal muss dem Format im Beispiel entsprechen. Das Protokoll muss als HTTP und nicht als HTTPS angegeben werden, auch wenn enaio® gateway für SSL konfiguriert ist.

keytabLocation ist der Pfad zur exportierten keytab-Datei, als Pfadtrenner müssen Slashes (/) verwendet werden.

enabled: (true/false) legt fest, ob die Kerberos-Authentifizierung aktiv ist. Wenn die Kerberos-Authentifizierung aktiv ist, dann werden die anderen Anmeldeverfahren - Session-Guid, Simple, Formularbasiert, NTLM, Basic - ignoriert.

Die Konfiguration der HTTP-Header-Längenbegrenzung kann notwendig sein.