IT's good.

Wissen, Tipps und Tricks.

1/23/2007

Ein-Klick-Installation einer Fernwartungssoftware

Inhalt:

A) Beschreibung
B) Funktionsweise
C) Sicherheit
D) Quellenangaben [x]
............................................................................


A) Beschreibung


---------------

Der Zweck der Ein-Klick-Installation einer Fernwartungssoftware
besteht darin, über ein Netzwerk einen einfachen und schnellen Zugriff
auf die Rechner auch unerfahrener Kunden zu erhalten.
Und dies nur mittels eines einzigen Klicks auf eine ausführbare Datei.
Somit sollte es jedem Kunden möglich sein, die Fernwartungssoftware
selbst zu installieren, ohne dass der Support direkt daneben steht.

Damit das Ganze funktioniert, muss auf einem Rechner
beim Support ein sogenanter Listening-Viewer gestartet sein,
der darauf wartet, dass sich der Benutzer mit ihm verbindet.

B) Funktionsweise
-----------------

Installiert und benutzt wird das kostenlose OpenSource-Programm UltraVNC.
Nähere Informationen zum Programm und das Programm selbst findet man
bei [1].

Die Fernwartungs-Installation besteht im Frontend aus einer selbstentpackenden
exe-Datei (SFX, "Self-eXtracting").

Dieser Datei wurde, des schöneren Aussehens wegen, ein eigenes Symbol verpasst. Dies ist bei der Erstellung der SFX-Datei mit WinRAR [3] ganz einfach mittels einer
vorher erstellten, 48x48 Pixel großen bmp-Datei möglich.

Die SFX-Datei entpackt sich in ein ebenfalls bei der Erstellung anzugebendes Verzeichnis.
In unserem Falle war das ein Unterordner im voreingestellten Ordner
für Programme: "%programfiles%\it-support\vnc".

Mittels eines Schalters kann man zudem einstellen, ob die Installation "silent" (still, also ohne Eingreifen des Benutzers) ablaufen soll, oder ob der Benutzer einen
kleinen, selbst einzugebenden Text zu sehen bekommt und anschließend
auf "Weiter" klicken muss.

Desweiteren kann man bei der Erstellung der SFX-Datei einstellen, dass nach
dem Kopieren eine Datei ausgeführt wird (in unserem Beispiel war das die
install.bat, die weiter unten genauer beschrieben wird).

Nach dem Kopiervorgang findet man im Ordner folgende Dateien:

1.) vnc.ico
2.) Fernwartung.lnk
3.) ultravnc.reg
4.) UltraVNCSetup.exe
5.) pv.exe
6.) install.bat
7.) fernwartung.bat


Diese Dateien haben folgende Funktionen:

1.) vnc.ico


-----------
Dies ist das Symbol der Verknüpfung, die der Benutzer nach der Installation
auf seinem Desktop vorfindet.

2.) Fernwartung.lnk


-------------------
Die schon erwähnte Verknüpfung; sie enthält den Pfad zur Startdatei
der Fernwartung.

3.) ultravnc.reg


----------------
Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\ORL\WinVNC3]
"Password"=hex:xx,xx,xx,xx,xx,xx,xx,xx

Dieser Schlüssel wird zur Registry hinzugefügt und enthält das Passwort,
das nötig ist, um sich später mit dem Support zu verbinden.
Das Passwort wird vom Support festgelegt, anschließend an der oben erwähnten
Stelle aus der Registry gefischt und in die ultravnc.reg eingefügt.

Es wäre auch möglich, dass der Benutzer das Passwort vom Support erhält und
selbst eingibt, aber mit einem selbstinstallierendem RegKey ist es mit Sicherheit
problemlos.

4.) UltraVNCSetup.exe


---------------------
Die von ultravnc.sourceforge.net heruntergeladene Installationsdatei.

5.) pv.exe


----------
Eine kleines, frei verfügbares Programm, das überprüft, welche Prozesse gerade auf dem
Rechner laufen. Man bekommt es bei [2].


6.) install.bat


---------------
Eine Stapelverarbeitungsdatei, die folgende Befehle enthält:

UltraVNCSetup.exe /silent /SP- /NORESTART
REM Startet die Installation von UltraVNC ohne Benutzerbestätigung ("silent"),
REM in das Standard-Verzeichnis %programfiles%\UltraVNC.

regedit /s %programfiles%\it-support\ultravnc.reg
REM Fügt den Schlüssel zur Registry hinzu. Der Schalter "/s" verhindert
REM das Anzeigen der Meldung "Soll dieser Schlüssel hinzugefügt werden?".

copy %programfiles%\it-support\vnc\Fernwartung.lnk "%UserProfile%"\Desktop\
REM Kopiert den Link auf den Desktop des Benutzers

7.) fernwartung.bat


-------------------
Eine Stapelverarbeitungsdatei, die folgende Befehle enthält:

@ECHO off
REM keine Anzeige der Befehle bei der Ausführung der Datei

%programfiles%\it-support\pv.exe > %programfiles%\it-support\result.txt
REM überprüft, welche Progesse auf dem Rechner laufen und schreibt das
REM Ergebnis in die Datei result.txt

FIND "winvnc.exe" %programfiles%\it-support\result.txt > nul
REM durchsucht die Datei result.txt nach "winvnc.exe", überprüft
REM also, ob der Server schon gestartet wurde, um Fehlermeldungen zu vermeiden.
REM Der Befehl FIND erzeugt ein abfragbares Ergebnis ("ERRORLEVEL"):
REM 0=gefunden, 1= nicht gefunden

IF ERRORLEVEL 1 goto START
REM wenn nicht gefunden, gehe zu START

IF ERRORLEVEL 0 goto ENDE
REM wenn gefunden, gehe zu ENDE

:START
REM Hier geht's weiter, wenn der Server nicht läuft.

start %programfiles%\UltraVNC\winvnc.exe
REM Startet den Server

ping 127.0.0.1 -n 5 > nul
REM Wartet fünf Sekunden, damit der Server starten kann.

%programfiles%\UltraVNC\winvnc.exe -connect adresse.vncserver.de
REM Verbindet den Server mit dem Support. Die Adresse des Supports
REM (am besten eine dynamische DNS-Adresse) wird anstelle von
REM "adresse.vncserver.de" eingefügt.

goto EXIT
REM geht zum Ende der Stapelverarbeitungsdatei

:ENDE
REM Hier geht's weiter, wenn der Server läuft.

%programfiles%\UltraVNC\winvnc.exe -connect adresse.vncserver.de
REM Verbindet den Server mit dem Support. Die Adresse des Supports (am besten REM eine dynamische DNS-Adresse) wird anstelle von "adresse.vncserver.de"
REM eingefügt .

goto EXIT
REM geht zum Ende der Stapelverarbeitungsdatei

:EXIT
REM Beendet die Stapelverarbeitungsdatei


C) Sicherheit


-------------

Natürlich gibt es auch bei der Fernwartung einige nicht
zu vernachlässigende Sicherheitsaspekte:
zum einen das Passwort für die VNC-Verbindung
und zum anderen die VNC-Verbindung selbst.

Das Passwort liegt in der nicht passwortgeschützten SFX-Datei
einfach als Regstrierungseintrag vor, was bedeutet, dass
es auch jeder anderen Person im Besitz der SFX-Datei möglich ist,
eine Verbindung zum Support-Rechner aufzubauen.

Eine Möglichkeit, dies zu beheben, wäre die Absicherung der SFX-Datei
mit einem Passwort oder das Verpacken des Registrierungsschlüssels
innerhalb der SFX-Datei in eine passwortgeschützte Datei.

Eine weitere Möglichkeit besteht darin, dem Kunden das VNC-Passwort
mitzuteilen, so dass er es bei der ersten Benutzung selbst eingeben
muss, was nicht allzu schwer ist, aber natürlich bei weniger
erfahrenen Kunden trotzdem zu Problemen führen könnte.

Die Verschlüsselung der VNC-Verbindung selbst ist einfach durch
DSM-Plugins ([4], Data Stream Modification) möglich.
Sie werden server- und clientseitig gestartet und mit einem
Schlüssel versehen, also einer Zeichenfolge, mit der die Verbindung
verschlüsselt wird.

Wir arbeiten gerade daran, die Plugins in die Ein-Klick-Installation
einzubinden, also sie beim Kunden mittels eines Startparameters
zu laden. Sobald wir eine Lösung gefunden haben, werden wir es hier
veröffentlichen.

D) Quellenangaben


-----------------

[1] http://ultravnc.sourceforge.net/
[2] http://www.faratasystems.com/pview/prcview.htm
[3] http://www.winrar.de/
[4] http://www.uvnc.com/features/encryption.html

Anmerkungen und Kritik bitte an: info[at]bucher-it.de

7/26/2005

Sichere Passwörter

Folgende Beispiele können zu sicheren Passphrasen führen:

1. Liedtext
Ein leicht zu merkendes Lied wie "Alle meine Entchen". Man nimmt die Anfangsbuchstaben und setzt diese so zusammen:

"AmEsadSsadSKidWSidH",

ergibt ein gutes Passwort.

2. Buchstabentausch
Ein gutes Passwort wie "AmEsadSsadSKidWSidH" kann durch Tausch von bestimmten Buchstaben mit passenden Zahlen zu einem sicheren Passwort werden:

"4m3s4dSs4dSK1dWS1dH".

Beide Möglichkeiten haben den großen Vorteil, dass sie leicht zu merken sind (für den Benutzer), gleichzeitig aber schwer zu merken (für den über-die-Schulter-Blickenden), da sie ja eigentlich keinen Sinn ergeben.

Hinweis: Auch diese Varianten bringen nichts, wenn nicht eine Mindestanzahl von Buchstaben/Ziffern verwendet wird. Ich empfehle mindestens 8, besser 10 Zeichen.

.m
Der keine Entchensongs in seinen Passphrasen verwendet, so mal am Rande.

7/07/2005

Linux: Speicherverbrauch ermitteln

Mit 'df' kann man schnell sehen, wieviel Speicherplatz auf den Festplatten frei ist.
Mit 'df -h' wird dieser human readable in Kilo-, Mega-, Gigaeinheiten angezeigt.(Disk free)

du -hs zeigt den summarized Speicherverbrauch des aktuellen Verzeichnisses inkl. Unterverzeichnisse human readable an. (Disk usage)

.markus