Heim > Backend-Entwicklung > C++ > Können Benutzer ohne Administratorrechte Windows-Dienste starten, ohne die Systemsicherheit zu gefährden?

Können Benutzer ohne Administratorrechte Windows-Dienste starten, ohne die Systemsicherheit zu gefährden?

Mary-Kate Olsen
Freigeben: 2024-10-26 00:58:02
Original
890 Leute haben es durchsucht

Can Non-Admin Users Start Windows Services Without Compromising System Security?

Windows-Dienste aus Anwendungen ohne Administratorrechte starten

In vielen Szenarien müssen Windows-Dienste aus separaten Anwendungen gestartet oder gestoppt werden. Aus Sicherheitsgründen scheint dies jedoch für Benutzer ohne Administratorrechte eingeschränkt zu sein. Wie können wir diese Einschränkung überwinden und Benutzern eine detaillierte Kontrolle über die Dienstverwaltung ermöglichen, ohne die Systemstabilität zu beeinträchtigen?

Die Lösung: Dienstberechtigungen ändern

Der Schlüssel zu diesem Problem liegt darin beim Ändern der Berechtigungen des Dienstobjekts. Indem wir nicht-administrativen Benutzern entsprechende Rechte gewähren, können wir ihnen eine kontrollierte Interaktion mit Diensten ermöglichen.

Der folgende Codeausschnitt zeigt, wie die Sicherheitsbeschreibung für einen Dienst so festgelegt wird, dass er die erforderlichen Berechtigungen enthält:

<code class="c++">wchar_t sddl[] = L"D:"
  L"(A;;CCLCSWRPWPDTLOCRRC;;;SY)"           
  L"(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)"   
  L"(A;;CCLCSWLOCRRC;;;AU)"                 
  L"(A;;CCLCSWRPWPDTLOCRRC;;;PU)"           
  L"(A;;RP;;;IU)"                         
;

PSECURITY_DESCRIPTOR sd;

if (!ConvertStringSecurityDescriptorToSecurityDescriptor(sddl, SDDL_REVISION_1, &sd, NULL))
{
   fail();
}

if (!SetServiceObjectSecurity(service, DACL_SECURITY_INFORMATION, sd))
{
   fail();
}</code>
Nach dem Login kopieren

Diese spezifische Sicherheitsbeschreibung gewährt die folgenden Berechtigungen:

  • Standardberechtigungen für das lokale System:Gewährt dem lokalen Systemkonto vollständige Kontrolle.
  • Standardberechtigungen für Administratoren: Gewährt Zugriff für Administratoren.
  • Standardberechtigungen für authentifizierte Benutzer: Gewährt eingeschränkten Zugriff für alle authentifizierten Benutzer.
  • Standardberechtigungen für Hauptbenutzer: Gewährt Vollzugriff für Hauptbenutzer.
  • Berechtigung für interaktive Benutzer hinzugefügt: Gewährt die Berechtigung zum Starten des Dienstes für interaktive Benutzer.

Die Sicherheitsbeschreibungszeichenfolge (SDDL) kann angepasst werden, um spezifische Berechtigungen basierend auf der gewünschten Zugriffsebene für verschiedene Benutzergruppen hinzuzufügen oder zu entfernen. Wenn Sie beispielsweise möchten, dass Benutzer ohne Administratorrechte den Dienst stoppen können, kann die folgende SDDL verwendet werden:

L"(A;;RPWP;;;IU)" 
Nach dem Login kopieren

Dadurch würde das WP-Recht (WRITE_PROPERTY) hinzugefügt, sodass interaktive Benutzer beide starten können und stoppen Sie den Dienst.

Durch sorgfältiges Festlegen der Berechtigungen können Benutzer ohne Administratorrechte wichtige Dienstverwaltungsaufgaben ausführen, ohne die Systemsicherheit zu beeinträchtigen.

Das obige ist der detaillierte Inhalt vonKönnen Benutzer ohne Administratorrechte Windows-Dienste starten, ohne die Systemsicherheit zu gefährden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage