Sicherheit und Delegation im Active Directory 3/28/2017 6:05 PM Sicherheit und Delegation im Active Directory Sie haben ein Active Directory, aber eine Menge Domänenadministratoren? Sie wollen die Sicherheit erhöhen, die Gefahren durch fehlerhafte Administration verringern und tägliche Aufgaben bestimmten Mitarbeitern (etwa dem Helpdesk) zuordnen? In diesem Vortrag vermitteln wir Ihnen, wie das Sicherheitsmodell in Windows und im Active Directory funktioniert, berichten über Erfahrungen bei der Implementierung rollenbasierter Administration und helfen Ihnen herauszufinden, was Sie delegieren müssen. Zusätzlich erfahren Sie, welche Neuigkeiten Ihnen Windows Server 2008 in diesem Zusammenhang bietet. NEXT: <next slide title> © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
Ulf B. Simon-Weidner Senior Consultant , Trainer, Autor 3/28/2017 6:05 PM Erfahrungen eines Directory Services-Experten mit Sicherheit und Delegation {im Active Directory} Ulf B. Simon-Weidner Senior Consultant , Trainer, Autor © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
Agenda Grundlagen zum Windows Sicherheitsmodell Werkzeuge und Scripting Entwerfen und Implementieren Rollenbasierter Administration Windows Server 2008
Wie funktioniert Delegation? 28.03.2017 Wie funktioniert Delegation? Benutzer-Token vs. Security Descriptor – darf ich vorstellen: Bei der Anmeldung erhält der Benutzer seinen Token (Liste von SIDs des Benutzer, SidHistory, Gruppen, ...): whoami /all Das System vergleicht den Token mit der DACL/SACL um Zugriff zu gewähren, verweigern oder überwachen 4
Wo kommen die Berechtigungen her? defaultSecurityDescriptor der Object-Klasse im Schema Container Vererbte Rechte des übergeordneten Containers Explizite Rechte Schema Neuer Benutzer
Unsere neuen Freunde Windows Security auf Ressorcen: 28.03.2017 Unsere neuen Freunde Windows Security auf Ressorcen: NTSecurity-Descriptor DACL SACL ACE 6
NTSecurityDescriptor Besitzer des Objektes (SID) Primäre Gruppe des Besitzers (SID) Revision: 1 Control: Flags: SE_DACL_PRESENT SE_DACL_PROTECTED SE_SACL_PRESENT SE_SACL_PROTECTED Protected = Doesn‘t allow inheritance Owner (SID) Owner (SID) Primary Group (SID) Primary Group (SID) Revision Revision Control Control Discretionary Access Control List (DACL) System Access Control List (SACL)
Access Control Entries DACL / SACL Discretionary Access Control List (DACL) kontrolliert Zugriffsberechtigungen System Access Control List (SACL) kontrolliert Überwachungen ACECount: Anzahl der ACEs ACLRevision: 1 List of ACEs ACECount ACECount ACLRevision ACLRevision Access Control Entries (ACE)
Access Control Entry Trustee: Für wen ist die ACE? (SID) ACEType: Allow oder Deny ACE ACEFlags: ACE wird vererbt auf All Objects below One Level Not to base, just inherit Was inherited SACL: Success/Failure Trustee (SID) Trustee (SID) ACEType ACEType ACEFlags ACEFlags AccessMask Flags ObjectType InheritedObjectType
Access Control Entry AccessMask: Definiert die vergebenen Rechte Delete the object Read | Modify DACL | SACL Get Ownership Generic Read | Write | Execute | All Create | Delete | List Child Read | Write Property Delete Tree List Object Control Access Trustee (SID) ACEType ACEFlags AccessMask Flags ObjectType InheritedObjectType
Access Control Entry Flags: Welche Felder existieren? ObjectType (0x1) InheritedObjectType (0x2) ObjectType: Write/Read Property oder Create/Delete Child: {Schema-Id-GUID} des Objektes/Attributes InheritedObjectType: Vererbt auf welchen Object-Typ {Schema-Id-Guid} Trustee (SID) ACEType ACEFlags AccessMask Flags Flags ObjectType ObjectType InheritedObjectType InheritedObjectType
Administrative Interfaces
Erweiterte Sicherheitseinstellungen Security Descriptor Owner / Group DACL / SACL ACEs Control (SE_xACL_Protected)
Berechtigungseinträge (ACEs) Trustee ACEFlags ACE InheritedObjectType ObjectType ACEType AccessMask
Agenda Grundlagen zum Windows Sicherheitsmodell Werkzeuge und Scripting Entwerfen und Implementieren Rollenbasierter Administration Windows Server 2008
Agenda Grundlagen zum Windows Sicherheitsmodell Werkzeuge und Scripting Entwerfen und Implementieren Rollenbasierter Administration Windows Server 2008
Security Descriptor Definition Language (SDDL) 28.03.2017 Security Descriptor Definition Language (SDDL) Wird verwendet in Standardrechten des Schema: „defaultSecurityDescriptor“ des SchemaObj Eventlog Berechtigungen: HKLM\Sys\CCS\services\Eventlog\..\CustomSD Beispiel: O:AOG:DAD:(A;;RPWPCCDCLCSWRCWDWOGA;;;DA) Besitzer:Account Operators Gruppe:Domain Admins DACL:Parameters(ACE1)(ACE2)..SACL:Parameters(ACE1)(ACE2).. Allow ACE (ACE-Flags) Rights: Read Property, Write Property, Create Child, .. (ObjectType) (InheritedObjectType) Trustee (Domain Admins) Mehr Info: http://msdn.microsoft.com/library/en-us/secauthz/ security/security_descriptor_definition_language.asp 17
Mit GUIDs arbeiten Um nach GUIDs zu suchen müssen sie dies in ein anderes Format umwandeln: {11223344-5566-7788-99aa-bbccddeeffgg} \44\33\22\11\66\55\88\77\99\aa\bb\cc\dd\ee\ff\gg z.B. GUID der Computerklasse: {bf967a86-0de6-11d0-a285-00aa003049e2} \86\7a\96\bf\e6\0d\d0\11\a2\85\00\aa\00\30\49\e2 Suche über LDP/Script: cn=schema,cn=configuration,dc=.. (onelevel) schemaIDGUID= \86\7a\96\bf\e6\0d\d0\11\a2\85\00\aa\00\30\49\e2
Einrichten von Benutzern vs. Replikation Beispiel: Erstellen eines Benutzers, sowie ihn auf sein Homelaufwerk berechtigen (Skript) 1. Joe erstellen Keine Ahnung ? \\Fileserver\Joe$ 2. \\Fileserver\Joe$ erstellen Wer ist „Joe“? Provisioning 3. „Joe“ auf Homelaufwerk berechtigen Ergebnis: Joe hat keinen Zugriff auf sein Homelaufwerk
Einrichten von Benutzern vs. Replikation Beispiel: Erstellen eines Benutzers, sowie ihn auf sein Homelaufwerk berechtigen (Skript) 1. Joe erstellen Joe: S-1-5-xx-103 ! \\Fileserver\Joe$ S-1-5-xx-103: FC Wer ist „Joe“? Provisioning 2. Replizieren von Joe, oder abwarten 3. \\Fileserver\Joe$ erstellen 4. „Joe“ berechtigen Ergebnis: Joe kann auf sein Homelaufwerk zugreifen, dauert aber
Einrichten von Benutzern vs. Replikation Beispiel: Erstellen eines Benutzers, sowie ihn auf sein Homelaufwerk berechtigen (Skript) 1. Joe erstellen z Z Z.. \\Fileserver\Joe$ S-1-5-xx-103: FC Was ist Joes SID? Provisioning 2. Nach Joes SID fragen 3. \\Fileserver\Joe$ erstellen 4. Joes SID Vollzugriff geben Ergebnis: Joe hat Zugriff, auch wenn er noch nicht repliziert wurde
Berechtigungen Scripten 28.03.2017 Berechtigungen Scripten Dsacls: Ansehen oder setzen von Berechtigungen auf spezifischen Objekten DSRevoke: Anzeigen / Löschen von Berechtigungen bestimmter Benutzer SubInAcls: File, Registry, Cluster, ... ACEs VBS / VB.NET / .. Alles ist möglich ;-) 22
Agenda Grundlagen zum Windows Sicherheitsmodell Werkzeuge und Scripting Entwerfen und Implementieren Rollenbasierter Administration Windows Server 2008
Agenda Grundlagen zum Windows Sicherheitsmodell Werkzeuge und Scripting Entwerfen und Implementieren Rollenbasierter Administration Windows Server 2008
Delegation planen Aufgaben definieren Wer ist primär verantwortlich? Wer ist auch verantwortlich? Entwerfen der Rollen Welche Rechte werden gebraucht? Struktur für Berechtigungsgruppen entwerfen Erstellen, Testen, Überprüfen
Kontenoperatoren im Kreuzfeuer OU-Design: Delegation Gruppenrichtlinien Kontenoperatoren: CCDC & FC von Benutzern, Computern, Gruppen, InetOrgPerson Problem: CCDC & FC für Benutzer, Gruppen in MyComputers OU, Computern in MyUsers,... Create/Delete Child & Full Control on Users Computers Groups InetOrgPerson
Kontenoperatoren im Kreuzfeuer Beabsichtigt: Vollzugriff auf Benutzer, Computer, Gruppen und InetOrgPerson-Objects in den entsprechenden OUs. Lösung: Erstellen einer eigenen Gruppe und Delegation der Rechte Create/Delete Child & Full Control on Computers Create/Delete Child & Full Control on Groups Create/Delete Child & Full Control on Users InetOrgPerson Erstellen und Berechtigen Sie Ihre eigene „Kontenoperatoren“-Gruppe
28.03.2017 AdminSdHolder Ein spezieller “Prozess” der Administrative Konten schützt Läuft einmal pro Stunde (auf dem PDC-Emulator) Schützt Mitglieder der Gruppen DA, EA, SA, BA, -Operatoren (setzt und überprüft „adminCount“) Setzt die Rechte auf die des cn=AdminSdHolder,cn=System,.. zurück Achtung: Betrifft auch Rekursive Gruppenmitgliedschaften (sogar Verteilergruppen) Empfehlung: Entsprechender Entwurf der OU-Struktur Keine eingebauten Gruppen verwenden wenn nicht notwendig Mehr Infos: http://msmvps.com/blogs/ulfbsimonweidner /archive/2005/05/29/49659.aspx 28
Was muss ich delegieren? 28.03.2017 Was muss ich delegieren? Active Directory Delegation Whitepaper When it moves – script it Vergleich von Objektattributen vor und nach einer Änderung: Attributänderungen: ldifde –s server –d dn –f file1.log Replizierte Attribute: repadmin /showobjmeta server dn /nocache /linked >> file1.log Geänderte Rechte: dsacls \\server\dn >> file1.log 29
Implementieren von Delegation Anfangs: Script it mit DSAcls or VBS dsacls "ou=Frankfurt,ou=MyUser,dc=example,dc=com" /G example\FFM-Helpdesk:WP;lockoutTime;user /I:S dsacls "ou=Frankfurt,ou=Sitegroups,ou=MyGroups,dc=...„ /G example\FFM-Helpdesk:WP;member;group /I:S Anpassen des Delegations-Assistenten: (%windir%\inf\delegwiz.inf) [template14] AppliesToClasses=domainDNS,organizationalUnit,container Description = "Site Helpdesk" ObjectTypes = user,group [template14.user] lockoutTime=WP [template14.group] member=WP
Admintools - Empfehlungen 28.03.2017 Admintools - Empfehlungen Testen Sie die Administrativen Benutzeroberflächen ob sie mit Ihren delegierten Rollen arbeiten können Wenn Sie Admin-Interfaces programmieren, testen Sie die Berechtigungen Mit dem Objekt verbinden, dann allowedAttributesEffective und/oder allowedChildClassesEffective überprüfen 31
Reporten / Überwachen von Berechtigungen 28.03.2017 Reporten / Überwachen von Berechtigungen Wie kann ich einen Report erhalten: Wo hat ein Benutzer Berechtigungen? Wer hat Rechte auf einer bestimmten OU? Wo sind welche Rechte delegiert worden? Überwachen von Berechtigungen? Benutzen Sie ein Tool / lassen Sie regelmäßig Reports laufen Überwachung einschalten und auf Event 566 der Kategorie Directory Service Access überprüfen Scripten 32
Agenda Grundlagen zum Windows Sicherheitsmodell Werkzeuge und Scripting Entwerfen und Implementieren Rollenbasierter Administration Windows Server 2008
Agenda Grundlagen zum Windows Sicherheitsmodell Werkzeuge und Scripting Entwerfen und Implementieren Rollenbasierter Administration Windows Server 2008
Überwachungsrichtlinien für Active Directory Eigene Ansichten des Eventlogs möglich Weiterleiten und zentrales Sammeln von bestimmten Ereignissen Aufgaben können durch Events ausgelöst werden Mehr Details in Audit-Logs Z.B. Attributänderungen auditpol /get /category:“DS Access“ auditpol /set /subcategory:“Directory Service Changes“
Read Only Domain Controller (RODC) Festlegen wessen Passworte in dem Standort repliziert werden Keine „kritischen Passwörter“ in unsichere Standorte replizieren Delegieren der lokalen Administration von RODCs
Verbesserte / Neue Kommandozeilentools DSACLS.exe Hinzufügen / Entfernen von ACEs Verbesserte Fehlerbehandlung um fehlerhafte ACLs darzustellen SIDs anstelle von Namen zugelassen ICACLS.exe Hinzufügen / Entfernen von SIDs in NTFS Sichern / Rücksichern von ACEs in eine Datei Behält korrekte Reihenfolge der ACEs
Partner auf dem Launch 2008 Europas führender herstellerübergreifender Dienstleister für Informationstechnologie Windows Server 2008 im Haus implementiert Kundenprojekte zu WS2k8 seit Anfang 2007 Zahlreiche Referenzen Große Erfahrung bei Migrationsprojekten Halle 5.1, Stand 6.2 Das Magazin für professionelle System- und Netzwerkadministration Mai / Juni 2007: Vorschau auf Windows Server 2008 November 2007 bis Januar 2008: Serie zu Windows Server 2008 März / April 2008: Active Directory Wiederherstellung mit Windows Server 2008 Halle 5.1, Stand 6.18
Windows Server 2008 Ressourcen 3/28/2017 6:05 PM Windows Server 2008 Ressourcen Windows Server 2008 Tech Center http://www.microsoft.com/germany/technet/prodtechnol/windowsserver/2008/default.mspx Windows Server 2008 Webcasts: http://www.microsoft.com/germany/technet/webcasts/windowsserver2008.mspx Windows Server 2008 Produktseite: http://www.microsoft.com/germany/windowsserver2008/default.mspx Microsoft Virtualization: http://www.microsoft.com/virtualization/default.mspx © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
Ressourcen Security Descriptor in der MSDN-Library Platform SDK 28.03.2017 Ressourcen Security Descriptor in der MSDN-Library Platform SDK Active Directory Delegation Whitepaper: Best Practices for Delegating Active Directory Administration http://www.microsoft.com/downloads/details.aspx?FamilyID=631747a3-79e1-48fa-9730-dae7c0a1d6d3 Best Practices for Delegating Active Directory Administration Appendices http://www.microsoft.com/downloads/details.aspx?FamilyID=29dbae88-a216-45f9-9739-cb1fb22a0642 Mein Blog: www.msmvps.com/ulfbsimonweidner Meine WebSite: www.windowsserverfaq.de Scripting Example at FAQ AD Bugs Computer ACEs 40
Ask the Experts Wir freuen uns auf Ihre Fragen: Technische Experten stehen Ihnen während der gesamten Veranstaltung in der Haupthalle zur Verfügung.
3/28/2017 6:05 PM © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION. © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.