VNC: Sicherheit für Kunden

Hi to all!

Wir möchten gern für die Kundenanlagen, die wir zu betreuen haben ein RemoteControl-Tool (für NT, w2k) einzusetzen.

Momentan geben wir VNC den Vorzug wegen OpenSource und wegen leichter Integrierbarkeit in unsere Applikation.

Ich hab jetzt dazu schon eine Menge über Sicherheit gegoogelt, da geht es aber lediglich um Verschlüsselung, Passwörter usw., also die Absicherung gegen Dritte.

Was wir jetzt zur Argumentation gegenüber unseren Kunden benötigen ist aber etwas, das ihm die Kontrolle gibt, dass er uns nicht ‚ausgeliefert‘ ist.
Also nach dem Motto: „Wie weiß ich denn, wann wer auf meiner Anlage gewesen ist?“
Und vielleicht sogar: „Wie weiß ich, was ihr auf meiner Anlage gemacht habt?“
Also irgendeine Art Protokollierung, die der VNC-Client nicht manipulieren kann. Oder gibt es vielleicht weitere Möglichkeiten, die dieses Sicherheitsbedürfnis des Kunden erfüllen könnten…

Wer von euch hat dahingehend ein paar Tips für uns parat?

Hoffe auf eure Hilfe!

Bye
Jens

VNC ungleich Sicherheit
Nur weil man den Source anschauen kann heißt es nicht das dieses Programm sicher ist.

IMHO Solltest du wenn du vnc verwendest, die Kommunkation mit einer extra Lösung absichern, um für eine Authentication, Authorziation und Encryption zu sorgen.

Ich hab jetzt dazu schon eine Menge über Sicherheit gegoogelt,
da geht es aber lediglich um Verschlüsselung, Passwörter usw.,
also die Absicherung gegen Dritte.

Was wir jetzt zur Argumentation gegenüber unseren Kunden
benötigen ist aber etwas, das ihm die Kontrolle gibt, dass er
uns nicht ‚ausgeliefert‘ ist.
Also nach dem Motto: „Wie weiß ich denn, wann wer auf meiner
Anlage gewesen ist?“

AFAIK bei vnc garnicht.

Und vielleicht sogar: „Wie weiß ich, was ihr auf meiner Anlage
gemacht habt?“

Bei VNC garnicht.

Also irgendeine Art Protokollierung, die der VNC-Client nicht
manipulieren kann. Oder gibt es vielleicht weitere

Nein. Sobald du auf der Maschine Bist und evtl. auch Adminrechte hast, kannst du sowieso gewisse Protokolle abschalten, selbt wenn es sie geben würde, was ja bei VNC nicht der Fall ist.

Möglichkeiten, die dieses Sicherheitsbedürfnis des Kunden
erfüllen könnten…

Kunde steckt das ISDN Kabel rein und zieht es wieder raus.

cu

polar

Was wir jetzt zur Argumentation gegenüber unseren Kunden
benötigen ist aber etwas, das ihm die Kontrolle gibt, dass er
uns nicht ‚ausgeliefert‘ ist.
Also nach dem Motto: „Wie weiß ich denn, wann wer auf meiner
Anlage gewesen ist?“
Und vielleicht sogar: „Wie weiß ich, was ihr auf meiner Anlage
gemacht habt?“
Also irgendeine Art Protokollierung, die der VNC-Client nicht
manipulieren kann.

Im Ggsatz z.B. zu pcAnywhere ist VNC nicht in der Lage, direkt eine Verbindung zum Zielrechner aufzubauen (pcAnywhere kann z.B. eine ISDN-Verbindung zum Zielrechner aufbauen, wenn dieser über eine entspr. Kartte verfügt). Du musst also vor dem Start von VNC irgendeine Verbindung zum Netzwerk des Kunden aufbauen, sei’s DFÜ, sei’s eine geroutete Verbindung oder VPN.

Und dabei fallen jeweils eine Reihe von Protokolldaten an. Beim Windoof-DFÜ-Netzwerk siehst du z. B. im Ereignisprotokoll, wer sich wann eingewählt hat - nicht aber unbedingt, welche Rechner ferngesteuert wurden. Bei einer gerouteten Verbindung fallen auf dem Router des Kunden sehr detaillierte Protokolle an - ob der Kunde diese lesen kann ist eine andere Frage. Ähnlich verhält es sich bei VPNs, wobei da die Protokollumfänge natürlich vom gewählten Produkt abhängig sind.

Protokolle, welche Tastendrücke und Mausklicks du auf dem gewarteten PC gemacht hast, bekommt dein Kunde bei VNC nicht. Genausowenig wie bei anderer Fernsteuerungssoftware (m. W.). Aber nichts hindert den Kunden, die betriebssystemspezifischen Protokollmöglichkeiten auf seinen Rechnern zu aktivieren, um z. B. zu erkennen, welche Dateien du geöffnet oder manipuliert hast.

Natürlich, wenn du auf dem Kunden-PC administrative Rechte hast, oder der Kunde WinME einsetzt… Hier gibt es m. E. nur zwei Möglichkeiten: Fernwartung unterbinden oder dem Fernwarter vertrauen.

Sein Netzwerk abzusichern, ist Sache deines Kunden, und es gibt genügend Möglichkeiten, per Firewall z. B. den Zugriff nur auf ganz bestimmte PC zu ermöglichen, diese so zu konfigurieren, dass du über diesen PC (quasi als Brücke) nicht unerlaubt auf weitere Rechner im Netz zugreifst, dir auf diesem PC Rechte nur f. bestimmte Objekte zu geben…

Und wenn der Kunde sagt „Mach du, ich weiss nich wie Firewall gehen“, dann bleibt ihm nichts anderes übrig, als dir zu vertrauen. Denn dann kannst du ihm auch bel. Scheiss als angebliches Protokoll der Fernwartungssitzung unterschieben.

Hi polarbaer,

danke erstmal für deine Antwort.

Nur weil man den Source anschauen kann heißt es nicht das
dieses Programm sicher ist.

Aber es tut sicher nichts von niemandem Unvorhersehbares, aber das führt vom Problem weg.

IMHO Solltest du wenn du vnc verwendest, die Kommunkation mit
einer extra Lösung absichern, um für eine Authentication,
Authorziation und Encryption zu sorgen.

Ist in unserer Applikation schon gegeben, und das RemoteControl-Tool soll in diese integriert werden.

Was wir jetzt zur Argumentation gegenüber unseren Kunden
benötigen ist aber etwas, das ihm die Kontrolle gibt, dass er
uns nicht ‚ausgeliefert‘ ist.
Also nach dem Motto: „Wie weiß ich denn, wann wer auf meiner
Anlage gewesen ist?“

AFAIK bei vnc garnicht.

Vielleicht anderswo?

Und vielleicht sogar: „Wie weiß ich, was ihr auf meiner Anlage
gemacht habt?“

Bei VNC garnicht.

Sehr schade.

Also irgendeine Art Protokollierung, die der VNC-Client nicht
manipulieren kann. Oder gibt es vielleicht weitere

Nein. Sobald du auf der Maschine Bist und evtl. auch
Adminrechte hast, kannst du sowieso gewisse Protokolle
abschalten, selbt wenn es sie geben würde, was ja bei VNC
nicht der Fall ist.

Dann erweitere ich das Suchkriterium. :smile:

Gibt es Möglichkeiten/Programme, die als System-Service protokollieren können, also auch den Administrator keine Manipulationsmöglichkeit geben? Außer er bootet den Rechner unter Linux… was man aber im RemoteControl-Fall wohl ausschließen kann.

Möglichkeiten, die dieses Sicherheitsbedürfnis des Kunden
erfüllen könnten…

Kunde steckt das ISDN Kabel rein und zieht es wieder raus.

Muss leider drin bleiben, die Anlage schickt automatisch Mails in bestimmten Fehlerfällen an die Service-Leute.

Bye
Jens

Hi Schorsch,

danke auch für deine Antwort.

Protokolle, welche Tastendrücke und Mausklicks du auf dem
gewarteten PC gemacht hast, bekommt dein Kunde bei VNC nicht.
Genausowenig wie bei anderer Fernsteuerungssoftware (m. W.).
Aber nichts hindert den Kunden, die betriebssystemspezifischen
Protokollmöglichkeiten auf seinen Rechnern zu aktivieren, um
z. B. zu erkennen, welche Dateien du geöffnet oder manipuliert
hast.

Ja, den Ansatz hatten wir ja auch…

Natürlich, wenn du auf dem Kunden-PC administrative Rechte
hast, oder der Kunde WinME einsetzt…

…und das war der Knackpunkt.
Hab’s in der Antwort an polarbaer schon gefragt, gibt es nicht Protokollierungsmöglichkeiten als System-Service, die also auch dem Admin keinen Schreibzugriff gewähren?

Hier gibt es m. E. nur
zwei Möglichkeiten: Fernwartung unterbinden oder dem
Fernwarter vertrauen.

Wäre ziemlich schlecht, wenn du da recht hättest…

Sein Netzwerk abzusichern, ist Sache deines Kunden, und es
gibt genügend Möglichkeiten, per Firewall z. B. den Zugriff
nur auf ganz bestimmte PC zu ermöglichen, diese so zu
konfigurieren, dass du über diesen PC (quasi als Brücke) nicht
unerlaubt auf weitere Rechner im Netz zugreifst, dir auf
diesem PC Rechte nur f. bestimmte Objekte zu geben…

Und wenn der Kunde sagt „Mach du, ich weiss nich wie Firewall
gehen“, dann bleibt ihm nichts anderes übrig, als dir zu
vertrauen. Denn dann kannst du ihm auch bel. Scheiss als
angebliches Protokoll der Fernwartungssitzung unterschieben.

Naja, die Spannbreite der Verhaltensmuster in puncto Sicherheit ist bei unseren Kunden ziemlich groß… Da wäre eine eindeutige technische Lösung extrem hilfreich.

In der Hoffnung auf weiter Tips

Bye
Jens

…und das war der Knackpunkt.
Hab’s in der Antwort an polarbaer schon gefragt, gibt es nicht
Protokollierungsmöglichkeiten als System-Service, die also
auch dem Admin keinen Schreibzugriff gewähren?

Wenn du eine nicht abschaltbare Protokollierung willst, sehe ich im Moment nur eine Möglichkeit: Fernwartung eines Terminals statt eines PC. Wenn du Programme und Daten nicht direkt auf dem fernzusteuernden PC, sondern auf einem Server ablegst, kannst du die Objektzugriffsprotokolle des Servers fahren, auf die von aussen keine Manipulationsmöglichkeit gegeben ist. Den PC selbst gegen Manipulationen abzusichern dürfte kein grosses Problem sein (erfordert aber dennoch einen fähigen Admin).

Allerdings ist auch diese Lösung wirklich sauber nur im Zusammenhang mit einer gerouteten Verbindung und einer Firewall. Soweit ich für Zugriffe von Dienstleistern DFÜ-Verbindungen zulasse, erhalten sie Zugangsberechtigungen nur auf tel. Nachfrage und für einen definierten Zeitraum. Aber hier stellt sich das Problem, dass innerhalb dieses Zeitraums der Zugriff auf das gesamte Netzwerk gegeben ist. Hier muss ich dem Dienstleister also vertrauen, dass er nicht versehentlich einfach einen anderen PC anwählt.

…und das war der Knackpunkt.
Hab’s in der Antwort an polarbaer schon gefragt, gibt es nicht
Protokollierungsmöglichkeiten als System-Service, die also
auch dem Admin keinen Schreibzugriff gewähren?

also dass nt eventlog sollte doch zumindest an- und abmeldungen der administratoren protokollieren. inwieweit man diesen audit trail als admin manipulieren/loeschen kann, kann ich euch als unixer nicht sagen.

nach meinen erfahrungen erfordert ein effektiver schutz in dieser richtung aeusserst paranoide systeme, die im allgemeinen das konzept des allmaechtigen administrators/root accounts komplett ueber bord werfen und nur noch mit fein granulierten priviledges (wie zum beispiel: lesezugriff auf system-low compartment oder moeglichkeit sich auf ports von 0-1023 zu binden) und/oder authorizations (erlaubnis das programm chmod zu benutzen) arbeiten. aber sowas erfordert neben der entsprechenden software (hp vvos, argus pitbull oder cmw) gruendliche planung, welche role dann was koennen soll, und allzu schnell hat man was vergessen und muss den root account mit reboot im single user mode wieder reaktivieren, um nachzuflicken.

die zweitbeste loesung ist ein stark aufgedrehtes auditing unter einem unix mit trusted computing base mit logging zu einem externen und dedizierten loghost. dann hat man zumindest die gewissheit, zu sehen, wer das auditing abgeschaltet hat, der ist dann halt im zweifel der schuldige :smile:

inwieweit man das eventlog unter nt aufdrehen kann, und ob es moeglich ist, auf einen anderen rechner zu loggen, kann ich dir nicht sagen.

joachim