NOM

rpc.gssd - Démon RPCSEC_GSS

SYNOPSIS

rpc.gssd [-DfMnlvrHC] [-k keytab] [-p pipefsdir] [ -d ccachedir] [-t timeout] [-T timeout] [-U timeout] [ -R realm]

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 attente
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 timeout
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 timeout
Timeout, in seconds, for upcall threads. Threads executing longer than timeout seconds will cause an error message to be logged. The default timeout is 30 seconds. The minimum is 5 seconds. The maximum is 600 seconds.
-C
In addition to logging an error message for threads that have timed out, the thread will be canceled and an error of -ETIMEDOUT will be reported to the kernel.
-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.
context-timeout
Équivalent à -t.
rpc-timeout
Équivalent to -T.
keytab-file
Équivalent à -k.
cred-cache-directory
Équivalent à -d.
preferred-realm
Équivalent à -R.
upcall-timeout
Equivalent to -U.
cancel-timed-out-upcalls
Setting to true is equivalent to providing the -C flag.
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 <[email protected]>
 
Andy Adamson <[email protected]>
 
Marius Aamodt Eriksen <[email protected]>
 
J. Bruce Fields <[email protected]>

TRADUCTION

La traduction française de cette page de manuel a été créée par Valéry Perrin <[email protected]>, Sylvain Cherrier <[email protected]>, Thomas Huriaux <[email protected]>, Dominique Simen <[email protected]>, Nicolas Sauzède <[email protected]>, Romain Doumenc <[email protected]>, David Prévot <[email protected]>, Denis Mugnier <[email protected]>, Cédric Boutillier <[email protected]> et Jean-Paul Guillonneau <[email protected]>
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 à [email protected]

Recommended readings

Pages related to gssd you should read also: