Sie müssen den Bildschirm eines Mac von Ihrem eigenen Rechner aus sehen, der Mac steht hinter einem Host, den Sie bereits per SSH erreichen können, und die Frage ist, ob das ein VPN verdient. Meistens nicht. Eine einzelne lokale Weiterleitung führt einen TCP-Port durch die SSH-Sitzung, die Sie ohnehin haben, und für einen Bildschirm auf einem Host ist das eine kleinere und besser prüfbare Anordnung, als ein ganzes Netz zu routen.

Drei Bedingungen entscheiden es, und jede von ihnen kann Sie stattdessen zum verwalteten VPN drücken.

Drei Bedingungen entscheiden es

Die erste ist der Umfang: ein Dienst auf einem Host oder mehrere Hosts und mehrere Ports. Die zweite ist, ob jeder Sprung zwischen Bastion und Ziel bereits vertrauenswürdig ist, weil SSH nur den Abschnitt schützt, den es beendet. Die dritte ist, wer die Anordnung unterstützen muss, nachdem Sie sie gebaut haben, denn ein selbstgebauter Tunnel überlebt tendenziell die Person, die ihn verstanden hat. Nennen Sie diese Person, bevor Sie beginnen, und schreiben Sie den Befehl an einen Ort, an dem sie ihn findet. Eine nicht dokumentierte Weiterleitung ist ein künftiger Vorfall mit aufgeschobenem Startdatum.

Wenn die Antworten „eins“, „ja“ und „ich, vorerst“ lauten, ist die Weiterleitung das richtige Werkzeug. Ändert sich eine Antwort, ist ein unterstütztes Fernzugriffsdesign über ein Jahr billiger als die Vorfallprüfung, die einem nicht dokumentierten Tunnel folgt.

Leiten Sie einen Port weiter, nicht das Netz

Eine lokale Weiterleitung öffnet einen Listener auf Ihrem Rechner und leitet jede Verbindung über den SSH-Server an ein Ziel weiter, das dieser Server erreichen kann. Für einen Mac, dessen Bildschirmfreigabedienst auf TCP 5900 lauscht, und eine Bastion, die mac.corp.example auflösen kann, ist der Befehl kurz und bewusst eng. Jede Option darin existiert, um die Anordnung klein zu halten: keine Shell, kein Listener auf allen Schnittstellen, kein Daemon. Lesen Sie ihn als Umfangserklärung, nicht als Rezept.

ssh -N -o ExitOnForwardFailure=yes -L 127.0.0.1:15900:mac.corp.example:5900 [email protected]

Den Listener an 127.0.0.1 zu binden hält ihn von allen anderen Schnittstellen fern. Das ist keine Formsache: eine an alle Schnittstellen gebundene Weiterleitung macht Ihren Laptop für alle im selben Café-WLAN zu einem offenen Relais in das Firmennetz. Ist der Port bereits belegt, wählen Sie einen anderen hohen Port und aktualisieren Sie den Viewer; stoppen Sie keinen unbeteiligten Dienst, damit das Beispiel passt.

Das Konto auf der Bastion braucht ebenfalls die Berechtigung, an dieses Ziel weiterzuleiten. Manche gehärteten SSH-Konfigurationen deaktivieren Portweiterleitung vollständig, andere beschränken sie mit einer permit-listen- oder permit-open-Direktive. Lesen Sie die Serverrichtlinie, bevor Sie annehmen, ein abgelehnter Kanal bedeute ein falsches Passwort.

Was SSH verschlüsselt und wo es endet

Die SSH-Sitzung schützt den Verkehr von Ihrem Mac zur Bastion, und die Weiterleitung trägt das VNC-Protokoll innerhalb dieser Sitzung, ohne es zu verstehen. Sobald die Verbindung die Bastion in Richtung Ziel verlässt, ist sie nicht mehr in Ihrer SSH-Sitzung. Welcher Schutz auch immer auf diesem letzten Sprung besteht, gehört zum Zielprotokoll und zu den eigenen Kontrollen des privaten Netzes.

Deshalb sollte ein einfacher letzter VNC-Sprung nicht als Ende-zu-Ende-verschlüsselt beschrieben werden, nur weil der erste Sprung SSH nutzte. Beschreiben Sie die Abschnitte ehrlich: stark vom Client zur Bastion und danach, was das Ziel unterstützt. Wenn die Anforderung lautet, dass der ganze Pfad durch einen Mechanismus verschlüsselt ist, erfüllt die Weiterleitung das nicht.

Die Authentifizierung am Ziel ist wieder etwas anderes. Das SSH-Konto gewährt keine macOS-Anmeldung, und der Bildschirmfreigabedienst verlangt weiterhin eigene Anmeldedaten und wendet weiterhin seine eigene Zugriffsliste an. Ein lokaler Listener, der eine Verbindung annimmt, beweist nichts darüber, ob der entfernte Dienst die Sitzung zulässt.

Wann das volle VPN die richtige Wahl ist

Wählen Sie das VPN, wenn die Aufgabe mehr als einen Port braucht: Verwaltungs- und Berichtsfunktionen von Apple Remote Desktop nutzen zusätzlichen TCP- und UDP-Verkehr, den eine einzelne TCP-Weiterleitung nicht trägt. Eine Weiterleitung ist keine Teilimplementierung des ganzen Produkts; sie ist ein anderes, kleineres Werkzeug.

Wählen Sie es, wenn sich mehrere Administratoren von wechselnden Standorten verbinden, weil ein verwaltetes Profil Routen, Anmeldedaten und Richtlinien verteilt, ohne dass jede Person eine Kommandozeile erfindet. Wählen Sie es, wenn der Prüfpfad zeigen muss, wer sich womit verbunden hat, denn eine SSH-Sitzung pro Benutzer und eine geteilte lokale Weiterleitung hinterlassen sehr unterschiedliche Aufzeichnungen.

Wählen Sie es schließlich, wenn das Zielnetz von einem Laptop überhaupt nicht erreichbar sein soll ohne das eigene Tor der Organisation. Eine persönliche Weiterleitung umgeht dieses Tor konstruktionsbedingt, und genau deshalb gehört sie in einen Änderungsdatensatz und nicht in eine Shell-Historie.

Lassen Sie die Weiterleitung laut scheitern

Verwenden Sie ExitOnForwardFailure=yes, damit ein fehlgeschlagenes Binden die Sitzung beendet, statt eine Shell zu hinterlassen, die verbunden aussieht und nichts weiterleitet. Lassen Sie die Hostschlüsselprüfung eingeschaltet und bevorzugen Sie einen Schlüssel oder Agenten gegenüber einem Passwort. Testen Sie dann die genaue URL, die der Viewer verwendet, denn eine funktionierende SSH-Sitzung und eine funktionierende Bildschirmverbindung sind zwei verschiedene Ergebnisse.

Für den nativen Client unter macOS erreicht man den Viewer über eine lokale URL: open "vnc://127.0.0.1:15900". Öffnet sich das Fenster und der entfernte Host lehnt die Authentifizierung ab, ist der Tunnel in Ordnung und das Problem liegt am Ziel. Öffnet sich das Fenster nie, liegt das Problem beim Listener oder am Port.

Beenden Sie die Sitzung, wenn Sie fertig sind, und notieren Sie Port, Bastion, Ziel und Kontorichtlinie. Eine Weiterleitung, die niemand dokumentiert hat, ist sechs Monate später nicht von einer Hintertür zu unterscheiden, und das ist das stärkste Argument, sie klein, benannt und vorübergehend zu halten.

Ähnliche Artikel