Cette page de manuel décrit la configuration du moteur d'authentification de Kerberos 5 pour sssd(8). Pour une référence détaillée sur la syntaex, veuillez vous référer à la section "FORMAT DE FICHIER" du manuel de sssd.conf(5).
Le moteur d'authentification Kerberos 5 contient les fournisseurs d'authentification et de changement de mot de passe. Il doit être couplé avec un fournisseur d'identité de manière à fonctionner proprement (par exemple, id_provider = ldap). Plusieurs informations requises par le moteur d'authentification Kerberos 5 doivent être fournies par le fournisseur d'identité, telles que le nom du principal de l'utilisateur Kerberos (UPN). La configuration du fournisseur d'identité doit avoir une entrée pour spécifier l'UPN. Veuillez vous référer aux pages du manuel du fournisseur d'identité ad-hoc pour pouvoir le configurer.
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.
Dans le cas où l'UPN n'est pas valide dans le moteur d'identité, sssd construira un UPN en utilisant le format utilisateur@krb5_realm.
Si le module auth krb5 est utilisé dans un domaine SSSD, les options suivantes doivent être utilisées. Cf. la page de manuel sssd.conf(5), section "SECTIONS DOMAINE" pour plus de détails sur la configuration d'un domaine SSSD.
krb5_server, krb5_backup_server (string)
Lors de l'utilisation de découverte de services pour le KDC ou les serveurs kpasswd, SSSD recherche en premier les entrées DNS qui définissent _udp comme protocole, et passe sur _tcp si aucune entrée n'est trouvée.
Cette option s'appelait "krb5_kdcip" dans les versions précédentes de SSSD. Bien que ce nom soit toujours reconnu à l'heure actuelle, il est conseillé de migrer les fichiers de configuration vers l'utilisation de "krb5_server".
krb5_realm (chaîne)
krb5_kpasswd, krb5_backup_kpasswd (string)
Pour plus d'information sur la bascule et la redondance de serveurs, voir la section "BASCULE". Noter que même si il n'y a plus de serveurs kpasswd à essayer, le moteur ne passe pas en mode hors-ligne si l'authentification KDC est toujours possible.
Par défaut : utiliser le KDC
krb5_ccachedir (chaîne)
Par défaut : /tmp
krb5_ccname_template (chaîne)
%u
%U
%p
%r
%h
%d
%P
%%
If the template ends with 'XXXXXX' mkstemp(3) is used to create a unique filename in a safe way.
When using KEYRING types, the only supported mechanism is "KEYRING:persistent:%U", which uses the Linux kernel keyring to store credentials on a per-UID basis. This is also the recommended choice, as it is the most secure and predictable method.
The default value for the credential cache name is sourced from the profile stored in the system wide krb5.conf configuration file in the [libdefaults] section. The option name is default_ccache_name. See krb5.conf(5)'s PARAMETER EXPANSION paragraph for additional information on the expansion format defined by krb5.conf.
NOTE: Please be aware that libkrb5 ccache expansion template from krb5.conf(5) uses different expansion sequences than SSSD.
Par défaut : (valeur provenant de libkrb5)
krb5_auth_timeout (entier)
Par défaut : 6
krb5_validate (booléen)
Par défaut : false
krb5_keytab (chaîne)
Par défaut : /etc/krb5.keytab
krb5_store_password_if_offline (booléen)
NOTE : cette fonctionnalité n'est actuellement disponible que sur les plates-formes Linux. Les mots de passe stockés de cette manière sont conservés en texte brut dans le trousseau de clés du noyau et sont potentiellement accessibles à l'utilisateur root (avec difficulté).
Par défaut : false
krb5_renewable_lifetime (chaîne)
s pour secondes
m pour minutes
h pour heures
d pour jours.
Si aucune unité n'est spécifiée, s est utilisé.
NOTE : il n'est pas possible de mélanger les unités. Pour indiquer une durée de vie renouvelable de une heure et trente minutes, utiliser « 90m » au lieu de « 1h30m ».
Par défaut : non défini, c'est-à-dire que le TGT n'est pas renouvelable
krb5_lifetime (chaîne)
s pour secondes
m pour minutes
h pour heures
d pour jours.
Si aucune unité n'est spécifiée, s est utilisé.
NOTE : il n'est pas possible de mélanger les unités. Pour indiquer une durée de vie de une heure et trente minutes, utiliser « 90m » au lieu de « 1h30m ».
Par défaut : non défini, c'est-à-dire la durée de vie par défaut configurée dans le KDC.
krb5_renew_interval (chaîne)
s pour secondes
m pour minutes
h pour heures
d pour jours.
Si aucune unité n'est spécifiée, s est utilisé.
NOTE : il n'est pas possible de mélanger les unités. Pour indiquer une durée de vie renouvelable de une heure et trente minutes, utiliser « 90m » au lieu de « 1h30m ».
Si cette option n'est pas définie ou définie à 0, le renouvellement automatique est désactivé.
Par défaut : non défini
krb5_use_fast (chaîne)
never : ne jamais utiliser FAST. Ceci équivaut à ne pas définir cette option.
try : eassyer d'utiliser FAST. Si le serveur ne prend pas en charge FAST, continuer l'authentification sans.
demander : imposer d'utiliser FAST. L'authentification échoue si le serveur ne requiert pas FAST.
Par défaut : non défini, i.e. FAST n'est pas utilisé.
NOTE : un fichier keytab est requis pour utiliser FAST.
NOTE : SSSD prend en charge le paramètre FAST uniquement avec MIT Kerberos version 1.8 et au-delà. L'utilisation de SSSD avec une version antérieure de MIT Kerberos avec cette option est une erreur de configuration.
krb5_fast_principal (chaîne)
krb5_canonicalize (booléen)
Par défaut : false
krb5_use_kdcinfo (booléen)
Consulter la page de manuel de sssd_krb5_locator_plugin(8) pour plus d'informations sur le greffon de localisation.
Par défaut : true
krb5_kdcinfo_lookahead (string)
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 (booléen)
Par défaut : false (AD provider : true)
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)
Par défaut : false
krb5_map_user (chaîne)
exemple :
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".
Par défaut : non défini
La fonctionnalité de bascule autorise le moteur à basculer automatiquement sur un serveur différent si le serveur actuel est défaillant.
La liste des serveurs est donnée sous forme de liste séparée par des virgules ; un nombre quelconque d'espaces est autorisé autour de la virgule. Les serveurs sont répertoriés par ordre de préférence. La liste peut contenir un nombre quelconque de serveurs.
Pour chaque option de configuration alors que la bascule est activée, il existe deux variantes : primary et backup. L'idée est que les serveurs dans la liste principale sont préférés et les serveurs de secours sont interrogés uniquement si aucun serveur primaire ne peut être atteint. Si un serveur de secours est sélectionné, un délai d'attente de 31 secondes est défini. Après ce délai d'attente, SSSD tentera périodiquement de se reconnecter à un des serveurs primaires. S'il réussit, il remplacera l'actuel serveur (de secours) actif.
Le mécanisme de bascule fait la distinction entre une machine et d'un service. Le moteur tente d'abord de résoudre le nom d'hôte d'un ordinateur donné ; en cas d'échec de cette tentative de résolution, la machine est considérée comme hors ligne. Aucune autre tentative n'est faite pour se connecter à cette machine pour tout autre service. Si la tentative de résolution réussit, le serveur principal tente de se connecter à un service sur cette machine. Si la tentative de connexion de service échoue, alors ce seul service est considéré comme hors ligne et le moteur passe automatiquement au service suivant. La machine est toujours considérée en ligne et peut toujours être considérée pour une tentative d'accès à un autre service.
Les tentatives de connexion ultérieures sont faites vers des machines ou des services marqués comme hors connexion après un délai spécifié ; ce délai est actuellement spécifié en dur à 30 secondes.
S'il n'y a plus aucune machine à essayer, le moteur dans son ensemble bascule dans le mode hors connexion et tente ensuite de se reconnecter toutes les 30 secondes.
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
Par défaut : 1000
dns_resolver_op_timeout
Par défaut : 3
dns_resolver_timeout
Par défaut : 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".
La fonctionnalité de découverte de services permet aux moteurs de trouver automatiquement les serveurs appropriés auxquels se connecter à l'aide d'une requête DNS spéciale. Cette fonctionnalité n'est pas pris en charge pour sur les serveurs secondaires.
Si aucun serveur n'est spécifié, le moteur utilise automatiquement la découverte de services pour tenter de trouver un serveur. L'utilisateur peut aussi choisir d'utiliser des adresses de serveur et de découverte de services fixes en insérant un mot-clé spécial, "_srv_", dans la liste des serveurs. L'ordre de préférence est maintenu. Cette fonctionnalité est utile si, par exemple, l'utilisateur préfère utiliser la découverte de services chaque fois que possible et se replier vers un serveur spécifique lorsqu'aucun serveur ne peut être découvert à l'aide du DNS.
Se reporter au paramètre "dns_discovery_domain" dans la page de manuel sssd.conf(5) pour plus de détails.
Les requêtes spécifient généralement _tcp comme protocole. Les exceptions sont documentées dans les descriptions respectives des options.
Pour plus d'informations sur le mécanisme de découverte de services, se reporter à la RFC 2782.
L'exemple suivant suppose que SSSD est correctement configuré et que FOO est l'un des domaines de la section [sssd]. Cet exemple montre uniquement la configuration de l'authentification Kerberos, et n'inclut aucun fournisseur d'identité.
[domain/FOO] auth_provider = krb5 krb5_server = 192.168.1.1 krb5_realm = EXAMPLE.COM
sssd(8), sssd.conf(5), sssd-ldap(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) sssd-systemtap(5)
The SSSD upstream - https://github.com/SSSD/sssd/