SSH-Tunnel: sichere Dienste am Beispiel VNC

Juni 4th, 2007

Ich nutze VNC, um extern auf die GUI meines PowerBooks zuzugreifen. Leider bietet VNC von sich aus keine Verschlüsselung und ist damit per se unsicher. Eine Verwendung ohne Verschlüsselung über fremde Netze – das Internet ist so eins – ist nicht zu empfehlen. Zudem muss in der Firewall auf dem Router ein Port weitergeschaltet werden. Damit kann jeder auf den VNC-Dienst zugreifen. Das nötige Passwort kann schlicht durch Bruteforce herausgefunden werden.

SSH
Obige Tatsachen lassen das Betreiben eines VNC-Servers, der aus dem Internet erreichbar ist, erst einmal als nicht empfehlenswert aussehen. Jedoch ist Mac OS X ein Unix und bietet daher den Dienst SSH an. Unter Windows muss dieser mit Open SSH nachinstalliert werden.
Den meisten ist SSH als sicherer Login auf ein entferntes Terminal bekannt und dies ist auch der größte Verwendungszweck. Jedoch bietet SSH zahlreiche weitere Möglichkeiten. Mit "man ssh" in einer Shell lassen sich alle Parameter nachlesen. Ein Feature ist der SSH-Tunnel.

Funktionsweise
Wenn ich mich vom Rechner Bob über das Internet zum Rechner Alice per SSH verbinde, so ist diese Verbindung verschlüsselt. Zusätzlich kann ich festlegen, dass der Zugriff auf den Dienst xy auf meinem lokalen Rechner Bob durch die SSH-Verbindung in Wahrheit an Alice weitergeleitet und dort bearbeitet wird.
Beispiel: Gebe ich im Browser auf Bob localhost:8080/geheimeSeite ein, so wird dieser Aufruf an Alice weitergereicht und die Webseite kommt nicht von Bob, sondern von Alice. Natürlich muss diese Weiterleitung erst eingerichtet werden.

Syntax
Die Syntax sieht folgendermaßen aus:

ssh -L lokalerPort:aktuellerRechner:zielPort kennung@zielsystem

Optional kann man noch mit der Option -N das Absetzen von Kommandos über die geöffnete Shell verhindern und mit -p einen anderen Port als den Standard 22 angeben. Für meine VNC-Anwendung auf Port 5900 sieht es dann konkret so aus:

ssh -p 22222 -L 5900:localhost:5900 mathias@meinName.dyndns.tld

Fazit
Die Sicherung beliebiger Dienste über einen SSH-Tunnel ist einfacher als es sich anhört und in jedem Fall zu empfehlen. Zum einen wird der Datenverkehr verschlüsselt und zum anderen sind Dienste nicht direkt von außen zugänglich. D.h. keine Portweiterleitungen und damit potentielle Angriffsflächen. Je nach Port-Angabe kann ein anderer Dienst gesichert werden. Außer den angesprochenen Web- und VNC-Servern können auch Verbindungen zu Mail-Servern oder irgendwas anderem getunnelt werden.

Hinweise
Es empfiehlt sich den SSH-Zugang auf wenige, oder gar nur einen Account ohne Admin-Rechte zu begrenzen. Ausreichend lange Passwörter mit Groß- und Kleinschreibung, sowie Zahlen und Sonderzeichen sind ein Muss.

Tags: , ,

 

Entry Filed under: IT und Wissenschaft

1 Comment Add your own

  • 1. Patrick  |  November 6th, 2007 at 14:59

    Super Sache! Vielen Dank! Karma sei Dir gewährt! :-D

Leave a Comment

Required

Required, hidden

Summe von 4 + 7 ?

Some HTML allowed:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Trackback this post  |  Subscribe to the comments via RSS Feed


Aktuelle Posts