chiffrement de type onion dans les commandes ssh multi-hop

0

Dans ce que nous pourrions appeler l'exemple ssh canonique multi-sauts , nous pouvons voir que la commande suivante acheminerait le trafic ssh de l'utilisateur vers trois nœuds consécutifs (fictifs):

ssh ruapehu.example.com ssh aoraki ssh tongariro

nom ruapehu.example.com, aorakiet tongariro. L'exemple simplifie la configuration à l'aide de commandes proxy. Une des faiblesses du schéma est que les deux premiers nœuds peuvent lire le trafic, alors qu’il serait préférable de ne pas le faire. Si nous parvenons à introduire les commandes [encrypt] et [déchiffrer] dans la chaîne, nous pourrons nous rapprocher de ce que fait le réseau tor. Un autre problème est de savoir comment introduire la redirection de port dans la chaîne multi-sauts. Ce qui suit ne fonctionnera évidemment pas, mais c’est à peu près ce que je voudrais faire:

[chiffrer] ssh ruapehu.example.com ssh aoraki ssh tongariro [déchiffrer] -L 80: somesite.com: 80

Est-ce que quelqu'un pourrait faire quelque chose comme ça?

erik
la source

Réponses:

1

Vous avez posé deux questions:

  1. Comment pouvons-nous nous assurer que le trafic passant par les hôtes intermédiaires n'est pas "reniflé"?

La réponse est que vous n'avez rien à faire. CHAQUE connexion SSH est cryptée. Le trafic "vu" par ruapehuet aorakin'est pas en clair. Vous n'avez pas besoin d'ajouter de couche de chiffrement supplémentaire.

  1. Comment pouvez-vous activer le transfert de port vers la destination?

La réponse la plus simple consiste à utiliser le ~/.ssh/configfichier et à ajouter une directive pour la destination uniquement, comme dans (emprunter à votre propre référence, en ajoutant uniquement la dernière ligne):

Host ruapehu
  HostName ruapehu.example.com

Host aoraki
  ProxyCommand ssh -q ruapehu nc -q0 aoraki 22

Host tongariro
  LocalForward 80:somesite.com:80
  ProxyCommand ssh -q aoraki nc -q0 %h 22

En d'autres termes, si vous pouvez ouvrir le port 80 sur votre hôte local, vous devrez peut-être utiliser un port non privilégié, supérieur à 1024 (en fonction de votre hôte et de votre configuration).

Aigrette Pourpre
la source
0

Si vous créez en une étape le port transféré de votre machine à la machine cible, puis établissez une connexion SSH sur ce port transféré, vous obtenez essentiellement ce que vous avez décrit dans votre dernier exemple.

  1. Créez la redirection de port:

    # jump from aoraki -> tongariro
    ssh ruapehu.example.com "ssh -L 2222:tongariro:22 aoraki" 
    # jump from ruapehu.example.com -> aoraki
    ssh -L ruapehu.example.com:2222:aoraki:2222 ruapehu.example.com
    

    Cela suppose que vous ayez configuré votre serveur de manière appropriée GatewayPortsafin que vous puissiez lier le port 2222 de l'extérieur.

  2. Initiez une nouvelle sshconnexion au serveur cible:

    ssh -p 2222 ruapehu.example.com
    

    Cette connexion sera cryptée sur toutes les étapes intermédiaires et vous pourrez également configurer un autre transfert de port à travers celle-ci.

Jakuje
la source