Jump to content

AD-Benutzer verliert automatisch die Veerbung


Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

Tach zusammen,

 

seit kurzem klagt ein USER darüber, dass sein Blackberry keine Mails mehr sendet. Der REST geht!

 

Jetzt haben wir den Cloe gefunden. In der AD, die Ansicht auf Erweiterte Ansicht stellen. Dann hat man im USER die Registerkarte "Sicherheit" angezeigt bekommen. Hier sieht man nun, das der USER das Häckchen für die Vereerbung nicht mehr sitzen hat! Das verschwindet nach ein gewisser Zeit einfach, dann hat man natürlich kein Zugriff mehr.

 

Hat jemand eine Idee, woran das liegen kann??

Link zu diesem Kommentar

Servus,

 

Das verschwindet nach ein gewisser Zeit einfach

 

das ist der AdminSDHolder.

 

 

Die Erklärung:

 

Das Active Directory enthält einen Schutz - Mechanismus, dass Benutzerkonten und Gruppen die Mitglieder von Dienstadministratorgruppen sind, speziell schützt. Der Domänencontroller, der die FSMO - Rolle des PDC-Emulators innehat, überprüft alle 60 Minuten, dass die DACLs dieser Konten mit der Berechtigungsliste eines speziellen AdminSDHolder - Objekts übereinstimmen.

 

Hinweis: Wenn im folgenden Registry - Pfad: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NTDS\Parameters der Schlüssel "AdminSDProtectFrequency" nicht gesetzt ist (der standardmäßig nicht existiert), dann lautet das Überprüfungsintervall des PDC - Emulators 60 Minuten. Der Wert kann zwischen 1 Minute (60 Sekunden) und 2 Stunden (7200 Sekunden) liegen.

 

Dieser Prozess soll verhindern, dass die Sicherheitsberechtigung an administrativen Konten geändert wird und somit zu viele Domänenadministratoren oder andere Anwender mit höheren Rechten, administrative Tätigkeiten ausführen können.

 

Der Prozess geht dabei folgendermaßen vor:

 

- Es prüft, welche Benutzerkonten direkt oder verschachtelt in einer der geschützten Gruppen sind und setzt dessen Attribute „adminCount“ auf den Wert von größer 0

- Alle Benutzerkonten, die einen Wert des Attributs „adminCount“ größer 0 haben, werden auf den Standardwert (der den Rechten des Objekts AdminSDHolder entspricht) zurückgesetzt. Das bedeutet, dass die Rechte die man auf der Registerkarte „Sicherheit“ des Benutzerkonto`s sieht, zurückgesetzt werden und auch für alle administrativen Konten gilt.

- Der Standardwert basiert auf den Berechtigungen des Objektes CN=AdminSDHolder,CN=System,DC=<Domäne>,DC=<TLD> und dient als Vorlage für alle administrativen Konten.

- Damit wird ebenfalls die Vererbung durch darüber liegende OUs deaktiviert

 

 

Folgende Gruppen (samt den direkten oder verschachtelten Mitgliedern sowie Gruppen) ab Windows 2000, einschließlich Service Pack 3 werden durch den AdminSDHolder geschützt:

 

- Organisations-Administratoren

- Schema - Administratoren

- Domänen - Administratoren

- Administratoren

 

Ab dem Service Pack 4 für Windows 2000 (oder mit installiertem Hotfix 327825 auch mit früherem SP) bzw. Windows Server 2003 werden folgende Gruppen mitgeschützt:

 

- Server - Operatoren

- Sicherungs - Operatoren

- Konten - Operatoren

- Druck - Operatoren

- Zertifikatherausgeber

 

Zusätzlich werden die Benutzerkonten „Administrator“ und „KRBTGT“ ebenfalls vom AdminSDHolder Prozess geschützt sowie Benutzerkonten die in Verteilergruppen (auch verschachtelt) ebenfalls Mitglied einer der geschützten Gruppen sind.

 

 

... to be continued

Link zu diesem Kommentar

Die Operatoren - Konten (und nur diese) können von dem AdminSDHolder - Prozess ausgenommen werden. Dazu muss ein Hotfix installiert werden, der aus diesem Artikel angefordert werden kann:

 

Delegated permissions are not available and inheritance is automatically disabled

 

Dort ist auch erklärt, wie der Schutz für bestimmte Gruppen deaktiviert werden kann.

 

Erkennt der PDC - Emulator eine Abweichung in der Berechtigungsliste ausgehend von der Berechtigungsliste des AdminSDHolder), wird diese dahingehend geändert, um eine Übereinstimmung mit der Liste des AdminSDHolder`s zu erzielen. Wenn Benutzerkonten aus den geschützten Konten entfernt werden, bekommen sie nicht automatisch die Sicherheitseigenschaften angepasst, damit sie erneut die vererbten Berechtigungen akzeptieren.

 

Diese Änderung muss manuell oder durch ein Skript (ein Beispielscript befindet sich im oben angegebenen Artikel) erledigt werden.

 

Werden Änderungen in der Berechtigungsliste des AdminSDHolder - Objekts vorgenommen, werden diese für alle Mitglieder der Dienstadministratorgruppe übernommen. Daher stellt eine Änderung des AdminSDHolder - Objekts ein

Sicherheitsrisiko dar und deshalb sollten diese (falls nötig), gut durchdacht worden sein.

 

Falls Änderungen am AdminSDHolder - Objekt getätigt werden, wird dieses im Ereignisprotokoll der Domänencontroller aufgezeichnet, der in etwa wie folgt aussieht: Die Quelle lautet „Security“, als Kategorie wird „Verzeichnisdienstzugriff“ vermerkt, der Typ lautet „Erfolg“ und als „Ereignis - ID“ wird die „ID 565“ gespeichert. Dieses gilt es auf allen Domänencontrollern zu kontrollieren.

 

Wenn eine nicht autorisierte Änderung am AdminSDHolder - Objekt vorgenommen wurde, kann diese aus dem Pfad CN=AdminSDHolder, CN=System, DC=<Domäne>, DC=DE der Domänenverzeichnispartition, wiederhergestellt werden.

Link zu diesem Kommentar

Hi,

 

kann ich den Patch von Microsoft einspielen, löst das mein Problem??

Artikel-ID: 895949

 

gibt es nicht eine einfachere Lösung!

 

was muss ich den tun, wenn ich dem USER alle Adminrechte nehme...dann muss ich noch was tun???

 

ist mir nicht ganz klar, Sorry!!

 

http://support.microsoft.com/hotfix/KBHotfix.aspx?kbnum=895949&kbln=de

 

dass passt besser, oder?

 

http://www.msxfaq.de/konzepte/adminsdholder.htm

bearbeitet von Dayworker
Link zu diesem Kommentar

mmmh....wenn ich den Patch aufspielen will, sagt er das ein neueres Service Pack drauf sei und das Update nicht benötigt wird!

 

 

 

ich habe da folgende VBS script versucht zum laufen zu bringen, leider bricht er ab! Das ist das Beispielscript aus dem KB817433..

 

kann mir jemand helfen, warum das nicht läuft!

 

********************************************************************

'*

'* File: ResetAccountsadminSDHolder.vbs

'* Created: November 2003

'* Version: 1.0

'*

'* Main Function: Resets all accounts that have adminCount = 1 back

'* to 0 and enables the inheritance flag

'*

'* ResetAccountsadminSDHolder.vbs

'*

'* Copyright © 2003 Microsoft Corporation

'*

'********************************************************************

 

Const SE_DACL_PROTECTED = 4096

 

On Error Resume Next

 

Dim sDomain

Dim sADsPath

Dim sPDC

 

 

Dim oCon

Dim oCmd

Dim oRst

Set oRst = CreateObject("ADODB.Recordset")

Set oCmd = CreateObject("ADODB.Command")

Set oCon = CreateObject("ADODB.Connection")

 

Dim oRoot

Dim oDomain

Dim oADInfo

Dim oInfo

Set oADInfo = CreateObject("ADSystemInfo")

Set oInfo = CreateObject("WinNTSystemInfo")

sPDC = oInfo.PDC & "." & oADInfo.DomainDNSName

 

oCon.Provider = "ADSDSOObject"

oCon.Open "Active Directory Provider"

 

oCmd.ActiveConnection = oCon

 

Set oRoot = GetObject("LDAP://rootDSE")

sDomain = oRoot.Get("defaultNamingContext")

Set oDomain = GetObject("LDAP://" & sDomain)

sADsPath = "<" & oDomain.ADsPath & ">"

 

oCmd.CommandText = "SELECT ADsPath FROM 'LDAP://" & sPDC & "/" & sDomain & "' WHERE objectCategory='person' and objectClass = 'user' AND adminCount = 1"

Set oRst = oCmd.Execute

 

WScript.Echo "searching for objects with 'admin count = 1' in " & sDomain

 

If oRst.RecordCount = 0 Then

WScript.Echo "no accounts found"

WScript.Quit

End If

 

Do While Not oRst.EOF

WScript.Echo "found object " & oRst.Fields("ADsPath")

If SetInheritanceFlag(oRst.Fields("ADsPath")) = 0 Then WScript.Echo "Inheritance flag set"

If SetAdminCount(oRst.Fields("ADsPath"), 0) = 0 Then WScript.Echo "adminCount set to 0"

WScript.Echo "=========================================="

oRst.MoveNext

Loop

 

 

Private Function SetInheritanceFlag(DSObjectPath)

 

Dim oSD

Dim oDACL

Dim lFlag

Dim oIADs

 

Set oIADs = GetObject(DSObjectPath)

 

Set oSD = oIADs.Get("nTSecurityDescriptor")

 

If oSD.Control And SE_DACL_PROTECTED Then

oSD.Control = oSD.Control - SE_DACL_PROTECTED

End If

 

oIADs.Put "nTSecurityDescriptor", oSD

oIADs.SetInfo

 

If Err.Number <> 0 Then

SetInheritanceFlag = Err.Number

Else

SetInheritanceFlag = 0

End If

 

End Function

 

 

Private Function SetAdminCount(DSObjectPath, AdminCount)

 

Dim oIADs

Dim iAdminCount

 

Set oIADs = GetObject(DSObjectPath)

 

iAdminCount = oIADs.Get("adminCount")

 

If iAdminCount = 1 Then iAdminCount = 0

 

oIADs.Put "adminCount", iAdminCount

oIADs.SetInfo

If Err.Number <> 0 Then

SetAdminCount = Err.Number

Else

SetAdminCount = 0

End If

 

End Function

bearbeitet von Dayworker
Link zu diesem Kommentar
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Schreibe einen Kommentar

Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor-Fenster leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...