Das Konto eines Windows-Dienstes wählen — LocalSystem, virtuelle Konten und gMSA
· Aktualisiert am: · Go Komura · Windows, Windows-Dienste, Dienstkonten, gMSA, LocalSystem, Virtuelle Konten, Sicherheit, Active Directory, Geringste Rechte
Änderungsverlauf (Erstfassung, veröffentlicht am 20. Aug 2026)
- Erstveröffentlichung
Diesen Artikel zitieren(DOI (registriertes Archiv): 10.5281/zenodo.22176369)
Die folgenden DOIs verweisen auf bereits archivierte Versionen, die vom aktuellen Text abweichen können. Verwenden Sie die URL dieser Seite, um auf den aktuellen Text zu verweisen.
Go Komura (2026). Das Konto eines Windows-Dienstes wählen — LocalSystem, virtuelle Konten und gMSA. KomuraSoft LLC. https://comcomponent.com/de/blog/windows-service-accounts-gmsa-guide/
- DOI (registriertes Archiv)
- 10.5281/zenodo.22176369
- DOI (zuletzt registrierte Version)
- 10.5281/zenodo.22176370
„Ein als LocalSystem laufender Dienst wurde im Audit als überprivilegiert beanstandet. Wohin sollen wir ihn ändern?“ „Wir nutzen einen Domänenbenutzer, damit der Dienst auf einen freigegebenen Ordner zugreifen kann, aber wenn das Kennwort abläuft, bleibt der Dienst stehen.“ — Diese beiden Fälle sind typische Anfragen, wenn das Anmeldekonto des Dienstes keine Entwurfsentscheidung ist, sondern als „die Einstellung, die funktioniert hat“ festgehalten wurde.
Beim Wählen des Anmeldekontos trennen Sie was der Dienst im PC tun kann, als wer er von der Gegenseite gesehen wird, und wer das Kennwort verwaltet. Stärkere lokale Rechte und die Fähigkeit, sich an einem freigegebenen Ordner zu authentifizieren und zu verbinden, sind nicht dasselbe.12
Die Schlussfolgerung dieses Artikels lautet: Für einen Geschäftsdienst, der auf einer einzelnen Maschine bleibt, ist ein virtuelles Konto der erste Kandidat; braucht der Dienst in der Domäne eine eigene Identität, ein gMSA. Machen Sie eine Konfiguration, in der „der Dienst kein menschliches Kennwort hält“, zur Grundlage, und behandeln Sie den Domänenbenutzer als letzten Ausweg. Bestehende Dienste sollten Sie jedoch nicht pauschal sofort ändern; prüfen Sie die nötigen Rechte und die Auswirkungen der Migration.34
Der Artikel richtet sich an IT-Verantwortliche in kleinen und mittleren Unternehmen und an Entwicklerinnen und Entwickler von Windows-Apps. Die Erklärung, gestützt auf Microsoft Learn zum Stand August 2026 der Ursprungsfassung, ist in der Reihenfolge Auswahl → lokale Rechte → Identität im Netzwerk → Einführung eines gMSA → Umstellung und Prüfung geordnet. Wie man den Dienst selbst baut, behandelt „Windows-Dienste erstellen und betreiben“.
1. Zuerst wählen: sechs Konten und vier Fragen
1.1 Die Vergleichsachsen sind Rechte, Identität und Kennwortverwaltung
Beim Start eines Dienstes meldet sich der Dienststeuerungs-Manager (SCM) mit dem konfigurierten Konto an. Gelingt das, weist er dem Dienstprozess ein Zugriffstoken zu; jeder Zugriff auf Dateien und Pipes wird danach durch den Abgleich dieses Tokens mit der Zugriffssteuerungsliste (ACL) entschieden. Das Anmeldekonto zu wählen heißt, den Inhalt des Tokens festzulegen, das der Dienst erhält.1
| Konto | Lokale Rechte | Identität im Netzwerk | Kennwortverwaltung | Typischer Einsatz |
|---|---|---|---|---|
| LocalSystem | Fast unbegrenzt (SYSTEM + Administrators) | Computerkonto (PC$) | Keine Einstellung durch den Benutzer nötig | Ausnahmedienste, die mit dem OS zusammenlaufen und starke privilegierte Rechte brauchen |
| LocalService | Minimal (etwa Benutzer) | Anonym | Nicht nötig | Lokale Verarbeitung ohne Netzwerkidentität |
| NetworkService | Minimal (etwa Benutzer) | Computerkonto (PC$) | Nicht nötig | Verarbeitung mit geringen Rechten, bei der eine maschinenweite Identität reicht |
Virtuelles Konto NT SERVICE\<Name> |
Minimal, plus individuell per ACL Vergebenes | Computerkonto (PC$) | Nicht nötig (automatisch verwaltet) | Die Standardantwort für einen Geschäftsdienst auf einem einzelnen Server |
| Domänenbenutzer | Nur das Vergebene | Der Benutzer selbst | Manuell. Ablauf, Lecks und Rotation müssen verwaltet werden | Letzter Ausweg, wenn eine App ohne gMSA-Unterstützung eine eigene Identität braucht |
| gMSA | Nur das Vergebene | Das gMSA selbst | AD erzeugt und rotiert es automatisch | Wenn in einer Domäne eine dienstspezifische Identität oder eine gemeinsame Identität auf mehreren Servern nötig ist |
Die Netzwerkanmeldung als PC$ in der Tabelle setzt eine Domänenumgebung voraus. In einer Arbeitsgruppe steht dasselbe Verfahren nicht zur Verfügung. Auch LocalSystem hat Grenzen, etwa WRP-geschützte Bereiche. Lesen Sie „fast unbegrenzt“ nicht als wörtlich unbegrenzt.5627
Bei LocalSystem, LocalService, NetworkService und virtuellen Konten muss der Benutzer kein Dienstkennwort setzen oder verwalten. Bei einer Konfiguration mit Domänenbenutzer oder lokalem Benutzer verwaltet ein Mensch Ablauf und Änderung des im SCM gespeicherten Kennworts. Ein gMSA hat ein Kennwort, überlässt dessen Verwaltung aber AD.18
1.2 Die Auswahl anhand von vier Fragen treffen
Prüfen Sie zuerst, ob der Dienst sich mit Windows-Authentifizierung mit anderen Maschinen verbindet. Falls ja, entscheiden Sie der Reihe nach ob die Maschine einer Domäne angehört, ob eine maschinenweite Identität reicht, und ob die Anwendung gMSA unterstützt.
flowchart TB
accTitle: Entscheidungsfluss für das Anmeldekonto
accDescr: Das Anmeldekonto anhand von vier Fragen der Reihe nach festlegen, ob es Netzwerkzugriff gibt, ob die Maschine einer Domäne angehört, ob eine maschinenweite Identität reicht, und ob die App gMSA unterstützt
q1{"Verbindung zu anderen Rechnern mit Windows-Auth?"} -->|Nein| va["Virtuelles Konto"]
va -.-> sys["LocalSystem, wenn privilegierte Rechte nötig"]
q1 -->|Ja| q2{"Mitglied der Domäne?"}
q2 -->|Nein| cred["Anmeldeinformationen schützen und speichern"]
q2 -->|Ja| q3{"Maschinenweite Identität reicht?"}
q3 -->|Ja| pcacl["Virtuelles Konto + PC$-Berechtigung"]
q3 -->|Nein| q4{"App unterstützt gMSA?"}
q4 -->|Ja| gmsa["gMSA"]
q4 -->|Nein| du["Dedizierter Benutzer + Gegenmaßnahmen"]
Abbildung 1: Bleibt alles lokal, nehmen Sie ein virtuelles Konto. In der Domäne, wenn PC$ nicht fein genug ist, gehen Sie zum gMSA. In einer Arbeitsgruppe entwerfen Sie die Anmeldeinformationen getrennt.
| Was Sie tun wollen, oder das Problem | Erste Entscheidung | Weiterlesen |
|---|---|---|
| Einen gewöhnlichen Geschäftsdienst auf einer einzelnen Maschine betreiben | Ein virtuelles Konto wählen und die nötigen ACLs vergeben | Kapitel 2 |
| Von LocalSystem wegwechseln | Zuerst prüfen, ob starke lokale privilegierte Rechte wirklich nötig sind | 2.3 und Kapitel 7 |
| Sich mit einem freigegebenen Ordner oder einer Datenbank in der Domäne verbinden | Reicht eine maschinenweite Identität, ein virtuelles Konto oder Ähnliches plus PC$-Berechtigung auf dem Ziel erwägen | Kapitel 3 |
| Dienste auf der Gegenseite unterscheiden oder dieselbe Identität auf mehreren Servern nutzen | Die gMSA-Anforderungen und die Unterstützung der Anwendung prüfen | Kapitel 4 und 5 |
| Eine App ohne gMSA-Unterstützung braucht eine eigene Identität | Einen dedizierten Domänenbenutzer mit Gegenmaßnahmen kombinieren | Kapitel 6 |
| Der Dienst startet nach dem Kontowechsel nicht oder liest seine Einstellungen nicht | Anmelderecht, ACLs, Profil und DPAPI getrennt prüfen | Kapitel 7 |
Bestehende lokale Verarbeitung unter LocalService oder maschinenweiten Zugriff unter NetworkService müssen Sie nicht ohne Grund ersetzen. Bei einer neuen Wahl machen Sie das virtuelle Konto zur Grundlage, weil es geringe Rechte und die Trennung je Dienst verbindet.
In der Abbildung kennzeichnet eine durchgezogene Linie eine stets geltende Beziehung und eine gestrichelte Linie eine bedingte (die Bedingungen stehen bei jeder Beziehung auf der Detailseite). Die vollständige Liste der Beziehungen (19 insgesamt, mit Beleg und Sicherheitsgrad) und die Definitionen der wichtigsten Konzepte sind auf der Detailseite der Wissenskarte (auf Japanisch) zusammengestellt. Daten: JSON-LD / Turtle
2. Die Rechte im PC festlegen: virtuelle Konten als Grundlage
2.1 LocalService und NetworkService unterscheiden sich in der Netzwerkidentität
LocalService und NetworkService sind integrierte Konten für Dienste mit geringen Rechten. Lokal laufen beide mit etwa den minimalen Rechten eines Mitglieds der Gruppe Benutzer. Unterschiedlich sind die Anmeldeinformationen, die sie der Gegenseite vorlegen.63
| Konto | Name und SID | Verbindungen zur Gegenseite |
|---|---|---|
| LocalService | NT AUTHORITY\LOCAL SERVICE, S-1-5-19 |
Nutzt anonyme Anmeldeinformationen. Nicht geeignet für Ressourcen, die Authentifizierung verlangen |
| NetworkService | NT AUTHORITY\NETWORK SERVICE, S-1-5-20 |
Nutzt die Anmeldeinformationen des Computers. Erscheint in der Domäne als DOMAIN\Computername$ |
Die Aufteilung lautet: LocalService, wenn der Dienst nicht ins Netzwerk geht oder nie nach einer Identität gefragt wird; NetworkService, wenn er in der Domäne die Identität der Maschine braucht.
Beachten Sie jedoch, dass bei beiden mehrere Dienste dasselbe Konto teilen. Solange ACLs an dieses gemeinsame Konto vergeben sind, lassen sich die Dienste nicht unterscheiden. Laufen fünf Dienste als LocalService, erreichen alle fünf jede Ressource, die diesem Konto erlaubt ist. Dass SQL Server Local Service nicht unterstützt, hat denselben Grund: Ein geteiltes Konto lässt sich nicht von anderen Diensten trennen.3
2.2 Mit einem virtuellen Konto lassen sich ACLs je Dienst vergeben
Ein virtuelles Konto ist ein verwaltetes lokales Konto ab Windows Server 2008 R2 / Windows 7. Der Name lautet NT SERVICE\<Dienstname>. Weder das Anlegen eines Kontos noch das Setzen eines Kennworts ist nötig, und jeder Dienst hat eine eigene Identität. Für den Netzwerkzugriff in einer Domäne nutzt es die Anmeldeinformationen des Computerkontos.2
Es behält den Vorteil „keine Kennwortverwaltung“ von LocalService und NetworkService und beseitigt die Schwäche des geteilten Kontos. Dass das SQL-Server-Setup standardmäßig NT SERVICE\MSSQLSERVER und Ähnliches verwendet, folgt derselben Überlegung.3
Der praktische Nutzen ist, dass der Dienst direkt in einer ACL genannt werden kann. Ohne zusätzliche Gruppen oder Kennwortverwaltung können Sie einstellen: „Ändern auf diesem Datenordner diesem Dienst gewähren“.
Das folgende Beispiel stellt einen bestehenden MyAppService auf ein virtuelles Konto um. Prüfen Sie vor der Ausführung das Anmelderecht, die Datenablage und DPAPI aus Kapitel 7, und bestätigen Sie Start und die Hauptfunktionen in einer Testumgebung.
# Das Anmeldekonto des Dienstes auf ein virtuelles Konto ändern
# Der Wert von obj= ist "NT SERVICE\Dienstname". Kein Kennwort angeben
sc.exe config MyAppService obj= "NT SERVICE\MyAppService"
# Die Konfiguration prüfen (SERVICE_START_NAME ansehen)
sc.exe qc MyAppService
# Ändern auf dem Datenordner nur diesem Dienst gewähren
icacls "C:\ProgramData\MyApp" /grant "NT SERVICE\MyAppService:(OI)(CI)M"
In der GUI öffnen Sie in services.msc die Eigenschaften des Dienstes, wechseln zur Registerkarte „Anmelden“, setzen den Kontonamen auf NT SERVICE\Dienstname und lassen die Kennwortfelder leer. Für virtuelle Konten und MSAs wird kein Kennwort angegeben. Die Änderung greift, wenn der Dienst neu startet.3
Eine eigene Identität lokal bedeutet nicht, dass Dienste auf der anderen Seite des Netzwerks unterscheidbar sind. Kapitel 3 erklärt diese Grenze.
2.3 LocalSystem nicht danach beurteilen, „dass es läuft“, sondern nach den nötigen privilegierten Rechten
LocalSystem (NT AUTHORITY\SYSTEM, Anzeigename Lokales System) ist ein vordefiniertes Konto, das der SCM verwendet. Das Token enthält die SIDs NT AUTHORITY\SYSTEM und BUILTIN\Administrators und hält umfangreiche lokale Rechte. Starke privilegierte Rechte wie SeDebugPrivilege und SeTcbPrivilege sind standardmäßig aktiv.5
Diese Stärke ist zugleich das Ausmaß des Schadens bei einer Übernahme. Hat ein LocalSystem-Dienst eine Schwachstelle zur beliebigen Codeausführung, kann er zum Ausgangspunkt werden für das Lesen und Verändern der Dateien aller Benutzer, das Lesen des Speichers anderer Prozesse, den Diebstahl von Anmeldeinformationen und laterale Bewegung. Auf NTFS hat SYSTEM standardmäßig Vollzugriff.6 Den Zusammenhang von Diebstahl der Anmeldeinformationen und lateraler Bewegung behandeln auch „NTLM und Kerberos anhand von Diagrammen erklärt“ und „Windows LAPS in der Praxis“.
LocalSystem wird trotzdem weiter gewählt, weil es der Standard ist, wenn obj= bei sc.exe create weggelassen wird, und weil es in vielen alten Beispielen und Installervorlagen steht. Während der Entwicklung treten selten Berechtigungsfehler auf, daher bleibt es oft „weil es gelaufen ist“. Microsoft erklärt jedoch, dass die meisten Dienste dieses Rechteniveau nicht brauchen und LocalService oder NetworkService erwogen werden sollten, wenn es nicht nötig ist.95
Auch LocalSystem kann nicht alles bedingungslos ändern. Seit Windows Vista beschränkt der Windows-Ressourcenschutz (WRP) Änderungen an wichtigen Systemdateien, Ordnern und Registrierungsschlüsseln auf TrustedInstaller (den Dienst Windows Modules Installer). Selbst SYSTEM und Administratoren erhalten bei einem gewöhnlichen Schreibvorgang Zugriff verweigert. Die Meldung „Sie benötigen eine Berechtigung von TrustedInstaller“ kommt aus diesem Mechanismus.7
Trotz dieser Grenze hält LocalSystem für einen Geschäftsdienst weiterhin zu viele Rechte. Zulässige Ausnahmen sind Verarbeitung, deren geforderte privilegierte Rechte von vornherein über das Administratorniveau hinausgehen: enge Kopplung an Gerätetreiber, Eingriffe in die Sicherheitsgrundlage des OS, Verwaltung anderer Dienste und Sitzungen und Ähnliches. Bei Sicherungs-Agents, EDR und dergleichen ist genau diese Notwendigkeit die Frage.
Auch wenn ein Dienst unter eine Ausnahme fällt, prüfen Sie, ob ein Codepfad die privilegierten Rechte wirklich nutzt und ob sich nur dieser Teil trennen lässt. Zur Einordnung siehe „Wann sind unter Windows tatsächlich Administratorrechte nötig?“.
3. Die Identität festlegen, die das Ziel sieht: reicht PC$?
3.1 Wenn nur die Verbindung zu einem freigegebenen Ordner nötig ist, ist ein Domänenbenutzer oft überflüssig
Auf einer der Domäne beigetretenen Maschine authentifiziert sich ein Dienst unter LocalSystem, NetworkService oder einem virtuellen Konto gegenüber der Gegenseite als DOMAIN\Computername$. Manchmal liegt der einzige Grund, warum ein Dienst nicht auf einen freigegebenen Ordner zugreifen kann, darin, dass dieses PC$ in der ACL des Ziels nicht erlaubt ist.52
Was hier nötig ist, sind nicht stärkere lokale Rechte für den Dienst, sondern die richtige Identität auf dem Ziel zu erlauben. Bei einem freigegebenen Ordner setzen Sie sowohl die Freigabeberechtigungen als auch die NTFS-Berechtigungen.
Das folgende Beispiel, auf dem Dateiserver ausgeführt, gewährt dem Dienst auf APPSV01 Ändern. Wenn Sie das Konto in der GUI auswählen, nehmen Sie Computer unter Objekttypen auf.
# Auf dem Dateiserver: dem Dienst auf APPSV01 Ändern auf dem freigegebenen Ordner gewähren
# Sowohl Freigabe- als auch NTFS-Berechtigungen müssen vergeben werden
Grant-SmbShareAccess -Name "AppData" -AccountName "CORP\APPSV01$" -AccessRight Change -Force
icacls "D:\Shares\AppData" /grant "CORP\APPSV01$:(OI)(CI)M"
Bei SQL Server gilt dieselbe Überlegung, das Computerkonto als Windows-Anmeldung zu registrieren. Verwenden Sie Integrated Security=true in der Verbindungszeichenfolge und verbinden Sie sich, ohne dass der Dienst das Kennwort eines Domänenbenutzers hält.
-- Auf dem DB-Server: Windows-integrierte Authentifizierung vom Dienst auf APPSV01 erlauben
CREATE LOGIN [CORP\APPSV01$] FROM WINDOWS;
Das ist der Teil, in dem die Windows-Anmeldung auf dem DB-Server angelegt wird. Das Prinzip, die nötigen Berechtigungen auf dem Ziel zu vergeben, unterscheidet sich nicht vom freigegebenen Ordner.
3.2 Mit PC$ lassen sich Dienste nicht einzeln berechtigen oder prüfen
Die Identität eines virtuellen Kontos ist maschinenlokal und wird von der Domäne nicht erkannt. Im Netzwerk fällt sie in PC$ zusammen, sodass allein am Konto nicht erkennbar ist, von welchem Dienst derselben Maschine die Anfrage kommt.104
flowchart TB
accTitle: Die Identität eines virtuellen Kontos fällt außerhalb der Maschine zusammen
accDescr: Virtuelle Konten, die in der Maschine je Dienst eindeutig sind, fallen im Netzwerk auf das Computerkonto zusammen, sodass die Gegenseite nicht sagen kann, um welchen Dienst es sich handelt
vaa["Virtuelles Konto A"] --> pc["Computerkonto PC$"]
vab["Virtuelles Konto B"] --> pc
pc --> remote["Identität, die die Gegenseite sieht"]
remote -.-> nodist["Dienst nicht unterscheidbar"]
Abbildung 2: Auch wenn Dienste im PC getrennt sind, sieht das Ziel dasselbe PC$. Lokale Trennung und Trennung im Netzwerk sind getrennte Entscheidungen.
Dieser Ansatz hat zwei Grenzen.
| Grenze | Was nicht geht | Nächste Option |
|---|---|---|
| Die Identität ist maschinenweit | Dienste derselben PC unter LocalSystem, NetworkService oder virtuellen Konten lassen sich auf dem Ziel nicht einzeln berechtigen oder prüfen | Ein gMSA erwägen, wenn eine dienstspezifische Identität nötig ist |
| Eine Domäne ist Voraussetzung | Eine Arbeitsgruppe hat kein AD-Computerkonto, daher ist PC$-Authentifizierung nicht nutzbar | Ein anderes Design erwägen, das explizite Anmeldeinformationen geschützt behandelt, oder den Beitritt zur Domäne |
Dieselbe Identität auf mehreren Servern zu teilen, übersteigt ebenfalls, was ein maschinenweites PC$ oder virtuelles Konto leisten kann. Sobald in der Domäne eine dienstspezifische Identität oder eine über mehrere Server gemeinsame Identität nötig wird, erwägen Sie ein gMSA vor einem Domänenbenutzer — das ist die Linie dieses Artikels. Ein gMSA ist in einer Arbeitsgruppe ebenfalls nicht nutzbar.
4. Die Rolle des gMSA: eine eigene Identität, die Kennwortverwaltung an AD abgeben
4.1 Erzeugung, Verteilung und Erneuerung des Kennworts von Menschen trennen
Ein gMSA (gruppenverwaltetes Dienstkonto) ist ein Domänenkonto, dessen Kennwortverwaltung den Domänencontrollern überlassen wird. Der Domänencontroller berechnet das Kennwort aus dem Stammschlüssel des Key Distribution Service (KDS), und nur zugelassene Hosts rufen es ab und nutzen es für ihre Dienste.8
flowchart TB
accTitle: Wie die Kennwortverwaltung eines gMSA funktioniert
accDescr: Der Domänencontroller berechnet das Kennwort aus dem KDS-Stammschlüssel, nur zugelassene Hosts rufen es ab und nutzen es zum Ausführen von Diensten, und das Kennwort rotiert standardmäßig alle 30 Tage automatisch
kds["KDS-Stammschlüssel"] --> dc["DC berechnet das Kennwort"]
dc --> host["Zugelassener Host ruft es ab"]
host --> svc["Zum Ausführen des Dienstes genutzt"]
dc -.-> rot["Automatische Rotation alle 30 Tage standardmäßig"]
Abbildung 3: Ohne dass ein Mensch das Kennwort kennt, rufen zugelassene Hosts es ab, und der Dienst läuft mit Anmeldeinformationen, die automatisch erneuert werden.
| Wirkung | Bedeutung für den Betrieb |
|---|---|
| 240 Byte langes, zufällig erzeugtes Kennwort | Knacken per Brute-Force oder Wörterbuch wird unrealistisch, der Widerstand gegen Kerberoasting steigt deutlich |
| Automatische Rotation alle 30 Tage standardmäßig | Administratoren müssen keine Änderung planen und den Dienst nicht anhalten, um das Kennwort zu aktualisieren |
| Dieselbe Identität lässt sich auf mehreren Servern teilen | Auch eine Serverfarm hinter einem Lastenausgleich kann sich gegenseitig mit demselben Prinzipal authentifizieren |
| SPN-Verwaltung wird einfacher | Das Registrieren und Verwalten von Dienstprinzipalnamen wird einfacher und lässt sich delegieren |
Das sind die Gründe, ein gMSA einem manuell verwalteten Domänenbenutzer vorzuziehen.11 Wo Windows LAPS die Verwaltung lokaler Administratorkennwörter automatisiert, übernimmt ein gMSA die Kennwörter von Dienstkonten; so gesehen wird die Einordnung leichter. Die beiden Mechanismen zielen auf Unterschiedliches.
4.2 Die Prüfung der App-Unterstützung nicht überspringen
gMSAs werden breit von allem unterstützt, das eine Anmeldeidentität über die Standardmechanismen konfiguriert: Windows-Dienste, IIS-Anwendungspools, die Aufgabenplanung und so weiter. Aber nicht jede Anwendung kann sie nutzen. Software, die intern nach einem Kennwort fragt, kann es nicht, und es gibt Einschränkungen wie die, dass Failoverclustering selbst kein gMSA unterstützt.10
Ist ein gMSA ein Kandidat, bestätigen Sie vor der Produktion in einer Testumgebung, dass der Dienst als gMSA startet und auf die benötigten Ressourcen zugreifen kann. Auch Microsoft verlangt diesen Schritt.11
Verwandte Optionen sind das sMSA (eigenständiges verwaltetes Dienstkonto) für einen einzelnen Server und das in Windows Server 2025 eingeführte dMSA (delegiertes verwaltetes Dienstkonto). Ein dMSA bindet die Authentifizierung an die Geräteidentität, um dem Diebstahl von Anmeldeinformationen entgegenzuwirken. Bei neuen Konfigurationen gehen Sie vom gMSA aus und erwägen diese je nach Anforderung.2
5. Ein gMSA einführen: von den Voraussetzungen bis zur Dienstkonfiguration
5.1 Zuerst zu prüfende Anforderungen
| Punkt | Anforderung oder Hinweis |
|---|---|
| Domäne | Eine Active-Directory-Domänenumgebung. In einer Arbeitsgruppe nicht verfügbar |
| Funktionsebene | Domänen- und Gesamtstrukturfunktionsebene Windows Server 2012 oder höher |
| KDS-Stammschlüssel | Muss bereits vorhanden sein. Nach dem Anlegen eines neuen die Replikationswartezeit einplanen |
| gMSA-Name | Muss in der Gesamtstruktur eindeutig sein, nicht nur in der Domäne |
| Kennwortänderungsintervall | Lässt sich nur beim Anlegen setzen, daher vor dem Anlegen des Kontos festlegen |
| Anwendung | Prüfen, dass sie als gMSA startet und auf Ressourcen zugreift (4.2) |
gMSA-Name und Änderungsintervall werden ebenfalls vor der Einführung festgelegt. Darüber nach dem Anlegen des Kontos nachzudenken bedeutet, es neu anzulegen.10
5.2 Den KDS-Stammschlüssel prüfen und bei Bedarf anlegen
Das Anlegen des KDS-Stammschlüssels ist eine einmalige Aufgabe je Gesamtstruktur. Prüfen Sie zuerst, ob ein Schlüssel existiert, und fügen Sie einen nur hinzu, wenn keiner vorhanden ist.
# Als Domänenadministrator auf einem Domänencontroller ausführen (oder auf einem
# Verwaltungsrechner mit installiertem AD-PowerShell-Modul)
# Prüfen, ob ein KDS-Stammschlüssel existiert, und bei Bedarf anlegen (einmal je Gesamtstruktur)
Get-KdsRootKey
Add-KdsRootKey -EffectiveImmediately # Tatsächlich nutzbar erst bis zu 10 Stunden später
Auch mit -EffectiveImmediately ist der Schlüssel nicht unbedingt unmittelbar nach dem Anlegen nutzbar. Weil die Replikation auf alle Domänencontroller abgewartet wird, gibt es nach dem Anlegen eine Wartezeit von bis zu 10 Stunden, in der kein gMSA angelegt werden kann. Das verhindert den Fehlschlag, zum Kennwortabruf überzugehen, während die Replikation noch unvollständig ist. Nehmen Sie diese Zeit in den Einführungsplan auf.12
5.3 Die zum Abruf berechtigten Hosts eingrenzen und das gMSA konfigurieren
Das Verfahren hat vier Schritte. Die erste Hälfte ist Konfiguration auf der AD-Seite; die zweite Hälfte ist Arbeit auf jedem Server, der den Dienst ausführt.10
| Schritt | Aufgabe | Was zu bestätigen ist |
|---|---|---|
| (1) Eine Gruppe anlegen, die das Kennwort abrufen darf | Die Computerkonten der Zielserver hinzufügen | Nach dem Hinzufügen zur Gruppe die Server neu starten, damit die Mitgliedschaft greift |
| (2) Das gMSA anlegen | Die zum Abruf berechtigte Gruppe in New-ADServiceAccount angeben |
Name, DNS-Name und Kreis der zugelassenen Hosts stimmen |
| (3) Auf jedem Server installieren | Install-ADServiceAccount ausführen |
Test-ADServiceAccount gibt True zurück |
| (4) Als Anmeldekonto des Dienstes setzen | DOMAIN\Name$ angeben und den Dienst neu starten |
Die Kennwortfelder sind leer. Auch das Anmelderecht und die ACLs auf der Ressourcenseite prüfen |
Konfigurieren Sie vor dem nächsten Beispiel auch das Recht „Anmelden als Dienst“ aus 7.1. Dass sc.exe config gelingt, und dass der Dienst sich anmelden kann, sind zwei verschiedene Dinge.
# (1) Eine Sicherheitsgruppe anlegen, die das Kennwort abrufen darf, und
# die Computerkonten der Server hinzufügen, die den Dienst ausführen
New-ADGroup -Name "GG-SvcBatchHosts" -GroupScope Global
Add-ADGroupMember -Identity "GG-SvcBatchHosts" -Members "APPSV01$", "APPSV02$"
# Die Gruppenmitgliedschaft wird bewertet, wenn sich der Computer anmeldet,
# daher ist ein Neustart der Zielserver nach dem Hinzufügen der zuverlässige Weg
# (2) Das gMSA anlegen
New-ADServiceAccount -Name "svc-batch" `
-DNSHostName "svc-batch.corp.example.com" `
-PrincipalsAllowedToRetrieveManagedPassword "GG-SvcBatchHosts"
# (3) Auf jedem Server, der den Dienst ausführt, das gMSA installieren und prüfen
Install-ADServiceAccount -Identity "svc-batch"
Test-ADServiceAccount -Identity "svc-batch" # True bedeutet, das Kennwort kann abgerufen werden
# (4) Als Anmeldekonto des Dienstes setzen. $ an den Namen anhängen und kein Kennwort angeben
sc.exe config MyBatchService obj= "CORP\svc-batch$"
Restart-Service MyBatchService
Auch in services.msc geben Sie den Kontonamen mit nachgestelltem $ ein, etwa CORP\svc-batch$, und lassen die Kennwortfelder leer. MSA-Konten sind nicht für die interaktive Anmeldung nutzbar.3
Auf dem Ziel-Freigabeordner oder SQL Server vergeben Sie die nötigen Berechtigungen an CORP\svc-batch$ statt an PC$. Das Ergebnis ist eine Konfiguration, in der kein Mensch ein Kennwort verwaltet und der Dienst mit eigener Identität auf das Netzwerk zugreift. Hören Sie nicht beim Abrufcheck mit Test-ADServiceAccount auf; prüfen Sie die Hauptfunktionen des Dienstes wirklich.
6. Domänenbenutzer sind der letzte Ausweg: wenn nötig, die Gegenmaßnahmen vollständig umsetzen
6.1 Das Umgehen des Ablaufs zementiert ein anderes Risiko
Wird ein Domänenbenutzer oder ein lokaler Benutzer einem Dienst zugewiesen, speichert der SCM das Kennwort und nutzt es bei jedem Start zur Anmeldung. Der SCM verwaltet den Ablauf jedoch nicht. Läuft das gespeicherte Kennwort ab, schlägt die Anmeldung fehl und der Dienst startet nicht mehr.1
Daraus entsteht ein Teufelskreis: Um Ausfälle durch Ablauf zu verhindern, wird das Kennwort auf nie ablaufen gesetzt, dasselbe Kennwort bleibt im Klartext in Verfahrensdokumenten, Skripten und Aufgaben auf mehreren Servern, und am Ende kann es niemand mehr ändern, auch nicht nach einem Austritt, weil „niemand weiß, was stehen bleibt, wenn wir es ändern“.
Microsoft weist außerdem darauf hin, dass die Nutzung eines Domänenkontos für einen Dienst betrieblichen Aufwand in der manuellen Verwaltung von Kennwort und SPN kostet und dass Wartung zu Dienstausfällen führen kann. Das Kennwort allein auf nie ablaufen zu setzen löst das Verwaltungsproblem nicht.3
6.2 Ein Konto mit SPN ist auch ein Ziel für Kerberoasting
Ein Dienst, der Kerberos-Authentifizierung entgegennimmt, registriert einen SPN (Dienstprinzipalname) am Anmeldekonto. Jeder authentifizierte Benutzer der Domäne kann ein Dienstticket dafür anfordern; ein Angreifer holt das Ticket und versucht offline, das Kennwort per Brute-Force zu knacken — das ist Kerberoasting.
Die Gegenmaßnahme ist, ein langes, zufällig erzeugtes Kennwort zu nutzen, statt sich auf ein von Menschen gewähltes Kennwort von etwa 10 bis 16 Zeichen zu stützen. Microsoft nennt ebenfalls das Erzwingen langer Kennwörter und gMSAs, die lange maschinell erzeugte Zufallswerte verwenden.13
Kerberos-Härtung (FAST), in demselben Dokument erwähnt, schützt Vorauthentifizierungsdaten und bietet Widerstand gegen KDC-Täuschung. Sie verhindert nicht, dass authentifizierte Benutzer Diensttickets für einen SPN anfordern, und sie ist kein Ersatz für die Stärke des Dienstkontokennworts. Zu SPN, Kerberos und den Bedingungen, unter denen die Authentifizierung auf NTLM zurückfällt, siehe „NTLM und Kerberos anhand von Diagrammen erklärt“.
6.3 Bei nicht unterstützten Apps ein dediziertes Konto und den Betrieb zusammen festlegen
Ist ein dedizierter Domänenbenutzer unvermeidlich, etwa weil die Anwendung kein gMSA unterstützt, setzen Sie alle folgenden Gegenmaßnahmen um.
| Punkt | Was zu tun ist |
|---|---|
| Kennwort | Zufällig 25 oder mehr Zeichen erzeugen. Nicht in Verfahrensdokumenten, Skripten oder gemeinsamen Excel-Dateien schreiben; nur in einem Kennwort-Manager halten |
| Zweck des Kontos | Nicht mit einem Menschen teilen; dem Dienst widmen. Je Dienst ein eigenes Konto |
| Anmeldeeinschränkungen | Interaktive Anmeldung und Remotedesktop verweigern und „Anmelden als Dienst“ erlauben |
| Rechte | Gruppenmitgliedschaften und Berechtigungen minimieren. Nicht zu Domain Admins hinzufügen |
| Erneuerung und Verzeichnis | Ein Verfahren zur regelmäßigen Rotation festlegen und ein Verzeichnis der Server, Dienste, Aufgaben und so weiter führen, die eine Änderung betrifft |
Die Identität des Dienstes von menschlichen Konten zu trennen ist ebenfalls ein wichtiges Prinzip.4 Die unterstützten Dienste auf ein gMSA zu legen ist sicherer und leichter zu betreiben, als dass Menschen diese Verwaltung weiterführen; das ist der Grund, das gMSA vorzuziehen.
7. Umstellung und Prüfung: nicht beim Ändern des Kontonamens aufhören
7.1 Das Recht „Anmelden als Dienst“ prüfen
Um als Dienst zu starten, braucht das Konto SeServiceLogonRight (Anmelden als Dienst). LocalSystem, LocalService und NetworkService haben es eingebaut; bei jedem anderen Konto prüfen Sie, dass dieses Recht zugewiesen ist.14
| Konfigurationsweg | Umgang mit dem Recht | Was im Betrieb zu prüfen ist |
|---|---|---|
Die Registerkarte „Anmelden“ in services.msc |
Das Snap-In vergibt das Recht automatisch | Ob das nötige Recht eine Richtlinienanwendung übersteht |
CreateService / ChangeServiceConfig, sc.exe config |
Prüft nicht, ob das Konto das Recht hält | Einen eigenen Schritt vorsehen, der das Recht vergibt |
| Konfiguration per GPO | Eine lokale Vergabe kann überschrieben werden, wenn die Richtlinie greift | Das Zielkonto auch in der organisatorischen Richtlinie aufnehmen |
Halten Sie im Bereitstellungsverfahren fest, wie das Recht konfiguriert wird, ob in der lokalen Sicherheitsrichtlinie (secpol.msc) oder über GPO oder Intune. Sich nicht auf eine Nebenwirkung eines Werkzeugs zu stützen ist wichtig. Bei dienstexklusiven Konten kombinieren Sie das mit dem Verweigern der interaktiven Anmeldung.
7.2 Daten unter dem Profil und die ACLs prüfen
Beim Start eines Dienstes lädt der SCM das Benutzerprofil dieses Kontos. Folglich unterscheiden sich die tatsächlichen %TEMP%, %APPDATA% und HKEY_CURRENT_USER je Konto. Wirken Einstellungen oder Caches nach der Umstellung „verschwunden“, liegt das daran, dass der Dienst ein anderes Profil als das des alten Kontos ansieht.1
Die Abhilfe ist, die Daten des Dienstes an einen ausdrücklichen Pfad wie C:\ProgramData\<App-Name> zu legen und dem Anmeldekonto eine ACL darauf zu geben. Sind die Daten vom kontobezogenen Profil gelöst, erfordert der nächste Kontowechsel kein erneutes Verschieben des Speicherorts. Für Daten, die bereits unter einem Profil liegen, nehmen Sie die Migration in den Umstellungsplan auf.
Prüfen Sie Berechtigungen nicht nur auf den nötigen Ordnern, sondern auch auf der Registrierung und anderswo. Nach dem Wechsel auf ein Konto mit geringen Rechten prüfen Sie, dass Verarbeitung, die die alten LocalSystem-Rechte voraussetzte, nicht fehlschlägt.
7.3 DPAPI-geschützte Daten lassen sich nicht allein durch Dateiverschiebung übernehmen
Daten, die mit DPAPI im Benutzerbereich (CryptProtectData, .NETs ProtectedData und so weiter) geschützt wurden, können grundsätzlich nur von demselben Konto entschlüsselt werden, das sie geschützt hat. Wechseln Sie das Anmeldekonto, werden gespeicherte Verbindungszeichenfolgen und API-Schlüssel unlesbar.
Legen Sie deshalb getrennt von der Migration der Profildateien ein Verfahren fest, Geheimnisse nach der Umstellung erneut einzugeben. Auch wenn DPAPI die Daten wie vorgesehen schützt, wird daraus ein Dienstausfall, wenn niemand vorbereitet hat. Zur Gestaltung des Speicherorts siehe „Geheimnisse in Windows-Apps speichern“.
Lässt sich die Verbindung durch Windows-integrierte Authentifizierung mit einem gMSA oder PC$ erledigen, entfällt die Geheimnisspeicherung selbst. Die Reihenfolge ist, zuerst zu fragen „können wir uns das Speichern sparen?“ und dann „wo speichern wir?“.
Wenn Sie „mit den Rechten des aufrufenden Benutzers verarbeiten“ wollen, erwägen Sie außerdem Identitätswechsel statt das Anmeldekonto des Dienstes zu stärken. Das erklärt „Windows-Identitätswechseltoken richtig handhaben“.
7.4 Bestandsaufnahme über die Dienstliste, die Startidentität im Protokoll prüfen
Für die erste Bestandsaufnahme zählen Sie die Anmeldekonten in der Dienstliste. Das folgende Beispiel zeigt die Anzahl je Konto und die LocalSystem-Dienste, deren Pfad außerhalb des Windows-Ordners liegt.
# Zählen, welche Dienste unter welchem Konto laufen
Get-CimInstance Win32_Service |
Group-Object StartName |
Sort-Object Count -Descending |
Select-Object Count, Name
# Nicht standardmäßige Dienste finden, die als LocalSystem laufen (Pfad nutzen, um eigene und Drittanbieterdienste von integrierten zu unterscheiden)
Get-CimInstance Win32_Service |
Where-Object { $_.StartName -eq 'LocalSystem' -and $_.PathName -notlike '*\Windows\*' } |
Select-Object Name, DisplayName, PathName
Läuft ein Geschäftsdienst als LocalSystem oder Domänenbenutzer, kehren Sie zur Entscheidung in Kapitel 1 zurück und bestätigen Sie die nötigen privilegierten Rechte und die Identität, die das Ziel verlangt. Nutzen Sie den pfadbasierten Filter als Hinweis, Kandidaten zu finden, und entscheiden Sie anhand dessen, was der Dienst tatsächlich tut.
Der Dienststart lässt sich im Sicherheitsereignisprotokoll mit Ereignis-ID 4624, Anmeldetyp 5 (Service) bestätigen. Das steht für die Anmeldung, die der SCM zum Starten eines Dienstes ausführt. Das Feld Virtual Account zeigt, ob die Anmeldung durch ein MSA oder ein virtuelles Konto erfolgte, und kann daher auch zur Beobachtung verwalteter Konten dienen.15
7.5 Die Prüfungen vor der Produktivumstellung zusammenfassen
| Was zu prüfen ist | Was vor und nach der Umstellung zu bestätigen ist |
|---|---|
| Lokale Rechte | Die nötigen privilegierten Rechte und die ACLs auf Ordnern, Registrierungsschlüsseln und so weiter sind vorhanden |
| Identität im Netzwerk | Das Ziel hat Berechtigungen an die vorgesehene Identität vergeben, etwa PC$ oder das gMSA |
| Anmelderecht | „Anmelden als Dienst“ ist zugewiesen und geht nicht durch Richtlinie verloren |
| Speicherorte | Änderungen an Profil, TEMP und HKCU sind geprüft, vorhandene Daten sind migriert |
| DPAPI | Es gibt ein Verfahren, im Benutzerbereich geschützte Anmeldeinformationen und andere Daten erneut einzugeben |
| Verhalten und Prüfung | Start und Hauptfunktionen in einer Testumgebung bestätigt, Anmeldekonto und Protokolle nach der Umstellung bestätigt |
Ob Sie von LocalSystem weggehen oder ein gMSA einführen: Schließen Sie diese Prüfungen ab, bevor Sie die Produktion umstellen. Der Kern der Migration ist, geringste Rechte und den Weiterbetrieb der nötigen Funktionen gemeinsam zu bestätigen.
8. Zusammenfassung
Bei der Wahl eines Dienstkontos trennen Sie lokale Rechte, Identität im Netzwerk und Kennwortverwaltung. Dass LocalSystem der Standard ist, ist kein Grund, es zu nutzen. Für gewöhnliche Geschäftsdienste machen Sie virtuelle Konten zur Grundlage und vergeben die nötigen ACLs. LocalSystem erwägen Sie nur, wenn starke privilegierte Rechte wirklich nötig sind.53
Reicht für die Ziele in der Domäne eine maschinenweite Identität, können ein virtuelles Konto oder Ähnliches plus eine PC$-Berechtigung genügen. Brauchen Sie eine dienstspezifische Identität oder eine, die mehreren Servern gemeinsam ist, wählen Sie ein gMSA und überlassen die Kennwortverwaltung AD. In einer Arbeitsgruppe sind weder PC$ noch gMSA verfügbar; es braucht ein anderes Design, das Anmeldeinformationen behandelt.210
Ist ein Domänenbenutzer nötig, stellen Sie ein dediziertes Konto, ein langes Zufallskennwort, Anmeldeeinschränkungen, geringste Rechte, Rotation und ein Verzeichnis bereit. Bei der Umstellung prüfen Sie nicht nur den Kontonamen, sondern auch das Anmelderecht, das Profil und DPAPI.
Die Frage beim nächsten Konfigurieren eines Dienstes lautet: „Als wer, und wie weit, sollte dieser Dienst zugreifen können?“ Wählen Sie das Konto passend zu dieser Antwort, und lassen Sie es nicht als „die Einstellung, die funktioniert hat“ festgehalten.
Verwandte Artikel
- Windows-Dienste erstellen und betreiben ── Von der Abgrenzung zur Aufgabenplanung bis zur Umwandlung eines BackgroundService in einen Dienst
- Wann sind unter Windows tatsächlich Administratorrechte nötig? - UAC, geschützte Bereiche und wie man es am Design erkennt
- Windows-Identitätswechseltoken richtig handhaben ── Rechte pro Thread ausleihen und sicher zurückgeben
- NTLM und Kerberos anhand von Diagrammen erklärt — Warum die Authentifizierung auf NTLM zurückfällt
- Windows LAPS in der Praxis — Schluss mit dem für alle PCs gleichen lokalen Administratorkennwort
- Geheimnisse in Windows-Apps speichern – Klartextkonfiguration mit DPAPI vermeiden
Verwandte Beratungsbereiche
KomuraSoft LLC übernimmt die Gestaltung des Anmeldekontos und die Härtung auf geringste Rechte für Windows-Dienste und residente Apps, die Migration bestehender, unter der Annahme von LocalSystem gebauter Dienste zu einem virtuellen Konto oder einem gMSA sowie die Untersuchung von Ausfällen durch Zugriff verweigert, DPAPI und das Profil nach einem Kontowechsel. Vom Stadium „wir wurden im Audit beanstandet, wissen aber nicht, wo wir anfangen sollen“ zu beginnen ist in Ordnung.
- Windows-App-Entwicklung
- Fehleruntersuchung und Ursachenanalyse
- Technische Beratung und Design-Review
- Kontakt
Quellen
-
Microsoft Learn, Service User Accounts. Dazu, dass ein Dienst im Sicherheitskontext eines Benutzerkontos läuft, dass der SCM sich beim Start am Konto anmeldet und ein Zugriffstoken mit dem Dienstprozess verknüpft, dass der SCM das Benutzerprofil lädt, und dass der SCM den Kennwortablauf nicht verwaltet, sodass Ablauf die Anmeldung fehlschlagen lässt und der Dienst nicht startet. ↩ ↩2 ↩3 ↩4 ↩5
-
Microsoft Learn, Service accounts. Dazu, dass ein virtuelles Konto ein automatisch verwaltetes lokales Konto ist, das keine Kennwortverwaltung braucht, dass der Name die Form NT SERVICE<SERVICENAME> hat, dass es in einer Domänenumgebung mit den Anmeldeinformationen des Computerkontos (
\ ↩ ↩2 ↩3 ↩4 ↩5 ↩6$) auf das Netzwerk zugreift, und die Kriterien für die Wahl unter sMSA, gMSA, dMSA und einem virtuellen Konto. -
Microsoft Learn, Configure Windows service accounts and permissions. Dazu, dass das Standard-Dienstkonto von SQL Server ein virtuelles Konto ist (NT SERVICE\MSSQLSERVER und dergleichen), dass Sie beim Angeben eines virtuellen Kontos oder eines MSA das Kennwortfeld leer lassen, dass ein MSA ein Name mit nachgestelltem $ ist und nicht für eine interaktive Anmeldung genutzt werden kann, dass Local Service ein geteiltes Konto ist, sich daher nicht trennen lässt und von SQL Server nicht unterstützt wird, dass die Nutzung eines Domänenkontos Aufwand in der manuellen Verwaltung von Kennwort und SPN kostet und Wartung zu einem Dienststopp führen kann, und dass Sie einen Dienst stets als Konto mit geringsten Rechten ausführen sollten. ↩ ↩2 ↩3 ↩4 ↩5 ↩6 ↩7 ↩8
-
Microsoft Learn, Securing on-premises service accounts. Die Priorität zuerst ein gMSA für einen lokalen Dienst, dann ein sMSA, wenn das nicht nutzbar ist, dann ein Computerkonto und zuletzt ein Benutzerkonto; dass Sie bei Nutzung eines Computerkontos nicht sagen können, welcher Dienst dieses Konto nutzt, und eine Änderung nicht prüfen können; und die Rollen eines Dienstkontos (den Dienst identifizieren, authentifizieren und starten). ↩ ↩2 ↩3
-
Microsoft Learn, LocalSystem Account. Dazu, dass LocalSystem umfangreiche Rechte auf dem lokalen Computer hält und das Token die SIDs von NT AUTHORITY\SYSTEM und BUILTIN\Administrators enthält, dass es kein Kennwort hat, dass es einem Remoteserver die Anmeldeinformationen des Computers vorlegt, eine Liste von Rechten einschließlich SE_DEBUG_NAME und SE_TCB_NAME, und dass die meisten Dienste dieses Rechteniveau nicht brauchen und LocalService/NetworkService erwägen sollten. ↩ ↩2 ↩3 ↩4 ↩5
-
Microsoft Learn, Local accounts. Dazu, dass SYSTEM (S-1-5-18) standardmäßig Vollzugriff auf ein NTFS-Volume hat, dass NETWORK SERVICE (S-1-5-20) einem Remoteserver die Anmeldeinformationen des Computers vorlegt, und dass LOCAL SERVICE (S-1-5-19) lokal minimale Rechte hält und dem Netzwerk anonyme Anmeldeinformationen vorlegt. ↩ ↩2 ↩3
-
Microsoft Learn, About Windows Resource Protection. Dazu, dass Windows-Ressourcenschutz (WRP) das Ersetzen wichtiger Systemdateien, Ordner und Registrierungsschlüssel verhindert, dass Vollzugriff auf eine WRP-geschützte Ressource auf TrustedInstaller beschränkt ist und eine Änderung nur über den unterstützten Ersatzmechanismus über den Windows-Modules-Installer-Dienst erfolgen kann, und dass eine Anwendung, die eine geschützte Ressource zu ändern versucht, Zugriff verweigert erhält. ↩ ↩2
-
Microsoft Learn, Group Managed Service Accounts overview. Dazu, dass ein gMSA ein Domänenkonto ist, das die Kennwortverwaltung Windows überlässt, dass der Domänencontroller das Kennwort aus dem gemeinsamen Geheimnis des Key Distribution Service (kdssvc.dll) berechnet und ein Mitgliedshost den Domänencontroller nach dem aktuellen und dem vorherigen Kennwort abfragt, und dass es gegenseitige Authentifizierung als derselbe Prinzipal in einer Serverfarm ermöglicht. ↩ ↩2
-
Microsoft Learn, sc.exe config. Dazu, dass Sie das Anmeldekonto des Dienstes mit dem Parameter obj= angeben, dass der Standard LocalSystem ist, und den Parameter password= bei Nutzung eines anderen Benutzerkontos als LocalSystem. ↩
-
Microsoft Learn, Manage group Managed Service Accounts. Die Voraussetzungen des gMSA (Domänen-/Gesamtstrukturfunktionsebene 2012 oder höher, Anlegen eines KDS-Stammschlüssels), dass der gMSA-Name in der Gesamtstruktur eindeutig sein muss, dass das Kennwortänderungsintervall nur bei der Erstellung gesetzt werden kann, das Angeben der zum Abrufen des Kennworts berechtigten Gruppe mit -PrincipalsAllowedToRetrieveManagedPassword von New-ADServiceAccount, das Verfahren Install-ADServiceAccount/Test-ADServiceAccount, dass die Identität eines virtuellen Kontos maschinenlokal ist und von der Domäne nicht erkannt wird, dass ein Failovercluster kein gMSA unterstützt, und dass SCM, ein IIS-Anwendungspool und die Aufgabenplanung das Konfigurieren der Anmeldung als gMSA unterstützen. ↩ ↩2 ↩3 ↩4 ↩5
-
Microsoft Learn, Secure group managed service accounts. Dazu, dass ein gMSA-Kennwort eine 240-Byte-Zufallserzeugung ist, die schwer per Brute-Force oder Wörterbuch anzugreifen ist, dass das Windows-OS das Kennwort alle 30 Tage ändert, sodass ein Administrator keine Änderung planen oder den Dienst stoppen muss, das Bereitstellen in einer Serverfarm und einfachere SPN-Verwaltung, dass Sie, wenn ein Dienst kein gMSA unterstützt, ein sMSA nutzen und wenn das auch nicht möglich ist ein Standardbenutzerkonto mit starker Kennwortverwaltung, und dass Sie das Verhalten als gMSA in einer Testumgebung vor der Produktion bestätigen sollten. ↩ ↩2
-
Microsoft Learn, Create a Key Distribution Service (KDS) root key. Dazu, dass ein Stammschlüssel nötig ist, damit der Domänencontroller mit der Erzeugung von gMSA-Kennwörtern beginnt, das Anlegeverfahren mit Add-KdsRootKey -EffectiveImmediately, dass Sie bis zu 10 Stunden nach dem Anlegen kein gMSA anlegen können, weil Sie auf das Zusammenlaufen der AD-Replikation warten, und dass unvollständige Replikation das Abrufen des Kennworts fehlschlagen lassen kann. ↩
-
Microsoft Learn, Protect SMB traffic from interception. Empfehlungen einschließlich eines gMSA als Schutz des Dienstkontos (ein langes maschinenerzeugtes Zufallskennwort, das das Knacken per Brute-Force oder Wörterbuch unrealistisch macht), das Erzwingen eines langen Kennworts und eine Erwähnung von Kerberos-Härtung (FAST). ↩
-
Microsoft Learn, Policy CSP - UserRights: LogOnAsService. Dazu, dass das Recht „Anmelden als Dienst“ einem Sicherheitsprinzipal erlaubt, sich als Dienst anzumelden, dass Local System, Local Service und Network Service dieses Recht eingebaut haben, dass ein als irgendein anderes Konto ausgeführter Dienst dieses Recht zugewiesen braucht, und den Gruppenrichtlinien-Konfigurationspfad. ↩
-
Microsoft Learn, 4624(S): An account was successfully logged on. Dazu, dass Ereignis 4624 auf dem zugegriffenen Computer aufgezeichnet wird, wenn eine Anmeldesitzung erzeugt wird, dass Anmeldetyp 5 einen Dienst bedeutet (der SCM startet einen Dienst), und dass das Feld „Virtual Account“ eine Anmeldung durch ein MSA oder ein virtuelles Konto identifizieren und zur Beobachtung verwalteter Dienstkonten genutzt werden kann. ↩
Verwandte Artikel
Aktuelle Artikel mit denselben Schlagwörtern führen zu verwandten Themen weiter.
Windows LAPS in der Praxis — Das gemeinsame lokale Administratorkennwort aufgeben
Ein für alle PCs gleiches lokales Administratorkennwort ist der Nährboden für Pass-the-Hash, bei dem die Kompromittierung eines Geräts au...
SMB-Signierung und LDAP-Channel-Binding — Die „andere Hälfte“ der NTLM-Abwehr in der Praxis schließen
SMB-Signierung und LDAP-Signierung/Channel-Binding sind die Verteidigungsmaßnahmen, die den Schaden durch Relay-Angriffe begrenzen, solan...
NTLM und Kerberos anhand von Diagrammen erklärt — Warum die Authentifizierung auf NTLM zurückfällt
Ein bebilderter Vergleich von NTLM und Kerberos: Challenge/Response, TGTs und Diensttickets, die Bedingungen, unter denen Negotiate auf N...
Bringt die NTLM-Abschaffung Ihre Fachanwendungen zum Stillstand? — Wie Sie Audit-Protokolle erfassen und in welcher Reihenfolge Sie Abhängigkeiten beseitigen
Eine praxisnahe Anleitung, um vor der Abschaffung von NTLM herauszufinden, wo Ihre Windows-Umgebung und Ihre Fachanwendungen von NTLM abh...
Die Tiefen der Windows-Virtualisierung (Teil 2) — Speicher, den selbst der Kernel nicht sieht: Wie VBS, HVCI und Credential Guard funktionieren
Bei einer Neuinstallation auf kompatibler Hardware ist VBS standardmäßig aktiv und nutzt Hypervisor und SLAT, um Isolierung stärker als d...
Verwandte Themen
Diese Seiten ordnen den Artikel in einen größeren Leistungs- und Entscheidungskontext ein.
Technische Windows-Themen
Portal zu Windows-Entwicklung, Fehleranalyse und der Nutzung bestehender Assets.
Leistungen zu diesem Thema
Dieser Artikel ist direkt mit den folgenden Leistungen verbunden.
Windows-App-Entwicklung
Geschäftsanwendungen, Geräteintegration und Kommunikationstools von den Anforderungen bis zur Umsetzung.
Häufige Fragen
Fragen, die in Beratungen zu diesem Artikelthema häufig gestellt werden.
- Soll ich einen Dienst, den ich vorerst unter LocalSystem laufen lasse, sofort ändern?
- Eine sofortige Änderung ist nicht in jedem Fall die richtige Antwort. Prüfen Sie zuerst, ob dieser Dienst wirklich lokale Rechte auf LocalSystem-Niveau braucht (starke privilegierte Rechte jenseits eines Administrators). Geht es nur um Dateilesen und -schreiben sowie Netzwerkkommunikation, ist der Wechsel zu einem virtuellen Konto (NT SERVICE\Dienstname) der erste Kandidat. Bei der Migration prüfen Sie die Vergabe von Zugriff auf benötigte Ordner und Registrierungsschlüssel, den Umgang mit Daten, die vom Profil oder von DPAPI abhängen, und ob das Recht „Anmelden als Dienst“ vorliegt. Prüfen Sie Start und die Hauptfunktionen in einer Testumgebung, dann stellen Sie die Produktion um.
- Soll ich ein virtuelles Konto oder NetworkService wählen?
- Für eine neue Wahl empfehlen wir ein virtuelles Konto. Im Netzwerk erscheinen beide als Computerkonto (DOMAIN\Computername$), und beide haben geringe lokale Rechte. NetworkService wird jedoch von mehreren Diensten geteilt, sodass Sie mit einer ACL nicht „nur diesem Dienst erlauben“ trennen können. Ein virtuelles Konto hat eine Identität, die jedem Dienst eigen ist, und Sie können NT SERVICE\Dienstname direkt auf einer ACL angeben. Neuere Microsoft-Produkte wie SQL Server nutzen ebenfalls standardmäßig ein virtuelles Konto.
- Kann ich ein gMSA in einer Arbeitsgruppenumgebung (ohne Domäne) nutzen?
- Nein. Ein gMSA ist ein Mechanismus, bei dem ein Active-Directory-Domänencontroller das Kennwort erzeugt und verwaltet; eine Domäne und das Anlegen eines KDS-Stammschlüssels sind Voraussetzungen. In einer Arbeitsgruppe ist die Grundlage, lokale Verarbeitung mit einem virtuellen Konto oder LocalService/NetworkService abzuschließen. Brauchen Sie Zugriff auf eine andere Maschine, brauchen Sie ein anderes Design, etwa die explizite Nutzung der Anmeldeinformationen eines auf dem Ziel vorbereiteten Kontos. Netzwerkzugriff als Computerkonto (PC$) gilt ebenfalls nur in einer Domänenumgebung.
- Nachdem ich das Anmeldekonto des Dienstes geändert habe, kann ich gespeicherte Einstellungen und Anmeldeinformationen nicht mehr lesen. Warum?
- Weil jedes Anmeldekonto an sein eigenes Benutzerprofil, %TEMP%, HKEY_CURRENT_USER und den DPAPI-Schlüssel gebunden ist. Insbesondere Daten, die mit benutzerbezogenem DPAPI (CryptProtectData und Ähnliches) geschützt wurden, können grundsätzlich nur von demselben Konto entschlüsselt werden, das sie geschützt hat. Dateien unter dem Profil (AppData und Ähnliches) sind vom neuen Konto aus auch ein anderer Pfad. Bevor Sie Konten wechseln, planen Sie das Verfahren zum Neuaufbauen DPAPI-geschützter Daten (erneutes Eingeben von API-Schlüsseln und Ähnliches) und das Migrieren von Dateien unter dem Profil.
- Wenn der Dienst nur auf einen freigegebenen Ordner zugreifen soll, brauche ich einen Domänenbenutzer?
- In vielen Fällen nein. In einer Domänenumgebung authentifiziert sich ein Dienst, der als LocalSystem, NetworkService oder virtuelles Konto läuft, gegenüber der Gegenseite als Computerkonto (DOMAIN\Computername$). Fügen Sie dieses PC$ den Freigabeberechtigungen und den NTFS-Berechtigungen des freigegebenen Ordners hinzu, und er kann lesen und schreiben. Wollen Sie die Zugriffssteuerung mit einer dienstspezifischen Identität oder dieselbe Identität auf mehreren Servern, erwägen Sie ein gMSA statt eines Domänenbenutzers.
Autorenprofil
Profilseite des Artikelautors.
Go Komura
Geschäftsführer von KomuraSoft LLC
Spezialisiert auf Windows-Softwareentwicklung, technische Beratung und Fehleranalyse, insbesondere bei bestehenden Systemen und schwer reproduzierbaren Störungen.