OVH Cloud OVH Cloud

Authentification du serveur en SSHv2

3 réponses
Avatar
totoy81
Bonjour,

Je comprends comment est réalisée en SSHv2 l'authentification du
client, mais je ne trouve aucune trace de la façon dont le serveur
sshd est authentifié. Après une premiere connexion, le serveur est
ajouté à la liste des "known hosts", mais qu'est ce qui empêche une
usurpation d'identité du serveur à la toute premiere connexion ?

Merci.

3 réponses

Avatar
VANHULLEBUS Yvan
(anth0) writes:

Bonjour,

Je comprends comment est réalisée en SSHv2 l'authentification du
client, mais je ne trouve aucune trace de la façon dont le serveur
sshd est authentifié.


Dans les pages de man de ssh, peut etre ?


Après une premiere connexion, le serveur est
ajouté à la liste des "known hosts", mais qu'est ce qui empêche une
usurpation d'identité du serveur à la toute premiere connexion ?


Un cerveau, par exemple ? Ah, et un client ssh bien configure,
aussi....


Chez moi, quand je me connecte pour la premiere fois a un serveur,
j'ai un beau warning, qui me dit que le serveur est inconnu, me montre
la fingerprint de sa cle, et me demande si c'est bien ca, ou si on
jette.

Et cette cle n'est ajoutee a la liste que si je le demande
explicitement !

Et puisque j'ai un cerveau (si, si, je vous jure !), bah je verifie
l'empreinte de la cle du serveur avant de dire "oui".


Apres, il y a certaines distribs / installs qui ajoutent
silencieusement la cle au .known_hosts lors de la premiere connexion,
ce qui est une configuration que je trouve particulierement
dangereuse !


A +

VANHU.

Avatar
Marwan Burelle
On 29 Jun 2004 09:48:06 GMT
VANHULLEBUS Yvan wrote:

Chez moi, quand je me connecte pour la premiere fois a un serveur,
j'ai un beau warning, qui me dit que le serveur est inconnu, me montre
la fingerprint de sa cle, et me demande si c'est bien ca, ou si on
jette.

Et cette cle n'est ajoutee a la liste que si je le demande
explicitement !

Et puisque j'ai un cerveau (si, si, je vous jure !), bah je verifie
l'empreinte de la cle du serveur avant de dire "oui".


Oui, maintenant, comment tu vérifies la clef de cette machine sans y
être connecté ?

La clef côté serveur est générée à l'install (ou à un moment équivalent)
de manière transparente pour l'admin et bien souvent cette clef n'existe
que sur le serveur. À partir de là, soit tu as déjà la clef (d'une
manière ou d'une autre), soit pour la vérifier il faut te connecter,
donc vérifier la clef ...

En gros, la seule chose que te propose réellement ssh est de vérifier
que la clef de la machine à laquelle tu te connectes n'a pas changé.
Maintenant, si l'admin du serveur l'a prévu il peut te fournir le
fingerprint ou le rendre accessible quelque part pour que tu vérifie
cette clef quand tu auras besoin. Combien le font ?

--
Burelle Marwan,
Equipe Bases de Donnees - LRI
http://www.cduce.org
( | )

Avatar
VANHULLEBUS Yvan
Marwan Burelle writes:

On 29 Jun 2004 09:48:06 GMT
VANHULLEBUS Yvan wrote:

Chez moi, quand je me connecte pour la premiere fois a un serveur,
j'ai un beau warning, qui me dit que le serveur est inconnu, me montre
la fingerprint de sa cle, et me demande si c'est bien ca, ou si on
jette.

Et cette cle n'est ajoutee a la liste que si je le demande
explicitement !

Et puisque j'ai un cerveau (si, si, je vous jure !), bah je verifie
l'empreinte de la cle du serveur avant de dire "oui".


Oui, maintenant, comment tu vérifies la clef de cette machine sans y
être connecté ?


Bah a priori, on ne se connecte en ssh que sur des machines qu'on
"connait", donc des machines dont on peut avoir l'empreinte de la cle
assez facilement (copie sur une cle USB/disquette/autre, empreinte
notee sur un bout de papier, voir eventuellement empreinte posee sur
un serveur web public qu'on peut contacter en toute confiance ou
surement plein d'autres possibilites).




La clef côté serveur est générée à l'install (ou à un moment équivalent)
de manière transparente pour l'admin et bien souvent cette clef n'existe
que sur le serveur. À partir de là, soit tu as déjà la clef (d'une
manière ou d'une autre), soit pour la vérifier il faut te connecter,
donc vérifier la clef ...


Bah la encore, on parle de connexion ssh, pas de requette https, donc
a priori, on peut supposer qu'il n'est pas trop contraignant d'avoir
la cle (ou au moins son empreinte) au prealable !


En gros, la seule chose que te propose réellement ssh est de vérifier
que la clef de la machine à laquelle tu te connectes n'a pas changé.


Non, pas seulement. Ssh donne d'autres possibilites. Maintenant on
s'en sert ou on s'en sert pas.


Maintenant, si l'admin du serveur l'a prévu il peut te fournir le
fingerprint ou le rendre accessible quelque part pour que tu vérifie
cette clef quand tu auras besoin. Combien le font ?



Mauvais admin, changer d'admin.....


A +

VANHU.