Windows "Ausführen als", ohne das Kennwort zu kennen


13

Wir installieren ein digitales Mediensystem bei dem College-Radiosender, bei dem ich arbeite. Wir versuchen, Programmierern (Lesern, DJs, nicht Programmierern) Zugriff auf die Musik zu gewähren, ohne dass sie diese auf ihre Flash-Laufwerke kopieren oder über das Internet übertragen können.

Wir verwenden Windows-Systeme (Windows XP für die Clientcomputer und Windows Server 2008 für den Medienserver). Meine Idee ist das.

  • Erstellen Sie einen Benutzer (ProgramUser), der überhaupt keinen Zugriff auf die digitalen Medien hat.
  • Erstellen Sie einen Benutzer (MediaUser), der nur über Lesezugriff auf die digitalen Medien verfügt, über die Programmierer nichts wissen und über die das Kennwort nicht bekannt ist.
  • Lassen Sie Benutzer sich als ProgramUser bei Windows anmelden, sodass sie überhaupt keinen Zugriff auf die Medien haben.
  • Führen Sie unsere Wiedergabeanwendung ( Traktor ) als MediaUser aus, damit der Programmierer Medien wiedergeben, aber nicht kopieren oder ändern kann.

Dies scheint die perfekte Lösung zu sein, aber es gibt eine Sache. Wenn die Wiedergabeanwendung oder der Computer abstürzt, ist der Programmierer die einzige Person, die in der Lage ist, sie in angemessener Zeit wieder zum Laufen zu bringen (wir sind ein 15-kW-UKW-Radiosender, daher sind Ausfallzeiten ein großes Problem). Daher mein Dilemma ...

Wie kann ich dem Programmierer die Möglichkeit geben, unsere Wiedergabeanwendung als Benutzer zu starten, dessen Kennwort er nicht kennt?

Antworten:


32

sudo.bat

@echo off
runas /user:Administrator /savecred %1

überraschenderweise fragt es auch nach einem Neustart oder einem Stromausfall nicht mehr nach dem Passwort


2
+1 für die richtige Antwort. Mein Gott ist das eine Sicherheitslücke
Dave Cheney

Ernsthaft, wie ist das nicht als Sicherheitslücke bekannt? Warum ist das offen ?!
Marm0t

2
Ich bin mir ziemlich sicher, dass dies nur funktioniert, wenn das Kennwort für das Konto im Anmeldeinformations-Manager gespeichert wurde. Es handelt sich also nicht mehr um eine Sicherheitslücke als unter OSX oder einem anderen System, auf dem Anmeldeinformationen gespeichert und wiederverwendet werden können.
Mark Henderson

Sie müssen das Kennwort beim ersten Mal noch kennen. Wenn sich das Kennwort ändert, funktioniert es nicht mehr.
ivan_pozdeev

1

... ohne dass sie etwas davon auf ihre Flash-Laufwerke kopieren oder über das Internet übertragen können

Deaktivieren Sie USB-Sticks, Internetzugang usw. auf diesen Computern.


0

Es gibt ein paar Möglichkeiten, die ich mir vorstellen kann, um dieses Problem zu umgehen. Zunächst (und schwieriger) wäre es, einen kleinen Windows-Dienst zu schreiben, der Traktor startet. Auf diese Weise kann der ProgramUser den Dienst nach einer neuen Traktor-Instanz fragen, und der Dienst wird als MediaUser ausgeführt, sodass Traktor als MediaUser gestartet wird.

Eine andere und viel einfachere Möglichkeit besteht darin, eine Startverknüpfung einzurichten, die Traktor bei jedem Anmelden startet. Mithilfe von Windows-Verknüpfungen können Sie die Anmeldeinformationen des entsprechenden Benutzers in den Verknüpfungseigenschaften festlegen. Wenn der Computer jemals abstürzt, müssen sich die Programmierer nur einloggen und sie haben einen neuen Traktor, der als MediaUser läuft!

Hoffentlich funktioniert eine dieser Lösungen für Sie!


Ich selbst und der andere Administrator sind Softwareingenieure, daher ist dies kein Problem. Wir betreiben auch einen anderen Dienst, der unser Mischpult auf GPIO-Eingaben überwacht, was wir also bereits tun. Das ist eine hervorragende Idee, danke!

0

Sie können ein Programm erstellen, das den MediaUser-Prozess für den DJ startet. Dies kann so erfolgen, dass es als ProgramUser ausgeführt wird.

Das Kennwort / die Anmeldeinformationen für MediaUser müssten in das Programm kompiliert werden, damit es das Kennwort kennt, aber der Endbenutzer müsste sich dessen niemals bewusst sein. Sie hätten nur eine Schaltfläche oder ein Programm mit der Aufschrift "Tracktor neu starten", mit dem die gesamte Arbeit erledigt werden kann.

Hier ist ein C # -Beispiel des Prozesses. Die einzige Änderung wäre, die Anmeldeinformationen fest zu codieren, damit der DJ sie nicht sieht.


Dies ist im Grunde das, was ich vorschlagen wollte, aber mit der Einschränkung, dass es Sicherheit durch Dunkelheit ist. Wenn die Endbenutzer eine Kopie von procmon oder procexp finden und ausführen können, können sie das Kennwort problemlos abrufen.
Ryan Bolger

@ Ryan: Wie bekommt man in dieser Situation das Passwort von procmon oder procexp? Sie können den Benutzernamen abrufen, unter dem ein Prozess ausgeführt wird, aber ich habe nicht gedacht, dass Sie die Anmeldeinformationen abrufen können. Ich verstehe, dass rev. Wenn Sie die ausführbare Datei mit dem fest codierten Kennwort erstellen, würde dies funktionieren. Wie würden Sie ansonsten diese Informationen erhalten?

0

Schauen Sie sich Steel RunAs an. Ich habe es für mehrere Skripte in meiner SysAdmin-Karriere verwendet, als keine anderen Alternativen plausibel waren. Es ist definitiv praktisch. Es generiert eine ausführbare Datei, in der gespeicherte Anmeldeinformationen verschlüsselt werden. Verknüpfung


0

Die ideale Situation wäre, wenn Sie Traktor so ändern, dass es als Dienst mit einer separaten GUI ausgeführt wird. Dies gibt Ihnen die besten Sicherheitsoptionen - Traktor wird dann als Benutzer mit den richtigen Anmeldeinformationen ausgeführt, und niemand muss wissen, um welche es sich handelt, oder muss das Kennwort eingeben, um es neu zu starten. Sie können sogar einen Neustart durchführen, wenn das Dienst-Snapin abstürzt.

Ihre grafische Benutzeroberfläche für Traktor wird dann als eigene Anwendung geschrieben, die die Benutzerin selbst ausführt. Sie sendet Nachrichten an den Traktor-Dienst (über TCP / IP, RPC, gemeinsam genutzten Speicher oder eine andere Form von IPC), damit dieser die erforderlichen Schritte ausführt Benutzer will. Wenn Sie die grafische Benutzeroberfläche mit einem netzwerkübergreifenden Protokoll (z. B. TCP / IP) eingerichtet haben, kann sich der Benutzer bei seiner Arbeitsstation anmelden und der Traktor-Dienst kann auf einem zuverlässigeren Server ausgeführt werden, der möglicherweise gesperrt ist, um "versehentliche" Neustarts zu verhindern. Wenn Sie gut sind, können Sie stattdessen eine Webanwendung schreiben, um Traktor zu betreiben (das heißt, der Webserver sendet die Nachrichten an den Dienst), und Ihr Benutzer kann die Station von zu Hause aus ausführen!

Der Traktor-Dienst würde mit dem Server gestartet, ohne angemeldet zu sein.


Interessante Idee, aber Traktor ist sehr proprietär und hat keine API. Die einzigen Integrationspunkte sind MIDI, Send Keys und VST Plugins. Obwohl die Idee von Traktor als servicebasierte Wiedergabe-Engine mit einer benutzerdefinierten Benutzeroberfläche ansprechend ist, sehen wir uns eine robustere benutzerdefinierte Benutzeroberfläche an, die Dinge wie das Erstellen von Diagrammen und Wiedergabelisten behandelt.
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.