| 

.NET C# Java Javascript Exception

3
Ich betreue einen Zusammenschluss mehrerer Handwerksunternehmen, die quer durchs Allgäu verteilt sind. In einem zentralen Büro werden auf einem Windows Server 2008 Angebote und Projektpläne verwaltet. Die Firmen greifen darauf über eine VPN-Verbindung (Virtual Private Network) zu. Nun habe ich folgendes Problem: In den Betrieben gibt es keine Mitarbeiter, die sich mit der IT auskennen. Ich müsste also zum Einrichten der Verbindung jedesmal Vor-Ort fahren. Es gibt folgende Idee: Wir erstellen eine Website mit einem JavaScript (oder VB-Skript), das automatisch die Verbindung einrichtet. Die Verbindung wird dann einfach über eine Batch-Datei gestartet, die ich dem Anwender zusende. Ich bin mir im Moment noch nicht sicher, wie sich sowas implementieren lässt. Wer hat eine Idee oder eine entsprechende Lösung?
News:
24.11.2011
quintoncoert 11 1 2
4 Antworten
3
Ehrlich gesagt läuft es mir beim Lesen Deiner Idee schaurig kühl den Rücken hinab. Wenn das ginge, könnte auch jemand auf einer x-beliebigen Webseite eine Skriptdatei plazieren, die die Netzwerkeinstellungen auf den Rechnern Deiner Kunden manipuliert. Statt eines VPN zum Server richten die dann Verbindungen zu was auch immer für dunklen Seiten ein. Aus gutem Grund sollte also jeder halbwegs aktuelle Browser da einen dicken Riegel vorschieben.

Was nicht heißt, dass Du diesen Riegel nicht mutwillig zur Seite schieben könntest: schreib Dir ein ActiveX-Control, das die Aufgabe erledigt, ruf das Ding per VBScript auf und laß die Anwender (per Anleitung) ihren IE so umkonfigurieren, daß er das durchgehen läßt. Aber Du machst damit sicherheitstechnisch ein Scheunentor auf. Wenn Du hier bei codekicker mal suchst: es gibt da irgendwo einen Beitrag von Floyd, indem er skizziert, wie man skriptgesteuert on-the-fly den C#-Compiler Quellcode übersetzen lassen und das Ergebnis in der Seite ausführen lassen kann. Das lief über ActiveX, und da dürfte sich auch ein Hinweis finden, was da hinsichtlich Sicherheitseinstellungen zu drehen ist. Ich schätze, wenn das ging, dann kann man auch ein VPN konfigurieren - aber wie gesagt, ich würde davon abraten, das über ein Skript in einer Webseite laufen zu lassen. Ach ja: wie sieht es eigentlich mit lokalen Admin-Rechten für Deine Anwender aus? Die mir bekannten VPN-Produkte müssen (unter Windows 7) mit Admin-Rechten installiert und zum Teil sogar gestartet werden. Das könnte für die Skript-Lösung auch noch ein Hindernis darstellen.

Eine andere Lösung könnte sein: erstelle eine Exe, die die nötigen Einstellungen setzt. Laß die Anwender die Exe über eine Webseite herunterladen, speichern und starten (ggf. als Admin). Sollten sie eigentlich hinbekommen, wenn sie denn überhaupt die Rechte dafür haben.

Oder (meine Empfehlung) Du benutzt eine Software wie TeamViewer für Remote-Support (vielleicht auch in anderen Fällen ganz nützlich). Die Anwender müssen dann nur einen Client starten (geht ohne Installation), und danach hast Du (via normales Internet) Zugriff auf den Rechner und kannst das VPN einrichten.
24.11.2011
Matthias Hlawatsch 13,2k 4 9
Der Teamviewer ist ein super Hinweis! Nutzen wir auch für Remotezugriff auf Maschinen die sich nicht in unserem WAN befinden. Besser, und vorallem für beide Seiten einfacher, geht's nicht.
13thAngel 24.11.2011
1
Ich muss mich Matthias Anwort anschliessen, die Idee ist eher schlecht und unsicher.

Natürlich wäre es einfach eine, Anmeldeform zu generieren, die dem Admin eine standard Mail senden, damit er die Zertifikate und Verbindungseinstellungen erstellt. Das ginge allerdings in einer gut gesicherten CA nicht automatisch weil der CA Private Key mit einem Passwort gesichert ist - um bei einem Diebstahl zu verhindern das dritte ein gültiges Zertifikat generieren. Zum Client kann man es ja über Teamviewer schieben.

Trotzdem bleibt die Frage ob der Antragssteller auch authorisiert ist eine Verbindung anzufordern. Da es wahrscheinlich keinen Sicherheitsbeauftragten in den Firmen gibt, wird es allerdings schwierig das sicherzustellen. Wenn jemand mal mit einem ähnlich lautenden Namen von einem Freemail Provider einen Antrag stellt, woher weiß man das es kein Social Engineering Angriff ist? Oder ob es sich um einen legetimen Antrag handelt?

Notare wäre übertrieben, Ausweise kann man mit Photoshop fälschen.

Zu der Frage wegen den Admin Rechten:
Ein VPN Funktioniert Technisch so, das eine neue Schnittstelle hinzugefügt oder abgeändert wird. Das ist als normaler Nutzer nicht machbar und muss mit Administrativen Rechten ausgeführt werden. In größeren Setups kommen hier Maintenance Accounts zum Einsatz und das Script meldet sich mit diesem Account an.
Ohne das Rechner, Netzwerkschnittstellen zu ändern, wird das nicht funktionieren, weder unter Windows 2000 noch unter Windows 7. Dieses Recht muss man einem Benutzer explizit in den Policys zugestehen, und deine Beschreibung deutet auf Kleinunternehmen hin.

Andere Frage:
Reicht keine https-Webdav Verbindung für die Projekte?
25.11.2011
Lord_Pinhead 778 1 8
1
Es ist möglich das ganze mit JavaScript oder VB-Script über die Windows-Scripting-Shell zu erstellen. Um das ganze dann noch von einer Webseite aus aufrufbar zu machen muss man aber ganz schön an den Sicherheitseinstellungen tricksen. Ich hab die letzte 20 Minuten ein paar experimente gemacht und kann somit bestätigen das es grundsätzlich gehen würde, es aber noch eine menge arbeit für ein fertiges script notwendig werden würde.

Ich bin dabei von dem VB-Script unter VPN-Verbindungen mit VBS automatisiert erstellen ausgegangen und hab versucht es an die besonderheiten eines VB-Scripts was in einer Webseite vorliegt umzuschreiben.
Beispielsweise steht das Object "WScript" nicht zur Verfügung und somit auch nicht die notwendige Sleep-Methode, welche es auch direkt nicht in VBS oder JS gibt. Mit ein paar unschönen Tricks kann man aber ein ähnliches verhalten mit der "window.setTimeout"-Funktion emulieren.
Mir fehlt jedoch jetzt die Zeit das Script weiter zu bauen aber ich werd den Code den ich bis jetzt habe mal unten dran packen. Vielleicht kann wer was damit anfangen und zuende bauen.

Besser wäre es aber in meinen augen entweder ein ActiveX zu machen so wie es Matthias bereits vorgeschlagen hat, oder eine EXE zum Download anzubieten die sämtliche Einstellungen vornimmt. Admin-Rechte kann die EXE ja selber anfordern und somit die Beschrenkungen der unpreveligierten Nutzer umgehen.

Ne ganz andere alternativ die ohne VPN auskommt wäre eine HTTP-Authentication geschützte Webseite die einen Explorer nachbildet. Der erste Treffer bei Google sieht da schon sehr brauchbar aus: FileVista is a web file manager for storing, managing and sharing files online through your web browser. (Was ähnliches gibts bestimmt auch irgendwo als Freeware).

Hier nun mein bisheriges unfertig umgeschriebenes Script:

<script language="vbscript">
Dim objShell
Set objShell = CreateObject("WScript.Shell")

Dim Connections
Connections = Array(Array("Verbindung 1", "127.0.0.1"), Array("Verbindung 2", "localhost"), Array("Verbindung 3", "192.168.1.1"))

With objShell
.Run "Control ncpa.cpl"
execStepAfter 1, 2000
End With

function doStep(step)
msgbox "Step" & step
For i = 0 To UBound(Connections)
With objShell
if step = 1 then
.AppActivate "Netzwerkverbindungen"
execStepAfter step+1, 500
elseif step = 2 then
.SendKeys "%DN"
execStepAfter step+1, 500
elseif step = 3 then
.SendKeys "%W"
execStepAfter step+1, 500
elseif step = 4 then
.SendKeys "%NW"
execStepAfter step+1, 500
elseif step = 5 then
.SendKeys "%VW"
execStepAfter step+1, 500
elseif step = 6 then
.SendKeys "%N" & Connections(i)(0) & "%W"
execStepAfter step+1, 500
elseif step = 7 then
.SendKeys "%KW"
execStepAfter step+1, 500
elseif step = 8 then
.SendKeys "%H" & Connections(i)(1) & "%W"
execStepAfter step+1, 500
elseif step = 9 then
.SendKeys "{TAB}{TAB}{ENTER}"
execStepAfter step+1, 500
elseif step = 10 then
.SendKeys "{ESC}"
msgbox "fertig"
end if
End With
Next
end function

function execStepAfter(step, ms)
window.setTimeout "doStep " & step, ms
end function

</script>


Nachtrag: Ich hab meine experimente nur in der Intranet-Zone gemacht. Der IE verhällt sich bei gleichen Sicherheitseinstellungen in der Internet-Zone zwar nicht anders aber man kann das nie mit gewissheit sagen.
25.11.2011
Floyd 14,6k 3 9
Floyd 14,6k 3 9
0
Und Warum nimst Du nicht diese Harware
VPN-firewalls-appliances...
ohne das ich werbung machen möchte mache ich das schon seid Jahren und erfülle damit die von dir gewünschten anforderungen allerdings unter W2003

Grüße Olaf
25.11.2011
OlafS 210 1 6

Stelle deine Javascript-Frage jetzt!
TOP TECHNOLOGIES CONSULTING GmbH