SSSD-KRB5(5) Dateiformate und Konventionen SSSD-KRB5(5) NAME sssd-krb5 - SSSD Kerberos-Anbieter BESCHREIBUNG Diese Handbuchseite beschreibt die Konfiguration des Authentifizierungs-Backends Kerberos 5 fur sssd(8). Eine ausfuhrliche Syntax-Referenz finden Sie im Abschnitt >>DATEIFORMAT<< der Handbuchseite sssd.conf(5). Das Authentifizierungs-Backend Kerberos 5 enthalt Authentifizierungs- und Chpass-Anbieter. Es muss mit einem Identitatsanbieter verbunden werden, damit es sauber lauft (zum Beispiel >>id_provider = ldap<<). Einige vom Kerberos-5-Authentifizierungs-Backend benotigten Informationen wie der >>Kerberos Principal Name<< (UPN) des Benutzers mussen durch den Identitatsanbieter bereitgestellt werden. Die Konfiguration des Identitatsanbieters sollte einen Eintrag haben, der den UPN angibt. Einzelheiten, wie dies konfiguriert wird, finden Sie in der Handbuchseite des entsprechenden Identitatsanbieters. This backend also provides access control based on the .k5login file in the home directory of the user. See k5login(5) for more details. Please note that an empty .k5login file will deny all access to this user. To activate this feature, use 'access_provider = krb5' in your SSSD configuration. Im Fall, dass UPN nicht im Identitats-Backend verfugbar ist, wird sssd mittels des Formats Benutzername@Krb5_Realm einen UPN konstruieren. KONFIGURATIONSOPTIONEN Falls das Authentifizierungsmodul Krb5 in einer SSSD-Domain benutzt wird, mussen die folgenden Optionen verwendet werden. Einzelheiten uber die Konfiguration einer SSSD-Domain finden Sie im Abschnitt >>DOMAIN-ABSCHNITTE<< der Handbuchseite sssd.conf(5). krb5_server, krb5_backup_server (Zeichenkette) gibt eine durch Kommata getrennte Liste von IP-Adressen oder Rechnernamen der Kerberos-Server in der Reihenfolge an, in der sich SSSD mit ihnen verbinden soll. Weitere Informationen uber Ausfallsicherung und Redundanz finden Sie im Abschnitt >>AUSFALLSICHERUNG<<. An die Adressen oder Rechnernamen kann eine optionale Portnummer (der ein Doppelpunkt vorangestellt ist) angehangt werden. Falls dies leer gelassen wurde, wird die Dienstsuche aktiviert. Weitere Informationen finden Sie im Abschnitt >>DIENSTSUCHE<<. Wenn die Dienstsuche fur Schlusselverwaltungszentralen- (KDC) oder Kpasswd-Server benutzt wird, durchsucht SSSD zuerst die DNS-Eintrage, die_udp als Protokoll angeben. Falls keine gefunden werden, weicht es auf _tcp aus. Diese Option hiess in fruheren Veroffentlichungen von SSSD >>krb5_kdcip<<. Obwohl der alte Name einstweilen noch in Erinnerung ist, wird Anwendern geraten, ihre Konfigurationsdateien auf die Verwendung von >>krb5_server<< zu migrieren. krb5_realm (Zeichenkette) der Name des Kerberos-Realms. Diese Option wird benotigt und muss angegeben werden. krb5_kpasswd, krb5_backup_kpasswd (Zeichenkette) Falls der Dienst zum Andern von Passwortern auf der Schlusselverwaltungszentrale (KDC) nicht lauft, konnen hier alternative Server definiert werden. An die Adressen oder Rechnernamen kann eine optionale Portnummer (der ein Doppelpunkt vorangestellt ist) angehangt werden. Weitere Informationen uber Ausfallsicherung und Redundanz finden Sie im Abschnitt >>AUSFALLSICHERUNG<<. HINWEIS: Selbst wenn es keine weiteren >>kpasswd<<-Server mehr auszuprobieren gibt, wird das Backend nicht offline gehen, da eine Authentifizierung gegen die Schlusselverwaltungszentrale (KDC) immer noch moglich ist. Voreinstellung: KDC benutzen krb5_ccachedir (Zeichenkette) Das Verzeichnis zum Ablegen von Anmeldedaten-Zwischenspeichern. Alle Ersetzungssequenzen von krb5_ccname_template konnen hier auch verwendet werden, ausser %d und %P. Das Verzeichnis wird als privat angelegt und ist Eigentum des Benutzers. Die Zugriffsrechte werden auf 0700 gesetzt. Voreinstellung: /tmp krb5_ccname_template (Zeichenkette) Der Ort fur die Zwischenspeicherung der Anmeldedaten des Benutzers. Drei Zwischenspeichertypen werden derzeit unterstutzt: "FILE", "DIR" und "KEYRING:persistent". Der Zwischenspeicher kann entweder als TYP:REST oder als absoluter Pfad angegeben werden, wobei Letzteres den Typ "FILE" beinhaltet. In der Schablone werden die folgenden Sequenzen ersetzt: %u Anmeldename %U Anmelde-UID %p Principal-Name %r Realm-Name %h Home-Verzeichnis %d Wert von krb5_ccachedir %P die Prozess-ID des SSSD-Clients %% ein buchstabliches >>%<< Falls die Vorlage mit >>XXXXXX<< endet, wird mkstemp(3) verwendet, um auf sichere Weise einen eindeutigen Dateinamen zu erzeugen. Wenn der KEYRING-Typ verwendet wird, ist "KEYRING:persistent:%U" der einzige unterstutzte Mechanismus. Hierfur wird der Schlusselbund des Linux-Kernels zum Speichern der Anmeldedaten getrennt nach Benutzer-IDs verwendet. Dies wird auch empfohlen, da es die sicherste und vorausberechenbarste Methode ist. Der Vorgabewert fur den Anmeldedaten-Zwischenspeicher wird aus dem im Abschnitt [libdefaults] der Datei krb5.conf enthaltenen Profil der systemweiten Konfiguration bezogen. Der Name der Option ist default_ccache_name. Im Abschnitt PARAMETER EXPANSION der Handbuchseite zu krb5.conf(5) finden Sie zusatzliche Informationen zu dem in krb5.conf definierten Format. NOTE: Please be aware that libkrb5 ccache expansion template from krb5.conf(5) uses different expansion sequences than SSSD. Voreinstellung: (aus libkrb5) krb5_keytab (Zeichenkette) der Speicherort der Keytab, der bei der Uberprufung von Berechtigungen benutzt wird, die von Schlusselverwaltungszentralen (KDCs) stammen. Voreinstellung: Keytab des Systems, normalerweise /etc/krb5.keytab krb5_store_password_if_offline (Boolesch) speichert das Passwort des Benutzers, falls der Anbieter offline ist, und benutzt es zur Abfrage des TGTs, wenn der Anbieter wieder online geht. HINWEIS: Diese Funktionalitat ist nur auf Linux verfugbar. Passworter, die auf diese Weise gespeichert wurden, werden im Klartext im Schlusselbund des Kernels aufbewahrt. Darauf kann unter Umstanden (mit Muhe) durch den Benutzer Root zugegriffen werden. Voreinstellung: >>false<< krb5_use_fast (Zeichenkette) Schaltet das flexible Authentifizierungs-Sicherheits-Tunneln (FAST) fur die Vorauthentifizierung von Kerberos ein. Die folgenden Optionen werden unterstutzt: never: FAST wird nie benutzt. Dies ist so, als ob diese Einstellung gar nicht gemacht wurde. try: Es wird versucht, FAST zu benutzen. Falls der Server kein FAST unterstutzt, fahrt die Authentifizierung ohne fort. demand: Fragt nach, ob FAST benutzt werden soll. Die Authentifizierung schlagt fehl, falls der Server kein FAST erfordert. Voreinstellung: nicht gesetzt, d.h. FAST wird nicht benutzt NOTE: a keytab or support for anonymous PKINIT is required to use FAST. HINWEIS: SSSD unterstutzt FAST nur mit MIT-Kerberos-Version 1.8 und neuer. Falls SSSD mit einer alteren Version von MIT-Kerberos benutzt wird, ist die Verwendung dieser Option ein Konfigurationsfehler. krb5_fast_principal (Zeichenkette) gibt den Server-Principal zur Benutzung von FAST an. krb5_fast_use_anonymous_pkinit (boolean) If set to true try to use anonymous PKINIT instead of a keytab to get the required credential for FAST. The krb5_fast_principal options is ignored in this case. Voreinstellung: >>false<< krb5_use_kdcinfo (Boolesch) gibt an, ob SSSD die Kerberos-Bibliotheken anweisen soll, welcher Realm und welche Schlusselverwaltungszentralen (KDCs) benutzt werden sollen. Diese Option ist standardmassig eingeschaltet. Falls Sie sie ausschalten, mussen Sie die Kerberos-Bibliothek mittels der Konfigurationsdatei krb5.conf(5) einrichten. Weitere Informationen uber die Locator-Erweiterung finden Sie auf der Handbuchseite sssd_krb5_locator_plugin(8). Voreinstellung: >>true<< krb5_kdcinfo_lookahead (string) When krb5_use_kdcinfo is set to true, you can limit the amount of servers handed to sssd_krb5_locator_plugin(8). This might be helpful when there are too many servers discovered using SRV record. The krb5_kdcinfo_lookahead option contains two numbers separated by a colon. The first number represents number of primary servers used and the second number specifies the number of backup servers. For example 10:0 means that up to 10 primary servers will be handed to sssd_krb5_locator_plugin(8) but no backup servers. Default: 3:1 krb5_use_enterprise_principal (Boolesch) gibt an, ob der User Principal als Enterprise Principal betrachtet werden soll. Weitere Informationen uber Enterprise Principals finden Sie in Abschnitt 5 von RFC 6806. Voreinstellung: falsch (AD-Anbieter: wahr) The IPA provider will set to option to 'true' if it detects that the server is capable of handling enterprise principals and the option is not set explicitly in the config file. krb5_use_subdomain_realm (boolean) Specifies to use subdomains realms for the authentication of users from trusted domains. This option can be set to 'true' if enterprise principals are used with upnSuffixes which are not known on the parent domain KDCs. If the option is set to 'true' SSSD will try to send the request directly to a KDC of the trusted domain the user is coming from. Voreinstellung: >>false<< krb5_map_user (string) The list of mappings is given as a comma-separated list of pairs "username:primary" where "username" is a UNIX user name and "primary" is a user part of a kerberos principal. This mapping is used when user is authenticating using "auth_provider = krb5". Beispiel: krb5_realm = REALM krb5_map_user = joe:juser,dick:richard "joe" and "dick" are UNIX user names and "juser" and "richard" are primaries of kerberos principals. For user "joe" resp. "dick" SSSD will try to kinit as "juser@REALM" resp. "richard@REALM". Voreinstellung: nicht gesetzt krb5_auth_timeout (Ganzzahl) Zeituberschreitung in Sekunden, nach der eine Online-Anfrage zur Authentifizierung oder Passwortanderung gescheitert ist. Falls moglich, wird die Authentifizierung offline fortgesetzt. Voreinstellung: 6 krb5_validate (Boolesch) pruft mit Hilfe von >>krb5_keytab<<, ob das erhaltene TGT keine Tauschung ist. Die Eintrage der Keytab werden der Reihe nach kontrolliert und der erste Eintrag mit einem passenden Realm wird fur die Uberprufung benutzt. Falls keine Eintrage dem Realm entsprechen, wird der letzte Eintrag der Keytab verwendet. Dieser Prozess kann zur Uberprufung von Umgebungen mittels Realm-ubergreifendem Vertrauen benutzt werden, indem der dazugehorige Keytab-Eintrag als letzter oder einziger Eintrag in der Keytab-Datei abgelegt wird. Default: false (IPA and AD provider: true) Please note that the ticket validation is the first step when checking the PAC (see 'pac_check' in the sssd.conf(5) manual page for details). If ticket validation is disabled the PAC checks will be skipped as well. krb5_renewable_lifetime (Zeichenkette) fordert ein erneuerbares Ticket mit einer Gesamtlebensdauer an. Es wird als Ganzzahl, der direkt eine Zeiteinheit folgt, angegeben: s fur Sekunden m fur Minuten h fur Stunden d fur Tage Falls keine Einheit angegeben ist, wird s angenommen. HINWEIS: Es ist nicht moglich, Einheiten zu mixen. Um die erneuerbare Lebensdauer auf eineinhalb Stunden zu setzen, verwenden Sie >>90m<< statt >>1h30m<<. Voreinstellung: nicht gesetzt, d.h. das TGT ist nicht erneuerbar. krb5_lifetime (Zeichenkette) Anforderungsticket mit einer Lebensdauer, angegeben als Ganzzahl, der direkt eine Zeiteinheit folgt: s fur Sekunden m fur Minuten h fur Stunden d fur Tage Falls keine Einheit angegeben ist, wird s angenommen. HINWEIS: Es ist nicht moglich, Einheiten zu mixen. Um die Lebensdauer auf eineinhalb Stunden zu setzen, verwenden Sie >>90m<< statt >>1h30m<<. Voreinstellung: nicht gesetzt, d.h. die Standardlebenszeit des Tickets auf der Schlusselverwaltungszentrale (KDC) krb5_renew_interval (Zeichenkette) die Zeit in Sekunden zwischen zwei Prufungen, ob das TGT erneuert werden soll. TGTs werden erneuert, wenn ungefahr die Halfte ihrer Lebensdauer uberschritten ist. Sie wird als Ganzzahl, der unmittelbar eine Zeiteinheit folgt, angegeben: s fur Sekunden m fur Minuten h fur Stunden d fur Tage Falls keine Einheit angegeben ist, wird s angenommen. HINWEIS: Es ist nicht moglich, Einheiten zu mixen. Um die erneuerbare Lebensdauer auf eineinhalb Stunden zu setzen, verwenden Sie >>90m<< statt >>1h30m<<. Falls diese Option nicht oder auf 0 gesetzt ist, wird die automatische Erneuerung deaktiviert. Voreinstellung: nicht gesetzt krb5_canonicalize (Boolesch) gibt an, ob der Rechner und User-Principal in die kanonische Form gebracht werden sollen. Diese Funktionalitat ist mit MIT-Kerberos 1.7 und neueren Versionen verfugbar. Voreinstellung: >>false<< AUSFALLSICHERUNG Die Ausfallsicherungsfunktionalitat ermoglicht es, dass Backends automatisch auf einen anderen Server wechseln, falls der aktuelle versagt. AUSFALLSICHERUNGSSYNTAX Die Server werden als durch Kommata getrennte Liste angegeben. Um das Komma herum ist eine beliebige Anzahl von Leerzeichen erlaubt. Die Server werden in Reihenfolge der Bevorzugung aufgefuhrt. Die Liste kann eine beliebige Anzahl von Servern enthalten. Von jeder Konfigurationsoption mit aktivierter Ausfallsicherung existieren zwei Varianten: primary und backup. Die Idee dahinter ist, dass Server in der Liste >>primary<< bevorzugt werden und nur nach >>backup<<-Servern gesucht wird, falls kein >>primary<<-Server erreichbar ist. Falls ein >>backup<<-Server ausgewahlt wird, wird eine Dauer von 31 Sekunden bis zur Zeituberschreitung festgelegt. Nach dieser Zeit wird SSSD periodisch versuchen, sich mit einem der primaren Server zu verbinden. Ist dies erfolgreich, wird es den derzeit aktiven (>>backup<<-)Server ersetzen. Der Ausfallsicherungsmechanismus Der Ausfallsicherungsmechanismus unterscheidet zwischen einer Maschine und einem Dienst. Das Backend versucht zuerst, den Rechnernamen der angegebenen Maschine aufzulosen. Falls dieser Versuch scheitert, wird davon ausgegangen, dass die Maschine offline ist und sie auch fur keinen anderen Dienst zur Verfugung steht. Kann der den Namen erfolgreich aufgelost werden, versucht das Backend, sich mit einem Dienst auf dieser Maschine zu verbinden. Ist das nicht moglich, dann wird nur dieser bestimmte Dienst als offline angesehen und das Backend wechselt automatisch weiter zum nachsten. Die Maschine wird weiterhin als online betrachtet und kann immer noch fur andere Dienste herangezogen werden. Weitere Verbindungsversuche zu Maschinen oder Diensten, die als offline gekennzeichnet sind, werden erst nach einer angegebenen Zeitspanne unternommen. Diese ist derzeit hart auf 30 Sekunden codiert. Falls es weitere Maschinen durchzuprobieren gibt, wechselt das Backend als Ganzes in den Offline-Modus und versucht dann alle 30 Sekunden, sich erneut zu verbinden. Failover time outs and tuning Resolving a server to connect to can be as simple as running a single DNS query or can involve several steps, such as finding the correct site or trying out multiple host names in case some of the configured servers are not reachable. The more complex scenarios can take some time and SSSD needs to balance between providing enough time to finish the resolution process but on the other hand, not trying for too long before falling back to offline mode. If the SSSD debug logs show that the server resolution is timing out before a live server is contacted, you can consider changing the time outs. This section lists the available tunables. Please refer to their description in the sssd.conf(5), manual page. dns_resolver_server_timeout Time in milliseconds that sets how long would SSSD talk to a single DNS server before trying next one. Voreinstellung: 1000 dns_resolver_op_timeout Time in seconds to tell how long would SSSD try to resolve single DNS query (e.g. resolution of a hostname or an SRV record) before trying the next hostname or discovery domain. Voreinstellung: 3 dns_resolver_timeout How long would SSSD try to resolve a failover service. This service resolution internally might include several steps, such as resolving DNS SRV queries or locating the site. Voreinstellung: 6 For LDAP-based providers, the resolve operation is performed as part of an LDAP connection operation. Therefore, also the "ldap_opt_timeout" timeout should be set to a larger value than "dns_resolver_timeout" which in turn should be set to a larger value than "dns_resolver_op_timeout" which should be larger than "dns_resolver_server_timeout". DIENSTSUCHE Die Dienstsuchfunktionalitat ermoglicht es Backends, automatisch mit Hilfe einer speziellen DNS-Abfrage geeignete Server zu suchen, mit denen sie sich verbinden konnen. Diese Funktionalitat wird nicht fur Datensicherungs-Server unterstutzt. Konfiguration Falls keine Server angegeben wurden, benutzt das Backend die Dienstsuche, um einen Server zu finden. Wahlweise kann der Benutzer sowohl feste Server-Adressen als auch die Dienstsuche durch Eingabe des speziellen Schlusselworts >>_srv_<< in der Server-Liste auswahlen. Die bevorzugte Reihenfolge wird verwaltet. Diese Funktionalitat ist zum Beispiel nutzlich, falls der Anwender es vorzieht, die Dienstsuche zu verwenden, wann immer dies moglich ist, und auf einen bestimmten Server zuruckzugreifen, wenn mittels DNS keine Server gefunden werden. Der Domain-Name Weitere Einzelheiten finden Sie in der Handbuchseite sssd.conf(5) beim Parameter >>dns_discovery_domain<<. Das Protokoll Die Abfragen geben als Protokoll ublicherweise >>_tcp<< an. Ausnahmen sind in der Beschreibung der entsprechenden Option dokumentiert. Siehe auch Weitere Informationen uber den Dienstsuchmechanismus finden Sie in RFC 2782. BEISPIEL Das folgende Beispiel geht davon aus, dass SSSD korrekt konfiguriert wurde und FOO eine der Domains im Abschnitt [sssd] ist. Dieses Beispiel zeigt nur die Authentifizierung mit Kerberos, sie umfasst keine Identitatsanbieter. [domain/FOO] auth_provider = krb5 krb5_server = 192.168.1.1 krb5_realm = EXAMPLE.COM SIEHE AUCH sssd(8), sssd.conf(5), sssd-ldap(5), sssd-ldap-attributes(5), sssd- krb5(5), sssd-simple(5), sssd-ipa(5), sssd-ad(5), sssd-files(5), sssd- sudo(5), sssd-session-recording(5), sss_cache(8), sss_debuglevel(8), sss_obfuscate(8), sss_seed(8), sssd_krb5_locator_plugin(8), sss_ssh_authorizedkeys(8), sss_ssh_knownhostsproxy(8), sssd-ifp(5), pam_sss(8). sss_rpcidmapd(5) AUTHORS The SSSD upstream - https://github.com/SSSD/sssd/ SSSD 05/17/2024 SSSD-KRB5(5)