4 votes

Quelle est la logique des permissions par défaut de /etc/ssh/ssh_known_hosts ?

Par défaut, Debian et Ubuntu (au moins) configurent /etc/ssh/ssh_known_hosts sans lire la permission pour les autres. Quelle est la logique derrière cela ? Je ne vois aucun risque pour la sécurité avec o+r D'un autre côté, le fait qu'il soit accessible au public est utile pour les fichiers distribués par l'administration.

1voto

jammus Points 1796

Je dirais que l'intérêt de bloquer l'accès à ce fichier est d'empêcher un intrus qui a compromis votre système d'obtenir une liste d'hôtes auxquels votre système peut avoir accès. La même logique s'applique au fichier HashKnownHosts l'option étant activée par défaut ces derniers temps. En général, vous ne voulez pas que votre système fournisse tout ce dont un intrus a besoin pour prendre le contrôle de tout ce qui se trouve sur votre réseau.

Si vous n'avez ajouté que des entrées hachées dans votre /etc/ssh/ssh_known_hosts Je ne pense pas que ce serait vraiment un gros problème puisque l'inversion du hachage n'est pas possible.

1voto

Philippe Gachoud Points 123

Si cela se produit toujours, il semble qu'il s'agisse d'un bogue. ssh utilise la permission de l'utilisateur lorsqu'il lit ce fichier, donc s'il n'est pas lisible par tous, cela n'a aucun effet.

Je viens de tester l'id. Si je fixe la permission de /etc/ssh/ssh_known_hosts à 600, alors ssh affiche que "L'authenticité de l'hôte ... ne peut être établie".

Si je le fixe à 644, je peux me connecter au serveur distant sans l'invite.

sshd page de manuel indique clairement que "Ce fichier doit être accessible en écriture uniquement par root/le propriétaire et doit être lisible par le monde entier".

0voto

TheCompWiz Points 7329

Les clés ssh ne doivent pas être partagées sans raison valable. /etc/ssh/* sont des options de configuration qui s'appliquent à tous utilisateurs. Le fichier ssh_known_hosts est un moyen de spécifier une liste d'hôtes connus pour tous les utilisateurs qui se connectent à cette boîte. Je crois que vous pouvez également ajouter des entrées dans /home/*/.ssh/known_hosts pour appliquer un hôte "connu" à un utilisateur spécifique. Il ne devrait pas y avoir de problème avec le propriétaire ayant des droits de lecture.... en fait... tous les utilisateurs devraient avoir des droits de lecture sur ce fichier. Le problème se pose lorsque vous appliquez des droits d'écriture.

Ce fichier est utilisé pour identifier l'empreinte digitale du serveur distant... ainsi, lorsque vous vous connectez à votre serveur ultra-sécurisé... vous vous connectez réellement à votre serveur... et non à un autre serveur appartenant à un pirate qui joue à l'homme du milieu.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X