Sicherheit eines SSH-Tunnels

Sicherheit eines SSH-Tunnels

Wir haben einen Cluster (aktuell 10 Maschinen) hinter einem NAT. Zwischen dem privaten Netzwerk und dem regulären Firmennetzwerk befindet sich ein NAT-Gateway/Jump-Host.

Benutzer können sshzum Jump-Host und dann auf jede andere Maschine hinter dem NAT zugreifen.

Ich möchte ein einfaches Skript bereitstellen, das ihnen hilft, Weboberflächen hinter dem NAT zu ihren lokalen Maschinen zu tunneln.

Mein erster Vorschlag war also: einen SSH-Socks-Proxy zu verwenden und die Schnittstellen zu ihrem lokalen Host zu tunneln.

Meine Frage ist also: Wenn ich diese beiden Tunnel erstelle (einen vom lokalen Computer meiner Kollegen zum Jump-Host und einen vom Jump-Host zur entsprechenden Maschine hinter dem NAT) – wie sicher ist dieser Tunnel?

Stellen Sie sich vor worker1, jemand macht Folgendes:

ssh -t [email protected] -L 10001:localhost:33388 ssh -t hostxyz.behindnat.tld

Auf dem Jump-Host-Rechner ist ein Port 33388 offen, der auf der Loopback-Schnittstelle lauscht. Wenn er worker2sich gerade beim Jump-Host anmeldet und den Localhost-Port 33388 auch für die bereits getunnelte Verbindung verwendet, muss er sich nicht erneut authentifizieren hostxyz.behindnat.tld, oder?

Das scheint mir eine große Sicherheitslücke zu sein. Gibt es eine bessere Lösung?

Antwort1

Ich gehe davon aus, dass Ihr Szenario eine bereits bestehende SSH-Sitzung zwischen Jumphost und Hostxyz voraussetzt, die für alle offen wäre, die Zugriff auf den Abhörport von Jumphost haben.

Sie haben Socken und Tunnel erwähnt, was technisch gesehen zwei verschiedene Dinge sind.

Richten Sie den Socks-Proxy von worker1 wie folgt ein: ssh [email protected] -D 127.0.0.1:10001

Stellen Sie den Browser von worker1 so ein, dass er Socks localhost:10001zum Surfen über jumphost.tld verwendet.

Wenn Sie per SSH direkt von worker1 zu hostxyz wechseln möchten, können Sie etwa Folgendes tun.

  ssh [email protected] -L localhost:10001:hostxyz:22
  ssh user@localhost:10001

So gehe ich vor. Ich verwende eine .ssh/config-Datei, um alles organisiert zu halten. Ich empfehle, Folgendes zu lesen, um Informationen zur Konfigurationsdatei und zum Tunneln zu erhalten.https://man.openbsd.org/ssh_configSehen Sie sich den Vortrag von Michael W. Lucas zu OpenSSH an, um eine weitere gute Einführung zu erhalten.

verwandte Informationen