rpc.gssd
Table des matières
Retour à l'index
NOM
rpc.gssd - Démon RPCSEC_GSS
SYNOPSIS
rpc.gssd [-DfMnlvrH] [-k tableau_clés] [-p pipefsdir]
[-d ccachedir] [-t attente] [-T attente] [-U
attente] [-R domaine]
INTRODUCTION
Le protocole RPCSEC_GSS, défini par la norme RFC 5403, est utilisé pour
fournir une sécurité accrue pour les protocoles basés sur RPC, tels que NFS.
Avant d'échanger des requêtes RPC en utilisant RPCSEC_GSS, un client RPC
doit établir un contexte de sécurité GSS. Un contexte de sécurité est un
état commun à chaque extrémité d'un transport réseau qui active les services
de sécurité GSS-API.
Les contextes de sécurité sont établis en utilisant des accréditations de sécurité (security credentials). Une accréditation de sécurité offre
l'accès temporaire à un service réseau sécurisé, tout comme un ticket de
train donne le droit d'accéder temporairement au réseau ferroviaire.
Un utilisateur obtiendra typiquement une accréditation en fournissant un mot
de passe à la commande kinit(1), ou grâce à la bibliothèque modulaire
d'authentification PAM lors de la connexion. Une accréditation acquise avec
un commettant utilisateur est appelée accréditation utilisateur
(consultez kerberos(1) pour plus d'informations sur les commettants).
Certaines opérations nécessitent une accréditation ne représentant aucun
utilisateur particulier ou représentant l’hôte lui-même. Ces accréditations
sont appelées accréditations machine.
Un hôte établit son accréditation machine en utilisant un commettant de service, dont les mots de passe chiffrés sont stockés dans un fichier local
appelé tableau_clés. Une accréditation machine reste effective sans
aucune intervention d’utilisateur aussi longtemps que l’hôte peut la
prolonger.
Une fois obtenues, les accréditations sont en général stockées dans des
fichiers temporaires locaux avec des noms de chemin connus.
DESCRIPTION
Pour établir des contextes de sécurité GSS en utilisant ces fichiers
d'accréditation, le client RPC du noyau Linux dépend d'un démon en espace
utilisateur appelé rpc.gssd. Le démon rpc.gssd utilise le système de
fichiers rpc_pipefs pour communiquer avec le noyau.
Accréditations utilisateur
Lorsque un utilisateur s'authentifie en utilisant une commande comme
kinit(1), l'accréditation correspondante est stockée dans un fichier avec
un nom clairement identifié construit à partir de l'identifiant de
l'utilisateur.
Pour interagir avec un serveur NFS au nom d'un utilisateur authentifié par
Kerberos, le client RPC du noyau Linux demande l'initialisation par
rpc.gssd du contexte de sécurité avec l’accréditation dans le fichier
d'accréditation de l'utilisateur.
Typiquement, les fichiers d'accréditation sont placés dans
/tmp. Cependant, rpc.gssd peut chercher des fichiers d'accréditation
dans plusieurs répertoires. Consultez la description de l'option -d pour
plus de détails.
Accréditations machine
rpc.gssd cherche dans le tableau de clés par défaut, /etc/krb5.keytab,
dans l’ordre suivant un commettant et un mot de passe à utiliser lors de
l’établissement de l’accréditation machine. Pour la recherche, rpc.gssd
remplace <nom_d'hôte> et <DOMAINE> par le nom d'hôte du
système local et le domaine (« realm ») Kerberos.
<nom_d'hôte>$@<DOMAINE>
root/<nom_d'hôte>@<DOMAINE>
nfs/<nom_d'hôte>@<DOMAINE>
host/<nom_d'hôte>@<DOMAINE>
root/<n'importe_quel_nom>@<DOMAINE>
nfs/<n'importe_quel_nom>@<DOMAINE>
host/<n'importe_quel_nom>@<DOMAINE>
rpc.gssd sélectionne une des entrées de <n’importe_quel_nom> s’il
ne trouve pas un commettant de service correspondant au nom d’hôte local,
par exemple, si DHCP assigne le nom d’hôte dynamiquement. Le dispositif
<n’importe_quel_nom> active l’utilisation du même tableau de clés
sur plusieurs systèmes. Cependant, l’utilisation du même commettant de
service pour établir une même accréditation machine sur plusieurs hôtes peut
créer des expositions de sécurité non désirées et par conséquent n’est pas
recommandée.
Notez que le <nom_d’hôte>$@<DOMAINE> est un commettant
utilisateur qui active NFS avec Kerberos lorsque le système local est joint
à un domaine Active Directory avec Samba. Le tableau de clés fournit le mot
de passe pour ce commettant.
Vous pouvez indiquer un tableau de clés différent avec l'option -k si
/etc/krb5.keytab n'existe pas ou ne fournit pas l'un de ces commettants.
Accréditations pour l'identifiant utilisateur 0
L'identifiant utilisateur 0 est un cas particulier. Par défaut, rpc.gssd
utilise l'accréditation machine du système pour les accès de l'identifiant
utilisateur 0 qui nécessitent une authentification GSS. Cela limite les
droits du superutilisateur lors d'accès à des ressources réseau nécessitant
une authentification.
Indiquez l'option -n au démarrage de rpc.gssd si vous souhaitez forcer
le superutilisateur à obtenir une accréditation plutôt que d’utiliser
l'accréditation machine locale du système.
Lorsque l'option -n est indiquée, le noyau continue de demander un
contexte GSS établi avec une accréditation machine pour les opérations NFS
version 4, telles que SETCLIENTID ou RENEW qui gèrent l'état. Si rpc.gssd
ne peut pas obtenir d'accréditation machine (par exemple si le système local
n'a pas de tableau de clés), les opérations NFS version 4 qui nécessitent
une accréditation machine échoueront.
Types de chiffrement
Un administrateur de domaine peut choisir d'ajouter dans le tableau de clés
du système local des clés chiffrées de différentes façons. Par exemple, un
hôte ou un commettant peut avoir des clés pour les types de chiffrement
aes256-cts-hmac-sha1-96, aes128-cts-hmac-sha1-96, des3-cbc-sha1 et
arcfour-hmac. Cela permet à rpc.gssd de choisir un type de chiffrement
approprié pris en charge par le serveur NFS cible.
Ces types de chiffrement sont plus robustes que les types de chiffrement
historiques DES simple. Pour interopérer dans des environnements dans
lesquels des serveurs ne prennent en charge que des types de chiffrement
faibles, vous pouvez forcer votre client à utiliser le chiffrement DES
simple en indiquant l'option -l au démarrage de rpc.gssd.
OPTIONS
- -D
-
Le nom de serveur passé à GSS-API pour l’authentification est normalement le
nom tel qu’il est demandé. Par exemple, pour NFS, c’est le nom du serveur
dans la requête de montage « nom_serveur:/chemin ». Seulement si le nom du
serveur semble être une adresse IP (IPv4 or IPv6) ou un nom non qualifié
(pas de points), une recherche DNS inverse sera faite pour obtenir le nom
canonique du serveur.
Si -D est présent, une recherche DNS inverse sera toujours utilisée,
même si le nom du serveur semble être un nom canonique. Aussi c’est
nécessaire si des noms partiellement qualifiés ou non canoniques sont
régulièrement utilisés.
L’utilisation de -D peut introduire une vulnérabilité de sécurité, aussi
il est recommandé de ne pas utiliser -D, et que les noms canoniques
soient toujours utilisés dans la requête de services.
- -f
-
Lancer rpc.gssd en tâche de premier plan et rediriger sa sortie standard
vers la sortie d'erreur (au lieu de syslogd).
- -n
-
Lorsque demandé, l'identifiant utilisateur 0 est imposé pour obtenir des
accréditations utilisateur utilisées au lieu des accréditations machine du
système local.
- -k tableau_clés
-
Indiquer à rpc.gssd d'utiliser les clés trouvées dans tableau_clés
afin d'obtenir les accréditations machine. La valeur par défaut est
/etc/krb5.keytab.
- -l
-
Lorsqu'elle est indiquée, elle restreint rpc.gssd aux sessions avec des
types de chiffrement faible, tels que des-cbc-crc. Cette option n'est
disponible que lorsque la bibliothèque Kerberos du système local prend en
charge les types de chiffrement réglables.
- -p chemin
-
Indiquer à rpc.gssd où chercher le système de fichiers rpc_pipefs. Par
défaut, il s'agit de /var/lib/nfs/rpc_pipefs.
- -p chemin_recherche
-
Cette option indique une liste de répertoires séparés par des deux-points
« : » qui seront examinés par rpc.gssd lors de la recherche de fichiers
d'accréditation. La valeur par défaut est /tmp:/run/user/%U. La séquence
« %U » peut être indiquée pour représenter l'identifiant de l'utilisateur
pour qui des accréditations sont cherchées.
- -M
-
Par défaut, les accréditations machine sont stockées dans des fichiers du
premier répertoire dans le chemin de recherche des accréditations (voir
l'option -d). Lorsque l'option -M est indiquée, rpc.gssd stocke
alors les accréditations machine en mémoire.
- -v
-
Augmenter le niveau de verbosité de la sortie (peut être demandé plusieurs
fois).
- -r
-
Augmenter le niveau de verbosité de la sortie (cette option peut être
indiquée plusieurs fois) si la bibliothèque RPCSEC_GSS accepte le réglage du
niveau de débogage.
- -R domaine
-
Les tickets Kerberos de ce domaine (« realm ») seront pris de préférence
pendant le parcours des fichiers de cache disponibles servant à la création
d'un contexte. Le domaine (« realm ») par défaut du fichier de
configuration de Kerberos sera utilisé de préférence.
- -t m
-
Attente, en seconde, pour le contexte GSS du noyau. Cette option vous permet
d'obliger la négociation de nouveaux contextes du noyau après attente
secondes, ce qui permet l'échange fréquent de tickets et d'identités
Kerberos. Le temps d'attente par défaut n'est pas précisé, ce qui signifie
que le contexte vivra le temps du ticket de service Kerberos utilisé lors de
sa création.
- -T attente
-
Attente, en seconde, pour créer une connexion RPC avec un serveur tout en
établissant un contexte GSS authentifié pour un utilisateur. L’attente par
défaut est réglée à cinq secondes. Si vous obtenez un message tel que
« WARNING: can't create tcp rpc_clnt to server %servername% for user with
uid %uid%: RPC: Remote system error - Connection timed out », vous devriez
envisager d’augmenter le temps d’attente.
- -U attente
-
Attente, en seconde, pour les threads d'appel montant. Les threads dont
l'exécution dure plus de attente secondes provoqueront un message
d'erreur qui sera journalisé. L'attente par défaut est 30 secondes. Le
minimum est 5 secondes et le maximum 600 secondes.
- -C
-
En plus de la journalisation des messages d'erreur pour le threads qui ont
dépassé le délai, le thread sera annulé et une erreur de -ETIMEDOUT sera
rapportée au noyau.
- -H
-
Éviter le réglage de $HOME à « / ». Cela autorise rpc.gssd à lire les
fichiers k5identity de chaque utilisateur plutôt que de lire les fichiers
/.k5identity de chaque utilisateur.
Si -H n’est pas défini, rpc.gssd utilisera la première correspondance
trouvée dans /var/kerberos/krb5/user/$EUID/client.keytab et n’utilisera
pas un commettant basé sur les paramètres de l’hôte ou du service listés
dans $HOME/.k5identity.
FICHIER DE CONFIGURATION
La plupart des options pouvant être réglées sur la ligne de commande peuvent
aussi l’être à travers des valeurs définies dans la section [gssd] du
fichier de configuration /etc/nfs.conf. Les valeurs autorisées
comprennent :
- verbosity
-
Valeur qui est équivalente au nombre pour -v.
- rpc-verbosity
-
Valeur qui est équivalente au nombre pour -r.
- use-memcache
-
Un drapeau booléen équivalent à -M.
- use-machine-creds
-
Drapeau booléen. Le réglage à false est équivalent à indiquer le drapeau
-n.
- avoid-dns
-
Le réglage à false est équivalent à indiquer le drapeau -D.
- limit-to-legacy-enctypes
-
Équivalent à -l.
- allowed-enctypes
-
Allows you to restrict rpc.gssd to using a subset of the encryption types
permitted by the kernel and the krb5 libraries. This is useful if you need
to interoperate with an NFS server that does not have support for the newer
SHA2 and Camellia encryption types, for example. This configuration file
option does not have an equivalent command-line option.
- context-timeout
-
Équivalent à -t.
- rpc-timeout
-
Équivalent to -T.
- keytab-file
-
Équivalent à -k.
- cred-cache-directory
-
Équivalent à -d.
- preferred-realm
-
Équivalent à -R.
- upcall-timeout
-
Équivalent de -U.
- cancel-timed-out-upcalls
-
Le réglage à true est équivalent à indiquer le drapeau -C.
- set-home
-
Le réglage à false est équivalent à fournir l’option -H.
De plus, la valeur suivante de la section [general] est reconnue :
- pipefs-directory
-
Équivalent à -p.
VOIR AUSSI
rpc.svcgssd(8), kerberos(1), kinit(1), krb5.conf(5)
AUTEURS
Dug Song <dugsong@umich.edu>
Andy Adamson <andros@umich.edu>
Marius Aamodt Eriksen <marius@umich.edu>
J. Bruce Fields <bfields@umich.edu>
TRADUCTION
La traduction française de cette page de manuel a été créée par
Valéry Perrin <valery.perrin.debian@free.fr>,
Sylvain Cherrier <sylvain.cherrier@free.fr>,
Thomas Huriaux <thomas.huriaux@gmail.com>,
Dominique Simen <dominiquesimen@hotmail.com>,
Nicolas Sauzède <nsauzede@free.fr>,
Romain Doumenc <rd6137@gmail.com>,
David Prévot <david@tilapin.org>,
Denis Mugnier <myou72@orange.fr>,
Cédric Boutillier <cedric.boutillier@gmail.com>
et
Jean-Paul Guillonneau <guillonneau.jeanpaul@free.fr>
Cette traduction est une documentation libre ; veuillez vous reporter à la
GNU General Public License version 3
concernant les conditions de copie et
de distribution. Il n'y a aucune RESPONSABILITÉ LÉGALE.
Si vous découvrez un bogue dans la traduction de cette page de manuel,
veuillez envoyer un message à
Index
- NOM
-
- SYNOPSIS
-
- INTRODUCTION
-
- DESCRIPTION
-
- Accréditations utilisateur
-
- Accréditations machine
-
- Accréditations pour l'identifiant utilisateur 0
-
- Types de chiffrement
-
- OPTIONS
-
- FICHIER DE CONFIGURATION
-
- VOIR AUSSI
-
- AUTEURS
-
- TRADUCTION
-
This document was created by
man2html,
using the manual pages.
Time: 05:06:40 GMT, September 19, 2025