Einzelnen Beitrag anzeigen

Benutzerbild von Phoenix
Phoenix
(Moderator)

Registriert seit: 25. Jun 2002
Ort: Hausach
7.641 Beiträge
 
#1

Konzept: UAC 'Sicher' umgehen / Dienstesteuerung: RFC

  Alt 2. Sep 2007, 20:23
Jo, ich bastel gerade an einem kleinen Tool zur Produktivitätssteiergung, und ich hätte da gerne etwas Feedback.

Man nehme folgendes als gegeben hin:
Plattform: Vista x64 (Ultimate)
Installierte Datenbanken: MySQL, SQL Server 2005 Express, Oracle 10g XE, Firebird 2.0.1.

Alle Datenbanken laufen als Dienst. Aber - das ist ja allgemein bekannt - man braucht nicht immer alle Datenbanken gleichzeitig. Auf meiner alten XP-Kiste hatte ich Batch-Files, die die Services starten und beendet haben. So konnte ich mit einem Doppelklick die nötige Datenbank hochfahren. (Ja, ich gestehe zu meiner Schande, dort war mein Entwickler-Account lokaler Admin).

Unter Vista schlägt da aber nun die UAC in diese Kerbe. Das heisst, bei meinen Batch-Files müsste ich diese als Admin ausführen und dann jedesmal die UAC bestätigen. Ergo: Ich will das ein wenig vereinfachen.

Meine aktuelle Idee ist folgende:

Ich schreibe einen Service, der diese Dienste startet und beendet. Die nötigen Rechte hat ein System-Dienst dazu ja.

Dazu schreibe ich ein Gui, welches im Userkontext läuft. Dieses Gui kommuniziert mit dem Service und gibt ihm Kommandos, welcher Dienst gestartet / gestoppt / pausiert / fortgesetzt werden soll.

Als Kommunikationsmittel würde ich zur Zeit Named Pipes bevorzugen (da gibts schon nettes Zeug in der WCF, da muss man nicht mehr viel selber machen).

Was ich jedoch nicht möchte ist, dass dieses Tool dazu verwendet werden kann, andere als vorher festgelegte Dienste zu steuern. Ich dachte da an ein Configfile im Dienst-Installationsverzeichnis, welches die zu steuernden Dienste auflistet - und ggf. auch auf bestimmte User einschränkt. Nur ein Benutzer, der tatsächlich Admin-Rechte auf dem jeweiligen Rechner hat, hat auch die Berechtigung ins Programme-Verzeichnis zu schreiben. Der Service liefert also auf Anfrage der GUI die Liste der erlaubten Services zurück, und diese können vom GUI aus dann gestartet / gestoppt werden.

Was haltet ihr von der Idee?
Wo seht ihr da Schwachstellen / Angriffspunkte?
Sebastian Gingter
Phoenix - 不死鳥, Microsoft MVP, Rettungshundeführer
Über mich: Sebastian Gingter @ Thinktecture Mein Blog: https://gingter.org
  Mit Zitat antworten Zitat