Existe-t-il un risque de sécurité pour la divulgation de votre fichier SSH known_hosts?

32

Je parlerai lors d'une conférence la semaine prochaine de certains outils logiciels que j'ai créés. Mon ordinateur portable sera affiché sur un écran de projection pendant cette présentation. La présentation sera enregistrée sur vidéo et affichée sur youtube. Si, pour une raison quelconque, j’ai l’occasion d’ouvrir et d’éditer mon ~/.ssh/known_hostsfichier au cours de cette présentation, dois-je débrancher le projecteur en le faisant? Existe-t-il un risque de sécurité pour la divulgation de mon fichier known_hosts?

Matt Korostoff
la source
7
Pourquoi ne pas simplement remplacer votre réel known_hostspar un faux lors de la présentation?
Sven
1
... ou si vous ne vérifiez pas les empreintes digitales de l'hôte en premier lieu, utilisez une ssh -oUserKnownHostsFile=/dev/null -oStrictHostKeyChecking=no user@hostméthode similaire pour contourner la question relative aux empreintes digitales et éviter les vérifications par rapport aux hôtes connus connus.
Lekensteyn
@Sven le fichier known_hosts ne fait pas partie de la présentation, mais le logiciel que je suis en train de démontrer nécessite de temps en temps que je modifie mes inconnus. Le public n'a pas besoin de voir cela (je vais donc utiliser l'édition en aveugle comme l'ont suggéré plusieurs commentateurs ici), mais éditer un faux fichier known_hosts n'atteindrait tout simplement pas mon objectif.
Matt Korostoff

Réponses:

43

Le fichier known_hosts contient les clés publiques sécurisées des hôtes auxquels vous vous êtes connecté par le passé. Ces clés publiques peuvent être obtenues simplement en essayant de se connecter à ces hôtes. Par conséquent, il n’ya pas de risque de sécurité en soi.

Mais: Il contient l’historique des hôtes auxquels vous êtes connecté. Les informations peuvent être utilisées par un attaquant potentiel pour réduire l’infrastructure de l’organisation par exemple. En outre, il informe les attaquants potentiels que vous avez probablement accès à certains hôtes et que le vol de votre ordinateur portable leur donnera également accès.

Edit: Pour éviter de montrer votre fichier known_hosts, je vous recommande d’utiliser cet ssh-keygenutilitaire. ssh-keygen -R ssh1.example.orgpar exemple, supprime les clés approuvées ssh1.example.orgde vos hôtes connus.

Richard
la source
15

Il n'y a rien de particulièrement dangereux à ce sujet. Cependant, vous ne souhaitez peut-être pas divulguer ces informations d'identification. Parfois, l’existence d’hôtes révèle de bonnes lignes d’attaque pour les inclinés. Vous pouvez utiliser HashKnownHostsou éditer le fichier sans le regarder.


Blind edit:
sed -i 25d .ssh/known_hostssupprime la ligne 25 sans mettre aucun contenu à l’écran.

HashKnownHosts
Indique que ssh (1) doit hacher les noms d'hôtes et les adresses lorsqu'ils sont ajoutés à ~ / .ssh / known_hosts. Ces noms hachés peuvent être utilisés normalement par ssh (1) et sshd (8), mais ils ne révèlent aucune information permettant d'identifier le contenu du fichier. La valeur par défaut est "non". Notez que les noms et adresses existants dans les fichiers hôtes connus ne seront pas convertis automatiquement, mais peuvent être hachés manuellement à l'aide de ssh-keygen (1).

84104
la source
4
Au lieu de calculer manuellement le numéro de ligne et de le supprimer avec sed, vous pouvez également utiliser ssh-keygen -R example.com.
Lekensteyn
4
Vous pouvez également utiliser ssh-keygen -H -f ~/.ssh/known_hostspour hacher tous les noms / adresses du fichier.
Barmar