[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: SSHFS : Une alerte est manquante sur l'état des droits de clé privée



Le 08/07/19 à 19h22, G2PC <g2pc@visionduweb.com> a écrit :
> SSHFS : Une alerte est manquante sur l'état des droits de clé privée
> 
> Avis aux développeurs de paquets, pour corriger le bogue suivant, ouvert
> sur le Github officiel du paquet SSHFS.
> 
> Je suis probablement mauvais, mais je crée mes clés privées sur le
> serveur, après une première connexion avec un simple mot de passe.
> Une fois cela fait, je copie le contenu de mes clés sur la machine locale.

Pourquoi ne pas les générer directement sur la machine locale ?
C'est bcp plus simple, et les fichiers auront directement les bons droits.

En console, sous le user qui veut générer une paire de clés c'est la
commande `ssh-keygen`


> Pour cela, je suis en mode graphique et je crée deux fichiers sur ma
> machine: id_rsa_private et id_rsa.pub qui ont, par défaut, les droits 664.

C'est de là que vient le pb, la clé privée doit être en 600 (la publique
peut rester en 644)

> Je remarque le message d'alerte suivant, avec SSH, lorsque je souhaite
> me connecter avec mon utilisateur local simple, à l'aide de la clé privée:
> 
> ssh USER@SERVEUR -i /home/USERLOCAL/.ssh/SERVEUR/id_rsa_private
> 
> @@@@@@@@@@@@@@@@@@@@@@@@@@@@@
> WARNING: UNPROTECTED PRIVATE KEY FILE!
> @@@@@@@@@@@@@@@@@@@@@@@@@@@@@
> Permissions 0664 for '/home/USERLOCAL/.ssh/SERVEUR/id_rsa_private' are
> too open.
> It is required that your private key files are NOT accessible by others.
> This private key will be ignored.
> 
> On note ici la traduction de l'anglais vers le français : This private
> key will be ignored. -> La clé privée est ignorée !
> 
> Avec ça, je comprends mieux!
> J'ai identifié ce qui ressemble à un bogue, ou plutôt à un manque de
> précision, sur SSHFS, mais, cela me semble important.

C'est pas un bug mais une fonctionnalité, une clé privée que tout le monde
peut lire n'est pas privée et ne sert à rien, elle est donc logiquement
ignorée par ssh.

> sshfs -o allow_other,
> IdentityFile=/home/$USERLOCAL/.ssh/$SERVEUR/id_rsa_private
> $USERSERVEUR@$SERVEUR:/home/$USERSERVEUR/$FOLDER /home/$USERLOCAL/$FOLDER

> Si l'utilisateur qui se connecte est l'utilisateur root de la machine
> locale, la phrase secrète est requise lors du montage de dossiers
> partagés.

Tu es sûr que c'est la phrase secrète de la clé privée qui est demandée, et
qu'elle est ensuite utilisée ? Ça m'étonne, ça voudrait dire que ssh
tolèrerait une clé privée en 644 si c'est root qui l'utilise, ça ce serait
un bug (de ssh), j'en doute un peu, je pense qu'il demande aussi le pass
de $USERSERVEUR@$SERVEUR si c'est root qui lance la commande (et que la
clé privée est en 644, et que $SERVEUR accepte les connexions par mot de
passe, ce qui est par ailleurs une mauvaise idée).

> Si l'utilisateur qui se connecte est un simple utilisateur de la machine
> locale, le mot de passe de l'utilisateur sur le SERVEUR est demandé lors
> du montage des dossiers partagés.

Ça peut se comprendre, la clé privée est ignorée donc sshfs fait comme si
tu n'en avais pas précisé.

> Attention ! Ce n'est pas le comportement normal! Si la clé privée qui
> est copiée localement a les droits, 600, c'est la phrase secrète qui
> sera demandée. C'est ce que nous voulons !
> 
> 
> Donc, ici, SSHFS ne nous informe pas de la présence de la clé, qui
> possède de mauvais droits, tout comme le fait SSH, lors d’une connexion
> en tant que simple utilisateur local.
> Pourtant, le comportement semble identique ! SSHFS va ignorer la clé
> privée ! OUTCH :/
> 
> Je pense vraiment que SSHFS devrait être capable de mettre en garde sur
> le problème des droits appliqués à la clé privée, de la même manière que
> le fait déjà SSH.
> 
> https://github.com/libfuse/sshfs/issues/180

Je comprends ton point de vue, à partir du moment où tu lui précises une clé
à utiliser il devrait le faire ou s'arrêter avec le bon message d'erreur,
mais c'est visiblement pas l'option choisie par les développeurs de sshfs
(je sais pas si c'est un choix délibéré ou un oubli, tu as bien fait de
poser la question).

-- 
Daniel

Au reste, si l'éducation de la jeunesse est négligée, ne nous en 
prenons qu'à nous-mêmes et au peu de considération que nous 
témoignons à ceux qui s'en chargent.
d'Alembert


Reply to: