Fernwartung mit UltraVNC und SecureVNCPlugin

Wer Fernwartung professionell, sicher und ohne Unkosten betreiben will, kommt um VNC nicht herum. VNC steht für Virtual Network Computing. Der Vorteil von VNC: es implementiert das Remote Framebuffer Protocol und ist damit, im Gegensatz zu anderer Fernwartungssoftware, plattformunabhängig benutzbar.

Dieses Tutorial beschreibt die Einrichtung von UltraVNC und veschlüsselter Datenübertragung mit dem SecureVPNPlugin sowie das Portforwarding für Remotezugriff ausserhalb des lokalen Netzwerks.

  • Installation von UltraVNC

Die aktuellste Version von UltraVNC herunterladen und installieren: http://www.uvnc.com/downloads/ultravnc.html

Der entfernte Computer, der ferngesteuert werden soll, benötigt den „UltraVNC Server“. Zum Betrachten bzw. Fernsteuern wird am lokalen Computer der „UltraVNC Viewer“ benötigt.

Es macht Sinn, den UltraVNC Server als System-Dienst zu registrieren, um zu gewährleisten, dass er dauerhaft läuft.

  • Verwendung des SecureVPNPlugin

Um sicher zu stellen, dass die Verbindung verschlüsselt ist, sollte man das SecureVPNPlugin verwenden: http://www.adamwalling.com/SecureVNC/.

Dazu die ensprechende Plugin Datei herunterladen (SecureVNCPlugin.dsm bzw. SecureVNCPlugin64.dsm, je nachdem ob UltraVNC x86 oder x64 installiert wurde) und in das Installationsverzeichnis von UltraVNC verschieben.

  • Einrichtung des UltraVNC Servers

Zur Einrichtung des UltraVNC Servers im Windows Kontextmenü Rechtsklick auf das Hellblaue UltraVNC Symbol und „Admin Properties“ wählen.

Die meisten Einstellungen können auf Standard belassen werden:

Als VNC Passwort und View-Only Passwort sollten zur Sicherheit Pässwörter vergeben werden. Diese werden aber nicht benötigt, solange das DSM Plugin benutzt wird.

Unter der Groupbox „DSM Plugin“ den Hacken setzen bei „Use“, in der Dropdown das Plugin auswählen (es sollte verfügbar sein wenn die Datei im UVNC Installationsverzeichnis abgelegt wurde) und anschließend auf „Config.“ klicken.

Auch hier können die meisten Einstellungen auf Standard belassen werden. Lediglich ein sicheres (!) Passwort sollte gewählt werden. Ich verwende ein zufällig generiertes bestehend aus Buchstaben, Zahlen und Sonderzeichen.

Zusätzlich zum Passwortschutz generiert man zwei Authentifizierungsschlüssel. Auch diese müssen im Installationsverzeichnis von UVNC landen.
Dabei ist zu beachten, dass derSchlüssel „Server_ClientAuth.pubkey“ NUR auf dem Server PC (fernzusteuernder Computer) gespeichert wird und unter keinen Umständen weitergegeben werden soll. Der Schlüssel „Viewer_ClientAuth.pkey“ muss in das UVNC Installationsverzeichnis des Viewer PCs. Nur die Kombination aus Passwort und Schlüsseldateien macht eine Verbindung möglich!

Alle Fenster mit Close/OK schließen und fertig.

Die normalen Einstellungen (im Windows Kontextmenü Rechtsklick auf das Hellblaue UltraVNC Symbol und „Properties“ wählen) können auf Standard belassen werden:

  • UltraVNC Viewer und Verbindungstest

Im Installationsverzeichnis des UltraVNC Viewers muss ebenso das SecreVNCPlugin gespeichert werden, genauso wie der Schlüssel „Viewer_ClientAuth.pkey“ des entfernten Rechners.

Dann den Viewer öffnen:

Im unteren Bereich „Use DSMPlugin“ selektieren und in der Dropdown Box das Plugin auswählen. (Config ist nicht notwendig)
Als VNC Server „Computername::Port“ eingeben (falls der Port in den Server Einstellungen nicht verändert wurde, ist das 5900) und dann auf „Connect“ klicken um zu verbinden.

Es sollte eine Passwortabfrage erscheinen:

Hier die Passphrase eingeben, welche unter SecureVNCPlugin festgelegt wurde. Voila! Die Verbindung sollte aufgebaut werden. Man kann auch theoretisch als Selbsttest auf den eigenen Rechner verbinden. Dabei entsteht aber eine nette Enlosschleife:

  • Verbindungsprobleme

Falls vor der Passwortabfrage folgende Meldung erscheint: „Failed to connect to server“, kann dies mehrere Ursachen haben, die hier genauer beschrieben sind: http://www.uvnc.com/onlinehelp/15.html

Checkliste:

– Ist der entfernte PC im Netz verfügbar? Test: „C:\>ping hostname“ bzw. „C:\>ping host-ip“.
Ich hatte, den Fall, dass der Hostname anpingbar war, aber in UltraVNC hat es nur mit der IP funktioniert. Dafür kann man den Hostname und IP in die Windows-hosts-Datei eintragen.

– Ist der gesetzte Port offen? Test: „C:\>telnet hostname port“ (ggf. telnet installieren: „choco install telnet -y“) Lösung:

Port in Windows Firewall freischalten:

  1. Navigiere durch die Systemsteuerung > Windows Firewall
  2. Klicke auf „Erweiterte Einstellungen“ im linken Menü
  3. Klicke auf „Eingehende Regeln“ mit Rechtsklick und dann auf „Neue Regel“
  4. Wähle „Port“, klicke Weiter, „TCP“ und gib „5900“ als lokalen Port an.
  5. Klicke Weiter und erlaube die Verbindung.
  6. Klicke Weiter und wähle „Domain“, „Privat“ and „Öffentlich“ aus
  7. Gib der Regel einen Namen und speichere sie.
  • Portforwarding

Wenn die lokale VNC Verbindung erlofgreich hergestellt wurde, folgt der logische nächste Schritt: Zugriff aus dem Internet. Hierfür eignen sich zwei Möglichkeiten. Zum Einen gibt es die Möglichkeit, eine VPN Verbindung zum entfernten Netwerk herzustellen – wenn man sich per VPN quasi in das lokale Netzwerk einklinkt, ist die VNC Verbindung einfach wie oben beschrieben herzustellen.

Alternativ genügt es, im Router den Port 5900 für den fernzusteuernden Computer nach ‚Aussen‘ freizugeben. Hierbei empfiehlt sich, nicht den selben Port zu wählen, wie den internen. Als Protokoll wird TCP benutzt.

Da extern ein beliebiger Port benutzt werden kann, können auch mehrere Geräte in einem Netzwerk angesteuert werden, sofern jedes Gerät nach ‚Aussen‘ je einen eindeutigen Port zugewiesen bekommt.

Hier ein Beispiel für dsa Portforwarding des UltraVNC Ports bei der Fritzbox:

Idealerweise sollte die Fritzbox über Dynamic DNS eine feste Domäne besitzen.