Kerberos-Authentifizierung Neu ab S 39.5.0

stop Achtung

  • Als Voraussetzung zur Durchführung der nachfolgend beschriebenen Administrationsaufgaben sind fundierte IT-Kenntnisse erforderlich.

info Information

  • Kerberos ist ein standardisierter Authentifizierungsmechanismus, der sowohl auf dem Server als auch auf dem Client konfiguriert werden muss.

warning Hinweise

  • Folgende Voraussetzungen müssen für die Kerberos-Authentifizierung erfüllt sein:

Server-Konfiguration

info Informationen

  • In der Konfigurationsdatei config/globals.conf muss die Konfigurationsvariable auth.methods entsprechend gesetzt werden. Mögliche Optionen:
    • osuser (keine Authentifizierung, nicht sicher, bisheriges Verhalten)
    • interactive (die gewöhnliche Login-Meldungsbox, sicher aufgrund von Challenge-Response-Authentifizierung, bisheriges Verhalten)
    • kerberos
    • legacy (setzt sich aus den bisherigen Authentifizierungsmethoden osuser und interactive zusammen)
    • secure (setzt sich aus den Authentifizierungsmethoden zusammen, die eine sichere Anmeldung erlauben, derzeit interactive und kerberos)
    • proxy Authentifizierung über eine vorgelagerte Software Komponente (setzt die Verwendung von PLANTA secure voraus)
    • any (setzt sich aus allen implementierten Authentifizierungsmethoden zusammen)
    • oder eine beliebige Kombination der oben genannten Werte, die getrennt durch Leerzeichen und/oder Interpunktion aufgelistet werden, sodass eine Vereinigung aus allen erwähnten einzelnen bzw. kombinierten Methoden ensteht.

warning Hinweise

  • Nicht konfigurierte Authentifizierungsmethoden sind nicht mehr erlaubt.
  • Die Konfigurationsoptionen bilden eine zentrale Stelle zum Ausschalten des osuser -Logins für alle User auf einmal.

note Details

  • auth.methods ist für ein rückwärts-kompatibles Verhalten standardmäßig auf legacy gesetzt.
    • So lange dieser Wert gesetzt ist, gibt es keine Änderungen bezüglich vorherigen Versionen.
  • In config/globals.conf bestimmen die Parameter krb.conf und auth.conf jeweils einen Pfad zu bestimmten Konfigurationsdateien.
    • krb.conf ist eine Kerberos-Konfiguration, die Realms, Domains, KDCs sowie Verschlüsselungsalgorhitmen festlegt.
    • Besteht bereits eine systemweite JAAS-kompatible Konfigurationsdatei, so kann auch diese verwendet werden. Andernfalls kann das Template an die Kundeninstallation angepasst werden.
    • auth.conf bestimmt, wie der PLANTA-Server sich mit seinem eigenen Service Account einloggt. Ein Bereich namens PlantaServer wird benötigt, damit der Code die Einstellungen finden kann. Hier kann sowohl der principal als auch der keyTab / ticketCache -Pfad wie gewünscht angepasst werden. Alle weiteren Einstellungen, vor allem doNotPrompt, sollten unverändert bleiben.
  • Keytab-Dateien werden für gewöhnlich vom Systemadministrator erstellt, um die entsprechenden Principals und Service Accounts anzupassen. Der Systemadministrator sollte am besten wissen, wie diese richtig erstellt werden und wie die entsprechenden Principals in config/auth.conf angegeben werden.
  • Die Auflösung von Kerberos Principal nach PLANTA-Benutzername /-kennung wird in Python gelöst, sodass Kunden jegliche user@REALM Kombinationen auf einen beliebigen PLANTA-Benutzer mappen können.
  • Im Python-Modul ppms.krb5_login ist eine Methode krb5_login_resolve_username(Principal) definiert, die eine kundenspezifische Möglichkeit bietet, einen Kerberos Principal auf seinen entsprechenden PLANTA-Benutzernamen zu mappen. Diese Python-Methode ist bzgl. der Parameter und der zu erwartenden Rückgabewerte dokumentiert. Die eigentliche Implementierung muss für jede Installation definiert werden.

Client-Konfiguration

info Information

  • Die Client-Konfigurationsparameter können in der Kommandozeile oder in der ini -Datei angegeben werden:
    • authentication=kerberos
      • Aktiviert die Kerberos-Ticketbearbeitung (erforderlich)
    • spn=<service>/<service_account>@<REALM>
      • Hier muss der kanonische SPN eingetragen werden, z.B. PLANTA/planta_server@EXAMPLE.COM (erforderlich).
    • mutual=on
      • Aktiviert die gegenseitige Authentifizierung (optional)

warning Hinweis

  • Bei Angabe der Konfigurationsparameter in der ini -Datei dürfen weder zusätzliche Anführungszeichen (z.B. im SPN) noch zusätzliche Leerzeichen (z.B. am Zeilenende) angegeben werden.

Konfigurieren der Verschlüsselungseinstellungen für Benutzerkonten in Active Directory

Exemplarische Einrichtung eines Service-Accounts für die Kerberosauthentifizierung im Active Directory

more 1. Anlegen eines Benutzers im AD-Baum

  • Auf dem Domänen-Controller Active Directory Users and Computers öffnen
  • Über Create a new user in the current container einen neuen Benutzer mit dem gewünschten Namen (z.B. Dienstname) anlegen
    • application Beispiel: planta_service
more 2. Setzen eines Dienstprinzipialnamens (SPN) über das setspn-Kommando
  • setspn -A <SPN> <account> ausführen
  • Namensschema: <Dienstname>/<Identifikator, z.B. host name>
    • application Beispiel: setspn -A PLANTA/srv_planta.mydomain.com planta_service
  • warning Ein SPN darf nur einmal vergeben werden.
    • Der Client bricht die Ticketanforderung sonst mit der Fehlermeldung SEC_E_TARGET_UNKNOWN ab.
    • Die Prüfung kann mittels setspn -Q <SPN> erfolgen: Hier darf nur ein Account zurückgegeben werden.
more 3. Erstellung einer keytab-Datei mittels ktpass
  • Syntax: ktpass /princ <SPN> /mapuser <Domain\User@DOMAIN> /pass <password> /out <keytab filename>
    • application Beispiel mit den vorherigen Werten: ktpass /princ PLANTA/srv_planta@MYDOMAIN.COM -setupn /mapuser XYZ\planta_service /pass gehe1m /out planta_service.keytab
  • warning Hinweis
    • Die Domäne muss zwangsweise in Großbuchstaben angegeben werden
    • Der hier verwendete Parameter -setupn verhindert, dass der Benutzeraccount umbenannt wird.
      • Dies kann bei nicht als Benutzernamen verwendbaren SPNs notwendig sein.
    • Die keytab-Datei in das Konfigurationsverzeichnis des Servers kopieren
    • Die Datei gegen unautorisiertes Lesen sichern


index Siehe auch: Server-Parameter, Client-Parameter
Topic revision: r33 - 2019-07-09 - 13:56:17 - MarkusSchreyer
Release395.KerberosAuthentication moved from Release395.KerberosLogin on 2012-07-10 - 12:55 by ChristianTrefzer








 
  • Suche in Topic-Namen

  • Suche in Topic-Inhalten