Jump to content

AD-Sicherheit / Auflistung von Usern und Gruppenmitgliedschaften einschränken


Empfohlene Beiträge

Geschrieben (bearbeitet)
vor 11 Stunden schrieb wznutzer:

Fall das auch jemand bauen will. Ich habe mich dazu entschieden, die Rechte auf den OUs nicht zu entfernen (authentifizierte Benutzer), sondern stattdessen ein explizites verweigern zu setzen. Der einfache Grund ist, dass beim scripten mit dsacls es nicht möglich ist, einzelne Rechte zu entfernen. Es funktioniert so aber auch prima.

 

Wenn du dir bei neuen OUs das entfernen der Rechte sparen willst, kannst du das Schema entsprechend anpassen und dort die default Berechtigungen für neue OUs setzen: Active Directory: Controlling Object Visibility – List Object Mode | Microsoft Learn

 

bearbeitet von testperson
  • 2 Wochen später...
Geschrieben
Am 17.1.2025 um 19:07 schrieb daabm:

Wer List Object MOde verwendet und "manuell" administriert, der MUSS den DefaultSD von nahezu allem bearbeiten, sonst könnte man sich schon ersteres sparen :-)

Ich glaube ich würde es verstehen, wenn ich wüsste was der DefaultSD ist :grins2:.

Geschrieben
vor 31 Minuten schrieb wznutzer:

Ich glaube ich würde es verstehen, wenn ich wüsste was der DefaultSD ist :grins2:.

Das ist die ACL, die jedes Objekt von seiner Klasse im Schema mitgegeben bekommt, wenn es erstellt wird. Wenn Du dir ein neues Objekt anschaust und die Berechtigungen unter "Advanced" auflistest, dann gibt es halt Einträge, die nicht vererbt sind. Das sind diese :-) 

  • Like 1
  • Danke 1
  • 1 Monat später...
Geschrieben (bearbeitet)
Am 6.1.2025 um 20:16 schrieb NorbertFe:

Ich wollte nur kurz notieren, dass es auch ohne dsrevoke geht. Ich kann nichts dazu sagen, ob dsrevoke gut ist oder schlecht. Ich habe es nach nochmaligem Überlegen mit Powershell umgesetzt. Man kann das z. B. so machen:

 

################################################
# authentifizierten Benutzern Rechte auf OU nehmen
################################################

# Definition des Principal
$AuthUsersPrincipal = "NT-AUTORITÄT\Authentifizierte Benutzer" 

# Definition der zu entziehenden Rechte: ListObject = 128, ListChildren = 4
$rights2Remove = [System.DirectoryServices.ActiveDirectoryRights]::ListChildren -bor [System.DirectoryServices.ActiveDirectoryRights]::ListObject

#################################
# HauptOU
#################################

# ACL OU auslesen
$PathAclHauptOU = "AD:$PathHauptOU"
$aclHauptOU = Get-Acl -Path $PathAclHauptOU

# Durch die einzelnen ACEs (Access Control Entries) der OU iterieren
# und prüfen, ob diese vom gewünschten Principal sind.
# Falls ja, entfernen wir nur die gewünschten Rechte aus der ACE.
$modified = $false

foreach($ace in $aclHauptOU.Access)
{
	if(($ace.IdentityReference -eq $AuthUsersPrincipal) -and ($ace.AccessControlType -eq [System.Security.AccessControl.AccessControlType]::Allow))
	{
		# Prüfen, ob in diesem ACE mindestens eines der zu entfernenden Rechte enthalten ist
		if(($ace.ActiveDirectoryRights -band $rights2Remove) -ne 0)
		{
			# Aktuellen ACE entfernen
			$aclHauptOU.RemoveAccessRuleSpecific($ace)
		
			# Berechnung der verbleibenden Rechte (alle Bits, die NICHT in $rights2Remove gesetzt sind)
			$remainingRights = $ace.ActiveDirectoryRights -band (-bnot $rights2Remove)
		
			# Falls noch weitere Rechte übrig bleiben, ein neues ACE mit diesen Rechten erstellen
			if($remainingRights -ne 0)
			{
				$newACE = New-Object System.DirectoryServices.ActiveDirectoryAccessRule (
					$ace.IdentityReference,
					$remainingRights,
					$ace.AccessControlType,
					$ace.InheritanceType,
					$ace.ObjectType
				)
				# neues (bereinigtes) ACE hinzufügen
				$aclHauptOU.AddAccessRule($newACE)
			}
			$modified = $true
		}
	}
}

# Geänderte ACL nur setzen, wenn wirklich etwas entfernt bzw. geändert wurde
if($modified)
{
	Set-Acl -Path $PathAclHauptOU -AclObject $aclHauptOU
}
else
{
	Write-Host "Keine zu entfernenden Rechte für '$AuthUsersPrincipal' gefunden oder bereits entfernt."
}

 

bearbeitet von wznutzer

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...