41
Erfahrungen eines Directory Services- Experten mit Sicherheit und Delegation {im Active Directory} Ulf B. Simon-Weidner Senior Consultant , Trainer, Autor

Sie haben ein Active Directory, aber eine Menge Domänenadministratoren? Sie wollen die Sicherheit erhöhen, die Gefahren durch fehlerhafte Administration

Embed Size (px)

Citation preview

Page 1: Sie haben ein Active Directory, aber eine Menge Domänenadministratoren? Sie wollen die Sicherheit erhöhen, die Gefahren durch fehlerhafte Administration

Erfahrungen eines Directory Services-Experten

mit Sicherheit und Delegation{im Active Directory}

Ulf B. Simon-WeidnerSenior Consultant , Trainer, Autor

Page 2: Sie haben ein Active Directory, aber eine Menge Domänenadministratoren? Sie wollen die Sicherheit erhöhen, die Gefahren durch fehlerhafte Administration

Grundlagen zum Windows SicherheitsmodellWerkzeuge und ScriptingEntwerfen und Implementieren Rollenbasierter AdministrationWindows Server 2008

Agenda

Page 3: Sie haben ein Active Directory, aber eine Menge Domänenadministratoren? Sie wollen die Sicherheit erhöhen, die Gefahren durch fehlerhafte Administration

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 /allDas System vergleicht den Token mit der DACL/SACL um Zugriff zu gewähren, verweigern oder überwachen

Page 4: Sie haben ein Active Directory, aber eine Menge Domänenadministratoren? Sie wollen die Sicherheit erhöhen, die Gefahren durch fehlerhafte Administration

defaultSecurityDescriptor der Object-Klasse im Schema

Schema

Neuer Benutzer

Container

Vererbte Rechte des übergeordneten ContainersExplizite Rechte

Wo kommen die Berechtigungen her?

Page 5: Sie haben ein Active Directory, aber eine Menge Domänenadministratoren? Sie wollen die Sicherheit erhöhen, die Gefahren durch fehlerhafte Administration

Unsere neuen Freunde

Windows Security auf Ressorcen:NTSecurity-DescriptorDACLSACLACE

Page 6: Sie haben ein Active Directory, aber eine Menge Domänenadministratoren? Sie wollen die Sicherheit erhöhen, die Gefahren durch fehlerhafte Administration

NTSecurityDescriptor

Besitzer des Objektes (SID)Primäre Gruppe des Besitzers (SID)Revision: 1Control: Flags:

SE_DACL_PRESENTSE_DACL_PROTECTEDSE_SACL_PRESENTSE_SACL_PROTECTED

Protected = Doesn‘t allow inheritance

Owner (SID)

Primary Group (SID)

Discretionary Access Control List

(DACL)

SystemAccess Control List

(SACL)

Revision

Control

Owner (SID)

Primary Group (SID)

Revision

Control

Page 7: Sie haben ein Active Directory, aber eine Menge Domänenadministratoren? Sie wollen die Sicherheit erhöhen, die Gefahren durch fehlerhafte Administration

Discretionary Access Control List (DACL) kontrolliert ZugriffsberechtigungenSystem Access Control List (SACL) kontrolliert Überwachungen

ACECount: Anzahl der ACEsACLRevision: 1List of ACEs

ACECount

ACLRevision

Access Control Entries(ACE)

ACECount

ACLRevision

DACL / SACL

Page 8: Sie haben ein Active Directory, aber eine Menge Domänenadministratoren? Sie wollen die Sicherheit erhöhen, die Gefahren durch fehlerhafte Administration

Trustee: Für wen ist die ACE? (SID)ACEType: Allow oder Deny ACEACEFlags:ACE wird vererbt auf

All Objects belowOne LevelNot to base, just inheritWas inheritedSACL: Success/Failure

Trustee (SID)

ACEFlags

ACEType

AccessMask

InheritedObjectType

Flags

ObjectType

Trustee (SID)

ACEFlags

ACEType

Access Control Entry

Page 9: Sie haben ein Active Directory, aber eine Menge Domänenadministratoren? Sie wollen die Sicherheit erhöhen, die Gefahren durch fehlerhafte Administration

AccessMask:Definiert die vergebenen Rechte

Delete the objectRead | Modify DACL | SACL Get OwnershipGeneric Read | Write | Execute | AllCreate | Delete | List ChildRead | Write PropertyDelete TreeList ObjectControl Access

Trustee (SID)

ACEFlags

ACEType

AccessMask

InheritedObjectType

Flags

ObjectType

Access Control Entry

Page 10: Sie haben ein Active Directory, aber eine Menge Domänenadministratoren? Sie wollen die Sicherheit erhöhen, die Gefahren durch fehlerhafte Administration

Flags: Welche Felder existieren?

ObjectType (0x1)InheritedObjectType (0x2)

ObjectType:Write/Read Property oderCreate/Delete Child:{Schema-Id-GUID} des

Objektes/AttributesInheritedObjectType:Vererbt auf welchen

Object-Typ {Schema-Id-Guid}

Trustee (SID)

ACEFlags

ACEType

AccessMask

InheritedObjectType

Flags

ObjectType

InheritedObjectType

Flags

ObjectType

Access Control Entry

Page 11: Sie haben ein Active Directory, aber eine Menge Domänenadministratoren? Sie wollen die Sicherheit erhöhen, die Gefahren durch fehlerhafte Administration

Administrative Interfaces

Page 12: Sie haben ein Active Directory, aber eine Menge Domänenadministratoren? Sie wollen die Sicherheit erhöhen, die Gefahren durch fehlerhafte Administration

Erweiterte SicherheitseinstellungenSecurity Descriptor Owner / Group

ACEs

DACL / SACL

Control (SE_xACL_Protected)

Page 13: Sie haben ein Active Directory, aber eine Menge Domänenadministratoren? Sie wollen die Sicherheit erhöhen, die Gefahren durch fehlerhafte Administration

Berechtigungseinträge (ACEs)

ACE Trustee

AccessMask

ACEType

ACEFlags

InheritedObjectType

ObjectType

Page 14: Sie haben ein Active Directory, aber eine Menge Domänenadministratoren? Sie wollen die Sicherheit erhöhen, die Gefahren durch fehlerhafte Administration

Grundlagen zum Windows SicherheitsmodellWerkzeuge und ScriptingEntwerfen und Implementieren Rollenbasierter AdministrationWindows Server 2008

Agenda

Page 15: Sie haben ein Active Directory, aber eine Menge Domänenadministratoren? Sie wollen die Sicherheit erhöhen, die Gefahren durch fehlerhafte Administration

Grundlagen zum Windows SicherheitsmodellWerkzeuge und ScriptingEntwerfen und Implementieren Rollenbasierter AdministrationWindows Server 2008

Agenda

Page 16: Sie haben ein Active Directory, aber eine Menge Domänenadministratoren? Sie wollen die Sicherheit erhöhen, die Gefahren durch fehlerhafte Administration

Security Descriptor Definition Language (SDDL)

Wird verwendet inStandardrechten des Schema: „defaultSecurityDescriptor“ des SchemaObjEventlog Berechtigungen: HKLM\Sys\CCS\services\Eventlog\..\CustomSD

Beispiel:O:AOG:DAD:(A;;RPWPCCDCLCSWRCWDWOGA;;;DA)Besitzer:Account OperatorsGruppe:Domain AdminsDACL: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

Page 17: Sie haben ein Active Directory, aber eine Menge Domänenadministratoren? Sie wollen die Sicherheit erhöhen, die Gefahren durch fehlerhafte Administration

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

Page 18: Sie haben ein Active Directory, aber eine Menge Domänenadministratoren? Sie wollen die Sicherheit erhöhen, die Gefahren durch fehlerhafte Administration

Einrichten von Benutzern vs. Replikation

Beispiel: Erstellen eines Benutzers, sowie ihn auf sein Homelaufwerk berechtigen (Skript)

Provisioning

Wer ist „Joe“?

Keine Ahnung

?\\Fileserver\Joe$

2. \\Fileserver\Joe$ erstellen3. „Joe“ auf Homelaufwerk berechtigen

1. Joe erstellen

Joe

Ergebnis: Joe hat keinen Zugriff auf sein Homelaufwerk

Page 19: Sie haben ein Active Directory, aber eine Menge Domänenadministratoren? Sie wollen die Sicherheit erhöhen, die Gefahren durch fehlerhafte Administration

S-1-5-xx-103: FC

Provisioning

Wer ist „Joe“?

Joe: S-1-5-xx-103

!\\Fileserver\Joe$

3. \\Fileserver\Joe$ erstellen4. „Joe“ berechtigen

Ergebnis: Joe kann auf sein Homelaufwerk zugreifen,dauert aber

2. Replizieren von Joe, oder abwarten

oe

1. Joe erstellen

Joe

Beispiel: Erstellen eines Benutzers, sowie ihn auf sein Homelaufwerk berechtigen (Skript)

Einrichten von Benutzern vs. Replikation

Page 20: Sie haben ein Active Directory, aber eine Menge Domänenadministratoren? Sie wollen die Sicherheit erhöhen, die Gefahren durch fehlerhafte Administration

S-1-5-xx-103: FC

Provisioning

Was ist Joes SID?

\\Fileserver\Joe$

3. \\Fileserver\Joe$ erstellen4. Joes SID Vollzugriff geben

Ergebnis: Joe hat Zugriff, auch wenn er noch nicht repliziertwurde

2. Nach Joes SID fragen

1. Joe erstellen

Joe

Beispiel: Erstellen eines Benutzers, sowie ihn auf sein Homelaufwerk berechtigen (Skript)

z Z

Z..

Einrichten von Benutzern vs. Replikation

Page 21: Sie haben ein Active Directory, aber eine Menge Domänenadministratoren? Sie wollen die Sicherheit erhöhen, die Gefahren durch fehlerhafte Administration

Berechtigungen Scripten

Dsacls:Ansehen oder setzen von Berechtigungen auf spezifischen ObjektenDSRevoke:Anzeigen / Löschen von Berechtigungen bestimmter BenutzerSubInAcls: File, Registry, Cluster, ... ACEsVBS / VB.NET / ..Alles ist möglich ;-)

Page 22: Sie haben ein Active Directory, aber eine Menge Domänenadministratoren? Sie wollen die Sicherheit erhöhen, die Gefahren durch fehlerhafte Administration

Grundlagen zum Windows SicherheitsmodellWerkzeuge und ScriptingEntwerfen und Implementieren Rollenbasierter AdministrationWindows Server 2008

Agenda

Page 23: Sie haben ein Active Directory, aber eine Menge Domänenadministratoren? Sie wollen die Sicherheit erhöhen, die Gefahren durch fehlerhafte Administration

Grundlagen zum Windows SicherheitsmodellWerkzeuge und ScriptingEntwerfen und Implementieren Rollenbasierter AdministrationWindows Server 2008

Agenda

Page 24: Sie haben ein Active Directory, aber eine Menge Domänenadministratoren? Sie wollen die Sicherheit erhöhen, die Gefahren durch fehlerhafte Administration

Delegation planen

Aufgaben definierenWer ist primär verantwortlich?Wer ist auch verantwortlich?Entwerfen der RollenWelche Rechte werden gebraucht?Struktur für Berechtigungsgruppen entwerfenErstellen, Testen, Überprüfen

Page 25: Sie haben ein Active Directory, aber eine Menge Domänenadministratoren? Sie wollen die Sicherheit erhöhen, die Gefahren durch fehlerhafte Administration

Kontenoperatoren im Kreuzfeuer

OU-Design:DelegationGruppenrichtlinien

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

Page 26: Sie haben ein Active Directory, aber eine Menge Domänenadministratoren? Sie wollen die Sicherheit erhöhen, die Gefahren durch fehlerhafte Administration

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

Erstellen und Berechtigen Sie Ihre eigene „Kontenoperatoren“-Gruppe

Create/Delete Child & Full Control on• Computers

Create/Delete Child & Full Control on• Users• InetOrgPerson

Create/Delete Child & Full Control on• Groups

Page 27: Sie haben ein Active Directory, aber eine Menge Domänenadministratoren? Sie wollen die Sicherheit erhöhen, die Gefahren durch fehlerhafte Administration

AdminSdHolder

Ein spezieller “Prozess” der Administrative Konten schütztLä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ückAchtung:

Betrifft auch Rekursive Gruppenmitgliedschaften (sogar Verteilergruppen)Empfehlung:

Entsprechender Entwurf der OU-StrukturKeine eingebauten Gruppen verwenden wenn nicht notwendig

Mehr Infos: http://msmvps.com/blogs/ulfbsimonweidner/archive/2005/05/29/49659.aspx

Page 28: Sie haben ein Active Directory, aber eine Menge Domänenadministratoren? Sie wollen die Sicherheit erhöhen, die Gefahren durch fehlerhafte Administration

Was muss ich delegieren?

Active Directory Delegation Whitepaper

When it moves – script itVergleich 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

Page 29: Sie haben ein Active Directory, aber eine Menge Domänenadministratoren? Sie wollen die Sicherheit erhöhen, die Gefahren durch fehlerhafte Administration

Implementieren von Delegation

Anfangs: Script it mit DSAcls or VBSdsacls "ou=Frankfurt,ou=MyUser,dc=example,dc=com"

/G example\FFM-Helpdesk:WP;lockoutTime;user /I:Sdsacls "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,containerDescription = "Site Helpdesk"ObjectTypes = user,group[template14.user]lockoutTime=WP[template14.group]member=WP

Page 30: Sie haben ein Active Directory, aber eine Menge Domänenadministratoren? Sie wollen die Sicherheit erhöhen, die Gefahren durch fehlerhafte Administration

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

Page 31: Sie haben ein Active Directory, aber eine Menge Domänenadministratoren? Sie wollen die Sicherheit erhöhen, die Gefahren durch fehlerhafte Administration

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üfenScripten

Page 32: Sie haben ein Active Directory, aber eine Menge Domänenadministratoren? Sie wollen die Sicherheit erhöhen, die Gefahren durch fehlerhafte Administration

Grundlagen zum Windows SicherheitsmodellWerkzeuge und ScriptingEntwerfen und Implementieren Rollenbasierter AdministrationWindows Server 2008

Agenda

Page 33: Sie haben ein Active Directory, aber eine Menge Domänenadministratoren? Sie wollen die Sicherheit erhöhen, die Gefahren durch fehlerhafte Administration

Grundlagen zum Windows SicherheitsmodellWerkzeuge und ScriptingEntwerfen und Implementieren Rollenbasierter AdministrationWindows Server 2008

Agenda

Page 34: Sie haben ein Active Directory, aber eine Menge Domänenadministratoren? Sie wollen die Sicherheit erhöhen, die Gefahren durch fehlerhafte Administration

Überwachungsrichtlinien fürActive Directory

Eigene Ansichten des Eventlogs möglichWeiterleiten und zentrales Sammeln von bestimmten EreignissenAufgaben können durch Events ausgelöst werdenMehr Details in Audit-Logs

Z.B. Attributänderungen

auditpol /get /category:“DS Access“auditpol /set /subcategory:“Directory Service Changes“

Page 35: Sie haben ein Active Directory, aber eine Menge Domänenadministratoren? Sie wollen die Sicherheit erhöhen, die Gefahren durch fehlerhafte Administration

Read Only Domain Controller (RODC)

Festlegen wessen Passworte in dem Standort repliziert werden

Keine „kritischen Passwörter“ in unsichere Standorte replizieren

Delegieren der lokalenAdministration vonRODCs

Page 36: Sie haben ein Active Directory, aber eine Menge Domänenadministratoren? Sie wollen die Sicherheit erhöhen, die Gefahren durch fehlerhafte Administration

Verbesserte / Neue Kommandozeilentools

DSACLS.exeHinzufügen / Entfernen von ACEsVerbesserte Fehlerbehandlung um fehlerhafte ACLs darzustellenSIDs anstelle von Namen zugelassen

ICACLS.exeHinzufügen / Entfernen von SIDs in NTFSSichern / Rücksichern von ACEs in eine DateiBehält korrekte Reihenfolge der ACEsSIDs anstelle von Namen zugelassen

Page 37: Sie haben ein Active Directory, aber eine Menge Domänenadministratoren? Sie wollen die Sicherheit erhöhen, die Gefahren durch fehlerhafte Administration

Partner auf dem Launch 2008

Europas führender herstellerübergreifender Dienstleister für Informationstechnologie

Windows Server 2008 im Haus implementiertKundenprojekte zu WS2k8 seit Anfang 2007Zahlreiche ReferenzenGroß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 2008November 2007 bis Januar 2008: Serie zu Windows Server 2008März / April 2008: Active Directory Wiederherstellung mit Windows Server 2008

Halle 5.1, Stand 6.18

Page 38: Sie haben ein Active Directory, aber eine Menge Domänenadministratoren? Sie wollen die Sicherheit erhöhen, die Gefahren durch fehlerhafte Administration

Windows Server 2008Ressourcen

Windows Server 2008 Tech Centerhttp://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

Page 39: Sie haben ein Active Directory, aber eine Menge Domänenadministratoren? Sie wollen die Sicherheit erhöhen, die Gefahren durch fehlerhafte Administration

Ressourcen

Security Descriptor in der MSDN-LibraryPlatform SDKActive 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 Appendiceshttp://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

Page 40: Sie haben ein Active Directory, aber eine Menge Domänenadministratoren? Sie wollen die Sicherheit erhöhen, die Gefahren durch fehlerhafte Administration

Ask the ExpertsWir freuen uns auf Ihre Fragen: Technische Experten stehen Ihnen während der gesamten Veranstaltung in der Haupthalle zur Verfügung.

Page 41: Sie haben ein Active Directory, aber eine Menge Domänenadministratoren? Sie wollen die Sicherheit erhöhen, die Gefahren durch fehlerhafte Administration

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