2 votes

Est-ce une mauvaise sécurité de faire confiance à 127.0.0.1 (localhost) dans les connexions ssh ?

J'ai un script qui me permet de transférer des connexions SSH d'un port de ma machine à un hôte distant, accédant à un autre hôte distant qui n'est accessible que depuis cet hôte :

ssh -o ExitOnForwardFailure=yes -f -N -L ::22 @ -i  ;
ssh -o "UserKnownHostsFile=/dev/null" -o "StrictHostKeyChecking no" @127.0.0.1 -p ;

J'utilise ce script avec plusieurs hôtes distants/bases de données et je veux toujours utiliser le même forward_port, donc j'ai ajouté les options -o "StrictHostKeyChecking no" et -o "UserKnownHostsFile=/dev/null"; sans cela, ce message apparaît : IL EST POSSIBLE QUE QUELQU'UN FASSE QUELQUE CHOSE DE DANGEREUX !

Est-ce sécurisé ? Je pense que cela signifie essentiellement faire confiance à 127.0.0.1 qui ne sera probablement pas usurpé.

1voto

fratester Points 358

En réalité, on pourrait reformuler votre question et demander : est-il possible de monter ce scénario en une attaque qui ne serait pas possible si vous ne désactiviez pas les vérifications de clé hôte.

L'idée immédiate est qu'un attaquant redirige l'extrémité du tunnel ailleurs et profite du fait que vous exécutez là-bas l'authentification basée sur la clé. Parce que c'est la seule chose que votre client ne remarquerait pas - puisque la clé hôte reçue n'est pas validée.

Mais si nous supposons que vous utilisez la clé privée donnée uniquement pour ces serveurs, un attaquant ne peut rien gagner en redirigeant l'extrémité du tunnel ailleurs - puisque la clé n'est jamais acceptée là-bas. D'accord, au pire, il vous fera vous authentifier sur un autre serveur de votre liste que celui auquel vous vous attendez, mais dans ce cas, de toute façon, vous l'amèneriez sur le serveur que vous avez initialement demandé, et cela ne semble pas trop différent - je veux dire que vous devez évaluer cela, mais cela semble être une différence mineure.

Donc, d'après ce que je vois jusqu'à présent, je dirais que le risque lié à sa désactivation est acceptable.

[Mais n'oubliez pas d'utiliser cette clé pour rien d'autre!]

0voto

tumbleweed_user Points 46

Bien que j'aie marqué la réponse de @fratester comme acceptée (car c'est la bonne réponse à la question), j'aurais pu faire cette chose de tunneling ssh de façon native qui est beaucoup plus facile et sécurisée et sans me soucier du problème de sécurité qui me préoccupait.

Comme l'a commenté @Bob, consultez ce lien https://en.wikibooks.org/wiki/OpenSSH/Cookbook/Proxies_and_Jump_Hosts.

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