Scroll to navigation

rpc.gssd(8) System Manager's Manual rpc.gssd(8)

NOM

rpc.gssd - Démon RPCSEC_GSS

SYNOPSIS

rpc.gssd [-DfMnlvr] [-k tableau_clés] [-p pipefsdir] [-d ccachedir] [-t 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).

Pour certaines opérations, une accréditation qui ne représente aucun utilisateur est nécessaire, n’est par ailleurs pas privilégiée et est toujours disponible. Cette accréditation est appelée accréditation machine.

Les accréditations machine sont typiquement établies en utilisant un commettant de service, dont les mots de passe chiffrés, appelés ses clés, sont stockés dans un fichier, appelé tableau_clés, afin d'éviter l'utilisation d'une invite utilisateur. Une accréditation machine n'expire pas en pratique car le système peut la renouveler en cas de besoin sans l'intervention de l'utilisateur.

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

Une accréditation utilisateur est établie par un utilisateur et est ensuite partagée avec le noyau et rpc.gssd. Une accréditation machine est établie par rpc.gssd pour le noyau quand il n’existe pas d'utilisateur. C'est pourquoi rpc.gssd doit déjà disposer du nécessaire pour établir cette accréditation sans nécessiter l'intervention d'un utilisateur.

rpc.gssd cherche dans le tableau de clés du système local un commettant et une clé à utiliser pour établir l'accréditation machine. Par défaut. rpc.gssd suppose que le fichier /etc/krb5.keytab contient des commettants et des clés qui peuvent être utilisés pour obtenir des accréditations machine.

rpc.gssd cherche un commettant à utiliser dans l'ordre suivant, le premier qui correspond à un des critères étant sélectionné. Pour la recherche, <nom_d'hôte> et <DOMAINE> sont remplacés respectivement 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>

Les entrées <n'importe_quel_nom> correspondent au nom de service et au domaine mais pas au nom d'hôte. Elles peuvent être utilisées si un commettant correspondant au nom d'hôte local n'est pas trouvé.

Notez que le premier commettant dans l'ordre de la recherche est un commettant utilisateur qui active NFS avec Kerberos lorsque le système local est joint à un domaine Active Directory avec Samba. Un mot de passe pour ce commettant doit être fourni dans le tableau de clés du système local.

Vous pouvez indiquer un autre tableau de clés 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

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.

Lancer rpc.gssd en tâche de premier plan et rediriger sa sortie standard vers la sortie d'erreur (au lieu de syslogd).
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.
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.
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.
Indiquer à rpc.gssd où chercher le système de fichiers rpc_pipefs. Par défaut, il s'agit de /var/lib/nfs/rpc_pipefs.
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.
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.
Augmenter le niveau de verbosité de la sortie (peut être demandé plusieurs fois).
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.
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.
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.
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.

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 à debian-l10n-french@lists.debian.org.

20 février 2013