What`s New in Active Directory for Windows Server 2008

What`s New in Active Directory for Windows Server 2008
PUBLISHED BY
Microsoft Press
A Division of Microsoft Corporation
One Microsoft Way
Redmond, Washington 98052-6399
Copyright © 2008 by Stan Reimer and Mike Mulcare
All rights reserved. No part of the contents of this book may be reproduced or transmitted in any form or
by any means without the written permission of the publisher.
Library of Congress Control Number: 2008920569
Printed and bound in the United States of America.
1 2 3 4 5 6 7 8 9 QWT 3 2 1 0 9 8
Distributed in Canada by H.B. Fenn and Company Ltd.
A CIP catalogue record for this book is available from the British Library.
Microsoft Press books are available through booksellers and distributors worldwide. For further information about international editions, contact your local Microsoft Corporation office or contact Microsoft
Press International directly at fax (425) 936-7329. Visit our Web site at www.microsoft.com/mspress.
Send comments to [email protected]
Microsoft, Microsoft Press, Active Directory, ActiveX, Excel, Internet Explorer, Jscript, MS-DOS,
Outlook, PowerPoint, SharePoint, SQL Server, Visio, Visual Basic, Windows, Windows Live, Windows
Media, Windows Mobile, Windows NT, Windows PowerShell, Windows Server, Windows Server
System, and Windows Vista are either registered trademarks or trademarks of Microsoft Corporation in
the United States and/or other countries. Other product and company names mentioned herein may be
the trademarks of their respective owners.
The example companies, organizations, products, domain names, e-mail addresses, logos, people, places,
and events depicted herein are fictitious. No association with any real company, organization, product,
domain name, e-mail address, logo, person, place, or event is intended or should be inferred.
This book expresses the author’s views and opinions. The information contained in this book is provided
without any express, statutory, or implied warranties. Neither the authors, Microsoft Corporation, nor its
resellers, or distributors will be held liable for any damages caused or alleged to be caused either directly
or indirectly by this book.
Acquisitions Editor: Martin DelRe
Developmental Editor: Karen Szall
Project Editor: Maureen Zimmerman
Editorial Production: Custom Editorial Productions, Inc.
Technical Reviewer: Bob Dean, Technical Review services provided by Content Master, a member of
CM Group, Ltd.
Cover: Tom Draper Design
Body Part No. X14-14924
To the three wonderful women in my life—Rhonda, Angela, and Amanda.
Your love and encouragement keep me going.
— Stan Reimer
I dedicate this book to the love of my life, Rhonda, and our precious sons,
Brennan and Liam. Thank you for your continuous support and for
being the reason that I do what I do. I also dedicate this book
to the rest of my family, who are still trying to figure out
what I actually do for a living.
— Conan Kezema
To my family—Nancy, James, Sean, and Patrick. Thanks
always for your encouragement and support.
— Mike Mulcare
Tracey, Samantha, and Michelle, you are the reason I keep
it going. Darrin, thanks for holding down the fort.
— Byron Wright
Contents at a Glance
Part I
1
2
3
4
Part II
5
6
7
Part III
8
9
10
11
12
13
Part IV
14
15
Part V
16
17
18
19
Windows Server 2008 Active Directory Overview
What’s New in Active Directory for Windows Server 2008 . . . . . . . . . . . .3
Active Directory Domain Services Components . . . . . . . . . . . . . . . . . . . 19
Active Directory Domain Services and Domain Name System . . . . . . . 63
Active Directory Domain Services Replication . . . . . . . . . . . . . . . . . . . . 95
Designing and Implementing Windows Server 2008
Active Directory
Designing the Active Directory Domain Services Structure . . . . . . . . 143
Installing Active Directory Domain Services . . . . . . . . . . . . . . . . . . . . . 217
Migrating to Active Directory Domain Services . . . . . . . . . . . . . . . . . . 247
Administering Windows Server 2008
Active Directory
Active Directory Domain Services Security . . . . . . . . . . . . . . . . . . . . . .
Delegating the Administration of Active Directory
Domain Services. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Managing Active Directory Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Introduction to Group Policy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Using Group Policy to Manage User Desktops . . . . . . . . . . . . . . . . . . .
Using Group Policy to Manage Security. . . . . . . . . . . . . . . . . . . . . . . . .
273
325
357
399
455
513
Maintaining Windows Server 2008 Active Directory
Monitoring and Maintaining Active Directory . . . . . . . . . . . . . . . . . . . 551
Active Directory Disaster Recovery . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 583
Identity and Access Management with Active Directory
Active Directory Lightweight Directory Services . . . . . . . . . . . . . . . . .
Active Directory Certificate Services. . . . . . . . . . . . . . . . . . . . . . . . . . . .
Active Directory Rights Management Services . . . . . . . . . . . . . . . . . . .
Active Directory Federation Services . . . . . . . . . . . . . . . . . . . . . . . . . . .
619
661
703
745
v
Table of Contents
Acknowledgments. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxi
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxiii
Overview of Book . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxiii
Part I – Windows Server 2008 Active Directory Overview . . . . . . . . . . . . . . . . xxiii
Part II – Designing and Implementing Windows Server 2008
Active Directory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxiv
Part III – Administering Windows Server 2008 Active Directory. . . . . . . . . . . xxiv
Part IV – Maintaining Windows Server 2008 Active Directory . . . . . . . . . . . . xxv
Part V – Identity and Access Management with Active Directory . . . . . . . . . xxv
Document Conventions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxvi
Reader Aids . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxvi
Sidebars . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxvi
Command-Line Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxvii
Companion CD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxvii
Management Scripts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxvii
Using the Scripts. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxviii
Find Additional Content Online . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxviii
Resource Kit Support Policy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxix
Part I
1
Windows Server 2008 Active Directory Overview
What’s New in Active Directory for Windows Server 2008 . . . . . . . . . . . .3
What’s New in Active Directory Domain Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
Read-Only Domain Controllers (RODC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
Active Directory Domain Services Auditing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
Fine-Grained Password Policies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Restartable Active Directory Domain Services. . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Database Mounting Tool. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
User Interface Improvements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
What do you think of this book? We want to hear from you!
Microsoft is interested in hearing your feedback so we can continually improve our books and learning
resources for you. To participate in a brief online survey, please visit:
www.microsoft.com/learning/booksurvey/
vii
viii
Table of Contents
Additional Active Directory Service Roles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
Active Directory Certificate Services Role . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Active Directory Federation Services Role . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
Active Directory Lightweight Directory Services Role . . . . . . . . . . . . . . . . . . . . 15
Active Directory Rights Management Services Role . . . . . . . . . . . . . . . . . . . . . 16
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2
Active Directory Domain Services Components . . . . . . . . . . . . . . . . . . . 19
AD DS Physical Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
The Directory Data Store . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
Domain Controllers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
Global Catalog Servers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
Read-Only Domain Controllers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
Operations Masters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
Transferring Operations Master Roles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
The Schema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
AD DS Logical Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
AD DS Partitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
Domains . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
Forests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
Trusts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
Sites . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
Organizational Units . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
Additional Resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
Related Tools. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
Resources on the CD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
Related Help Topics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
3
Active Directory Domain Services and Domain Name System . . . . . . . 63
Integration of DNS and AD DS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
Service Location (SRV) Resource Records . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
SRV Records Registered by AD DS Domain Controllers . . . . . . . . . . . . . . . . . . 66
DNS Locator Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
Automatic Site Coverage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
AD DS Integrated Zones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
Benefits of Using AD DS Integrated Zones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
Default Application Partitions for DNS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
Managing AD DS Integrated Zones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
Table of Contents
ix
Integrating DNS Namespaces and AD DS Domains . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
DNS Delegation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
Forwarders and Root Hints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
Troubleshooting DNS and AD DS Integration . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
Troubleshooting DNS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
Troubleshooting SRV Record Registration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
Best Practices. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
Additional Resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
Related Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
Related Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
Resources on the CD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
Related Help Topics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
4
Active Directory Domain Services Replication . . . . . . . . . . . . . . . . . . . . 95
AD DS Replication Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
Replication Process. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
Update Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
Replicating Changes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
Replicating the SYSVOL Directory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
Intrasite and Intersite Replication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
Intrasite Replication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
Intersite Replication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
Replication Latency . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
Urgent Replication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
Replication Topology Generation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
Knowledge Consistency Checker . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
Connection Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
Intrasite Replication Topology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
Global Catalog Replication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
Intersite Replication Topology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
RODCs and the Replication Topology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
Configuring Intersite Replication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
Creating Additional Sites. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
Site Links . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
Site Link Bridges . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
Replication Transport Protocols . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
Configuring Bridgehead Servers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
x
Table of Contents
Troubleshooting Replication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
Process for Troubleshooting AD DS Replication Failures. . . . . . . . . . . . . . . . . 133
Tools for Troubleshooting AD DS Replication . . . . . . . . . . . . . . . . . . . . . . . . . . 134
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
Best Practices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
Additional Resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
Related Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
Related Tools. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
Resources on the CD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
Related Help Topics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
Part II
5
Designing and Implementing Windows Server 2008
Active Directory
Designing the Active Directory Domain Services Structure . . . . . . . . 143
Defining Directory Service Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
Defining Business and Technical Requirements . . . . . . . . . . . . . . . . . . . . . . . . 145
Documenting the Current Environment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150
Designing the Forest Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156
Forests and AD DS Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
Single or Multiple Forests. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
Designing Forests for AD DS Security. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
Forest Design Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163
Defining Forest Ownership . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166
Forest Change Control Policies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167
Designing the Integration of Multiple Forests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167
Designing Inter-Forest Trusts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168
Designing Directory Integration Between Forests . . . . . . . . . . . . . . . . . . . . . . 172
Designing the Domain Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172
Determining the Number of Domains . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174
Designing the Forest Root Domain. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176
Designing Domain Hierarchies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177
Domain Trees and Trusts. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178
Changing the Domain Hierarchy After Deployment . . . . . . . . . . . . . . . . . . . . 180
Defining Domain Ownership . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180
Designing Domain and Forest Functional Levels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181
Features Enabled at Domain Functional Levels . . . . . . . . . . . . . . . . . . . . . . . . 181
Features Enabled at Forest Functional Levels . . . . . . . . . . . . . . . . . . . . . . . . . . 183
Implementing a Domain and Forest Functional Level . . . . . . . . . . . . . . . . . . . 183
Table of Contents
xi
Designing the DNS Infrastructure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184
Namespace Design. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184
Designing the Organizational Unit Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192
Organizational Units and AD DS Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192
Designing an OU Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193
Creating an OU Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195
Designing the Site Topology. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197
Sites and AD DS Design. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198
Creating a Site Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198
Creating a Replication Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202
Designing Server Locations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214
Best Practices. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214
Additional Resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215
Related Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215
Resources on the CD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216
6
Installing Active Directory Domain Services . . . . . . . . . . . . . . . . . . . . . 217
Prerequisites for Installing AD DS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217
Hard Disk Space Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218
Network Connectivity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219
DNS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220
Administrative Permissions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220
Operating System Compatibility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221
Understanding AD DS Installation Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222
Installation Configuration Tasks and the Add Roles Wizard . . . . . . . . . . . . . . 222
Server Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223
Active Directory Domain Services Installation . . . . . . . . . . . . . . . . . . . . . . . . . . 224
Unattended Installation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225
Using the Active Directory Domain Services Installation Wizard . . . . . . . . . . . . . . . . 225
Deployment Configuration. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226
Naming the Domain . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227
Setting the Windows Server 2008 Functional Levels . . . . . . . . . . . . . . . . . . . . 228
Additional Domain Controller Options. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232
File Locations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233
Completing the Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234
Verifying Installation of AD DS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235
xii
Table of Contents
Performing an Unattended Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236
Installing from Media . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237
Deploying Read-Only Domain Controllers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238
Server Core Installation Window Server 2008. . . . . . . . . . . . . . . . . . . . . . . . . . 239
Deploying the RODC. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239
Removing AD DS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240
Removing Additional Domain Controllers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241
Removing the Last Domain Controller . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242
Unattended Removal of AD DS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243
Forced Removal of a Windows Server 2008 Domain Controller . . . . . . . . . . 243
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244
Additional Resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244
Related Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244
Related Tools. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246
7
Migrating to Active Directory Domain Services . . . . . . . . . . . . . . . . . . 247
Migration Paths . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248
The Domain Upgrade Migration Path . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249
Domain Restructuring . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 250
Determining Your Migration Path . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252
Upgrading the Domain. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254
Upgrading from Windows 2000 Server and Windows Server 2003 . . . . . . . 255
Restructuring the Domain . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257
Interforest Migration. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258
Intraforest Migration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265
Configuring Interforest Trusts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 266
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 268
Best Practices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269
Additional Resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269
Related Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269
Related Tools. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 270
Part III
8
Administering Windows Server 2008
Active Directory
Active Directory Domain Services Security . . . . . . . . . . . . . . . . . . . . . . 273
AD DS Security Basics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274
Security Principals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274
Access Control Lists . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275
Table of Contents
xiii
Access Tokens . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278
Authentication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278
Authorization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279
Kerberos Security . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 280
Introduction to Kerberos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281
Kerberos Authentication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283
Delegation of Authentication. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
Configuring Kerberos in Windows Server 2008 . . . . . . . . . . . . . . . . . . . . . . . . 293
Integration with Public Key Infrastructure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294
Integration with Smart Cards . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 297
Interoperability with Other Kerberos Systems . . . . . . . . . . . . . . . . . . . . . . . . . . 298
Troubleshooting Kerberos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299
NTLM Authentication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303
Implementing Security for Domain Controllers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305
Decrease the Domain Controller Attack Surface. . . . . . . . . . . . . . . . . . . . . . . . 306
Configuring the Default Domain Controllers Policy . . . . . . . . . . . . . . . . . . . . . 308
Configuring SYSKEY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 317
Designing Secure Administrative Practices. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 318
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 321
Best Practices. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 321
Additional Resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 321
Related Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 321
Related Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 322
Resources on the CD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323
Related Help Topics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323
9
Delegating the Administration of Active Directory
Domain Services. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325
Active Directory Administration Tasks. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 326
Accessing Active Directory Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 327
Evaluating Deny and Allow ACEs in a DACL . . . . . . . . . . . . . . . . . . . . . . . . . . . 329
Active Directory Object Permissions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 329
Standard Permissions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 330
Special Permissions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 331
Permissions Inheritance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 336
Effective Permissions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 340
Ownership of Active Directory Objects. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 343
xiv
Table of Contents
Delegating Administrative Tasks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 345
Auditing the Use of Administrative Permissions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 348
Configuring the Audit Policy for the Domain Controllers. . . . . . . . . . . . . . . . 348
Configuring Auditing on Active Directory Objects . . . . . . . . . . . . . . . . . . . . . 351
Tools for Delegated Administration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 352
Customizing the Microsoft Management Console. . . . . . . . . . . . . . . . . . . . . . 353
Planning for the Delegation of Administration. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 354
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 355
Additional Resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 356
Related Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 356
10
Managing Active Directory Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . 357
Managing Users . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 357
User Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 358
inetOrgPerson Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363
Contact Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 364
Service Accounts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 365
Managing Groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 366
Group Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 366
Group Scope. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 367
Default Groups in Active Directory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 371
Special Identities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 373
Creating a Security Group Design. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 374
Managing Computers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 377
Managing Printer Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 379
Publishing Printers in Active Directory. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 380
Printer Location Tracking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 383
Managing Published Shared Folders . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 384
Automating Active Directory Object Management . . . . . . . . . . . . . . . . . . . . . . . . . . . 386
Command-Line Tools for Active Directory Management . . . . . . . . . . . . . . . . 386
Using LDIFDE and CSVDE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 387
Using VBScript to Manage Active Directory Objects . . . . . . . . . . . . . . . . . . . . 389
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 395
Best Practices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 395
Additional Resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 396
Related Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 396
Related Tools. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 397
Resources on the CD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 397
Table of Contents
11
xv
Introduction to Group Policy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 399
Group Policy Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 400
How Group Policy Works . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 401
What’s New in Windows Server 2008 Group Policy? . . . . . . . . . . . . . . . . . . . . 404
Group Policy Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 405
Overview of the Group Policy Container . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 405
Components of the Group Policy Template . . . . . . . . . . . . . . . . . . . . . . . . . . . . 407
Replication of the Group Policy Object Components. . . . . . . . . . . . . . . . . . . . 409
Group Policy Processing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 409
How Clients Process GPOs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 410
Initial GPO Processing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 413
Background GPO Refreshes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 415
How GPO History Relates to Group Policy Refresh . . . . . . . . . . . . . . . . . . . . . . 416
Exceptions to Default Background Processing Interval Times. . . . . . . . . . . . . 418
Implementing Group Policy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 423
GPMC Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 424
Using the GPMC to Create and Link GPOs. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 426
Modifying the Scope of GPO Processing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 427
Delegating the Administration of GPOs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 436
Implementing Group Policy Between Domains and Forests . . . . . . . . . . . . . . 438
Managing Group Policy Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 439
Backing Up and Restoring GPOs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 439
Copying Group Policy Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 441
Importing Group Policy Object Settings. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 441
Modeling and Reporting Group Policy Results . . . . . . . . . . . . . . . . . . . . . . . . . 442
Scripting Group Policy Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 447
Planning a Group Policy Implementation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 450
Troubleshooting Group Policy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 451
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 453
Additional Resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 453
Related Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 453
12
Using Group Policy to Manage User Desktops . . . . . . . . . . . . . . . . . . . 455
Desktop Management Using Group Policy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 456
Managing User Data and Profile Settings. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 459
Managing User Profiles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 459
Using Group Policy to Manage Roaming User Profiles . . . . . . . . . . . . . . . . . . 466
Folder Redirection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 469
xvi
Table of Contents
Administrative Templates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 477
Understanding Administrative Template Files. . . . . . . . . . . . . . . . . . . . . . . . . . 478
Managing Domain-based Template Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 481
Best Practices for Managing ADMX Template Files . . . . . . . . . . . . . . . . . . . . . 482
Using Scripts to Manage the User Environment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 484
Deploying Software Using Group Policy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 485
Windows Installer Technology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 486
Deploying Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 486
Using Group Policy to Distribute Non–Windows Installer Applications . . . . 490
Configuring Software Package Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 491
Using Group Policy to Configure Windows Installer . . . . . . . . . . . . . . . . . . . . 498
Planning for Group Policy Software Installation . . . . . . . . . . . . . . . . . . . . . . . . 500
Limitations to Using Group Policy to Manage Software . . . . . . . . . . . . . . . . . 501
Overview of Group Policy Preferences . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 503
Group Policy Preferences vs. Policy Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . 503
Group Policy Preferences Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 504
Group Policy Preferences Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 507
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 510
Additional Resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 510
Related Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 510
On the Companion CD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 511
13
Using Group Policy to Manage Security. . . . . . . . . . . . . . . . . . . . . . . . . 513
Configuring Domain Security with Group Policy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 513
Overview of the Default Domain Policy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 514
Overview of the Default Domain Controllers Policy . . . . . . . . . . . . . . . . . . . . 519
Recreating the Default GPOs for a Domain. . . . . . . . . . . . . . . . . . . . . . . . . . . . 526
Fine-Grained Password Policies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 527
Hardening Server Security Using Group Policy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 532
Software Restriction Policies. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 535
Configuring Network Security Using Group Policy . . . . . . . . . . . . . . . . . . . . . . . . . . . 537
Configuring Wired Network Security . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 538
Configuring Wireless Network Security . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 541
Configuring Windows Firewall and IPsec Security . . . . . . . . . . . . . . . . . . . . . . 541
Configuring Security Settings Using Security Templates . . . . . . . . . . . . . . . . . . . . . . . 543
Deploying Security Templates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 545
Table of Contents
xvii
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 547
Additional Resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 548
Related Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 548
Part IV
14
Maintaining Windows Server 2008 Active Directory
Monitoring and Maintaining Active Directory . . . . . . . . . . . . . . . . . . . 551
Monitoring Active Directory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 551
Why Monitor Active Directory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 553
Monitoring Server Reliability and Performance . . . . . . . . . . . . . . . . . . . . . . . . 554
How to Monitor Active Directory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 561
What to Monitor. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 571
Monitoring Replication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 572
Active Directory Database Maintenance. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 575
Garbage Collection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 575
Online Defragmentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 576
Offline Defragmentation of the Active Directory Database . . . . . . . . . . . . . . 577
Managing the Active Directory Database Using Ntdsutil . . . . . . . . . . . . . . . . 578
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 580
Additional Resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 581
Related Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 581
15
Active Directory Disaster Recovery . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 583
Planning for a Disaster. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 584
Active Directory Data Storage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 585
Backing Up Active Directory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 587
The Need for Backups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 589
Tombstone Lifetime . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 589
Backup Frequency . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 591
Restoring Active Directory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 591
Restoring Active Directory by Creating a New Domain Controller . . . . . . . . 592
Performing a Nonauthoritative Restore of Active Directory . . . . . . . . . . . . . . 595
Performing an Authoritative Restore of Active Directory . . . . . . . . . . . . . . . . 599
Restoring Group Memberships . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 601
Reanimating Tombstone Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 605
Using the Active Directory Database Mounting Tool . . . . . . . . . . . . . . . . . . . . 607
Restoring SYSVOL Information. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 610
Restoring Operations Masters and Global Catalog Servers . . . . . . . . . . . . . . . 610
xviii
Table of Contents
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 614
Best Practices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 614
Additional Resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 615
Related Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 615
Related Tools. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 615
Part V
16
Identity and Access Management with Active Directory
Active Directory Lightweight Directory Services . . . . . . . . . . . . . . . . . 619
AD LDS Overview. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 620
AD LDS Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 620
AD LDS Deployment Scenarios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 620
AD LDS Architecture and Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 622
AD LDS Servers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 622
AD LDS Instances . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 623
Directory Partitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 624
AD LDS Replication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 629
AD LDS Security . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 633
Implementing AD LDS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 640
Configuring Instances and Application Partitions . . . . . . . . . . . . . . . . . . . . . . 640
AD LDS Management Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 643
Configuring Replication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 648
Backing Up and Restoring AD LDS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 651
Configuring AD DS and AD LDS Synchronization . . . . . . . . . . . . . . . . . . . . . . . . . . . . 654
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 657
Best Practices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 657
Additional Resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 658
Related Tools. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 658
Resources on the CD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 659
Related Help Topics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 659
17
Active Directory Certificate Services. . . . . . . . . . . . . . . . . . . . . . . . . . . . 661
Active Directory Certificate Services Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 661
Public Key Infrastructure Components. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 662
Certification Authorities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 667
Certificate Services Deployment Scenarios . . . . . . . . . . . . . . . . . . . . . . . . . . . . 670
Implementing AD CS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 670
Installing AD CS Root Certification Authorities. . . . . . . . . . . . . . . . . . . . . . . . . 671
Installing AD CS Subordinate Certification Authorities . . . . . . . . . . . . . . . . . . 673
Table of Contents
xix
Configuring Web Enrollment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 673
Configuring Certificate Revocation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 674
Managing Key Archival and Recovery. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 681
Managing Certificates in AD CS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 685
Configuring Certificate Templates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 685
Configuring Certificate Autoenrollment. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 690
Managing Certificate Acceptance with Group Policy . . . . . . . . . . . . . . . . . . . . 692
Configuring Credential Roaming . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 693
Designing an AD CS Implementation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 694
Designing a CA Hierarchy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 694
Designing Certificate Templates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 697
Designing Certificate Distribution and Revocation. . . . . . . . . . . . . . . . . . . . . . 700
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 700
Best Practices. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 701
Additional Resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 701
Related Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 701
Related Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 702
18
Active Directory Rights Management Services . . . . . . . . . . . . . . . . . . . 703
AD RMS Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 704
AD RMS Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 704
AD RMS Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 706
How AD RMS Works . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 709
AD RMS Deployment Scenarios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 713
Implementing AD RMS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 714
Preinstallation Considerations Before Installing AD RMS . . . . . . . . . . . . . . . . 714
Installing AD RMS Clusters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 715
Configuring the AD RMS Service Connection Point . . . . . . . . . . . . . . . . . . . . . 720
Working with AD RMS Clients . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 721
Administering AD RMS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 726
Managing Trust Policies. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 726
Managing Rights Policy Templates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 733
Configuring Exclusion Policies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 738
Configuring Security Policies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 739
Viewing Reports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 741
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 742
Additional Resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 742
Related Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 743
xx
Table of Contents
19
Active Directory Federation Services . . . . . . . . . . . . . . . . . . . . . . . . . . . 745
AD FS Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 746
Identity Federation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 746
Web Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 747
AD FS Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 749
AD FS Deployment Designs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 753
Implementing AD FS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 759
AD FS Deployment Requirements. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 760
Implementing AD FS in a Federation Web SSO Design . . . . . . . . . . . . . . . . . 767
Configuring the Account Partner Federation Service . . . . . . . . . . . . . . . . . . . 774
Configuring Resource Partner AD FS Components . . . . . . . . . . . . . . . . . . . . . 782
Configuring AD FS for Windows NT Token-based Applications . . . . . . . . . . 787
Implementing a Web SSO Design. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 789
Implementing a Federated Web SSO with Forest Trust Design . . . . . . . . . . . 790
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 791
Best Practices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 791
Additional Resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 792
Resources on the CD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 792
Related Help Topics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 792
Index. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 795
What do you think of this book? We want to hear from you!
Microsoft is interested in hearing your feedback so we can continually improve our books and learning
resources for you. To participate in a brief online survey, please visit:
www.microsoft.com/learning/booksurvey/
Acknowledgments
by Stan Reimer (for the team):
First of all, I want thank my coauthors for their hard work on this book. When I was first
asked to lead this writing project, I looked around for the right people to work with me on this
book and I couldn’t have picked a better team.
Secondly, I want to thank the folks at Microsoft Press. This team includes Martin DelRe, the
program manager, who kept poking us until we agreed to do this project, Karen Szall, the
content development manager, and Maureen Zimmerman, the content project manager. I am
sure that the problems we had keeping to the schedule on this book caused a few headaches
for this group, but they were amazingly supportive and encouraging all the way through.
Maureen had an amazing knack for reminding us when materials were due without making it
feel like nagging.
Thanks to Bob Dean, the technical reviewer, for his valuable comments. Production for this
book was professionally handled by Custom Editorial Productions Inc., with Linda Allen as
the project manager, Cecilia Munzenmaier as the copy editor, and many others who toiled
away in the background. As writers, we get to have all of the fun at the beginning of the
process; these folks are still working on this long after we are done.
A Resource Kit doesn’t come together without a lot of interaction with the product groups
at Microsoft, as well as other technical experts, such as Directory Services MVPs. All of the
chapters in this book have been reviewed by these experts and many of these experts contributed to the Direct from the Source, Direct from the Field, or How It Works sidebars that you
will enjoy reading in this book. These reviewers and contributors include:
James McColl, Mike Stephens, Moon Majumdar, Judith Herman, Mark Gray, Linda Moore,
Greg Robb, Barry Hartman, Christiane Soumahoro, Gautam Anand, Michael Hunter, Alain
Lissoir, Yong Liang, David Hastie, Teoman Smith, Brian Lich, Matthew Rimer, David Fisher,
Bob Drake, Rob Greene, Andrej Budja, Rob Lane, Gregoire Guetat, Donovan Follette,
Pavan Kompelli, Sanjeev Balarajan, Fatih Colgar, Brian Desmond, Jose Luis Auricchio,
Darol Timberlake, Peter Li, Elbio Abib, Ashish Sharma, Nick Pierson, Lu Zhao, and
Antonio Calomeni.
by Conan Kezema:
Special thanks to my fellow coauthors for their hard work on this book. I would also like to
thank Stan for the many opportunities he has provided over the years; he is a great friend
and mentor.
xxi
Introduction
Welcome to the Windows Server 2008 Active Directory Resource Kit, your complete source for
the information you need to design and implement Active Directory in Windows Server 2008.
The Windows Server 2008 Active Directory Resource Kit is a comprehensive technical resource
for planning, deploying, maintaining, and troubleshooting an Active Directory infrastructure
in Windows Server 2008. While the target audience for this Resource Kit is experienced IT
professionals who work in medium-sized and large-sized organizations, anyone who wants to
learn how to implement and manage Active Directory in Windows Server 2008 will find this
Resource Kit invaluable.
One of the new features in Windows Server 2008 Active Directory is that the term Active
Directory now covers a lot more territory than it did in previous iterations of this directory
service. What was previously called Active Directory in Windows 2000 and Windows
Server 2003 is now called Active Directory Domain Services (AD DS), and several more directory service components have been included under the Active Directory umbrella. These
include Active Directory Lightweight Directory Services (AD LDS), Active Directory Certificate
Services (AD CS), Active Directory Rights Management Services (AD RMS), and Active
Directory Federation Services (AD FS).
Within this Resource Kit you’ll find in-depth technical information on how Active Directory
works in Windows Server 2008. In addition, you will find detailed task-based guidance for
implementing and maintaining the Active Directory infrastructure. You’ll also find numerous
sidebars—contributed by members of the Active Directory product team, other directory
experts at Microsoft, and directory services MVPs—that provide deep insight into how Active
Directory works, best practices for designing and implementing Active Directory, and invaluable troubleshooting tips. Finally, the companion CD includes deployment tools, templates,
and many sample scripts that you can use and customize to help you automate various
aspects of managing Active Directory in enterprise environments.
Overview of Book
This book is divided into the following five parts with the following chapters:
Part I – Windows Server 2008 Active Directory Overview
■
Chapter 1 – “What’s New in Active Directory for Windows Server 2008” This chapter
provides an overview of the new features that are available in Windows Server 2008.
If you know Windows Server 2003 Active Directory, this is a good place for you to get a
quick overview of some of the new material that will be covered in this book.
xxiii
xxiv
Introduction
■
Chapter 2 – “Active Directory Domain Services Components” This chapter provides
an overview of Active Directory Domain Services—if you are somewhat new to Active
Directory, this is a great chapter to get you started on the terms and concepts that make
up AD DS.
■
One of the
most critical components that you need in order to make AD DS work efficiently is a
properly implemented DNS infrastructure. This chapter provides information on how to
do this.
■
Chapter 4 – “Active Directory Domain Services Replication” In order to work with AD
Chapter 3 – “Active Directory Domain Services and Domain Name System”
DS, you will need to understand replication. This chapter provides all of the details of
how AD DS replication works and how to configure it.
Part II – Designing and Implementing Windows Server 2008
Active Directory
■
Chapter 5 – “Designing the Active Directory Domain Services Structure” Before deploying AD DS, you need to create a design that meets your organization’s requirements.
This chapter provides the in-depth information that you will need to do that planning.
■
Chapter 6 – “Installing Active Directory Domain Services” Installing AD DS on a Windows Server 2008 computer is pretty easy, but there several variations on how to perform the installation. This chapter describes all of the options and the reasons for
choosing each one.
■
Chapter 7 – “Migrating to Active Directory Domain Services” Many organizations are
already running a previous version of Active Directory. This chapter provides the details
on how to deploy Windows Server 2008 domain controllers in this environment, and
how to migrate the Active Directory environment to Windows Server 2008.
Part III – Administering Windows Server 2008 Active Directory
■
Chapter 8 – “Active Directory Domain Services Security” AD DS provides the core network authentication and authorization services in many organizations. This chapter
describes how AD DS security works and the steps you can take to secure your AD DS
environment.
■
Chapter 9 – “Delegating the Administration of Active Directory Domain Services”
■
Chapter 10 – “Managing Active Directory Objects” Most of your time as an
One of
the options in implementing AD DS is that you can delegate many administrative tasks
to other administrators without granting them domain level permissions. This chapter
describes how AD DS permissions work and how to delegate them.
AD DS administrator will be spent managing AD DS objects like users, groups
and organizational units. This chapter deals with how to manage these objects
individually, but also provides details on how to manage large numbers of these
objects by using scripts.
Introduction
xxv
■
Chapter 11 – “Introduction to Group Policy” A central component in a Windows Server
2008 network management system is Group Policy. With Group Policy, you can manage
many desktop settings as well as configure security. This chapter begins by explaining
what Group Policy objects are and shows how to apply and filter Group Policy objects.
■
One of the important
tasks you can perform with Group Policy is configuring user desktops. In Windows
Server 2008 and Windows Vista, there are several thousand Group Policy settings available. This chapter describes not only how to apply the policies, but also which policies
are most important to apply.
■
Chapter 13 – “Using Group Policy to Manage Security” Another important task that you
can perform with Group Policy is applying security settings. This includes settings that
will be applied to all users and computers in the domain as well as settings that can be
applied to individual computers or users. This chapter provides the details on how to
configure security by using Group Policy.
Chapter 12 – “Using Group Policy to Manage User Desktops”
Part IV – Maintaining Windows Server 2008 Active Directory
■
Chapter 14 – “Monitoring and Maintaining Active Directory” This chapter prepares you
to maintain your Active Directory infrastructure after you deploy it. This chapter covers
how to monitor your AD DS environment, and how to maintain the AD DS domain
controllers.
■
Chapter 15 – “Active Directory Disaster Recovery” Because of the central role that AD
DS has in many corporations, it is critical that you know how to prepare for and recover
from disasters within your AD DS environment. This chapter details how you can do
this.
Part V – Identity and Access Management with Active Directory
■
Chapter 16 – “Active Directory Lightweight Directory Services” AD LDS is one of the
new server roles that is included under the Active Directory umbrella in Windows
Server 2008. AD LDS is designed to be an application directory—this chapter describes
how you can deploy and manage your AD LDS environment.
■
Chapter 17 – “Active Directory Certificate Services” AD CS can be used to provide the
public key infrastructure that provides digital certificates that are so critical for many
network security implementations. This chapter describes how to plan and implement
AD CS.
■
Chapter 18 – “Active Directory Rights Management Services” AD RMS provides the
tools to apply persistent usage policies to information that stays with the information
even as it is moved around or outside the organization. This chapter details how to
implement AD RMS.
xxvi
Introduction
■
AD FS provides a means to enable
users to access multiple Web-based applications in their organization or in other organizations while only authenticating once. This chapter describes the AD FS deployment
scenarios and how to implement them.
Chapter 19 – “Active Directory Federation Services”
Document Conventions
The following conventions are used in this book to highlight special features and usage:
Reader Aids
The following reader aids are used throughout this book to point out useful details:
Reader Aid
Meaning
Note
Underscores the importance of a specific concept or highlights a special
case that might not apply to every situation
Important
Calls attention to essential information that should not be disregarded
Caution
Warns you that failure to take or avoid a specified action can cause serious
problems for users, systems, data integrity, and so on
On the CD
Calls attention to a related script, tool, template, or job aid on the
companion CD that helps you perform a task described in the text
More Info
Points out Web sites or other related material that you can access to get
more details about a topic described in the text
Security Alert
Emphasizes information or tasks that are essential for maintaining a
secure environment or identifies events that indicate a potential
security incident
Sidebars
The following sidebars are used throughout this book to provide added insight, tips, and
advice concerning Windows Server 2008 Active Directory:
Sidebar
Meaning
Direct from the Source
Contributed by experts at Microsoft to provide “from-thesource” insight into how Active Directory in Windows Server
2008 works, best practices for planning and implementing the
Active Directory server roles, and troubleshooting tips
Direct from the Field
Contributed by directory service MVPs to provide real-world
insight into best practices for planning and implementing the
Active Directory server roles and troubleshooting tips
How It Works
Provides unique glimpses of Windows Server 2008 Active
Directory features and how they work
Introduction
xxvii
Command-Line Examples
The following style conventions are used in documenting command-line examples throughout this book:
Style
Meaning
Bold font
Used to indicate user input (characters that you type exactly as shown)
Italic font
Used to indicate variables for which you need to supply a specific value (for
example, filename can refer to any valid file name)
Monospace font
Used for code samples and command-line output
%SystemRoot%
Used for environment variables
Companion CD
The companion CD is a valuable addition to this book. Many of the tools and resources
mentioned in the chapters are on the CD itself; you can access other tools and resources via
links from the CD.
For documentation of the contents and structure of the companion CD, see the Readme.txt
file on the CD.
Management Scripts
A set of scripts to manage Active Directory is included on the CD. Among them are scripts to
get information about Active Directory objects and scripts to create or modify these objects.
These scripts all require Windows PowerShell. The following scripts are included on the CD:
■
AddUserToGroup.ps1
■
CreateAndEnableUserFromCSV.ps1 Creates an enabled user account by reading
Adds a user account to a group in the same OU
a .csv file
■
CreateGroup.ps1 Creates a group in Active Directory in the OU and domain specified
■
CreateObjectInAD.ps1 Creates an object in Active Directory
■
CreateOU.ps1
■
CreateUser.ps1 Creates a user account in Active Directory
■
EnableDisableUserSetPassword.ps1 Enables or disables a user account and sets the
Creates an organizational unit in Active Directory
password
■
GetDomainPwdSettings.ps1 Obtains the password policy settings for a domain
■
GetModifiedDateFromAD.ps1 Lists the last modified date of a specific user onto a local
or remote domain
xxviii
Introduction
■
ListUserLastLogon.ps1
Lists the last logon date of a specific user onto a local or remote
domain
■
LocateDisabledUsers.ps1 Locates disabled user accounts in a local or remote domain
■
LocateLockedOutUsers.ps1 Locates locked out user accounts a local or remote domain
■
LocateOldComputersNotLogon.ps1 Locates computer accounts in a local or remote
domain that have not logged on for a specified number of days
■
LocateOldUsersNotLogOn.ps1 Scans a local or remote domain for user accounts that
have not logged onto the domain for an extended period of time that is specified in days
■
ModifyUser.ps1 Modifies user attributes in Active Directory
■
QueryAD.ps1 Queries Active Directory for objects such as users, groups, computers,
and so on
■
UnlockLockedOutUsers.ps1 Unlocks user accounts that are locked out
In addition to these scripts, many of the chapters contain references to additional scripts that
perform the management tasks included in that chapter.
Full documentation of the contents and structure of the companion CD can be found in the
Readme.txt file on the CD.
Using the Scripts
The companion CD includes scripts that are written in VBScript (with a .vbs file extension)
and Windows PowerShell (with a .ps1 file extension).
The VBScript scripts on the companion CD are identified with the .vbs extension. To use
those scripts, double-click them or execute them directly from a command prompt.
The Windows PowerShell scripts require that you have Windows PowerShell installed and
that you have configured Windows PowerShell to run unsigned scripts. You can run the Windows PowerShell scripts on Windows XP SP2, Windows Server 2003 SP1, Windows Vista, or
Windows Server 2008. In order for the scripts to work, all computers must be members of a
Windows Server 2008 domain.
Note
For information about the system requirements for running the scripts on the CD, see
the System Requirements page at the end of the book.
Find Additional Content Online
As new or updated material becomes available that complements your book, it will be posted
online on the Microsoft Press Online Windows Server and Client Web site. Based on the final
build of Windows Server 2008, the type of material you might find includes updates to book
Introduction
xxix
content, articles, links to companion content, errata, sample chapters, and more. This Web
site will be available soon at http://www.microsoft.com/learning/books/online/serverclient, and
will be updated periodically.
Digital Content for Digital Book Readers: If you bought a digital-only edition of this book, you can
enjoy select content from the print edition’s companion CD.
Visit http://go.microsoft.com/fwlink/?LinkId=109208 to get your downloadable content. This content
is always up-to-date and available to all readers.
Resource Kit Support Policy
Every effort has been made to ensure the accuracy of this book and the companion CD
content. Microsoft Press provides corrections to this book through the Web at the following
location:
http://www.microsoft.com/learning/support/search.asp.
If you have comments, questions, or ideas regarding the book or companion CD content, or if
you have questions that are not answered by querying the Knowledge Base, please send them
to Microsoft Press by using either of the following methods:
E-mail:
[email protected]
Postal Mail:
Microsoft Press
Attn: Windows Server 2008 Active Directory Resource Kit
One Microsoft Way
Redmond, WA 98052-6399
Please note that product support is not offered through the preceding mail addresses.
For product support information, please visit the Microsoft Product Support Web site at the
following address:
http://support.microsoft.com
Part I
Windows Server 2008 Active
Directory Overview
In this part:
Chapter 1: What’s New in Active Directory for Windows Server 2008. . . .3
Chapter 2: Active Directory Domain Services Components . . . . . . . . . . . .19
Chapter 3: Active Directory Domain Services and Domain
Name System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .63
Chapter 4: Active Directory Domain Services Replication . . . . . . . . . . . . .95
Chapter 1
What’s New in Active Directory
for Windows Server 2008
In this chapter:
What’s New in Active Directory Domain Services . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
Additional Active Directory Service Roles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
What’s New in Active Directory Domain Services
Although much of what you will need to know in order to manage an Active Directory domain
remains the same from previous versions of the directory service implementation, such as
Windows 2000 and Windows Server 2003, several new and compelling features will offer
the administrator greater control and security over the domain environment. This chapter will
review six enhancements to the Active Directory Domain Service (AD DS), as well as four new
roles that Active Directory can and will play in your enterprise.
Read-Only Domain Controllers (RODC)
One of the new features in Windows Server 2008 is the option to deploy a read-only domain
controller (RODC). This new type of domain controller, as its name implies, hosts read-only
partitions of the Active Directory database.
An RODC makes it possible for organizations to easily deploy a domain controller in scenarios
where physical security cannot be guaranteed, such as branch office locations, or in scenarios
where local storage of all domain passwords is considered a primary threat, such as in an
application-facing role, or when used in conjunction with the Windows 2008 Server Core
installation option.
Organizations that can guarantee the physical security of a branch domain controller might
also deploy an RODC because of its reduced management requirements that are provided by
such features as Administrator Role Separation.
Because RODC administration can be delegated to a domain user or security group, an RODC
is well suited for a site that should not have a user who is a member of the Domain Admins
group. RODCs have the following characteristics.
3
4
Part I:
Windows Server 2008 Active Directory Overview
Read-Only AD DS Database
Except for account passwords, an RODC holds most of the Active Directory objects and
attributes that a writable domain controller holds. However, changes cannot be made to the
database that is stored on the RODC. Changes must be made on a writable domain controller
and then replicated back to the RODC.
Local applications that request Read access to the directory can obtain access. Lightweight
Directory Application Protocol (LDAP) applications that request Write access receive an LDAP
referral response. This response directs them to a writable domain controller, normally in a
hub site.
RODC Filtered Attribute Set
Only some attributes are replicated to the RODC. You can dynamically configure a set of
attributes, called the RODC filtered attribute set, so that its attributes are not replicated to an
RODC. Attributes that are defined in the RODC filtered attribute set are not allowed to
replicate to any RODCs in the forest.
A malicious user who compromises an RODC can attempt to configure it in such a way
that it tries to replicate attributes that are defined in the RODC filtered attribute set. If the
RODC tries to replicate those attributes from a domain controller that is running Windows
Server 2008, the replication request is denied. Therefore, as a security precaution, you should
ensure that forest functional level is Windows Server 2008 if you plan to configure the RODC
filtered attribute set. When the forest functional level is Windows Server 2008, an RODC
that is compromised cannot be exploited in this manner because domain controllers that are
running Windows Server 2003 are not allowed in the forest.
Unidirectional Replication
Because no changes are written directly to the RODC, no changes originate at the RODC.
Accordingly, writable domain controllers that are replication partners do not have to pull
changes from the RODC. This means that any changes or corruption that a malicious user
might make at branch locations cannot replicate from the RODC to the rest of the forest. This
also reduces the workload of bridgehead servers in the hub and the effort required to monitor
replication.
RODC unidirectional replication applies to both AD DS and Distributed File System (DFS)
Replication. The RODC performs normal inbound replication for AD DS and DFS Replication
changes.
Credential Caching
Credential caching is the storage of user or computer credentials, including the user password
expressed as a number of hashed values. By default, an RODC does not store user or
Chapter 1:
What’s New in Active Directory for Windows Server 2008
5
computer credentials. The exceptions are the computer account of the RODC and a special
(and unique) krbtgt account that each RODC has.
You can configure credential caching on the RODC by modifying the Password Replication
Policy for the specific domain controller. For example, if you want the RODC to cache the
credentials for all users in the branch office who routinely log on in the office location, you
can add all user accounts for users in the branch office to the Password Replication Policy. In
this way, users will be able to log on to the domain controller even if the wide area network
(WAN) connection to a writable domain controller is unavailable. Likewise, you can add all of
the branch office computer accounts, so that these accounts can authenticate to the RODC
even when the WAN link is down. In both of the previous scenarios, the WAN connection to
a writable domain controller must be available during the first logon for the credentials to be
cached to the RODC.
Administrator Role Separation
You can delegate local administrative permissions for an RODC to any domain user without
granting that user any user rights for the domain or other domain controllers. This permits a
local branch user to log on to an RODC and perform maintenance work on the server, such as
upgrading a driver. However, the branch user cannot log on to any other domain controller or
perform any other administrative task in the domain. In this way, the ability to effectively
manage the RODC in a branch office can be delegated to a branch user without compromising
the security of the rest of the domain.
Read-Only DNS
You can install the DNS Server service on an RODC. An RODC is able to replicate all application directory partitions that DNS uses, including ForestDNSZones and DomainDNSZones. If
the DNS server is installed on an RODC, clients can query it for name resolution as they query
any other DNS server.
However, the DNS server on an RODC does not support client updates directly. Consequently, the RODC does not register name server (NS) resource records for any
Active Directory–integrated zone that it hosts. When a client attempts to update its DNS
records against an RODC, the server returns a referral. The client can then attempt the update
against the DNS server that is provided in the referral. In the background, the DNS server on
the RODC attempts to replicate the updated record from the DNS server that made the
update. This replication request is only for a single object (the DNS record). The entire list of
changed zone or domain data does not get replicated during this special replicate-singleobject request. To enhance security, the branch office RODC needs to register its DC records
(as time server, ldap host, kdc host, etc.) with a Windows Server 2008 DC. If the RODC then
gets compromised, it will not be able to change DNS records and impersonate another DC, or
to advertise itself to clients outside its own site.
6
Part I:
Windows Server 2008 Active Directory Overview
Active Directory Domain Services Auditing
To better manage AD DS for an organization, it is valuable to not only know what objects have
been modified, but to know both their current and previous values. In previous versions of
AD DS, there was a single audit policy: Audit directory service access. Windows Server 2008
has additional subcategories of directory service auditing. This feature offers greater logging
information on success and failure events within the AD DS. In Windows Server 2008, the
Audit directory service access policy is now divided into four subcategories:
■
Directory Service Access
■
Directory Service Changes
■
Directory Service Replication
■
Detailed Directory Service Replication
In Windows Server 2008, this global audit policy is enabled by default. The subcategory
Directory Service Changes, also enabled by default, is set to log success events only. You can
control what operations to audit by modifying the system access control list (SACL) on the
appropriate directory service objects. For auditing directory service changes, the following
capabilities are now available:
■
When a successful modify operation is performed on an attribute of an object, AD DS
logs the previous and current values of the attribute. If the attribute has more than one
value, only the values that change as a result of the modify operation are logged.
■
If a new object is created, values of the attributes that are populated at the time of
creation are logged. If attributes are added during the create operation, those new
attribute values are logged.
■
If an object is moved within a domain, the previous and new location (in the form of the
distinguished name) is logged. When an object is moved to a different domain, a create
event is generated on the domain controller in the target domain.
■
If an object is undeleted, the location to which the object is moved is logged. In addition,
if attributes are added, modified, or deleted during an undelete operation, the values of
those attributes are also logged.
Note
Although the global audit policy: Audit directory service access is enabled using the
Group Policy Management console, there is no GUI available in Windows Server 2008 to view
or set AD DS audit policy subcategories. To view or set audit policy subcategories, use the
command-line tool Auditpol.exe. For more information on using Auditpol.exe to enable
individual subcategories, see Chapter 8, “Active Directory Domain Services Security,” as
well as the “Windows Server 2008 Auditing AD DS Changes Step-by-Step Guide” at http://
technet2.microsoft.com/windowsserver2008/en/library/a9c25483-89e2-4202-881cea8e02b4b2a51033.mspx?mfr=true.
Chapter 1:
What’s New in Active Directory for Windows Server 2008
7
Fine-Grained Password Policies
In Windows Server 2000 and Windows Server 2003, both password policy and account
lockout settings for all users in the domain are controlled by the Default Domain Policy. To
create a separate password policy or account lockout setting for specific users in the domain
once required either the creation of additional domains or the creation of password filters.
In Windows Server 2008 AD DS, fine-grained password policies are now available to specify
multiple password policies within a single domain. This enables members of the Domain
Admins group to create separate password policy and account lockout settings for different
types of users in the domain. For example, a domain admin can create a stricter password
policy for a power users group, who have more privileged access, and then a less-strict
password policy for average users.
Fine-grained password policies in Windows Server 2008 can be applied either to user objects
or to global security groups. You cannot apply fine-grained password policy directly to an
Organizational Unit (OU). To create a different password policy for members of the OU, apply
the password policy to a global security group that is logically mapped to the OU (a shadow
group). If you move a user from one OU to another, you must update the membership of the
shadow group if you want the user to be controlled by the password policy of the new OU (or
to no longer be affected by the policy of the old OU).
Storing Fine-Grained Password Policies
Two new object classes are created in the AD DS schema to store fine-grained password
policies: Password Settings Container (PSC) and Password Settings. Password Settings objects
(PSOs) are stored in the PSC. The PSC is created by default in the System container in the
domain—and it cannot be moved, renamed, or deleted. A PSO has attributes for all the settings
that can be defined in the Default Domain Policy (except Kerberos settings). These settings
include attributes for the following password settings:
■
Enforce password history
■
Maximum password age
■
Minimum password age
■
Minimum password length
■
Passwords must meet complexity requirements
■
Store passwords using reversible encryption
These settings also include attributes for the following account lockout settings:
■
Account lockout duration
■
Account lockout threshold
■
Reset account lockout after
8
Part I:
Windows Server 2008 Active Directory Overview
In addition, a PSO has the following two new attributes:
■
PSO link This is a multivalued attribute that is linked to users and/or group objects.
■
Precedence This is an integer value that is used to resolve conflicts if multiple PSOs are
applied to a user or group object.
Note
When adding a domain controller running Windows Server 2008 to an existing Active
Directory domain, be sure to run Adprep to extend the Active Directory schema to include the
two new object classes that fine-grained password policy requires. The Adprep command-line
tool will prepare the schema for the changes required to support AD DS in Windows
Server 2008. For more information on using Adprep, see Chapter 6, “Installing Active Directory
Domain Services,” as well as the “Step-by-Step Guide for Fine-Grained Password and Account
Lockout Policy Configuration” at http://technet2.microsoft.com/windowsserver2008/en/library/
2199dcf7-68fd-4315-87cc-ade35f8978ea1033.mspx.
Resultant Set of Policy for Fine-Grained Password Policy
Fine-grained password policy settings can be applied both to the user objects and global
security groups. Resultant Set of Policy (RSOP) can only be calculated for the user object. If
multiple PSOs are linked to a user or group, the resultant PSO that is applied is determined as
follows:
1. A PSO that is linked directly to the user object is the resultant PSO. If more than one
PSO is linked directly to the user object, a warning message is logged in the event log
and the PSO with the lowest precedence value is the resultant PSO.
2. If no PSO is linked to the user object, the global security group memberships of the user
and all PSOs that are applicable to the user based on those global group memberships
are compared. The PSO with the lowest precedence value is the resultant PSO. (If there
are multiple lowest precedence values, then the PSO GUID would be used for defining
the order in which they are applied.)
3. If no PSO is obtained from conditions (1) and (2), the Default Domain Policy is applied.
There are three settings applied directly to the user object that will always override the
settings that are applied through the fine-grained password policy. You can set these bits
in the userAccountControl attribute of the user object:
■
Reversible password encryption required
■
Password not required
■
Password does not expire
These bits override the settings in the resultant PSO that is applied to the user object (just
as these bits override the settings in the Default Domain Policy in Windows 2000 and
Windows Server 2003).
Chapter 1:
What’s New in Active Directory for Windows Server 2008
9
Restartable Active Directory Domain Services
Restartable AD DS in Windows Server 2008 enables the administrator to perform functions
that are performed offline without having to restart the domain controller. In previous
versions of Windows Server, offline functions, such as offline defragmentation of the database, required a restart of the domain controller in Directory Services Restore mode. In
Windows Server 2008, you can stop the AD DS and perform the necessary updates, while
other services running on the server (such as Dynamic Host Configuration Protocol [DHCP])
remain unaffected and available to satisfy user requests even while the AD DS is stopped. Keep
in mind that dependent services such as DNS and KDC will not function without AD DS;
dependent services will be stopped when the AD DS is stopped.
The three possible states for a domain controller running Windows Server 2008 are as follows:
■
AD DS Started In this state, AD DS is started. For clients and other services running on
the server, a Windows Server 2008 domain controller running in this state is the same
as a domain controller running Windows 2000 Server or Windows Server 2003.
■
AD DS Stopped In this state, AD DS is stopped. Although this mode is unique, the
server has some characteristics of both a domain controller in Directory Services Restore
Mode and a domain-joined member server.
■
Directory Services Restore Mode
This mode is unchanged from Windows Server 2003.
You can easily start and stop the AD DS using the Services component of the Computer
Management MMC snap-in or otherwise stop the service the same way as any other service
that is running locally on the server.
Database Mounting Tool
The database mounting tool (Dsamain.exe) enables you to view snapshots and backups of AD
DS data to determine which backup or snapshot contains the appropriate data to be restored.
Previously, in earlier versions of AD DS running on the Windows 2003 or Windows Server
2003 operating system, administrators would have to restore multiple backup sets to determine which set contained the data necessary to restore. This process required a restart of the
domain controller in Directory Services Restore Mode and did not provide a means to compare data stored in backups taken at different points in time. Although the database mounting
tool cannot be used to restore the data to the AD DS, it can be used to simplify the process of
identifying modified information and selecting the backup to be restored without incurring
service downtime.
You will use the database mounting tool to expose the snapshot volume (created using
Ntdsutil or the Volume Shadow Copy Service) as an AD.dit file. You can then use an LDAP
tool, such as LDP.exe (which is included with Windows Server 2008), to browse the snapshot
just as you would any live domain controller.
10
Part I:
Windows Server 2008 Active Directory Overview
User Interface Improvements
Windows Server 2008 introduces several improvements to the AD DS interface. The Active
Directory Domain Services Installation Wizard now includes advanced options to better
support the installation of RODCs. The AD DS installation process has been streamlined and
simplified. In addition, the management tools (MMC Active Directory Sites and Services snap-in)
provide controls for new features in AD DS, such as Password Replication Policy for RODCs.
Improvements in the AD DS Installation Wizard
Although you can use the new Add Roles Wizard to configure the server for the AD DS role
and to install the necessary files to start the AD DS installation, you will still need to run AD
DS Installation Wizard by using the Dcpromo.exe command. New in Windows Server 2008
on the AD DS Installation Wizard Welcome page is the option to run the wizard in Advanced
mode, instead of having to use the /adv switch when entering the Dcpromo.exe command
from the Run command or command line.
The additional installation options in advanced mode include the following:
■
Creating a new domain tree
■
Using backup media from an existing domain controller in the same domain to reduce
network traffic that is associated with initial replication
■
Selecting the source domain controller for the installation, which enables you to control
which domain controller is used to initially replicate domain data to the new domain
controller
■
Defining the Password Replication Policy for an RODC
The new Active Directory Domain Services Installation Wizard also includes the following
improvements:
■
By default, the wizard now uses the credentials of the user who is currently logged on.
You are prompted for additional credentials if they are needed.
■
When you create an additional domain controller in a child domain, the wizard now
detects whether the infrastructure master role is hosted on a global catalog server in
that domain, and it prompts you to transfer the infrastructure master role to the domain
controller that you are creating if it will not be a global catalog server. This helps prevent
misplacement of the infrastructure master role.
■
On the Summary page of the wizard, you can export the settings that you have selected
to a corresponding answer file that you can use for subsequent operations (installations
or uninstallations). This method is less error-prone than manually creating an unattended installation file.
Chapter 1:
What’s New in Active Directory for Windows Server 2008
11
■
You now can omit your administrator password from the answer file. Instead, type
password=* in the answer file to ensure that the user is prompted for account credentials.
■
You can prepopulate the wizard by specifying some parameters on the command line,
reducing the amount of user interaction that is required with the wizard. Command-line
parameters are also required when installing AD DS in Windows Server 2008 Server
Core.
■
You now can force the demotion of a domain controller that is started in Directory
Services Restore Mode.
Improvements to the AD DS Management Tools
There have been several improvements to the Active Directory Sites and Services snap-in to
simplify managing the AD DS. First, a new Password Replication Policy tab has been added to
the domain controller Properties sheet that can be used to see what passwords have been sent
to an RODC and which passwords are currently stored on the RODC. This tab will also indicate which accounts have authenticated on the RODC to determine whether or not to allow
password replication. In addition, a Find command has been added to the toolbar and to the
Action menu of the snap-in. This will enable administrators to determine what site a domain
controller is located in to better troubleshoot replication problems.
A number of tools, including Ldp, Repadmin, and Nltest, that were part of the support tools
or were otherwise available in the Windows Server 2003 Resource Kit are now included in the
standard installation of Windows Server 2008 and are available by installing the DC roles.
These same tools can be used to manage both AD DS and AD LDS (formerly Active Directory
Application Mode [ADAM]). There is an option to only install these tools during installation.
Additional Active Directory Service Roles
In addition to AD DS, you can deploy a computer running the Windows Server 2008 operating
system in four additional Active Directory Service roles. The four additional AD Service
roles are as follows:
■
Active Directory Certificate Services Role (AD CS)
■
Active Directory Federation Services Role (AD FS)
■
Active Directory Lightweight Services Role (AD LS)
■
Active Directory Rights Management Services Role (AD RMS)
This section will briefly describe the functionality that is available by configuring the server
with these AD Service roles. In later chapters you will learn the design implications of installing
multiple service roles on a single computer running the Windows Server 2008 operating
system, as well as the detailed functionality of each service role.
12
Part I:
Windows Server 2008 Active Directory Overview
To deploy these service roles on a computer running the Windows Server 2008 operating
system, you will use the Server Manager console. Several of these service roles require that the
server first be configured as a domain controller while others require that it be installed into
an existing Active Directory forest.
Active Directory Certificate Services Role
The AD CS role is used to create, distribute, and manage public key certificates to secure
network resources. Public key certificates can be issued to users, devices or computers, and
services, and AD CS functions to bind the identity of the person, device, or service to a
corresponding private key that is unique to that object.
There are several enhancements in AD CS in Windows Server 2008 in the management and
revocation of certificates in scalable environments:
■
Cryptography Next Generation (CNG) CNG provides a set of APIs that are used to
perform basic cryptographic operations, such as creating hashes and encrypting and
decrypting data. It is also used to create, store, and retrieve cryptographic keys.
■
Web enrollment Web enrollment allows users to connect to a CA by means of a Web
browser in order to request certificates, retrieve Certificate Revocation Lists (CRLs), and
perform smart card certificate enrollment.
■
Online Responder service The Online Responder service enables clients to check the
revocation status of a digital certificate by using the Online Certificate Status Protocol
(OCSP) rather than Certificate Revocation Lists (CRLs). When a client requests a
certificate revocation status from the Online Responder service, the server evaluates the
status of the certificate and sends back a signed response containing just the requested
certificate status information. Alternatively, when a CRL is used, the entire list of
revoked certificates is downloaded to the client.
■
Network Device Enrollment Service (NDES) NDES allows routers, switches, and other
network devices that do not have network accounts to obtain certificates.
■
Enterprise PKI (PKIView) PKIView is an MMC snap-in available in AD CS for Windows
Server 2008 used to monitor and troubleshoot the health of all certification authorities
(CAs) in a public key infrastructure (PKI). The PKIView snap-in provides a graphical
indication of the health and status of all CAs in the environment.
■
Restricted enrollment agent The restricted enrollment agent is a new functionality in
Windows Server 2008 that limits the permissions that users designated as “enrollment
agents” have for enrolling smart card certificates on behalf of other users. This feature is
only available in Windows Server 2008 Enterprise.
Chapter 1:
■
What’s New in Active Directory for Windows Server 2008
13
Certificate-related Group Policy settings There are new certificate-related Group Policy
settings in AD CS that can be administered using the Group Policy Management console
(GPMC). This GP setting can be used to:
❑
Deploy intermediate certification authority (CA) certificates to client computers.
❑
Prevent users from installing applications that have been signed with an unapproved publisher certificate.
❑
Configure network timeouts for large CRLs, as well as extend CRL expiration
times.
When you deploy a CA in AD CS, you can deploy an Enterprise CA or a stand-alone CA. An
Enterprise CA is tightly integrated with AD DS, which enables you to automate many of the
tasks for certificate enrollment and renewal. If you deploy an Enterprise CA, you must deploy
it on a Windows Server 2008 computer that is a member of an AD DS domain.
The AD CS components can be deployed on a single server or distributed across multiple
servers. In a small enterprise, you may deploy all the roles except the Online Responder
service on a single computer and dedicate one computer as an Online Responder. In large
enterprises with complex digital certificate requirements, you may deploy several CAs, including
subordinate CAs, and Online Responders on separate computers. The number of servers that
you deploy in your environment will depend on a number of variables, including the volume
of certificate requests, the number and location of CAs, and the applications that require
certificates in the environment. These applications include Secure/Multipurpose Internet
Mail Extensions (S/MIME), secure wireless networks, virtual private network (VPN), Internet
Protocol security (IPsec), Encrypting File System (EFS), smart card logon, Secure Socket
Layer/Transport Layer Security (SSL/TLS), and digital signatures.
To increase flexibility in supporting the PKI of the organization, single or multiple Online
Responders may be deployed. Multiple Online Responders can be deployed to support one
or more CAs, and a single Online Responder can support multiple CAs. For greater faulttolerance and to support remote certificate revocation requests (branch-office scenarios),
Online Responders can be deployed as an array. One member of the array must be designated
as the array controller. Although each Online Responder in an array can be configured and
managed independently, in case of conflicts, the configuration information for the array
controller will override configuration options set on other array members.
Active Directory Federation Services Role
Active Directory Federation Services (AD FS) is a server role in the Windows Server 2008
operating system that is used to extend AD DS’s account authentication functionality beyond
the boundary of an AD FS forest and across multiple platforms, including both Windows
and non-Windows environments. AD FS is well suited for Internet-facing applications or any
environment where a single user account will need to access resources on different networks.
14
Part I:
Windows Server 2008 Active Directory Overview
In these scenarios, users may be prompted for credentials whenever they try to access an
application that is using a different authentication source (for example, in another organization
or in a different forest, such as a perimeter network forest in the same organization).
When you implement AD FS, you can implement a federated trust between two different
organizations or between two different forests. This federated trust enables users to use the
security credentials from their own forest when accessing an application in an environment
outside their forest. The federated trust is configured between resource organizations (organizations that own and manage resources and applications that are accessible from either the
Internet or other third-party networks) and the account organizations (organizations
that own and manage the user accounts that will then be granted access to the resources in
the Resource Organizations). In this scenario, AD FS offers a single sign-on (SSO) access
to resources in the resource organization to users who have been authenticated in the account
organization. SSO enables users to log on to the local network and receive a security token
that will provide them with access to resources on different networks that have been configured
to trust those accounts. Even within a single organization with separate networks and security
boundaries, users will appreciate the convenience of having an SSO for accessing all appropriate
network resources. AD FS is suitable both within large organizations with separate resource
and account organizations and outside the firewall: AD FS is Internet-scalable to support
access requests from users accessing resources using a Web browser.
There are several different components that comprise AD FS in Windows Server 2008:
■
Federation Service The Federation Service comprises one or more federation servers
that share a common trust policy. You use federation servers to route authentication
requests from user accounts in other organizations or from clients that may be located
anywhere on the Internet.
■
Federation Service Proxy The Federation Service Proxy is a proxy to the Federation
Service in the perimeter network (also known as a demilitarized zone and screened
subnet). The Federation Service Proxy uses WS-Federation Passive Requestor Profile
(WS-F PRP) protocols to collect user credential information from browser clients, and it
sends the user credential information to the Federation Service on their behalf.
■
Claims-aware agent You use the claims-aware agent on a Web server that hosts a
claims-aware application to allow the querying of AD FS security token claims. A claimsaware application is a Microsoft ASP.NET application that uses claims that are present in
an AD FS security token to make authorization decisions and personalize applications.
■
Windows token-based agent You use the Windows token-based agent on a Web server
that hosts a Windows NT token-based application to support conversion from an AD
FS security token to an impersonation-level, Windows NT access token. A Windows
NT token-based application is an application that uses Windows-based authorization
mechanisms.
Chapter 1:
What’s New in Active Directory for Windows Server 2008
15
One of the several improvements in AD FS in Windows Server 2008 is the installation process. Unlike AD FS in Windows Server 2003 R2, in which you needed to use Add Or Remove
Programs to install AD FS, in Windows Server 2008, AD FS is installed like the other server
roles—by using Server Manager. AD FS requires a directory service and can use either AD DS
or Active Directory Lightweight Directory Services (AD LDS) as the directory. Additional
improvements in the Windows Server 2008 release of AD FS are the tight integration between
AD FS and Office SharePoint Server 2007 for membership and role providers, and AD RMS for
sharing rights-protected content with trusted external partners.
Once you have installed AD FS, you will manage the service using the Microsoft Management
Console (MMC). To manage both the Federation Service and Federation Service Proxy role
services, use the Active Directory Federation Services snap-in.
Active Directory Lightweight Directory Services Role
The Active Directory Lightweight Directory Services (AD LDS), formerly known as Active
Directory Application Mode (ADAM), is a Lightweight Directory Access Protocol (LDAP)
directory service that can replace AD DS functionality in some scenarios, or be deployed
together with AD DS. AD LDS is specifically used to provide directory services for deploying
directory-enabled applications, without the dependencies of AD DS. Using AD LDS, you can
deploy a lightweight directory service without domains or forests (as those are AD DS requirements), and you can support separate schemas for each instance of AD LDS you deploy. AD
DS is limited to a single schema across the entire forest.
There are several scenarios in which you may want to deploy AD LDS:
■
Providing an enterprise directory store
■
Providing an extranet authentication store AD LDS is a good candidate for this authentication store because it can store user account data that are not Windows security
principals but that can be authenticated with LDAP simple binds. Web clients can
access portal-based applications using a simple LDAP directory services.
■
Providing a configuration store for distributed applications
AD LDS is used to store application-specific
data, which is only relevant to the enterprise application. This information can be stored
on the same server as the application, or it can be replicated to multiple AD LDS servers
across the enterprise. AD LDS can store just the configuration data for the enterprise
application, whereas AD DS can be used to store the security principal data—which will
reduce the amount of application-specific user-account databases across the network.
In this scenario, an AD LDS
instance that serves as the application’s configuration store is bundled with a distributed application. This way, application designers do not have to be concerned about the
availability of a directory service before the installation of the application. Instead, they
can include AD LDS as a part of their application’s installation process to ensure that
the application has access to a directory service immediately upon installation. The
application then configures and manages AD LDS entirely on its own or partially,
depending on the application’s exposure to the AD LDS management, and it uses
AD LDS to address its various data requirements.
16
Part I:
Windows Server 2008 Active Directory Overview
Note
The Edge Transport Server role in Exchange Server 2007 is one example of an
application that uses AD LDS. When you install this server role, AD LDS is automatically
installed and configured to support the server role.
■
Migrating legacy directory-enabled applications You can deploy AD LDS to serve and
provide support for the legacy applications that rely on X.500-style naming, while you
can use AD DS in the enterprise to provide a shared security infrastructure. You can use
a metadirectory or configure synchronization between AD LDS and AD DS to automatically synchronize the data in AD DS and AD LDS for a seamless migration experience.
After you add the AD LDS server role to your server using Server Manager, you will create AD
LDS instances and application partitions by using the Active Directory Lightweight Directory
Services Setup Wizard. You can install several instances of AD LDS on a single server, with
each instance using a different schema. Within each instance, you can configure multiple
application partitions. After creating the instances and partitions, you can manage them using
any LDAP management tools, such as the ADSI Edit MMC snap-in or LDP.exe.
Active Directory Rights Management Services Role
The Active Directory Rights Management Services Role (AD RMS) is used to augment an
organization’s existing security solution by providing an object-based persistent usage policy.
AD RMS extends that security solution to include persistent usage policies that can protect
sensitive corporate data, such as word-processing documents, customer data, e-mail messages,
and financial data. The security restrictions for a specific file follow the document wherever it is
moved and are not assigned to the container in which the document is stored (unlike ACLs).
Using AD RMS, network users can restrict the ability to copy, print, or forward sensitive
data. This enables you to send confidential e-mail messages, so that the recipient can open
and read the message but will not be able to cut, copy, or forward the message to other
recipients, including any attachments included with the message. Confidential corporate
communications remain confidential by restricting e-mail recipients from forwarding rightsprotected communications. AD RMS also disables the ability to copy permissions-restricted
data and then paste it into a nonrestricted e-mail message or document.
There are several enhancements to AD RMS in Windows Server 2008 over Windows Rights
Management Services (RMS) that will improve administration of the service and will extend
its functionality outside of the organization. The new features are:
■
AD RMS is included with
Windows Server 2008 and is installed as a server role. The earlier versions of RMS were
provided as a separate installation available from the Microsoft Download Center.
Additionally, AD RMS administration is now done through an MMC snap-in console,
which is much easier to use than the Web interface used in the previous version of RMS.
Additionally, with the inclusion of AD RMS administration roles, the AD RMS console
Improved installation and administration experience
Chapter 1:
What’s New in Active Directory for Windows Server 2008
17
displays only the parts of the console that the user can access. For example, a user who
is using the AD RMS Template Administrators administration role is restricted to tasks
that are specific to AD RMS templates. All other administrative tasks are not available in
the AD RMS console.
■
Self-enrollment of the AD RMS cluster AD RMS cluster can be enrolled without having
to connect to the Microsoft Enrollment Service. Through the use of a server self-enrollment
certificate, the enrollment process is done entirely on the local computer. This new
feature eliminates the operational dependency on the enrollment service and also
allows AD RMS to operate in a network that is entirely isolated from the Internet.
■
Integration with AD FS
■
New AD RMS administrative roles The ability to delegate AD RMS tasks to different
administrators is needed in any enterprise environment and is included with this
version of AD RMS. Three administrative roles have been created: AD RMS Enterprise
Administrators, AD RMS Template Administrators, and AD RMS Auditors. The new AD
RMS administrative roles give you the opportunity to delegate AD RMS tasks without
giving full administrative control over the entire AD RMS cluster.
AD RMS and AD FS have been integrated such that enterprises
are able to leverage existing federated relationships to collaborate with external partners.
In earlier versions of RMS, the options for external collaboration of rights-protected
content were limited to Windows Live ID (formerly Microsoft Passport). Integrating AD
FS with AD RMS provides the ability to establish federated identities between organizations
and share rights-protected content, without requiring a deployment of AD RMS in both
places.
The AD RMS-enabled client must have an AD RMS-enabled browser or application, such as
Microsoft Word, Outlook, or PowerPoint in Microsoft Office 2007. In order to create rightsprotected content, Microsoft Office 2007 Enterprise, Professional Plus, or Ultimate is
required. Windows Vista includes the AD RMS client by default, but other client operating
systems must have the RMS client installed. The RMS client with Service Pack 2 (SP2) can be
downloaded from the Microsoft Download Center and works on versions of the client operating
system earlier than Windows Vista and Windows Server 2008. For additional security, AD
RMS can be integrated with other technologies such as smart cards.
Note
Recipients of rights-protected messages who are not running an e-mail application
that supports messages with restricted permission, such as Microsoft Office 2003 or Microsoft
Office 2007, can view these messages by downloading the Rights Management Add-on for
Internet Explorer from the Microsoft Download Center at http://www.microsoft.com/downloads/details.aspx?FamilyId=B48F920B-5AF0-46B4-994F-2F62582CC86F&displaylang=en.
This download is required for recipients using Web mail applications, for example.
AD RMS is installed on a computer running the Windows Server 2008 operating system.
When the AD RMS server role is installed, the required services are installed. Internet Information
Services (IIS) is a required service. AD RMS also requires a database, such as Microsoft SQL
18
Part I:
Windows Server 2008 Active Directory Overview
Server, which can be run either on the same server as AD RMS or on a remote server located
within the same AD DS forest. In addition, AD RMS and AD FS have been integrated to allow
enterprises to leverage existing federated relationships to collaborate and secure information
with external partners.
Summary
This chapter introduced the new features of AD DS, as well as the server roles that are available in Windows Server 2008. Understanding these new features and server roles will equip
directory services administrators with the information necessary to evaluate the migration to
Windows Server 2008 and Active Directory and to plan for the new functionality that Windows Server 2008 will provide in their organization.
Chapter 2
Active Directory Domain
Services Components
In this chapter:
AD DS Physical Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
AD DS Logical Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
Additional Resources. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
As an Active Directory Domain Services (AD DS) administrator, you will spend much of your
time configuring user and group accounts that are located in organizational units or container
objects, which are located in a domain. When you configure these objects, you are actually
making changes to a database file that is stored on the domain controller hard drive. In most
circumstances, you will not directly interact with the physical AD DS database; rather you will
use the AD DS management tools to modify the logical objects stored in the database.
Microsoft Windows Server 2008 AD DS includes both a physical component and a logical
organization of objects in the directory. In terms of its physical structure, AD DS consists of a
single database file on the hard disk of each of the domain controllers that host the service.
The logical structure of AD DS consists of the containers that are used to store the directory
service objects (such as directory partitions, domains, and forests) in the enterprise. In this
chapter, you will learn about the physical components that make up the AD DS. Then, you
will look at the logical structure of an AD DS implementation. A solid understanding of the
physical structure of the directory service is important, but your understanding of the logical
structure is vital to successful implementation and management of your directory service
infrastructure. It is this logical structure of the directory service that you will interact with on
a daily basis.
AD DS Physical Structure
AD DS data is stored primarily as a single database file. The database file is stored on domain
controllers, which provide access to the database for administrators and provide directory
service functionality such as authentication and authorization for other users and computers.
When implementing AD DS, you can add as many domain controllers as are needed to
support the directory services needs of the organization.
19
20
Part I:
Windows Server 2008 Active Directory Overview
All domain controllers in a domain provide essentially the same services. However, there are
five specific roles that can be located on only one domain controller at a time. These roles are
known as flexible single-master operation roles. AD DS also enables unique domain controller
roles for global catalog servers and read-only domain controllers. In this section you will look
at both the AD DS data store and the domain controllers that host it.
The Directory Data Store
All the data in the AD DS database is stored in a file named Ntds.dit and the transaction logs
on the domain controller. These data files are stored by default in the %SystemRoot%\NTDS
folder on the domain controller. These files store all the directory information for the domain,
as well as information that is shared by all domain controllers in a given organization. Global
catalog servers also store the global catalog data in the same files.
Note Although you will rarely directly interact with the AD DS data files, you do need to
understand how AD DS manages the database, and you may need to work with the files during
disaster recovery. You will learn more about how to maintain and recover the AD DS database
in Chapter 14, “Monitoring and Maintaining Active Directory,” and Chapter 15, “Active Directory Disaster Recovery.”
The AD DS data store is implemented on every domain controller in the forest. The AD DS
data store consists of several components that are shown in Figure 2-1.
Interfaces – LDAP, REPL, MAPI, SAM
Ntdsa.dll
DSA
Database layer
ESE (Esent.dll)
Figure 2-1
The AD DS data store includes several components.
Chapter 2:
Active Directory Domain Services Components
21
Table 2-1 provides a description of the data store components.
Table 2-1
Data Store Components
Component
Description
Interfaces
Client computers, administrators, and other domain controllers cannot
communicate directly with the database. The data store supports the
following interfaces for directory clients and other directory servers to
communicate with the data store:
■
Lightweight Directory Access Protocol (LDAP) LDAP v3 is the
most common interface used by directory clients to locate information in the directory store. LDAP v3 is backward compatible with
LDAP v2. Clients can use port 389 (the standard LDAP port), port
636 (LDAP secured by SSL), port 3268 (for global catalog lookups),
and port 3269 (Global catalog LDAP secured by SSL) to access the
LDAP interface. Clients can also use UDP Port 389 for both LDAP
and Netlogon (this interface is used to locate domain controllers).
■
Replication (REPL) and domain controller management interface The REPL management interface is used by AD DS management tools and during replication between domain controllers. This
interface provides functionality for finding data about domain
controllers, converting the names of network objects between
different formats, and manipulating service principal names (SPNs)
and DSAs. This interface is accessible through Remote Procedure
Calls (RPCs) and through SMTP (only for SMTP based replication).
■
Messaging API (MAPI) MAPI is used by messaging clients such as
Outlook to access the Microsoft Exchange Server data stored in the
data store. Exchange Server 2000 and later use the AD DS data
store to store all recipient information, and the MAPI interface
enables messaging clients to access the Global Address List (GAL).
MAPI uses RPC communication.
■
Security Accounts Manager (SAM) SAM is a proprietary interface for connecting to the DSA on behalf of clients that use
Windows NT 4.0 or earlier. These clients use Windows NT 4.0
networking APIs to connect to the DSA through SAM. SAM
communication also uses RPC communication.
Directory Service Agent The DSA (which runs as Ntdsai.dll on each domain controller) provides the
(DSA) (Ntdsa.dll)
data store access interfaces. In addition, the DSA enforces directory
semantics, maintains the schema, guarantees object identity, and enforces
data types on attributes.
When clients or other domain controllers need to access the directory
store, they used one of the supported interfaces to connect (bind) to
the DSA and then search for, read, and write to AD DS objects and their
attributes.
22
Part I:
Windows Server 2008 Active Directory Overview
Table 2-1
Data Store Components (continued)
Component
Description
Database layer
The database layer resides in Ntdsai.dll and provides an internal interface
between the DSA and the directory database. The DSA cannot directly
connect to the database; applications go through the database layer. The
database layer also provides an object view of the directory database,
making the data accessible to the DSA as a set of hierarchical containers.
The database layer is also responsible for the creation, retrieval, and
deletion of individual records (objects), attributes within records, and
values within attributes.
ESE (Esent.dll)
The Extensible Storage Engine (ESE) is a Windows component that is used
by AD DS, as well as by several other Windows components, as an interface
to the database. The ESE is responsible for indexing the data in the database file and for transferring the data in and out of the database. It also
maintains the rows and columns that comprise the database. Its purpose is
to enable applications to store and retrieve data. The ESE also implements
the transactional process for committing changes to the database.
Database files
The data store stores directory information in a single database file. In
addition, the data store also uses transaction log files, to which it
temporarily writes uncommitted changes, as well as committed
transactions prior to committing them to the database.
Note
A second copy of the Ntds.dit file is located on every domain controller in the
%SystemRoot%\System32 folder structure. This version of the file is the distribution copy
(default copy) of the directory database and is only used to install AD DS. This file is copied
to the server when Microsoft Windows Server 2008 is installed so that the server can be
promoted to a domain controller without having to access the installation media. When the
Active Directory Domain Services Installation Wizard (Dcpromo.exe) is run, the Ntds.dit file is
copied from the System32 folder to the NTDS folder. The copy stored in the NTDS folder then
becomes the live copy of the directory data store. If this is not the first domain controller in
the domain, this file will be updated from other domain controllers in the domain through the
replication process.
Domain Controllers
By definition, any computer running Windows Server 2008 that maintains a copy of the AD
DS database is a domain controller. Domain controllers provide authentication services for
the domain as well as directory lookup services. With several exceptions, which are detailed
later in this chapter, all domain controllers are created equal. Using the multimaster replication
process described in Chapter 4, “Active Directory Domain Services Replication,” every
domain controller in the domain maintains an up-to-date copy of the domain database and is
capable of making changes to the database.
In addition to the domain controllers that host AD DS, there are several special-purpose
domain controllers that AD DS requires to perform certain functions. These are the global
catalog servers and the operations masters. In addition, Windows Server 2008 supports readonly domain controllers (RODCs).
Chapter 2:
Active Directory Domain Services Components
23
Global Catalog Servers
The global catalog is a partial, read-only replica of all other domain directory partitions in the
forest. The additional domain directory partitions are partial because only a limited set of
attributes is included for each object. By including only the attributes that are most used for
searching, every object in every domain in the forest can be represented in the database of a
single global catalog server. The global catalog provides the ability to efficiently locate objects
from any domain even if the forest contains multiple domains and domain trees. Searches that
use the global catalog are faster because they do not involve referrals to different domain
controllers.
The global catalog is stored on domain controllers that have been designated as global catalog
servers and is distributed through multimaster replication.
Whether or not an attribute is replicated to the global catalog is determined by the schema.
The attributes that are included to the global catalog are identified in the schema as the partial
attribute set (PAS). The PAS is identified by the isMemberOfPartialAttributeSet attribute: if this
attribute is set to true, then the attribute will be included in the global catalog.
Administrators can add attributes to the global catalog by using the Active Directory Schema
snap-in. You may choose to add an attribute to the global catalog if you anticipate that users
will need to search for objects across multiple domains by using a specific attribute. For
example, the Department attribute is not added to the global catalog by default. If you want
users to be able to search for users by department in multiple domains, then you should
consider adding the attribute to the global catalog.
To add an attribute to the global catalog, access the attribute properties in Active Directory
Schema and select the Replicate This Attribute To The Global Catalog option. This will set the
value of the isMemberOfPartialAttributeSet parameter on the attribute to true. Figure 2-2 shows
the interface used to configure an attribute as a member of the PAS.
Caution
Use caution when adding attributes to the global catalog. When you add an
attribute to the global catalog, the global catalog must be recalculated in all domains in the
forest and the updated information must be replicated to all global catalog servers. This is
particularly important if your environment contains Windows 2000 domain controllers. When
a new attribute is added to or removed from the global catalog on a Windows 2000 domain
controller, the domain controller will rebuild and re-replicate the entire global catalog.
Windows Server 2003 and later domain controllers only replicate the delta (that is, the
attribute that was added to or removed from the PAS). In a large organization with multiple
domains, this may require significant processor and network utilization. In most cases, you will
make changes to the PAS only if it is required by a specific application. For example, installing
Exchange 2000 Server, or later versions of Exchange Server, will add many new attributes to the
global catalog.
24
Part I:
Windows Server 2008 Active Directory Overview
Figure 2-2 You can add the Department attribute to the global catalog by using the Active
Directory Schema MMC.
The first domain controller installed in the forest is automatically configured as a global
catalog server. Additional domain controllers can be designated as global catalog servers
during the installation of AD DS or by selecting the Global Catalog Server option in the Active
Directory Sites and Services administrative tool.
Note In most cases, you should configure a global catalog server in each office location
that is configured as an AD DS site. This will optimize the logon process for users in that office.
Chapter 5, “Designing the Active Directory Domain Services Structure,” provides guidance on
the number of global catalog servers you will need to deploy and where to locate them.
Global catalog servers are important for several reasons. One reason is that they are used for
making AD DS searches more efficient. Without a global catalog, search requests received by
a domain controller for an object in a different domain would result in that domain controller
referring the query to a domain controller in the object domain. This search would be possible
only if the search query included the domain where the object is located. Because the global
catalog contains a complete list of every object in the forest, the global catalog server can
respond to any query using an attribute that has been replicated to the global catalog without
needing to refer to another domain controller.
Note Global catalog queries are identical to any other LDAP query against a Windows
Server 2008 domain controller. The only difference is that the global catalog query uses TCP
port 3268 rather than TCP port 389, which is the standard LDAP port. If a domain controller
that is also a global catalog server receives a query on port 389, it will not search the global
catalog for objects in other domains.
Chapter 2:
Active Directory Domain Services Components
25
Global catalog servers are also used when processing user logons. Every time a user logs on to
a domain, a global catalog server is contacted. This is because nonglobal catalog domain
controllers do not contain any information about universal group membership. Universal
groups can contain user and group accounts from any domain in a particular forest. Since
universal group membership is forest-wide, group membership can only be resolved by a
domain controller that has forest-wide directory information—the global catalog. In order for
an accurate security token to be generated for the user seeking authentication, the global
catalog must be contacted to determine the user’s universal group membership.
Note Windows Server 2008 supports a feature known as universal group membership caching
that makes it possible to log on to a Windows Server 2008 network without contacting a
global catalog. Universal group membership can be cached on nonglobal catalog domain
controllers after a user has logged on to that domain controller. After this information is
obtained from a global catalog, it is cached on the domain controller for the site indefinitely
and is periodically updated (by default every 8 hours). Enabling this feature results in faster
logon times for users in remote sites, as the authenticating domain controllers do not have to
access a global catalog. Chapter 5 goes into more detail on planning and configuring universal
group membership caching.
Global catalog servers are also required to process user logons when users use a User Principal
Name (UPN) to log on. UPNs enable users to log on to computers in any domain in a forest by
using a consistent user name. The UPN format is [email protected], but the domain
name does not need to be the domain that contains the user account. In order to identify the
user’s domain, the UPN must be resolved in the global catalog.
Read-Only Domain Controllers
Read-only domain controllers (RODC) are another special type of domain controller available
in Windows Server 2008 AD DS. RODCs host read-only versions of the AD DS database and
provide all of the authentication and authorization services provided by other domain controllers.
RODCs are primarily designed to be deployed in branch offices scenarios where the physical
security of the domain controller cannot be ensured, or in scenarios where the local storage
of domain passwords is considered a security risk. RODCs can also contain read-only versions
of the AD DS integrated DNS zones and can be configured as global catalog servers.
Note For additional security, consider deploying RODCs on Windows Server 2008 Server
Core installation option. This installation option does not provide any graphical administration
tools. In addition, as RODCs may be deployed in sites that are not considered secure, you
should not deploy any regular domain controllers in these sites.
26
Part I:
Windows Server 2008 Active Directory Overview
Credential Caching on RODCs
One of the configuration options available on an RODC is credential caching. Credential
caching refers to the storage of the password that is associated with security principals. All
writable domain controllers have access to all security principal credentials. To provide
additional security for an RODC, you can restrict which credentials are cached on an RODC.
By default, no credentials other than the RODC computer account and a special krbtgt
account are stored on the RODC. This means that the RODC must have an available connection
to a writable domain controller whenever a user or computer authenticates to the RODC.
When the RODC receives the authentication request, it forwards the request to a writable
domain controller.
You can modify the default credential caching configuration by configuring the Password
Replication Policy for RODC. For example, you might consider configuring the Password
Replication Policy so that the credentials for all user, computer, and service accounts in the
branch office are cached on the RODC. When you modify the Password Replication Policy,
passwords will be cached on the RODC after the next successful logon of a security principal
identified in the policy. After an account is successfully authenticated, the RODC attempts to
contact a writable domain controller at the hub site and requests a copy of the appropriate
credentials. The writable domain controller recognizes that the request is coming from an
RODC and consults the Password Replication Policy in effect for that RODC. If the Password
Replication Policy allows it, the writable domain controller replicates the credentials to the
RODC, and the RODC caches them. After the credentials are cached on the RODC, the RODC
can directly service that user’s logon requests until the credentials change or until the Password
Replication Policy changes.
By limiting credential caching on the RODC, you can limit the potential exposure of credentials
if the RODC is stolen. Typically, only a small subset of domain users has credentials cached
on any given RODC. Therefore, in the event that the RODC is stolen, only those credentials
that are cached can potentially be abused. In that case, you can use Active Directory Users
and Computers to easily identify which credentials are cached on the server, and reset the
passwords for all of those accounts.
To support the RODC Password Replication Policy, Windows Server 2008 AD DS includes
new attributes that are assigned to an RODC. These attributes include the following:
■
msDS-Reveal-OnDemandGroup This attribute identifies a group whose members are
permitted to have their credentials cached on the RODC.
■
msDS-NeverRevealGroup This attribute identifies a group for which the credentials for
all group members are blocked from being cached on the RODC. By default, this
attribute contains all administrator accounts. This attribute does not impact the ability
of these security principals to authenticate using the RODC.
■
msDS-RevealedList This attribute is a list of security principals for which the RODC
has cached credentials.
Chapter 2:
■
Active Directory Domain Services Components
27
msDS-AuthenticatedToAccountList This attribute contains a list of security principals
in the local domain that have authenticated to the RODC. You can determine which
computers and users are using the RODC for logon by accessing the RODC properties
in Active Directory Users and Computers. This enables you to refine the Password
Replication Policy for the RODC.
Delegating Administrative Permissions on RODC
Another feature available with RODCs is Administrator Role Separation, which enables you to
configure a delegated local administrator for the RODC without granting any domain level
permissions. The delegated administrator can log on to an RODC to perform maintenance
work on the server such as upgrading a driver. However, the delegated administrator would
not be able to log on to any other domain controller or perform any other administrative task
in the domain. Consider delegating administrative permissions on the RODC if the domain
controller is located in a branch office that does not have any domain administrators on site.
Security Alert RODC delegated local administrators have direct access to the Active
Directory Domain Services database files, and as such, they could potentially crack all information
stored in the RODC, including cached credentials. Delegated local administrators should still
be highly trusted individuals.
Note
You can add the delegated local administrator to the RODC when you run the Active
Directory Domain Services Installation Wizard. When you delegate local administrator permissions, the user account is not added to any extra security group. Instead, the user or group
name is kept in an attribute on the RODC computer object in AD DS, which is used when that
user tries to log on to the RODC. Note that the delegated local administrator credentials are
not cached by default on the RODC. This means that the delegated local administrator will
not be able to log on to the RODC if a writable domain controller is not available. Consider
modifying this setting if local administration is required in the RODC when a WAN link fails. To
add local administrators to the RODC administrative groups after AD DS is configured, use
the Dsmgmt.exe command-line tool. For complete details, see Chapter 6, “Installing Active
Directory Domain Services.”
RODC Limitations
Some domain controller options that are available for writable domain controllers are not
available on an RODC. An RODC cannot be configured as:
■
Operations master role holders must be able to write
information to the AD DS database. For example, the schema master must be able to
write definitions for new object classes and attributes. The relative ID (RID) master must
be able to write the values of RID pools that are allocated to other domain controllers.
Because of the read-only nature of the AD DS database on an RODC, it cannot act as an
operations master role holder.
An operations master role holder
28
Part I:
■
Windows Server 2008 Active Directory Overview
Bridgehead servers are servers that are designated to replicate
changes from and to other sites. Because RODCs can only receive changes through replication and cannot send replication updates, they cannot act as a bridgehead server for
a site. If you deploy an RODC in a site with other domain controllers in the same
domain or forest, one of the other domain controllers will be configured as the bridgehead server for the site.
A bridgehead server
On the Disc You can use the ListDomainControllers.ps1 Windows PowerShell script on
the CD to list all of the domain controllers in your domain and global catalog servers in your
forest. If you are running Windows PowerShell on a Windows Server 2008 computer, you must
configure the PowerShell script execution policy to allow unsigned certificates by running the
Set-ExecutionPolicy RemoteSigned command. Also, you need to provide the full path when
running a Windows PowerShell script.
For examples of Visual Basic Scripting Edition (VBScript) scripts that you can use to obtain AD
DS information, see the Script Center Script Repository Web site at http://www.microsoft.com/
technet/scriptcenter/scripts/default.mspx?mfr=true.
Operations Masters
AD DS is designed as a multimaster replication system. This requires that all domain controllers other than RODCs have Write permissions for the directory database. This system works
well for most directory operations, but for certain directory operations a single authoritative
server is required. The domain controllers that perform specific roles are known as operations
masters, and each has a flexible single-master operations (FSMO, pronounced fizz-mo) role.
The domain controllers that hold operations master roles are designated to perform specific
tasks to ensure consistency and to eliminate the potential for conflicting entries in the AD DS
database. The five operations master roles in AD DS are as follows:
■
Schema master
■
Domain naming master
■
RID master
■
PDC emulator
■
Infrastructure master
The first two roles, schema master and domain naming master, are per-forest roles. This
means that there is only one schema master and only one domain naming master for every
forest. The other three roles are per-domain roles; there is one of these operations master roles
for each domain in the forest. When you install AD DS and create the first domain controller
in the forest, it will possess all five of these roles. Similarly, as you add domains to the forest,
the first domain controller in each new domain will also acquire the per-domain operations
master roles. As you add domain controllers to a domain, you can transfer these roles to other
domain controllers.
Chapter 2:
Active Directory Domain Services Components
29
Schema Master
The schema master is the only domain controller that has Write permissions to the directory
schema. To make any change to the schema, the administrator (who must be a member of the
Schema Admins security group) must be connected to the schema master. If a modification to
the schema is attempted on a domain controller other than the schema master, it will fail.
After a change has been made, schema updates are replicated to all other domain controllers
in the forest.
The schema master is identified by the value of the fSMORoleOwner attribute on the root
object of the schema partition. By default, the first domain controller installed in a forest
assumes the schema master role. This role can be transferred at any time using the Active
Directory Schema snap-in or by using the Ntdsutil command-line utility.
Domain Naming Master
The domain naming master is the domain controller that manages the addition and removal
of all directory partitions in the forest hierarchy. The domain controller that has the domain
naming master role must be available when you:
■
When you create or remove a child domain or new domain
tree, the installation wizard contacts the domain naming master and requests the addition or deletion. The domain naming master is responsible for ensuring that domain
names are unique. If the domain naming master is unavailable, you cannot add domains
or remove them from the forest.
■
Add or remove application directory partitions Application directory partitions are
special partitions that can be created on domain controllers running Windows
Server 2003 or Windows Server 2008 to provide storage for dynamic application data.
If the domain controller hosting the domain naming operations master role is not
available, you cannot add or remove application directory partitions from the forest.
■
Add or remove cross-reference objects When a new forest is created, the schema, configuration, and domain directory partitions are created on the first domain controller in
the forest. A cross-reference object is created for each directory partition in the Partitions
container in the configuration directory partition (CN=partitions,CN=configuration,
DC=forestRootDomain). As new domains or application directory partitions are created,
an associated cross-reference object is also created in the Partitions container. If the
domain naming master is unavailable, you cannot add or remove cross-reference
objects.
■
Validate domain rename instructions When you use the domain rename tool,
Rendom.exe, to rename an AD DS domain, the tool must be able to access the domain
naming operations master. When you run the tool, the XML-encoded script containing
the domain rename instructions is written to the msDS-UpdateScript attribute on the
Partitions container object (CN=partitions,CN=configuration,DC=ForestRootDomain) in
Add or remove domains
30
Part I:
Windows Server 2008 Active Directory Overview
the configuration directory partition. In addition, the new DNS name of each domain
being renamed is also written by Rendom.exe to the msDS-DnsRootAlias attribute on
the cross-reference object (class crossRef) corresponding to that domain. Both of these
objects are stored in the Partitions container, and the container can only be updated on
the domain controller holding the domain naming operations master role for the forest.
The domain naming master is identified by the value of the fSMORoleOwner attribute on the
Partitions container object. By default, the first domain controller installed in a forest assumes
the domain naming master role. This role can be transferred at any time using the Active
Directory Domains and Trusts snap-in or by using the Ntdsutil command-line utility.
RID Master
The RID master is a per-domain operations master role. It is used to manage the RID pool to
create new security principals throughout the domain, such as users, groups, and computers.
Each security principal is issued a unique security identifier (SID) that includes a domain
identifier, which is the same for all SIDs in the domain, and a relative identifier (RID), which
is unique for each security principal. Because security principals can be created on any
domain controller with a writable copy of the directory, the RID master is used to ensure that
two domain controllers do not issue the same RID. The RID master issues a block of relative
identifiers (RIDs), called the RID pool, to every domain controller in the domain. When the
number of available RIDs in the RID pool on any domain controller begins to run low (below
about 100), a request is made for another block of RIDs from the RID master. When this
happens, the RID master issues a pool of about another 500 RIDs to the domain controller.
If the RID master is unavailable for a period of time, the process of creating new accounts on
specific domain controllers may be interrupted. The mechanism for requesting a new block of
RIDs is designed so that this should not happen, because the request is made before all of the
available RIDs in the RID pool are exhausted. However, if the RID master is offline and the
requesting domain controller depletes the remainder of its RIDs, account creation will fail. To
re-enable account creation, either the RID master role holder must be brought back online, or
the role must be transferred to another domain controller in the domain.
The RID master is identified by the value of the fSMORoleOwner attribute on the object in the
domain partition whose class is rIDManager. By default, the first domain controller installed
in a new domain assumes the RID master role. This role can be transferred at any time using
the Active Directory Users and Computer snap-in or by using the Ntdsutil commandline utility.
PDC Emulator
The PDC emulator role operates as a primary domain controller (PDC) for pre-Windows 2000
operating systems. Windows NT member servers and client computers must be able to
communicate with a PDC to process password changes. In addition to providing services
for older clients, the PDC emulator also plays an important role in replicating passwords.
Chapter 2:
Active Directory Domain Services Components
31
Note
In Windows 2000 and Windows 2003 Active Directory, one of the important roles for
the PDC Emulator is to act as the PDC for down-level (Microsoft Windows NT 3.51 or Windows
NT 4.0) backup domain controllers (BDCs). Because Windows Server 2008 does not support
coexistence with pre-Windows 2000 domain controllers, this functionality is no longer relevant.
Even if no Windows NT member servers or client computers exist in the domain, the PDC
emulator has a role in maintaining password updates. All password changes made on other
domain controllers in the domain are sent to the PDC emulator using urgent replication. If a
user authentication fails on a domain controller other than the PDC emulator, authentication
is retried on the PDC emulator. If the PDC emulator has accepted a recent password change
for the account, authentication will succeed. When a user successfully authenticates on a
domain controller where the previous attempt failed, the domain controller notifies PDC emulator of the successful authentication. This resets the lockout counter at the PDC emulator in
case another client attempts to validate the same account by using a different domain controller.
The PDC emulator is identified by the value of the fSMORoleOwner attribute on the root object
of the domain partition. By default, the first domain controller installed in a new domain
assumes the PDC emulator role. This role can be transferred at any time using the Active
Directory Users and Computers snap-in or by using the Ntdsutil command-line utility.
Infrastructure Master
The infrastructure master is responsible for updating the cross-domain group-to-user references. This operations master role ensures that changes made to object names (changes to the
common name attribute, cn) are reflected in the group membership information for groups
located on a different domain. The infrastructure master maintains an up-to-date list of these
references, and it then replicates this information to all other domain controllers in the
domain. If the infrastructure master is unavailable, the cross-domain group-to-user references
will be out of date.
The infrastructure master is identified by the value of the fSMORoleOwner attribute on the
Infrastructure container in the domain partition (CN=Infrastructure, DC=domain). By default,
the first domain controller installed in a new domain assumes the infrastructure master role.
This role can be transferred at any time using the Active Directory Users And Computers
snap-in or by using the Ntdsutil command-line utility.
On the Disc To display which domain controllers in your forest and domain hold the FSMO
roles, run the ListFSMOs.ps1 Windows PowerShell script on the CD.
32
Part I:
Windows Server 2008 Active Directory Overview
Transferring Operations Master Roles
Operations master roles can be moved between domain controllers either to better optimize
domain controller performance or to substitute a domain controller if a role holder has
become unavailable. The process for doing this will depend on the role being transferred.
Table 2-2 lists the tools that are used to transfer the five operations master roles.
Table 2-2
Tools for Managing the Operation Master Roles
Operations Master Role
Administration Tool
Schema master
Active Directory Schema
Domain naming master
Active Directory Domains And Trusts
RID master, PDC emulator, and infrastructure master
Active Directory Users And Computers
To transfer an operations master role, there must be connectivity to both the current and
proposed role holder domain controllers. In the event of server failure, the current role holder
may not be available to complete a role transfer. In this case, the role can be seized. Seizing
operations master roles is not a preferred option and should be done only if absolutely necessary.
You should only seize an operations master role if it is indicated that the domain controller
hosting this role will be unavailable for an extended period. More information on seizing
operations master roles is provided in Chapter 15.
Note The operation master roles can be moved to any other domain controller in the
domain. The only restriction on operation master placement is that the infrastructure master
role should not be installed on a domain controller that is also a global catalog server if the
forest contains multiple domains, unless every domain controller in the domain is also a global
catalog server. By default, the first domain controller in a forest is both a global catalog server
and holds the infrastructure master role. When you install the second domain controller in
the domain and that domain controller is not a global catalog server, the Active Directory
Domain Services Installation Wizard prompts you to move the infrastructure master to the new
domain controller during the AD DS installation.
The Schema
The schema defines every class and attribute that can be stored in AD DS. Every object in AD
DS is an instance of a class. Examples of classes are “user” or “group.” Before an object can be
created in AD DS, its class must first be defined in the schema. The schema also enforces a
number of rules regarding the creation of objects in the database.
There is one schema per forest. However, a copy of the schema is replicated to every domain
controller in the forest. This way, every domain controller has quick access to any class or
attribute definition that it might need, and every domain controller uses the same definition
when it creates a given object. The data store relies on the schema to provide class and
Chapter 2:
Active Directory Domain Services Components
33
attribute definitions, and the data store uses those definitions to enforce data integrity. The
result is that all objects are created uniformly, and it does not matter which domain controller
creates or modifies an object because all domain controllers use the same schema definitions.
Schema Components
The schema is made up of classSchema objects and attributeSchema objects. The classSchema
objects are definitions that are stored in the schema and are used to define classes. Classes
define groups of attributes that have something in common. An example of a class is the User
class. The User class includes a variety of attributes, including the user’s logon name, first
name, last name, and password. Any time a new user account is created, the directory uses the
User class to define how the object will be configured. Settings determined by the User class
include attributes the object can and must have and which classes can be its superior in the
AD DS hierarchy. Every user object that is created uses those attributes.
The schema also defines the attributes that can be stored for each class. Attributes are defined
globally in AD DS as attributeSchema objects, and each class can use multiple globally defined
attributes. For example, a user account object has a number of attributes that are used to
store various pieces of data that are related to a user account, such as a logon name attribute
and a password attribute. Each of these attributes is defined by attribute objects that also
have their own definition that specifies information such as the type of data that they store
and the minimum and maximum length or value. The directory service uses attributeSchema
objects to define the type of the data stored in attributes for each object of a given class and to
enforce the constraints defined in the attributeSchema (for example, string length range).
The classSchema object specifies the attributes that are associated with the object. The specification includes all of the attributes that can be associated with the object, which can be
broken into four categories:
■
mustContain attributes, which include mandatory attributes that must be present on any
object that is an instance of this class
■
mayContain attributes, which include optional attributes that may be found on an object
that is an instance of this class
■
systemmayContain attributes, which are optional attributes configured during object
creation, and which cannot be modified after the object has been created
■
systemmustContain attributes, which are mandatory attributes configured during object
creation, and which cannot be modified after the object has been created
Additionally, the classSchema object specifies hierarchy rules that determine the possible
parents in the directory tree of an object that is an instance of the class. For example, as
shown in Figure 2-3, a computer object can only be created in the container, domainDNS, or
organizationUnit objects.
34
Part I:
Windows Server 2008 Active Directory Overview
Figure 2-3
The schema defines where objects can be created in AD DS.
Finally, the type of data that can be stored in AD DS for each attribute is defined in the schema
as the attribute’s syntax. The User class contains an attribute titled displayName, and the
syntax for this attribute is defined as a string value that accepts any alphanumeric character.
The value for each attribute included with an instance of a class must meet the syntax
requirements for that attribute.
The AD DS schema supports inheritance of classes. All schema objects are organized hierarchically. Because of this hierarchical structure, any class is able to inherit all of the characteristics of its parent class. For example, as shown in Figure 2-3, the Computer class is actually a
subclass of the User class. As such, the Computer class inherits all of the attributes associated
with the User class. The Computer class is then associated with the attributes specific to the
User class. Using the Active Directory Schema snap-in, you can see the organization of class
inheritance and the hierarchy of the object classes. This system of inheritance makes it much
easier for administrators to create new object classes, because they do not have to define every
attribute that is associated with a new class. The new object simply inherits all the attribute
associations of a suitable parent class.
Modifying the Schema
The AD DS schema contains the most commonly used classes and attributes to support an
enterprise directory services implementation. In order to support applications that need to
store information in AD DS, the schema was designed to be extensible. In other words, it can
be modified, or extended, to include new class and attribute objects that an organization might
need.
Chapter 2:
Active Directory Domain Services Components
35
The schema is most often extended to meet the needs of an Active Directory–enabled application. A good example of this is Microsoft Exchange Server 2007, which makes more than a
thousand modifications to the schema to enable AD DS to support Exchange Server.
Note
Before you can install Exchange 2000, Exchange 2003, or Exchange 2007, you must
modify the schema. The Exchange installation files include several LDIF files that, when
imported, make the required schema changes. If you are deploying a different application that
requires you to modify the schema, you should only modify the schema using LDIF files that
have been thoroughly tested. This will help prevent you from making mistakes in modifying
the schema.
How It Works: Indexing for Optimized Searches
The directory data store can be indexed to improve the efficiency of searches. Indexing
is specified as part of the schema definition of an attribute (such as Description or givenName). When an attribute is indexed, all occurrences of that attribute will be included in
the index. Some attributes are indexed by default, and the administrator can configure
additional attributes to be indexed. Multiple types of indexing are available, depending
on how the attribute will be used in searches:
■
Basic indexing The value(s) of the attribute is indexed so that queries requesting
objects with a specific value for that attribute will run quickly.
■
Containerized indexes
■
Tuple indexes Used on string attributes so that substring searches specifying that
Similar to basic indexing, but also indexes the objects by
container. This enables a query to quickly evaluate all the child objects in a
container to determine if any match the requested attribute value.
attribute will run quickly. For example, applying a tuple index to the Description attribute would allow queries such as “return all objects whose Description
attribute contains the string ‘Fabrikam’ anywhere in it” to execute efficiently.
Maintaining tuple indexes can consume a large amount of resources, so they
should be enabled sparingly.
■
Subtree indexes Enables a special type of Active Directory search, known as
virtual list view, to execute quickly. These are similar to containerized indexes but
include not only the immediate children of the container but also all the grandchildren, great-grandchildren, and so on. Like tuple indexes, subtree indexes can
be expensive to maintain.
Administrators can enable indexing on attributes that aren’t indexed by default, based
on the needs of their organization. Basic and containerized indexes can be enabled
using the Active Directory Schema snap-in. However, tuple and subtree indexes require
you to manually set the value of the searchFlags attribute on the attributeSchema objects
defining the attributes you want to index.
36
Part I:
Windows Server 2008 Active Directory Overview
Tuple indexing and how to enable it are discussed in more detail at http://
msdn2.microsoft.com/en-us/library/ms676931.aspx. The searchFlags attribute, including
the values to set for tuple and subtree indexes, is discussed at http://
msdn2.microsoft.com/en-us/library/ms679765.aspx.
Matthew Rimer
Senior SDE, US-Directory and Service Business
Apart from using Active Directory-enabled applications, administrators can extend the
schema using a variety of other methods. The schema can be extended in a batch mode using
command-line administrative tools, including the LDAP Data Interchange Format Directory
Exchange (LDIFDE) tool and the Comma Separated Value Directory Exchange (CSVDE) tool.
The schema can also be extended programmatically, using Active Directory Service Interfaces
(ADSI) and Microsoft Visual Basic scripts.
Finally, the schema can be modified from the Windows Server 2008 user interface (UI) using
the Active Directory Schema snap-in. For example, an organization may need to keep records
of employee start dates. It could maintain the employee start date as an attribute of the user
object in AD DS. By default, AD DS does not include this attribute. To have this attribute
available when each new user object is to be created, the attribute would first be defined in the
schema.
To use the Active Directory Schema snap-in, you must first register the snap-in by executing
the Regsvr32 Schmmgmt.dll command from the command line and then add the Active
Directory Schema snap-in to an MMC. You must be a member of the Schema Admins global
group to modify the schema using this interface.
Caution Although you can deactivate changes that you make to the schema, you can never
remove new classes or attributes that you create in the schema. You should make changes to
the schema only after careful planning and thorough testing in a test forest. Ensure that your
schema changes are compatible with current and future applications that require schema
changes.
Creating a New Attribute
To use the Active Directory Schema snap-in to add a new attribute to the schema and associate
it with the User class object, perform the following steps:
1. Open the Active Directory Schema snap-in.
2. Select the Attributes folder in the tree pane.
Chapter 2:
Active Directory Domain Services Components
37
3. From the Action menu, click Create Attribute.
4. At the Schema Object Creation warning dialog box, click Continue.
5. In the Create New Attribute dialog box, supply information for the Identification section:
❑
Common Name
❑
LDAP Display Name
❑
Unique X500 Object ID
❑
Description
6. In the Syntax and Range section, supply information for:
❑
Syntax
❑
Minimum
❑
Maximum
❑
Select whether or not the new attribute is a Multi-Valued attribute.
Note Further information about the content of each field is available by selecting the
field’s text box and then pressing the F1 function key.
Figure 2-4 shows how to create a new attribute using the Active Directory Schema
snap-in.
7. After creating the new attribute, you must associate the attribute with the class object. To
do this, select the Classes folder in the tree pane.
8. Locate the class object to which you want to add the attribute, right-click the object, and
click Properties.
9. On the Attributes tab, click Add, and add the new attribute that you created.
Note Adding a new attribute to the schema does not mean that the attribute will automatically be accessible from any of the administrative tools. The administrative tools like Active
Directory Users And Computers only show some of the attributes for each class and do not
show any attributes you add. If you want the new attribute to appear in an administrative tool,
you must either modify the existing tool or create your own. For information on how to modify
and create administrative tools, see “Extending the User Interface for Directory Objects” at
http://msdn2.microsoft.com/en-us/library/ms676902.aspx. ADSIEdit will display new attributes
because the list of available attributes on an object is dynamically loaded from the schema.
38
Part I:
Windows Server 2008 Active Directory Overview
Figure 2-4
Creating the EmployeeStartDate attribute in AD DS.
Direct from the Source: Implementing Schema Updates
After creating new attributes, you should not take for granted that the new attributes will
be immediately available in the schema. Schema attributes and classes internally dictate
the structure of the database. The creation of new classes or attributes has a much bigger
performance impact on the domain controller compared to other regular operations.
Given the importance of schema for the system, the whole schema content is always
cached in memory. When the schema is updated, the cached copy of the schema must
be updated before the new attributes or classes are available. By default, AD DS waits
for five minutes after the last change is made to the schema before updating the cache.
The main schema extensions scenario is when new directory enabled software is
installed (for example, when installing Exchange Server or when you run Adprep to
update a Windows 2000 or 2003 forest to prepare for Windows Server 2008). In these
scenarios, multiple changes are made to the schema in sequence in a short period of
time. In many cases, the changes to the schema have dependencies—for example, one
schema change may create a new attribute, and other change will assign the new
attribute to a class.
When creating the LDIF files to update the schema, it is recommended that the schema
extension developer include a signal to AD DS to refresh the schema cache before using
references to just created attributes or classes. This can be done by setting the rootDSE
attribute schemaUpdateNow to 1. Most of the sch*.ldf files that are used by Adprep do
this. For example, the sch43.ldif file updates the schema cache after new attribute
Chapter 2:
Active Directory Domain Services Components
creation and before they are referenced by new classes. To update the schema cache, the
file contains the following lines:
DN:
changetype: modify
add: schemaUpdateNow
schemaUpdateNow: 1
-
Elbio Abib, SDE II
X.500 Object IDs
The X.500 OID namespace is a hierarchical naming structure that identifies a unique
number for each classSchema and attributeSchema in a directory service. Using the X.500
Object Identifier (OID), every object in every directory services structure can be
uniquely identified. The X.500 OID namespace definition includes directories other
than AD DS, but AD DS is an X.500-based directory service.
This namespace can be represented either in dotted notation (numeric) or in string
notation. For example, the organization object class (with an LDAP display name of
organization) is identified by the X.500 OID 2.5.6.4. The numeric representation of this
object class uniquely identifies this object within the X.500 hierarchy.
To view the X.500 OID, you can use either the Active Directory Schema snap-in or the
ADSI Edit snap-in. To view the X.500 OID for the Organization classSchema object, use
ADSI Edit to open the schema container and scroll down to the distinguished name of
the classSchema: CN=Organization.
One of the concerns about modifying the schema is the possibility that two applications
will make incompatible modifications to the schema by both attempting to add a class
or attribute object with the same name or OID. The goals of the OID are to be able to
uniquely identify any object or attribute in AD DS and to ensure that no other schema
object uses the same OID.
To accomplish this identification, organizations planning to create new OIDs should
register with the International Standards Organization (ISO), the American National
Standards Institute (ANSI), or with Microsoft. When you register, the standards organization or Microsoft assigns you part of the OID space, which you can then extend to suit
your needs. For example, your company may be granted a number such as 1.2.840.xxxx.
This number is arranged hierarchically and can be broken down as follows:
1—ISO
2—ANSI
39
40
Part I:
Windows Server 2008 Active Directory Overview
840—United States
xxxx—A unique number identifying your company
After you have been granted the number, you can manage your own part of the hierarchy. For example, if you create a new attribute called Employee Start Date, you could
assign it a number such as 1.2.840.xxxx.12.
AD DS conforms to the OID standards. For example, the OID for a contact in AD DS is
1.2.840.113556.1.5.15. The first three parts of the number have been assigned to ISO,
ANSI, and the United States, respectively. ANSI then assigned 113556 to Microsoft, who
assigned 1 to Active Directory, 5 to Active Directory classes, and 15 to the Contact class.
Important
You must ensure that any changes you make to the schema have a unique OID
to ensure that your changes will not be incompatible with future changes. One way to ensure
uniqueness is to obtain a unique identifier for your company. Another attribute that must be
unique when you make a schema change is the LdapDisplayName attribute. Before making
a schema change, ensure you understand all of the rules for making these changes.
Deactivating Schema Objects
Although extending the schema is a straightforward operation, careful planning should be
done before implementing such changes. After the schema has been extended, or an existing
class or attribute has been modified, these changes are not reversible. Objects in the schema
cannot be deleted. If you do make an error when extending the schema, you may choose to
disable (deactivate) the object. In Windows Server 2008, schema objects that are deactivated
can be used again if necessary, and new schema objects can be created with the same LDAP
display name or OID as a deactivated object.
There are several points to keep in mind regarding deactivating schema class and attribute
objects. First, you cannot deactivate Category 1, or base schema, objects. Second, you cannot
deactivate an attribute that is a member of a class that is not also deactivated. This restriction
prevents errors in creating new instances of the nondeactivated class if the deactivated
attribute is a required attribute.
Note If your forest is set at the Windows Server 2003 functional level, you can create a
new object that uses the same identification attribute values (that is, attributeID, governsID,
lDAPDisplayName, mAPIID, or schemaIDGUID) as a defunct schema object, as long as the new
object’s distinguished name is unique. This makes it possible to deactivate a schema object
and then create an entirely new schema object as if the old object were actually deleted.
Chapter 2:
Active Directory Domain Services Components
41
To deactivate either a class or an attribute object, set the Boolean value of the isDefunct
attribute of the schema object to true. This can be accomplished by using a tool such as ADSI
Edit. Figure 2-5 illustrates how to deactivate the EmployeeStartDate attribute created in the
example given earlier. You can also deactivate an AD DS attribute by clearing the Attribute Is
Active check box when viewing the attribute properties in the Active Directory Schema snap-in.
Figure 2-5
Using ADSIEdit.msc to deactivate a schema attribute.
After a schema object has been deactivated, it is treated in all respects as if it does not exist.
The error messages that are returned if an attempt is made to create a new instance of a
defunct class or attribute are the same as when there is no existing class or attribute in the
schema. Additionally, the only modification that can be made to a deactivated schema object
is to reactivate it. To reactivate the defunct schema object, simply set the isDefunct attribute
to false or enable the Attribute Is Active check box. After a defunct schema object has been
reactivated, it can be used again to create new instances of the class or attribute. There are no
adverse effects of this deactivation/reactivation process.
AD DS Logical Structure
After you install AD DS in your network environment and begin to implement the appropriate
AD DS design for your business purposes, you will be working with the logical structure of AD
DS. The logical structure displays the configuration of domains, organization units, and other
AD DS objects in a way that is independent of the AD DS physical components, such as the
42
Part I:
Windows Server 2008 Active Directory Overview
domain controllers or the AD DS data store located on each domain controller. The AD DS
logical structure includes the following components:
■
Partitions
■
Domains
■
Domain trees
■
Forests
■
Sites
■
Organizational units
This section provides an introduction to these components. It will also discuss the concept of
trusts, which are used to enable access to resources for security principals that are stored in
different domains. In Chapter 5, you will learn how and why these structural components are
used to achieve specific business goals (such as secured access to resources) and optimize
network performance.
AD DS Partitions
As described earlier, the AD DS database is stored in one database file on the hard disk of each
domain controller. The information stored in the directory database is divided into multiple
logical partitions, with each partition storing different types of information. AD DS partitions
are also called naming contexts (NCs). AD DS partitions are visible through use of a tool such
as Ldp.exe or ADSI Edit, as shown in Figure 2-6.
Figure 2-6
AD DS partitions that are visible using ADSIEdit.msc.
Chapter 2:
Active Directory Domain Services Components
43
AD DS and LDAP
Lightweight Directory Access Protocol (LDAP) is both an access protocol and an object
identification model in Windows Server 2008 AD DS. As an object identification model,
LDAP uses a hierarchical format to identify each object in AD DS. This hierarchical
format starts at the directory partition level and includes each logical component in the
hierarchy to uniquely identify each object. This is known as a distinguished name. For
example, a user account can be identified by using the following LDAP distinguished
name:
CN=Yvonne McKay,OU=Marketing,OU=Miami, DC=ADatum,DC=com
Each part of the LDAP name is identified by the object type. These parts are known as
relative distinguished names (RDN), and the object type is known as the RDN attribute.
For example, cn refers to common name, ou refers to organizational unit, and dc refers to
domain component. Using this naming convention, you can specifically reference and
access objects within an LDAP-compliant directory service such as AD DS. The LDAP
protocol and directory model (but not the naming syntax) are defined by RFC 2251
“Lightweight Directory Access Protocol (v3),” which is available at http://www.ietf.org/
rfc/rfc2251.txt.
LDAP is also an access protocol and application programming interface (API) for accessing information in AD DS. As an API, LDAP is implemented in Windows Server 2008 AD
DS in the Wldap32.dll. Within an application or script, you can access any object in AD
DS by using the LDAP path. For example, to refer to a specific OU within a Windows
PowerShell script, you would use the following syntax:
$objADSI = [ADSI]"LDAP://OU=Marketing,OU=Miami,DC=ADatum,DC=com"
To administer AD DS using LDAP, you can use an LDAP-compliant administration tool,
such as Ldp.exe, which is installed with Windows Server 2008. Using Ldp.exe, you can
bind, or connect, to AD DS by its Transmission Control Protocol (TCP) port number
and display the LDAP display name of each attribute, class, and object. To connect to AD
DS using Ldp.exe and display the attributes of a user object, connect to the AD DS
domain controller using TCP port 389, expand the container or organizational unit, and
then double-click the distinguished name of the user.
Domain Directory Partition
The domain directory partition contains all of the domain information, including information
about users, groups, computers, and contacts. Essentially, anything that can be viewed
through the Active Directory Users and Computers administrative tool is stored in the domain
directory partition.
44
Part I:
Windows Server 2008 Active Directory Overview
The domain directory partition is automatically replicated to all domain controllers in
the domain. The partition contains the information that each domain controller needs to
authenticate users.
Configuration Directory Partition
The configuration directory partition contains the information about the configuration of
the entire forest. For example, all of the information about sites, site links, and replication
connections are stored in the configuration directory partition. Other applications may also
store information in the configuration partition. For example, Exchange Server 2007 stores all
of its configuration information in the AD DS configuration directory partition rather than in
its own directory service.
Because the configuration directory partition contains information about the entire forest, it is
replicated throughout the entire forest. Each domain controller contains a writable copy
of the configuration directory partition, and changes to this directory partition can be made
on any domain controller in the organization. This means that the configuration information
is then replicated to all the other domain controllers. When the replication is fully synchronized, every domain controller in the forest will have the same configuration information.
Schema Directory Partition
The schema directory partition contains the schema for the entire forest. As described earlier
in this chapter, the schema is a set of rules detailing what types of objects can be created in
AD DS as well as rules about each type of object.
The schema directory partition is replicated to all domain controllers in the entire forest.
However, only one domain controller, the schema master, has a writable copy of the schema
directory partition. All changes to the schema must be made on the schema master; the
changes are then replicated to all other domain controllers.
Global Catalog Partition
The global catalog partition is not a partition in the same sense as the other partitions. The
global catalog partition is stored in the database like the other partitions, but administrators
cannot enter information directly into this partition. The global catalog is a read-only partition
on all global catalog servers, and it is built from the contents of the domain databases. Each
attribute in the schema has a Boolean value named isMemberOfPartialAttributeSet. If this value
is set to true, the attribute is replicated to the global catalog.
Application Directory Partitions
The last type of partition in Windows Server 2008 AD DS is the application directory partition, or Non-Domain Naming Context (NDNC). Application directory partitions are used
to store application-specific information. The advantage of using application directory partitions
Chapter 2:
Active Directory Domain Services Components
45
rather than one of the other AD DS partitions is that the replication scope for the application
directory partitions can be controlled. If the partition is being used to store directory information, the information might be fairly dynamic. By defining which domain controllers will
host a replica of the application directory partition, you can limit the amount of replication
traffic that is created on the network. The domain controllers that receive a replica of the
application directory partition can be in any domain or site in the forest.
Application directory partitions can store any type of AD DS object except security principals.
Also, because application directory partitions are created to control where the data is replicated, none of the objects in the application directory partition can be replicated to the global
catalog partition.
By default, no application directory partitions are created in AD DS. However, if you choose to
install DNS on the first domain controller in the forest when you install AD DS, two application directory partitions named ForestDnsZones and DomainDnsZones are created for the
Domain Name System (DNS) server service. In addition to creating application directory
partitions for DNS, you can also create these partitions for other applications.
More Info For more information on these DNS application directory partitions, see
Chapter 3, “Active Directory Domain Services and Domain Name System.”
The naming scheme for application directory partitions is identical to other AD DS directory
partitions. For example, the LDAP name for the configuration directory partition in the
ADatum.com forest is CN=Configuration,DC=ADatum,DC=com. If you create an application
directory partition called AppPartition1 in the ADatum.com domain, its DNS name is
DC=AppPartition1,DC=ADatum,DC=com. Application directory partitions are quite flexible in
regard to where you can create the partition, or more accurately, what the naming context for
the partition will be. For example, you can create an additional application directory partition
under the AppPartition1 partition resulting in a partition with a name of DC=AppPartition2,
DC=AppPartition1,DC=ADatum,dc=com. You can even create an application directory partition
with a DNS name that is not contiguous with any domain in the forest. You can create an
application directory partition in the ADatum.com domain that has a DNS name of
DC=AppPartition. In effect, this creates a new tree in the forest.
Note
Choosing the DNS name for the application namespace does not affect the functionality
of the application directory partition in any way. The only difference will be in the configuration of the LDAP client that is accessing the partition. Application directory partitions are
designed for LDAP access, so the client must be configured to search the right namespace on
the server.
46
Part I:
Windows Server 2008 Active Directory Overview
One of the complicating factors when creating an application directory partition is maintaining
permissions to the objects in the partition. With the default partitions in AD DS, the permissions are automatically assigned. When an object is created in the domain directory partition,
the Domain Admins group is automatically assigned full permissions to the object. When an
object is created in the configuration directory partition or schema directory partition, user
and group accounts from the forest root domain are assigned permissions. Because an
application directory partition can be replicated to any combination of domains in the forest,
this default way of assigning permissions does not apply. Although it is easy to assign a group
like Domain Admins full control of the objects in the partition, what is not clear is which
domain is the default domain. To deal with this issue, application directory partitions are
always created with a security descriptor reference domain. This domain becomes the default
domain that is used to assign permissions to objects in the application directory partition. If
an application directory partition is created under a domain directory partition, the parent
domain is used as the security descriptor reference domain, in effect creating an inheritance of
permissions. If the application directory partition creates a new tree in the forest, the forest
root domain is used as the reference domain.
Note
Normally, the application directory partitions will be created by the installation of an
application that requires the use of an application directory partition. Also, the application
installation procedure should allow for the creation of additional replicas on other domain
controllers. Although you can create application directory partitions using Ntdsutil, you would
normally not expect to do this in a production environment. The procedures for managing
application directory partitions are described in the Windows Server 2008 Help And Support
Center. For detailed information on application directory partitions, including how to access
them programmatically, see “Application Directory Partitions” at http://msdn2.microsoft.com/
en-us/library/ms675020.aspx.
Domains
The domain is the most basic building block in the AD DS model. When you install AD DS on
your first computer running Windows Server 2008, you create a domain. A domain serves as
an administrative boundary, and it also defines the boundary of certain security policies. The
domain structure should be based on the administrative requirements of an organization,
such as the delegation of administrative authority, and operational requirements, such as the
need to control replication. For example, all members of the Domain Admins in a domain
have full administrative access to all objects in that domain, but do not by default have administrative access to objects in other domains.
Within AD DS, domains define the following:
■
Replication boundaries Domain boundaries are replication boundaries for the domain
directory partition and for the domain information stored in the Sysvol folder on all
domain controllers. Whereas other directory partitions like schema, configuration, and
Chapter 2:
Active Directory Domain Services Components
47
the GC are replicated throughout the forest, the domain directory partition is replicated
only within one domain. By partitioning data in a very large organization into multiple
domains in the same forest, you can manage replication traffic between domain controllers.
Information that is stored in the domain partition is replicated to all other domain
controllers in the domain, but is not replicated to domain controllers in other domains.
■
Security policy boundaries Some security policies can only be set at a domain level.
These policies, such as password policies, account lockout policies, and Kerberos ticket
policies, apply to all domain accounts.
Note
In Windows Server 2008, you can define fine-grained password policies that
override the default domain account policies for specific users. However, you cannot
apply fine-grained password policies to container objects, only to individual user
accounts or security groups.
■
Resource access boundaries Domain boundaries are also boundaries for authentication
and authorization services. A domain provides authentication services for all of its
accounts in order to facilitate logons and single sign-on access control to shared
resources within the boundaries of the domain. By default, users in one domain cannot
access resources in another domain unless they are explicitly given the appropriate
permissions.
■
Trust boundaries A domain is the smallest container within AD DS that can be used in
a trust relationship. Trusts are used to enable the authentication and authorization
services so that users in one domain can access resources in another domain. Within a
forest, trust relationships are automatically created between the forest root domain and
any tree root domains on the one hand, and all child domains that are subordinate to
the forest root domain on the other.
Security Alert
Domain boundaries are not security boundaries—the actions taken by an
administrator in one domain can impact all other domains in the forest. To create a security
boundary, you must create separate forests. For more information, see Chapter 5.
AD DS domains within a forest are hierarchically organized. The first domain in the enterprise
is known as the forest root domain, and it is the starting point for an AD DS namespace. For
example, the first domain in the A. Datum organization is ADatum.com. This first domain can
either be a dedicated or a nondedicated root domain. A dedicated root, also known as an empty
root, is one that is used as an empty placeholder to start AD DS. The only accounts that are
contained in the dedicated root domain are the default domain user and group accounts, such
as the Administrator account and the Domain Admins global group. A nondedicated root
domain is one in which actual user and group accounts are created. The reasons for selecting
either a dedicated or nondedicated forest root are discussed in Chapter 5.
48
Part I:
Windows Server 2008 Active Directory Overview
All other domains in the forest exist either as peers to the root domain or as child domains.
Child domains share the same AD DS namespace as the parent domain (the root domain).
For example, if the first domain in the A. Datum organization is named ADatum.com, a child
domain in this structure might be named NA.ADatum.com. The NA.ADatum.com domain
would be created to manage all of the security principals for the North American locations
of the A. Datum organization. If the organization is sufficiently large or complex, additional
child domains, such as Sales.NA.ADatum.com, might be required. Figure 2-7 illustrates the
parent-child domain hierarchy for the ADatum organization.
Parent domain
ADatum.com
Child domain
Child domain
Parent domain
EMEA.ADatum.com
NA.ADatum.com
Child domain
Sales.NA.ADatum.com
Figure 2-7
Parent-child domain model for A. Datum Corporation.
When domains are installed in parent-child configuration, the resulting model is called a
domain tree. A domain tree is one or more domains that share a contiguous namespace. In the
ADatum.com forest, NA.Adatum.com shares the Adatum.com namespace with the forest root
domain.
You can also implement additional domain trees in the same forest. When you create a new
domain tree, you are adding domains to the forest that do not share the same contiguous
namespace. For example, A. Datum may have a subsidiary named Trey Research that requires
a separate domain. You can add the TreyResearch.com domain to the ADatum.com forest and
create a new domain tree. In this scenario, the TreyResearch.com domain is a domain tree
root domain.
If further domains are required to satisfy the Trey Research business unit, they can be created
as children of the TreyResearch domain tree. See Figure 2-8 for an illustration of the ADatum
organization with multiple domain trees.
Chapter 2:
Active Directory Domain Services Components
49
Forest root domain
Domain root domain
ADatum.com
TreyResearch.com
NA.ADatum.com
Europe.TreyResearch.com
Sales.NA.ADatum.com
Sales.Europe.TreyResearch.com
Figure 2-8
A. Datum Corporation with multiple domain trees.
Regardless of whether a single namespace (one domain tree) or multiple namespaces
(multiple domain trees) are used, additional domains in the same forest function in exactly
the same way. All the domains are still part of the same forest, and all domains share a transitive
trust with all other domains in the forest. The creation of additional domain trees is purely an
organizational and naming decision, not one that affects functionality. Using multiple trees
rather than child domains does have an impact on the DNS configuration (as discussed in
Chapter 3).
Locating Objects in Other Domains
Because the information in each domain partition is replicated only to other domain
controllers in the same domain, domain controllers must have some means to locate
objects in other domains. For example, when a user in one domain tries to access a
shared folder in another domain in the forest, the domain controller in the user domain
must be able to determine that the other domain exists and must be able to locate the
domain controllers in the domain. AD DS uses cross-references to enable every domain
controller to be aware not only of its domain, but of all other domains and directory
partitions in the forest.
Cross-references are stored as directory objects of the class crossRef that identify the
existence and location of all directory partitions. In addition, these objects contain
50
Part I:
Windows Server 2008 Active Directory Overview
information that AD DS uses to construct the directory tree hierarchy. The crossRef class
includes the following attributes:
■
nCName The distinguished name of the directory partition that the crossRef
object references. (The prefix nC stands for naming context, which is a synonym
for directory partition.) The combination of all nCName properties in the forest
defines the entire directory tree, including the subordinate and superior relationships between partitions.
■
The DNS name of the domain where servers that store the particular
directory partition can be reached.
dNSRoot
For every directory partition in a forest, there is an internal cross-reference object stored
in the Partitions container (CN=Partitions,CN=Configuration,DC=ForestRootDomain).
Because cross-reference objects are located in the Configuration container, they are
replicated to every domain controller in the forest, and thus every domain controller has
information about the name of every partition in the forest. By using the cross-reference
objects, any domain controller can generate referrals to any other domain in the forest.
Forests
A forest is the highest level of the AD DS logical structure hierarchy. An AD DS forest
represents a single self-contained directory. The forest is the replication and security boundary
for the enterprise. All domains and domain trees exist within an AD DS forest.
An AD DS forest can be defined by what is shared by all domain controllers in the forest. The
shared components include the following:
■
A common schema All domain controllers in the forest will have the same schema. The
schema is stored in the schema directory partition in AD DS and is replicated to all
domain controllers in the forest. The only way to deploy two different schemas in your
organization is to deploy two separate forests.
■
A common configuration directory partition All domain controllers in the forest have
the same configuration container. The configuration partition contains information
about the topology of the forest as well as other forest, domain, and domain controller
settings. This configuration data includes a list of all domains, trees, and forests and the
locations of the domain controllers and global catalogs. The configuration directory
partition is also used extensively by Active Directory–enabled applications like
Exchange Server.
■
A common global catalog The global catalog contains information about all of the
objects in the entire forest. This makes searching for any object in the forest efficient and
enables users to log on in any domain in the forest using their UPN.
Chapter 2:
■
Active Directory Domain Services Components
51
A common set of forest-wide operation masters and administrators The domain
naming master and the schema master are configured at the forest level. Each forest
has only one schema master and one domain naming master. In addition, two security
groups with unique permissions are created in the root domain for the forest. The
Schema Admins group is the only group that has the right to modify the schema, and
the Enterprise Admins group is the only group that has the right to perform forest-level
actions such as adding or removing domains from the forest. The Enterprise Admins
group is also automatically added to each local Administrators group on the domain
controllers in every domain in the forest.
■
All the domains in the forest are automatically configured
to trust all the other domains in the forest.
A shared trust configuration
Figure 2-9 shows the A. Datum forest.
Trust
ADatum.com
TreyResearch.com
EMEA.ADatum.com
NA.ADatum.com
SA.TreyResearch.com
Research.EMEA.ADatum.com
Sales.NA.ADatum.com
TestDom.SA.TreyResearch.c
A. Datum Forest
Figure 2-9
A forest can contain multiple domains and trees.
On the Disc
To display information on your AD DS forest and the domains within that
forest, run the ListADDSDomains.ps1 Windows PowerShell script on the CD.
52
Part I:
Windows Server 2008 Active Directory Overview
Trusts
If no trusts are configured, the domain is the boundary of resource access in an organization.
With sufficient permissions, any security principal (for example, a user or group account) can
access any shared resource in the same domain. In order for security principals to access
shared resources that exist outside of their domain, AD DS trust relationships are utilized. A
trust is an authentication connection between two domains by which security principals can
be authorized to access resources on the other domain.
When a trust is configured between domains, the authentication mechanism for each domain
trusts the authentication mechanism for all other trusted domains. If a user or application is
authenticated by one domain, its authentication is accepted by all other domains that trust
the authenticating domain. Users in a trusted domain have access to resources in the trusting
domain, subject to the access controls that are applied in the trusting domain.
Note
Trusts are automatically configured between all domains in a forest. The trusts cannot
be removed.
There are several types of trust relationships, including the following:
■
Transitive two-way trusts
■
Shortcut trusts
■
Forest trusts
■
External trusts
■
Realm trusts
Transitive Two-Way Trusts
All domains in a forest maintain transitive, two-way trust relationships with every other
domain in that forest. In the example provided earlier, when the NA.ADatum.com domain is
created as a child domain of the root domain ADatum.com, an automatic two-way trust is
created between the NA.ADatum.com and the ADatum.com domains. Through this trust, any
user in the NA.ADatum.com domain can access any resource in the ADatum.com domain
to which permission has been granted. Likewise, if any security principals exist in the
ADatum.com domain, they can be given access to resources in the NA.ADatum.com domain.
Within a forest, the trusts are set up as either parent-child trusts or as tree root trusts. An
example of a parent-child trust is the trust between the NA.ADatum.com domain and the
ADatum.com domain. A tree root trust is the trust between two trees in the forest, for example,
between ADatum.com and TreyResearch.com.
However, all of the trusts between domains in a forest are also transitive. The transitive nature
of the trust means that all the domains in the forest trust each other. If the ADatum.com
Chapter 2:
Active Directory Domain Services Components
53
domain trusts the NA.ADatum.com domain, and the EMEA.ADatum.com domain trusts the
ADatum.com domain, then transitivity means that the EMEA.ADatum.com domain also trusts
the NA.ADatum.com domain. Therefore, users in the NA.ADatum.com domain can access
resources in the EMEA.ADatum.com domain and vice versa. The transitive trusts also apply
to the tree root trusts. The NA.ADatum.com domain trusts the ADatum.com domain, and the
ADatum.com domain trusts the TreyResearch.com domain. Therefore, the NA.ADatum.com
domain and the TreyResearch.com domain also share a transitive-trust relationship.
Shortcut Trusts
In addition to the automatic, two-way transitive trusts that are created when a new child
domain is created, shortcut trusts can be created between domains in the forest. Shortcut
trusts are used to optimize performance when accessing resources between domains that are
connected through transitive trusts. A shortcut trust is desirable when there is frequent
resource access between domains that are remotely connected through the domain tree or
forest. For example, the trusts at A. Datum could be configured as illustrated as Figure 2-10.
Forest Trust
WoodgroveBank Forest
ADatum Forest
ADatum.com
WoodgroveBank.com
Parent-child trust
EMEA.ADatum.com
NA.ADatum.com
Shortcut trust
Research.EMEA.ADatum.com
Sales.NA.ADatum.com
Figure 2-10 Trusts in the ADatum forest.
If a security group in the Research.EMEA.ADatum.com domain has a frequent need to access
a shared resource in the Sales.NA.ADatum.com domain, and with only transitive trusts established between the domains, users in the Research.EMEA.ADatum.com domain must be
referred to a domain controller in every domain in the tree between them and the domain that
contains the resource. This is not efficient if the need is frequent. A shortcut trust is a direct
trust that will efficiently enable users in the Sales.EMEA.ADatum.com domain to be referred
to a domain controller in the Research.NA.ADatum.com domain—without traversing the
entire directory tree to get there. Figure 2-10 illustrates this shortcut trust. Shortcut trusts can
be configured as one-way or two-way trusts. Shortcut trusts are not transitive.
54
Part I:
Windows Server 2008 Active Directory Overview
Forest Trusts
A forest trust is a two-way transitive trust between two separate forests. With a forest trust,
security principals in one forest can be given access to resources in any domain in a
completely different forest. Also, users can log on to any domain in either forest using the
same UPN. Figure 2-10 illustrates a forest trust between the ADatum.com forest and the
WoodgroveBank.com forest.
Note In order to configure a forest trust, both forests must be at the Windows Server 2003
forest functional level or higher.
Forest trusts can be very useful in a Windows Server 2008 environment. If an organization
requires more than one forest for political or technical reasons, the use of a forest trust means
that it is easy to assign access to resources across all the domains, regardless of which forest
the user or resource is in. If two companies that have deployed Windows Server 2008 forests
merge, the two forests can be logically joined by using the trust.
Although forest trusts do provide some excellent functionality, they are also subject to some
limitations:
■
Forest trusts are not transitive to other forests. For example, if ADatum.com has a forest
trust with WoodgroveBank.com, and WoodgroveBank.com has a forest trust with
Fabrikam.com, ADatum.com does not automatically have a forest trust with Fabrikam.com.
■
Forest trusts only make authentication possible between forests; they do not provide
any other functionality. For example, each forest will still have a unique global catalog,
schema, and configuration directory partition. No information is replicated between the
two forests—the forest trust just makes it possible to assign access to resources between
forests.
■
In some cases, you may not want to have all the domains in one forest trust all the
domains in another forest. If this is the case, you can set up one-way, nontransitive
external trusts between individual domains in two separate forests. As an alternative,
you can also configure selective authentication on the forest trust, which means that you
must explicitly enable users from a trusted domain to access resources on a server in
the trusting domain.
More Info
For more information on planning forest trusts, see Chapter 5.
External Trusts
An external trust is a trust relationship that can be created between AD DS domains that are
in different forests or between an AD DS domain and a Windows NT 4.0 or earlier domain.
Chapter 2:
Active Directory Domain Services Components
55
External trusts can be used to provide access to resources in a domain outside of the forest
that is not already joined by a forest trust or to create a direct trust between two domains that
are joined by a forest trust. An external trust is different from a forest trust in that the external
trust is configured between any two domains in either forest, not just between the forest root
domains. In addition, external trusts have the following characteristics:
■
External trusts are not transitive. Only two domains participate in the trust relationship.
■
You must configure both sides of the trust relationship. If you want to configure a twoway trust, you must configure a trust for each direction.
■
External trusts enforce SID filtering by default in Windows Server 2008. SID filtering is
used to verify that incoming authentication requests made from security principals in
the trusted domain contain only SIDs of security principals in the trusted domain. SID
filtering ensures that administrators in the trusted domain cannot use the SIDHistory
attribute to gain unauthorized access to resources in the trusting domain.
Realm Trusts
The last type of trust is a realm trust. A realm trust is configured between a Windows
Server 2008 domain or forest and a non-Windows implementation of a Kerberos v5 realm.
Kerberos security is based on an open standard, and there are several other implementations of Kerberos-based network security systems available. Realm trusts can be created
between any Kerberos realms that support the Kerberos v5 standard. Realm trusts can be
either one-way or two-way, and they can also be configured to be transitive or nontransitive.
Sites
All of the AD DS logical components discussed so far are almost completely independent of
the physical infrastructure for your network. For example, when you design the domain
structure for a corporation, where the users are located is not the most important question
you need to ask. All the users in a domain may be located in a single office building, or they
may be located in offices around the world. This independence of the logical components
from the network infrastructure comes about largely as a result of the use of sites in AD DS.
Sites provide the connection between the logical AD DS components and the physical
network infrastructure. A site is defined as an area of the network where all domain controllers
are connected by a fast and reliable network connection. In most cases, a site contains one or
more Internet Protocol (IP) subnets on a local area network (LAN) or very high-speed wide
area network (WAN) and connected to the rest of the network with slower WAN connections.
On the Disc
To display information on the sites AD DS forest, run the ListADDSSites.ps1
Windows PowerShell script on the CD.
56
Part I:
Windows Server 2008 Active Directory Overview
The primary reason for creating sites is to be able to manage any network traffic that must use
slow network connections. Sites are used to control network traffic within the Windows
Server 2008 network in three different ways:
■
Replication One of the most important ways that sites are used to optimize network
traffic is in the management of replication traffic between domain controllers. For
example, within a site, any change made to the directory will be replicated within a few
minutes. The replication schedule between sites can be managed so that the replication
traffic will occur less frequently or during nonworking hours. By default, replication
traffic between sites is compressed to conserve bandwidth, while replication traffic
within a site is not compressed. (Chapter 4 goes into much more detail on the differences between intersite and intrasite replication.)
■
Authentication When a user logs on to a Windows Server 2008 domain from a
Windows 2000, Windows XP Professional, or Windows Vista client, the client
computer will always try to connect a domain controller in the same site as the client.
As discussed in Chapter 3, every domain controller registers site-specific service locator
(SRV) records—when the client computer tries to locate a domain controller, it will
always query the DNS servers for these site records. This means that the client logon
traffic will remain within the site.
■
Site-aware network services The third way that sites can preserve network bandwidth
is by limiting client connections to site-aware applications and services on the site. For
example, by using Distributed File System (DFS), you can create multiple replicas of a
folder in different sites on the network. Because DFS is designed to be aware of the site
configuration, client computers always try to access a DFS replica in their own site
before crossing a WAN link to access the information in another site. As well, Exchange
Server 2007 uses the AD DS site configuration to define the message routing topology
within the organization. Messages sent between Exchange Servers in the same site will
always be sent directly from the source Exchange Server to the destination Exchange
Server, even if a message needs to be sent to several servers in the same site. Only single
copies of messages are sent between Exchange Servers in different sites, even if the messages are intended for users on several different Exchange Servers in the destination site.
Every computer on a Windows Server 2008 network will be assigned to a site. When AD DS
is installed in a Windows Server 2008 environment, a default site called Default-First-SiteName is created, and all computers in the forest will be assigned to that site unless additional
sites are created. When additional sites are created, the sites are linked to IP subnets. When
a server running Windows Server 2008 is promoted to become a domain controller, the
domain controller is automatically assigned to a site that corresponds to the computer’s IP
address. If needed, domain controllers can also be moved between sites using the Active
Directory Sites and Services administrative tool.
Client computers determine their sites the first time they start up and log on to the domain.
Because the client computer does not know which site it belongs to, it will connect to any
Chapter 2:
Active Directory Domain Services Components
57
domain controller in the domain. As part of this initial logon process, the domain controller
will inform the client which site it belongs to, and the client will cache that information for the
next logon.
Note
If a domain controller or a client computer has an IP address that is not linked to a
specific site, that computer will be placed in the Default-First-Site-Name site. Every computer
that is part of a Windows Server 2008 domain must belong to a site.
As mentioned earlier in this chapter, there is no direct connection between sites and the other
logical concepts in AD DS. One site can contain more than one domain, and one domain can
cross multiple sites. For example, as shown in Figure 2-11, the Seattle site contains both the
ADatum.com domain and the NA.ADatum.com domain. The TreyResearch.com domain is
spread across multiple sites.
ADatum.com
NA.ADatum.com
Calgary_Site
Seattle_Site
Denver_Site
Vancouver_Site
TreyResearch.com
Figure 2-11 Sites and domains within an AD DS forest.
Note
Sites are discussed in more detail in several other chapters in this book. Chapter 3
details the role of DNS and sites for client logons. Chapter 4 addresses the role of sites in
replication and how to create and configure sites. Chapter 5 goes into detail on designing an
optimal site configuration for an AD DS forest.
Organizational Units
By implementing multiple domains in a forest, either in a single tree or in multiple trees,
Windows Server 2008 AD DS can scale to provide directory services for almost any size
network. Many of the components of AD DS, such as the global catalog and automatic
transitive trusts, are designed to make the use and management of this enterprise directory
efficient regardless of how big the directory gets.
58
Part I:
Windows Server 2008 Active Directory Overview
Organizational units (OUs), however, are designed to make AD DS easier to administer at a
smaller scale. OUs are used to make the management of single domains more efficient. A
domain might contain tens of thousands of objects (or even millions). Managing this many
objects without some means of organizing the objects into logical groupings is very difficult.
OUs are used to create a hierarchical structure within a domain. Figure 2-12 shows an example
of what the OU structure might look like at A. Datum.
ADatum.com
SeattleOU
ProductOU
DesignOU
SalesOU
CalgaryOU
R&DOU
DenverOU
ProductOU
MarketingOU
ManuOU
Figure 2-12 An OU structure can have many layers.
OUs are container objects that can contain several types of directory service objects, including
the following:
■
Computers
■
Contacts
■
Groups
■
inetOrgPerson
■
Printers
■
Users
■
Shared folders
■
Organizational units
Chapter 2:
Active Directory Domain Services Components
59
OUs are used to group objects together for administrative purposes. There are two ways that
OUs can be used as administrative units: to delegate administrative rights and to manage a
group of objects as a single unit.
Using OUs to Delegate Administrative Rights
OUs can be used to delegate administrative rights. For example, a user can be given the rights
to perform administrative tasks for a specific OU. These rights could be high-level rights, in
which the user has full control of the OU and all objects in the OU, or the rights can be very
limited and specific (such as only being able to reset passwords for users in that OU). The
user that has been given administrative rights to an OU does not by default have any administrative rights outside the OU.
The OU structure is very flexible in assigning rights (also called permissions in many
Windows dialog boxes and Properties sheets) to objects inside the OU. The OU itself has an
access control list (ACL) where you can assign rights for that OU. Each object in an OU and,
in fact, each attribute for each object, also has an ACL. This means that you can have extremely
precise control of the administrative rights anyone can have in the OU. For example, you can
give a Help Desk group the right to change passwords for users in an OU but not to change
any other properties for the user accounts. Or you can give the Human Resources department
the right to modify any personal information on all user accounts in all OUs but not give them
any other rights to any other attributes on the user accounts, or any rights to any other
objects. You can also grant rights to individual objects within the OU if there are some objects
that you want to have different rights than the other objects in the OU.
Using OUs to Administer Groups of Objects
Another reason for using OUs is to group objects together so that the objects can all be administered the same way. For example, if you want to administer all of the workstations in a
department the same way (such as limiting which users have the right to log on to the workstations), you can group all the workstations into an OU and configure the Logon Locally
permission at the OU level. This permission is applied to all workstations in that OU. If a
collection of users needs the same standard desktop configuration and the same set of
applications, the users can be put into an OU and Group Policy can then be used to configure
the desktop and to manage the installation of applications.
In many cases, objects in an OU will be managed through Group Policy. Group Policy can be
used to lock down user desktops, to give them a standardized desktop, to provide logon and
logoff scripts, and to provide folder redirection. Table 2-3 provides a brief list of the types of
settings available in Group Policy.
60
Part I:
Windows Server 2008 Active Directory Overview
Table 2-3
Group Policy Setting Types
Setting Types
Explanation
Administrative templates
Used to manage registry-based parameters for configuring
application settings and user desktop settings, including access
to the operating system components, access to control panel,
and configuration of offline files.
Security
Used to manage the local computer, domain, and network security
settings, including controlling user access to the network,
configuring account policies, and controlling user rights.
Software installation
Used to centralize the management of software installations and
maintenance.
Scripts
Used to specify scripts that can be run when a computer starts or
shuts down, or when a user logs on or off.
Folder redirection
Used to store certain user profile folders on a network server.
These folders, such as the My Documents folder, appear to be
stored locally but are actually stored on a server where they can
be accessed from any computer on the network.
Preferences
Used to manage options related to Windows settings or Control
Panel settings, including drive mappings, environment variables,
network shares, local users and groups, services, devices, and
many more.
Group Policy objects will be most commonly assigned at the OU level. This eases the task of
administering the users in the OU because you can assign one Group Policy object—for example,
an administrative template policy—to the OU, which is then enforced on all the users or
computers in the OU.
Note
OUs are not security principals. This means that you cannot use an OU to assign
permissions to a resource and then have all of the users in the OU automatically inherit those
permissions. OUs are used for administrative purposes. To grant access to resources, use
security groups.
Summary
This chapter introduced the basic physical and logical components of AD DS in Windows
Server 2008. Although having an understanding of the physical components is important
(especially when dealing with database management, domain controller placement, and
schema management), most of the work you will do in AD DS will be with the logical components. Most of the rest of this book deals with the logical structure of AD DS.
Chapter 2:
Active Directory Domain Services Components
61
Additional Resources
■
Chapter 5, “Designing the Active Directory Domain Services Structure,” goes into detail
about designing the AD DS logical and physical configuration.
■
The Domain and Forest Trusts Technical Reference at http://technet2.microsoft.com/
windowsserver/en/library/92b3b6cb-9eb3-4dd7-b5f6-3fa9be8080821033.mspx?mfr=true
provides details on trusts in an Active Directory. This resource refers to Windows
Server 2003, but the way trusts are implemented has not changed significantly in
Windows Server 2008.
■
The Script Repository: Active Directory Web site located at http://www.microsoft.com/
technet/scriptcenter/scripts/default.mspx?mfr=true has several scripts that can be used
to enumerate and modify the AD DS objects.
Related Tools
Windows Server 2008 provides several tools that can be used when managing the AD DS
logical and physical components. Table 2-4 lists some of these tools and their uses.
Table 2-4
AD DS Management Tools
Tool Name
Description and Uses
Active Directory Users
and Computers
Use to configure AD DS domains including configuring and managing
OUs and all other domain objects.
Active Directory
Domains and Trusts
Use to configure AD DS trusts.
Active Directory Sites
and Services
Use to configure sites and replication.
Ntdsutil.exe
or Dsbutil.exe
Use to manage the AD DS data store files and to transfer FSMO roles
between domain controllers.
ADSI Edit
Use to view and modify the contents of AD DS partitions.
Resources on the CD
■
ListDomainControllers.ps1 is a Windows PowerShell script that lists all of the domain
controllers in your domain and global catalog servers in your forest.
■
ListFSMOs.ps1 is a Windows PowerShell script that lists all of the operations master
servers in your forest and domain.
■
ListADDSDomains.ps1 is a Windows PowerShell script that lists information about all
of the domains in your forest.
■
ListADDSSites.ps1 is a Windows PowerShell script that lists information about all of the
sites in your forest.
62
Part I:
Windows Server 2008 Active Directory Overview
Related Help Topics
■
“Managing Trusts” in Active Directory Domains and Trusts help.
■
“Managing Forest Trusts” in Active Directory Domains and Trusts help.
■
“Understanding Domains” in Active Directory Users and Computers help.
Chapter 3
Active Directory Domain
Services and Domain Name
System
In this chapter:
Integration of DNS and AD DS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
AD DS Integrated Zones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
Integrating DNS Namespaces and AD DS Domains . . . . . . . . . . . . . . . . . . . . . . . . . 81
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
Best Practices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
Additional Resources. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
Microsoft Windows Server 2008 Active Directory Domain Services (AD DS) requires Domain
Name System (DNS) to locate resources on a network. Without a reliable DNS infrastructure,
AD DS replication between domain controllers on your network will fail, your Microsoft
Windows XP and Windows Vista clients will not be able to log on to the network, and servers
running Microsoft Exchange Server 2007 will not be able to send e-mail. Essentially, if your
DNS implementation is not stable and available, your Windows Server 2008 network will fail.
This means you must have a thorough knowledge of DNS concepts and the Windows
Server 2008 implementation of DNS if you are going to manage a Windows Server 2008 AD
DS environment.
AD DS is tightly integrated with DNS in several ways. First of all, all Microsoft Windows 2000
or later computers use DNS to locate domain controllers in an AD DS environment. This
includes client computers that are trying to log on to the network, domain controllers trying
to connect to replication partners, or Exchange Servers looking up e-mail recipient information
in AD DS. Only after the DNS lookup fails will these computers attempt to use NetBIOS name
resolution by using Windows Internet Name Service (WINS), broadcasts, or LMHosts files.
Secondly, you can store DNS zone data in the AD DS data store, which provides enhanced
functionality and security. In addition, AD DS domain names are DNS names. If your AD DS
forest includes several domains in a hierarchical (parent-child) configuration, or in a peer
(multiple domain trees) configuration, your DNS implementation should correspond to the
AD DS domain implementation.
63
64
Part I:
Windows Server 2008 Active Directory Overview
Important
Because DNS is essential for AD DS, you must become familiar with DNS
concepts and know how DNS is implemented. If you are not familiar with DNS, you should
consult some of the excellent resources available on the Microsoft Web site, such as the DNS
Technical Reference located at http://technet2.microsoft.com/WindowsServer/en/Library/
6e45e81e-fb44-4a20-a752-ebe740e2acc61033.mspx.
Integration of DNS and AD DS
AD DS cannot function without a reliable DNS configuration. DNS is critically important in
AD DS because DNS provides the information that computers on the network need to locate
the AD DS domain controllers. This section takes a detailed look at the information that is
stored in DNS and the process that a client computer uses to locate the domain controllers.
On the Disc
Because of the dependency AD DS has on DNS, you should ensure that you
have current documentation for all DNS zones managed by your company. You can use
the DNSConfig.xlsx spreadsheet on the CD to document your DNS zone and DNS server
configurations.
Service Location (SRV) Resource Records
To facilitate the location of domain controllers, AD DS uses service location or SRV resource
records. An SRV record, which is described in RFC 2782, “A DNS RR for Specifying the
Location of Services (DNS SRV)” at http://www.ietf.org/rfc/rfc2782.txt, is used to identify
computers that provide services located on a Transmission Control Protocol/Internet Protocol
(TCP/IP) network. In Windows Server 2008, all domain controllers register SRV records in
DNS that identify the computers as providing AD DS related services.
Note All networks require some means to locate computers that provide domain services. In
Windows NT, domain logon was based on NetBIOS names. Every domain controller registered
the NetBIOS name Domainname with a <1C> as the sixteenth character in the name on the
network and in Windows Internet Name Service (WINS). When a client tried to log on to
the network, the client would try to locate the servers that had the domain controller name
registered. If the client could not locate one of these servers, the logon would fail. In Windows
2000 or later, the SRV records are used to locate domain controllers. Without the SRV records,
these clients will also not be able to log on to the Windows Server 2008 domain. Windows
Server 2008 domain controllers still register the domain NetBIOS name on the network and in
WINS if a WINS server is configured.
Chapter 3:
Active Directory Domain Services and Domain Name System
65
Every SRV record uses a standard format, as explained in Table 3-1 and as shown in the following example of one of the records used by AD DS:
_ldap._tcp.Adatum.com. 600 IN SRV 0 100 389 SEA-DC1.Adatum.com
Table 3-1
The SRV Record Components
Component
Example
Explanation
Service
_ldap
The service that this record identifies. This
service identifies this server as a server that will
respond to LDAP requests.
Protocol
_tcp
The protocol used for this service. It can be
either TCP or user datagram protocol (UDP).
Name
ADatum.com
The domain name that this record refers to.
TTL
600
The default Time to Live for this record
(in seconds).
Class
IN
The standard DNS Internet class.
Resource Record
SRV
Identifies the record as an SRV record.
Priority
0
Identifies the priority of this record for the client.
If multiple SRV records exist for the same service,
the clients will try to connect first to the server
with the lowest priority value.
Weight
100
A load-balancing mechanism. If multiple
SRV records exist for the same service and the
priority is identical for all the records, clients will
choose the records with the higher weights
more often.
Port
389
The port used by this service.
Target
SEA-DC1.ADatum.com
The host that provides the service identified by
this record.
Figure 3-1 shows this record in the DNS management console.
Essentially, the information in this record states that if a client is looking for a Lightweight
Directory Access Protocol (LDAP) server in the ADatum.com domain, the client should connect to SEA-DC1.ADatum.com.
66
Part I:
Windows Server 2008 Active Directory Overview
Figure 3-1
Example of an SRV record.
SRV Records Registered by AD DS Domain Controllers
The domain controllers in a Windows Server 2008 domain register many SRV records in
DNS. The following list includes all of the records registered by the first server in a forest:
Adatum.com. 600 IN A 10.10.10.10
Adatum.com. 600 IN AAAA 2001:4898:28:4:343e:eb57:e7d1:a87c
_ldap._tcp.Adatum.com. 600 IN SRV 0 100 389 SEA-DC1.Adatum.com.
_ldap._tcp.Default-First-Site-Name._sites.Adatum.com. 600 IN SRV 0 100 389
SEA-DC1.Adatum.com.
_ldap._tcp.pdc._msdcs.Adatum.com. 600 IN SRV 0 100 389 SEA-DC1.Adatum.com.
_ldap._tcp.gc._msdcs.Adatum.com. 600 IN SRV 0 100 3268 SEA-DC1.Adatum.com.
_ldap._tcp.Default-First-Site-Name._sites.gc._msdcs.Adatum.com. 600 IN SRV 0
100 3268 SEA-DC1.Adatum.com.
_ldap._tcp.64c228cd-5f07-4606-b843-d4fd114264b7.domains._msdcs.Adatum.com.
600 IN SRV 0 100 389 SEA-DC1.Adatum.com.
gc._msdcs.Adatum.com. 600 IN A 10.10.10.10
175170ad-0263-439f-bb4c-89eacc410ab1._msdcs.Adatum.com. 600 IN CNAME
SEA-DC1.Adatum.com.
gc._msdcs.Adatum.com. 600 IN AAAA 2001:4898:28:4:343e:eb57:e7d1:a87c
_kerberos._tcp.dc._msdcs.Adatum.com. 600 IN SRV 0 100 88 SEA-DC1.Adatum.com.
_kerberos._tcp.Default-First-Site-Name._sites.dc._msdcs.Adatum.com. 600 IN
SRV 0 100 88 SEA-DC1.Adatum.com.
_ldap._tcp.dc._msdcs.Adatum.com. 600 IN SRV 0 100 389 SEA-DC1.Adatum.com.
_ldap._tcp.Default-First-Site-Name._sites.dc._msdcs.Adatum.com. 600 IN SRV 0
100 389 SEA-DC1.Adatum.com.
_kerberos._tcp.Adatum.com. 600 IN SRV 0 100 88 SEA-DC1.Adatum.com.
_kerberos._tcp.Default-First-Site-Name._sites.Adatum.com. 600 IN SRV 0 100 88
SEA-DC1.Adatum.com.
_gc._tcp.Adatum.com. 600 IN SRV 0 100 3268 SEA-DC1.Adatum.com.
_gc._tcp.Default-First-Site-Name._sites.Adatum.com. 600 IN SRV 0 100 3268
SEA-DC1.Adatum.com.
Chapter 3:
Active Directory Domain Services and Domain Name System
67
_kerberos._udp.Adatum.com. 600 IN SRV 0 100 88 SEA-DC1.Adatum.com.
_kpasswd._tcp.Adatum.com. 600 IN SRV 0 100 464 SEA-DC1.Adatum.com.
_kpasswd._udp.Adatum.com. 600 IN SRV 0 100 464 SEA-DC1.Adatum.com.
DomainDnsZones.Adatum.com. 600 IN A 10.10.10.10
DomainDnsZones.Adatum.com. 600 IN AAAA 2001:4898:28:4:343e:eb57:e7d1:a87c
_ldap._tcp.DomainDnsZones.Adatum.com. 600 IN SRV 0 100 389 SEA-DC1.Adatum.com.
_ldap._tcp.Default-First-Site-Name._sites.DomainDnsZones.Adatum.com. 600 IN
SRV 0 100 389 SEA-DC1.Adatum.com.
ForestDnsZones.Adatum.com. 600 IN A 10.10.10.10
ForestDnsZones.Adatum.com. 600 IN AAAA 2001:4898:28:4:343e:eb57:e7d1:a87c
_ldap._tcp.ForestDnsZones.Adatum.com. 600 IN SRV 0 100 389 SEA-DC1.Adatum.com.
_ldap._tcp.Default-First-Site-Name._sites.ForestDnsZones.Adatum.com. 600 IN
SRV 0 100 389 SEA-DC1.Adatum.com.
Note
When one of the Windows Server 2008 servers is promoted to a domain controller,
all of these records are written to a file called Netlogon.dns, which is located in the
%systemroot%\system32\config folder. If you do not want to enable dynamic updates on
the DNS servers, you can import these records into the DNS zone.
The first part of the SRV record identifies the service that the SRV record points to. The
possible services are:
■
_ldap AD DS is an LDAP-compliant directory service, with the domain controllers
operating as LDAP servers. The _ldap SRV records identify the available LDAP servers
on the network. These servers could be Windows Server 2008 domain controllers,
previous versions of Windows domain controllers, or other LDAP servers.
■
_kerberos
■
_kpasswd
■
The _gc SRV record is specific to the global catalog function in AD DS. Only
Windows Server 2008 or previous versions of Windows domain controllers that are
configured as global catalog servers register this record.
The primary authentication protocol for all Windows 2000 and later clients
and servers. The _kerberos SRV records identify all the Key Distribution Centers
(KDCs) on the network. These could be Windows Server 2008 domain controllers,
previous versions of Windows domain controllers, or other KDC servers.
The _kpasswd SRV record identifies the Kerberos password-change servers
on the network (again either Windows Server 2008 domain controllers, previous versions of Windows domain controllers, or other Kerberos password-change servers).
_gc
Many of the SRV records also contain a site identifier in addition to the components listed in
Table 3-1. One of the reasons for implementing sites is to ensure that the network clients
will always try to log on to a domain controller that resides in the same site as the client. The
site records are essential for the computers to locate domain controllers in the same site as
the client. The process that a client uses to locate the site information is discussed in the next
section.
68
Part I:
Windows Server 2008 Active Directory Overview
Another essential component of the SRV records is the _msdcs value that appears in many of
the records. Some of the services provided by the SRV records are non–Microsoft specific. For
example, there could be non-Microsoft implementations of LDAP or Kerberos servers on the
network. These servers could also register an SRV record with the DNS server. Windows Server
2008 domain controllers register the generic records (for example, _ldap._tcp.ADatum.com),
but the domain controllers also register records containing the _msdcs reference. These
records refer only to Microsoft-specific roles, that is, to Windows 2000 and later domain
controllers. The records identify the primary function of each server as gc (global catalog), dc
(domain controller), or pdc (primary domain controller emulator).
Note
You may notice that the resource records with an _msdcs value appear in a different
zone than the other resource records in the DNS management console. The zone name is
called _msdcs.domainname rather than just domainname. If you install DNS on a domain
controller when you run the Active Directory Domain Services Installation Wizard on the first
domain controller in a domain, the DNS zones are stored in application partitions in the AD DS
data store. The _msdcs zone information is stored in an application partition that is replicated
throughout the AD DS forest, whereas the domain zone is stored in an application partition
that is replicated to all AD DS domain controllers that are also DNS servers. For more detail, see
the next two sections in this chapter.
Another record that is registered contains the domain’s globally unique identifier (GUID).
This record enables a client to locate a domain controller in a domain on the basis of its GUID.
The domain GUID record is used to locate domain controllers in the event of a domain
rename.
Windows Server 2008 domain controllers also register the following DNS host (A/AAAA)
records for the use of LDAP clients that do not support DNS SRV records:
■
DNSDomainname 600 IN A IPv4Address Enables a non–SRV-aware client to locate any
domain controller in the domain by looking up an A record. A name in this form is
returned to the LDAP client through an LDAP referral. These host records are registered
for the AD DS domain name, as well as the ForestDNSZones and Domain DNSZones
domain names.
■
DNSDomainname 600 IN AAAA IPv6Address
Enables a non–SRV-aware client to locate
any domain controller in the domain by looking up an AAAA record. Domain controllers configured with IPv6 enabled do not register the link-local IPv6 address but will
register statically configured IPv6 addresses. These host records are registered for the
AD DS domain name, as well as the ForestDNSZones and Domain DNSZones domain
names.
Chapter 3:
■
Active Directory Domain Services and Domain Name System
69
gc._msdcs.DnsForestName Enables a non–SRV-aware client to locate any global catalog
server in the forest by looking up an A record. A name in this form is returned to the
LDAP client through an LDAP referral.
How It Works: SRV Records and RODCs
For security reasons, read-only domain controllers (RODC) and read-only global catalog
servers (ROGC) are not enabled by default to register their own DNS records. Instead,
the RODC or ROGC sends a DNS update request to a writable Windows Server 2008
domain controller, which validates and then registers the records on behalf of the
RODC or ROGC.
In addition, RODCs only register the site-specific LDAP and Kerberos and CName
records in DNS. By default, only users in the same site as the RODC site users should
be able to discover and use them. This can be achieved by registering only site-specific
records. ROGCs also register the site-specific GC records. Because RODCs cannot be
used to change passwords, the servers do not register Kpasswd records.
Ashish Sharma
SDE II, US-Directory and Service Business
DNS Locator Service
The domain controllers running Windows Server 2008 register some or all of the records
described earlier in DNS. These records then play an essential role when a client like
Windows 2000 or later tries to log on to the domain. The following steps describe the process
that these clients use to log on to the domain:
1. When the user logs on, the client computer sends a remote procedure call (RPC) to the
local Net Logon service, initiating a logon session. As part of the RPC, the client sends
information such as the computer name, domain name, and site name to the Net Logon
service.
2. The Net Logon service uses the domain locator service to call the DsGetDcName() API,
passing one of the flag parameter values listed in Table 3-2.
Table 3-2
A Subset of the DsGetDcName Flag Parameter Values
DsGetDcName Flag Values
DNS Record Requested
DS_PDC_REQUIRED
_ldap._tcp.pdc._msdcs.domainname
DS_GC_SERVER_REQUIRED
_ldap._tcp.sitename._sites.gc._msdcs.forestrootdomainname
DS_KDC_REQUIRED
_kdc._tcp.sitename._sites.dc._msdcs.domainname
DS_ONLY_LDAP_NEEDED
_ldap._tcp.sitename._sites._msdcs.domainname
70
Part I:
Windows Server 2008 Active Directory Overview
Note
In almost all cases, the DsGetDcName function also includes the sitename
parameter. For all of the requests except the DS_PDC_REQUIRED request, the client
always makes an initial request using the site parameter. If the DNS server does not
respond to the request, the client will send the same request without the site parameter.
For example, if the DS_KDC_REQUIRED request is not fulfilled, the client will send a
request for the _kdc._tcp.dc._msdcs.forestrootdomain record. This can happen when the
client site is not configured or not available.
Windows Server 2008 introduces a new flag called DS_TRY_NEXTCLOSEST_SITE. When
this flag is set, the client will try to locate a domain controller in the same site as the
client. If that fails, the client will use the AD DS site link configuration to locate a domain
controller in the next closest site.
Windows Server 2008 introduces another new flag that can be used by the
DSGetDCName function. This flag, DS_IP_VERSION_AGONISTIC, is used by the client
to specify that they want either an IPv4 or IPv6 address. If this flag is not set, the locator
will return an IPv4 address.
The client may also pass the DomainGUID parameter rather than the domain name
to DsGetDcName(). In this case, the client is requesting the _ldap._tcp.domainGUID.domains._msdcs.forestname record. This will only happen when a domain has
been renamed.
3. The DNS server returns the requested list of servers. The client then sorts the list based
on priority. The list of the same priority servers are randomized based on weight. The
client then processes the servers list in order. It gets the addresses of each server and
sends an LDAP query using UDP port 389 to each of the addresses in the order they
were returned. After each packet is sent, the client waits for a response, and if no
response is received, it sends a packet to the next domain controller. The client continues
this process until it receives a valid response that specifies the requested services
(e.g., time service, writable DC) or has tried all of the domain controllers.
4. When a domain controller responds to the client, the client checks the response to
make sure that it contains the requested information. If it does, the client begins the
logon process with the domain controller.
5. The client caches the domain controller information so that the next time it needs to
access AD DS, it does not have to go through the discovery process again.
Direct from the Source: How a Client Determines Availability of a
Domain Controller
When a client tries to locate a domain controller after it has received the IP address from
DNS, it varies the time it waits for a response based on the number of domain controllers
it has already pinged. For the first five domain controllers, it waits for 0.4 seconds, and
for next five domain controllers, it waits for 0.2 seconds. After 10 domain controllers
have been pinged, the client uses a 0.1 second wait for the remaining requests.
Chapter 3:
Active Directory Domain Services and Domain Name System
The algorithm is designed to reduce network traffic if possible and also to ensure that
the client receives a response in a reasonable time if all the queries fail. The logic is that
if the domain controllers are slow because of a high load, the first 10 domain controllers
should be able to respond with the longer wait time before the client increases the
frequency of requests, which results in increased network traffic.
Ashish Sharma
SDE II, US-Directory and Service Business
How the Client Determines Which Site It Belongs To
Having site-specific records is important in order for AD DS to operate efficiently,
because a lot of client network traffic can be limited to a particular site. For example, the
client logon process always tries to connect to a domain controller in the client site before
connecting to any other sites. So how does the client know which site it belongs to?
The site information for the forest is stored in the configuration directory partition in AD
DS, and this information is replicated to all domain controllers in the forest. Included
with the configuration information is a list of IP subnets that are associated with a
particular site. When the client logs on to AD DS for the first time, the first domain
controller to respond compares the client’s IP address with the site IP addresses. Part of
the domain controller’s response to the client is the site information, which the client
then caches. Any future logon attempts will include the client site information.
If the client is moved between sites (for example, a portable computer may be connected
to a network in a different city), the client still sends the site information as part of the
logon. The DNS server will respond with the record of a domain controller that is in
the requested site. However, if the domain controller determines that the client is not
in the original site based on the client’s new IP address, it will send the new site
information to the client. The client then caches this information and tries to locate a
domain controller in the correct site.
If the client is not in any site that is defined in AD DS, it cannot make site-specific
requests for domain controllers.
Direct from the Source: IPv6 Addressing and Site Determination
Windows Server 2008 provides full support for IPv6. This means that the domain
controller can use any of the client’s IP addresses when determining the client’s site.
These addresses include the IPv4 address, the global IPv6 address, and the link-local
IPv6 address.
71
72
Part I:
Windows Server 2008 Active Directory Overview
When the domain controller gets a client’s IP address, it tries to find the corresponding
site in the configuration. By default, the domain controller will use only one of the IP
addresses even if both IPv4 and IPv6 addresses are used. Prior to Windows Server 2008,
if the provided IP address did not map to a site, the domain controller would return no
site mapping to the client. In Windows Server 2008, the domain controller will use both
the client’s IPv4 and global IPv6 address, and it returns the corresponding site for those
addresses if mapped.
This has implications for AD DS site configuration. In previous versions of AD DS, you
only had to assign the correct IPv4 subnets to a site. In Windows Server 2008, you
should configure both the IPv4 and global IPv6 subnet addresses to a particular site.
Ashish Sharma
SDE II, US-Directory and Service Business
After a client computer authenticates, it will cache the domain controller information for a
default of 15 minutes. If the client computer authenticated when no domain controller was
available in its site, it will have authenticated with a domain controller in a different site. This
means that the client computer will use the domain controller in a different site for all AD DS
lookups for those 15 minutes. To modify this default value, create a REG_DWORD entry named
CloseSiteTimeout in the HKLM\SYSTEM\CurrentControlSet\Services\Netlogon\Parameters
key. You can configure a value of 1 minute to 49.7 days for this entry. Use caution when
changing the value of this entry. If the value is too high, then the client may use a domain
controller in a different site for a long period of time. If the value is too low, then repeated
attempts to find a domain controller can create excessive network traffic.
Automatic Site Coverage
You can create sites in AD DS without installing a domain controller in the site. Or you may
create a site that contains domain controllers for one domain, but client computers from a
different domain in the forest may need to log on in the site. This means that client computers
in the site will need to authenticate to a domain controller in a different site. To ensure that
these clients will still choose the best available domain controller, AD DS is designed so
that the domain controllers will automatically calculate which domain controllers will register
the SRV records for sites that do not have domain controllers. This feature is called automatic
site coverage.
Note
Automatic site coverage is a dynamic process. If a domain controller in a particular site
is unavailable, other domain controllers will automatically configure the site coverage records
for the site.
Chapter 3:
Active Directory Domain Services and Domain Name System
73
The domain controllers use the sites and site link information to determine which domain
controller will provide coverage for a site with no domain controllers. All domain controllers
are aware of all sites, site links, and domain controllers, because this information is stored in
the Configuration partition in AD DS. All domain controllers first build a list of target sites,
that is, sites that do not have any domain controllers in the local domain controller’s domain.
The domain controllers then build a list of potential sites that could provide automatic site
coverage. This list includes all sites that have domain controllers in the specific domain.
By default, the domain controllers in the site with the lowest cost site links to the target site
will provide site coverage. If more than one site is linked with the lowest cost site links, the
site with the largest number of domain controllers will provide site coverage. If two or more
sites still qualify, the site that is first alphabetically is selected. The domain controllers in the
selected site then register the site-specific SRV records for the domain controllers for this
domain in the target site.
Note
When you deploy an RODC in a separate site, Windows Server 2003 domain controllers
will provide automatic site coverage for the site. This is because Windows Server 2003 domain
controllers do not include RODCs in their automatic site calculations. See Chapter 5, “Designing
the Active Directory Domain Services Structure,” for details on how you can address this issue.
Managing DNS Registration by Using Group Policy
You can manage how AD DS domain controllers register SRV records in DNS by using
group policies. To apply these settings to all domain controllers, you can modify the
Default Domain Controllers Policy. If you want to apply different policies to domain
controllers, you will need to create a new group policy object and then use a filter to
apply the group policy to only specified domain controllers. The following table lists the
settings that are available. These settings are available in the DC Locator DNS Records
folder under Administrative Templates\System\Net Logon.
Group Policy Setting
Description
Domain Controller Address Type
Returned
Determines whether the DC Locater returns just IPv4
addresses or IPv4 and IPv6 addresses. By default, both
types of addresses are returned, but if this setting is
disabled, only IPv4 addresses will be returned.
Dynamic Registration of the DC
Locator DNS Records
Determines if Dynamic Registration of the DNS
resource records is enabled. These DNS records are
dynamically registered by the Net Logon service.
DC Locator DNS records not
registered by the DCs
Determines which DNS records are not registered by the
Netlogon service. You can restrict domain controllers from
registering specific types of records.
Refresh Interval of the DC Locator Specifies the Refresh Interval of the DNS resource records
DNS Records
for domain controllers to which this setting is applied.
74
Part I:
Windows Server 2008 Active Directory Overview
Group Policy Setting
Description
Weight Set in the DC Locator DNS Specifies the Weight field in the SRV resource records
SRV Records
registered by the domain controllers to which this setting
is applied.
Priority Set in the DC Locator DNS Specifies the Priority field in the SRV resource records
SRV Records
registered by domain controllers to which this setting is
applied.
TTL Set in the DC Locator DNS
SRV Records
Specifies the value for the Time-To-Live (TTL) field in Net
Logon registered SRV resource records.
Automated Site Coverage by the
DC Locator DNS SRV Records
Determines whether domain controllers dynamically
register DC Locator site-specific SRV records for the closest sites where no domain controller for the same domain
exists (or no global catalog for the same forest exists).
Sites Covered by the DC Locator
DNS SRV Records
Specifies the sites for which the domain controllers
register the site-specific SRV records if no domain
controller for the domain is available in the site.
Sites Covered by the GC Locator
DNS SRV Records
Specifies the sites for which the global catalog servers
should register if no global catalog server for the forest is
available in the site.
Sites Covered by the Application
Directory Partition Locator DNS
SRV Records
Specifies the sites for which the domain controllers
hosting the application directory partition should register
the site-specific SRV records.
Location of the DCs hosting a
domain with a single label DNS
name
Specifies if the computers to which this setting is applied
attempt DNS name resolution of single-label domain
names.
Force Rediscovery Interval
Specifies a time limit when clients will be forced to
rediscover domain controllers. Useful when the domain
controller configuration changes frequently on a network. By default, clients are forced to rediscover domain
controllers every 12 hours.
Ignore incoming mailslot messages used for domain controller location based on NetBIOS domain
names
Determines if the domain controller will respond to
mailslot responses for more information about the
domain controller. Mailslot requests are only used by
Window NT or older clients that use NetBIOS names to
locate and log on to domain controllers.
Try Next Closest Site
Determines if client computers will automatically try the
closest site if a domain controller is not available. By
default, clients will request a domain controller in the
closest site by using the DC Locater call
DS_TRY_NEXTCLOSEST_SITE.
AD DS Integrated Zones
In addition to using DNS to locate domain controllers, Windows Server 2008 can also be
integrated with DNS by storing the DNS zone information in the AD DS data store.
Chapter 3:
Active Directory Domain Services and Domain Name System
75
Benefits of Using AD DS Integrated Zones
AD DS integrated zones provide a number of advantages:
■
The zone transfer process is replaced by AD DS replication. Because the zone informa-
tion is stored in AD DS, the data is replicated through the normal AD DS replication
process. This means that the replication occurs at a per-attribute level so that only the
changes to the zone information are replicated. Between sites, the replication traffic can
also be highly compressed, saving additional bandwidth. Using an AD DS integrated
zone also enables the use of application partitions that can be used to fine-tune the
replication of DNS information. In addition, when new domain controllers are added
to the domain, the DNS information is automatically replicated to the new domain
controller without any further configuration.
■
Integrated zones enable a multimaster DNS server configuration. Without AD DS,
DNS can support only one primary name server for each DNS zone. That means that
all changes to the zone information must be made on the primary name server and
then transferred to the secondary name servers. With AD DS integrated zones, each
DNS server has a writable copy of the domain information, so that changes to the
zone information can be made anywhere in the organization. The information is then
replicated to all other DNS servers.
■
Integrated zones enable secure updates. If a zone is configured as an AD DS integrated
zone, you can configure the zone to use secure updates only. This gives you more
control over which users and computers can update the resource records in AD DS.
■
Integrated zones provide additional security. Because the DNS zone data is stored in
AD DS, you can use access control lists (ACLs) to secure the dnsZone object container
in the directory. This feature provides granulated access to either the zone or a specified
resource record in the zone.
In some cases, organizations are hesitant to use AD DS integrated zones because DNS must be
installed on a Windows Server 2008 domain controller. This can create an additional load on
that domain controller. Another issue is that if all client computers in an organization are
configured to register their host records in DNS, the AD DS database may contain hundreds
of thousands of additional records.
Note You can combine AD DS integrated zones with secondary zones. For example, you
might have three domain controllers in a central location with several remote offices where
you do not have a domain controller. If you want to install a DNS server into a remote office,
you can install the DNS server role on a member server running Windows Server 2008 and
then configure a secondary zone on the DNS server. The secondary server will then accept
zone transfers from the AD DS integrated zone.
76
Part I:
Windows Server 2008 Active Directory Overview
Default Application Partitions for DNS
When you install DNS while you are promoting the first server in the forest to be a domain
controller, two new application directory partitions are created in AD DS. These partitions are
the DomainDnsZones partition and the ForestDnsZones partition. DNS zone information is
then stored in these directory partitions, rather than in a text file on the DNS server hard disk.
Each of these partitions contains different information and has a different replication
configuration. The DomainDNSZones partition contains all of the domain controller records
that are important for locating domain controller services within the domain. All of the
resource records described previously, except the resource records that include the _msdcs
value, are stored in the DomainDnsZones partition. The DomainDnsZones partition is replicated
to all DNS servers running on domain controllers in a domain.
The ForestDnsZones partition is replicated to all DNS servers running on domain controllers
in the forest. The ForestDnsZones partition contains the information that is required for
domain controllers and clients to locate domain controller services in other domains in the
forest. For example, the ForestDnsZones partition includes a domains subzone that lists all of
the domain GUIDs and lists the domain controllers for each of the domains. The ForestDnsZones partition lists all of the domain controllers by GUID in the entire forest and lists all of
the global catalog servers in the forest. The _msdcs subzone is stored in the ForestDnsZones
partition.
Note
The DNS application directory partitions are created only if you choose to install DNS
when you promote the first domain controller in the domain or forest. If you want to take
advantage of DNS application directory partitions after you have already upgraded the
domain controller, you must manually create the partition before you can use them. To create
the partitions, you can use the DNS Manager or the DNSCmd command-line tool. If you are
using the DNS administrative tool, right-click on the DNS server name and select Create
Default Application Directory Partitions. If you are using DNSCmd, open a command line and
type dnscmd DNSservername /CreateBuiltinDirectoryPartitions /forest. This will create
the ForestDnsZones partition. To create the DomainDnsZones partition, use ”/domain” as the
last parameter in the command, instead of ”/forest”. You can create the DomainDNSZones
partition for all domains in the forest by running the command with the /Alldomains parameter.
Because this command modifies the configuration directory partition in AD DS, you must
be logged in as a member of the Enterprise Admins group.
The DNS application partitions can be viewed through the DNS Manager and through tools
such as DNSCmd, ADSIEdit.msc, or Ldp.exe. In the DNS Manager (shown in Figure 3-2),
the ForestDnsZones partition information is listed in the _msdcs.forestname delegated zone.
The DomainDnsZones partition is listed in the DomainDnsZone subzone within the domainname zone. In ADSIEdit.msc, the application partitions can be viewed by connecting to the
dc=domaindnszones,dc=domainname partition or the dc=forestdnszones,dc=forestname partition
(shown in Figure 3-3).
Chapter 3:
Active Directory Domain Services and Domain Name System
Figure 3-2
The DNS application directory partitions in DNS management console.
Figure 3-3
The DNS application directory partitions in Adsiedit.msc.
On the Disc You can use the ListAppPartitions.ps1 Windows PowerShell script on the CD
to list the application partitions deployed in your forest and to display which domain
controllers have a replica of the partitions. If you are running Windows PowerShell on a Windows
Server 2008 computer, you must configure the PowerShell script execution policy to allow
unsigned scripts by running the Set-ExecutionPolicy RemoteSigned command. Also, you need
to provide the full path when running a Windows PowerShell script.
77
78
Part I:
Windows Server 2008 Active Directory Overview
Managing AD DS Integrated Zones
When you implement AD DS integrated zones, you may need to perform additional DNS
management tasks that are not required when using standard DNS zones. These tasks
include configuring the AD DS application directory partitions that will contain the DNS zone
information, managing and securing dynamic DNS, and configuring record aging and record
scavenging.
Configuring DNS Application Partitions
By default, when you install DNS while configuring the first domain controller in a domain,
the DNS zone information is stored in the DomainDnsZones and the ForestDnsZones application partitions. However, you can modify the application partition that is used for these
zones, or you can store DNS zone information in AD DS when you create new zones on the
domain controller. You are given a choice about where to store the DNS information when you
create a new zone (see Figure 3-4) or through the Zone Properties sheet in the DNS administrative tool. You are given the following four choices of where to store the DNS information:
Figure 3-4
■
Configuring the replication scope for DNS zones.
To All DNS Servers In This Forest: forestname The information is stored in the
ForestDnsZones partition, where it is replicated to all DNS servers running on domain
controllers in the forest. Use this zone only if users in multiple domains in the forest will
need to access this zone information.
■
To All DNS Servers In This Domain: domainname The information is stored in the
DomainDnsZones partition, where it is replicated to all the DNS servers running on
domain controllers in the domain. Use this zone if only users in a specific domain
require access to the zone information, or if you will be using delegation or forwarding
to enable other DNS servers to locate this zone information.
Chapter 3:
■
Active Directory Domain Services and Domain Name System
79
To All Domain Controllers In This Domain (for Windows 2000 compatibility): domainname The information is stored in the domain directory partition, where it is replicated
to all domain controllers in the domain. The difference between this option and the
option to store the information in the DomainDnsZones partition is that, in this case, all
domain controllers will receive the information while the DomainDnsZones partition is
only replicated to domain controllers that are also DNS servers. Because Windows 2000
Server Active Directory does not support application directory partitions, you must use
this option if you want to use AD DS integrated zones with Windows Server 2000
domain controllers.
■
To All Domain Controllers Specified In The Scope Of This Directory Partition This option
is only available if you create an additional application directory partition with its own
replication configuration. The DNS information will be replicated to all domain controllers
that have a replica of this partition.
Normally, you should not change the default configuration for the AD DS integrated zones.
If you have multiple domain controllers in a domain but only some of them are DNS servers,
using the DomainDnsZones partition reduces the amount of replication because domain
controllers that are not DNS servers do not receive a copy of the zone. The ForestDnsZones
partition is replicated throughout the forest, so the DNS information needed to locate all the
domain controllers in the forest is replicated to all DNS servers in the forest.
Managing Dynamic DNS
In the past, one difficult aspect of working with DNS was that all the zone information had to
be manually entered into the DNS server. However, as described in RFC 2136, DNS servers
can now be configured to accept automatic updates to the resource records in the zones. This
option is called dynamic DNS (DDNS).
Windows Server 2008 DNS servers support dynamic DNS. By default, all Windows 2000 and
later clients, as well as Windows 2000 Server and later computers, automatically update their
resource records in DNS. In addition, Windows Server 2008 DNS servers will also accept
dynamic record registration from Dynamic Host Configuration Protocol (DHCP) servers. The
Windows Server 2008 DHCP server can be configured to automatically update the DNS
records for any of its clients, including Microsoft Windows 95, Microsoft Windows 98,
Microsoft Windows Me, or Microsoft Windows NT clients.
One of the concerns with dynamic DNS is security. Without some control over who can
update the DNS resource records, anyone with access to your network can potentially create
a resource record in your DNS zone and then use the record to redirect network traffic. To deal
with this, Windows Server 2008 DNS provides for secure updates. Secure updates are only
available in AD DS integrated zones. With secure updates, you can control who has the right
to register and update the DNS records. By default, the members of the Authenticated Users
group have the right to update their records in DNS. This means that computers that are
members in the domain have the right to update their own DNS records. However, you can
change this by modifying the access control list (ACL) for the DNS zone.
80
Part I:
Windows Server 2008 Active Directory Overview
More Info
For more information on configuring dynamic DNS, see the DNS Technical
Reference.
Aging and Scavenging
One of the issues with using AD DS integrated zones and dynamic updates in large enterprise
environments is that if you allow all client computers to update their resource records in DNS,
you could potentially have thousands of records in DNS which will increase the size of the AD
DS database file. If client computers are shut down while still connected to the network, the
client computers will release their resource records in AD DS. However, if clients are improperly
disconnected from the network, its host (A) RR might not be deleted. To clean up these
resource records in AD DS zones, you may choose to configure aging and scavenging.
With dynamic DNS, each resource record added to DNS is given a time stamp based on the
current date and time that is set at the server computer. Resource records that have been
manually added to DNS are configured with a time-stamp value of zero to indicate that the
records should not be deleted by the aging and scavenging process.
By default, aging and scavenging are not enabled for Windows Server 2008 DNS servers and
zones. After you enable aging and scavenging, the DNS server will monitor the time for all
records since the record was last updated. When the time elapsed for the record refresh
exceeds the configured age limit, the record is scavenged from DNS.
Background Zone Loading
As mentioned earlier, one of the potential issues with using AD DS integrated zones and
enabling dynamic DNS is that you can have thousands of client computers that register their
host records in DNS. When the AD DS domain controller starts or the DNS service is
restarted, it must read the DNS zone information from the AD DS data store. In very large
organizations, loading the AD DS data store when restarting the DNS server can take an hour
or more. The result is that the DNS server is effectively unavailable to service client requests
for the entire time that it takes to load AD DS-based zones.
Windows Server 2008 provides a new feature called background zone loading to address this
scenario. With the feature, a DNS server can begin responding to DNS client requests while
continuing to load zone data from AD DS in the background. When the DNS server starts, it:
■
Enumerates all zones to be loaded.
■
Loads root hints from files or the AD DS data store.
■
Loads all standard DNS zones that are stored in text files rather than in AD DS.
Chapter 3:
Active Directory Domain Services and Domain Name System
81
■
Begins responding to DNS queries and remote procedure calls (RPCs). If the server
receives a query for a zone that is not yet loaded, the DNS server reads the node’s data
from AD DS and responds to the client query.
■
Spawns one or more threads to load the zones that are stored in AD DS.
DNS and Read-Only Domain Controllers
As mentioned earlier, Windows Server 2008 provides read-only domain controllers (RODC).
To support RODCs, Windows Server 2008 also supports a new type of DNS zone, the primary
read-only zone. When you configure an RODC as a DNS server, it replicates from a writable
domain controller a full read-only copy of all of the application directory partitions that
DNS uses, including the domain partition, ForestDNSZones, and DomainDNSZones. This
ensures that the DNS server running on the RODC has a read-only copy of any DNS zones
stored in those directory partitions.
The RODC DNS server responds to client queries just like any other DNS server. However,
because the AD DS integrated DNS zones on the RODC are read-only, no changes can be
made to the zones on the RODC. The administrator of an RODC can view the contents of a
primary read-only zone; however, the administrator cannot make changes to the local copy of
the zone. Changes can only be made on a domain controller with a writable AD DS copy.
When client computers try to register their host record with the DNS server using dynamic
DNS, the client computer is redirected to a DNS server with a writable copy of the DNS zone.
Note
Just like other domain controllers, RODCs can be configured as DNS servers or not. If
you do configure an RODC as a DNS server, it will only support primary read-only zones if
you use AD DS integrated zones. You can configure the RODC as a DNS server with standard
primary or secondary zones. If you implement a primary standard zone on the RODC, it will
not be read-only.
Integrating DNS Namespaces and AD DS Domains
All AD DS domain names must be DNS names, and DNS is required for AD DS to function
correctly. In a single domain environment, the integration of the DNS namespace and the AD
DS name is very simple—you just need to have a DNS server that is authoritative for the DNS
zone that is equivalent to the AD DS domain name. However, in an organization with multiple
domains, and possibly multiple domain trees in the forest, integrating the DNS namespaces
with the AD DS domain names can be more complicated.
Important
Ensuring that the DNS namespace is correctly integrated with the AD DS
designs is just as important as ensuring that all of the domain controller SRV records are
registered in DNS. In order for domain controllers in different domains in the forest to replicate
with each other, they must be able to locate each other in DNS.
82
Part I:
Windows Server 2008 Active Directory Overview
Note
This chapter describes the options for integrating DNS namespaces with AD DS
domain names in a single forest. Chapter 5 goes into more detail on the design issues related
to integrating the AD DS forest into DNS namespaces outside of AD DS.
DNS Delegation
DNS uses a hierarchical namespace and distributed database model. This enables DNS clients
to resolve any name in the DNS namespace without requiring that one DNS server host all of
the DNS zones in the namespace. For example, if a client connects to a DNS server that is
authoritative for the .com top-level domain and requests a server in the ADatum.com domain,
the authoritative .com server must have some way of determining which name servers are
authoritative for the ADatum.com domain. This is made possible by the use of delegation
records.
A delegation record is a pointer to a subdomain that identifies the name servers for the subdomain. For example, as shown in Figure 3-5, DNS1.ADatum.com is an authoritative name
server for the ADatum.com domain. DNS2 and DNS3 are authoritative name servers for the
NA.ADatum.com domain. DNS1 is considered authoritative for the NA.ADatum.com.com
domain but does not have all of the resource records for the child domain. However, DNS1
uses a delegation record pointing to DNS2 and DNS3 as the name servers for the child
domain. When a client connects to DNS1 requesting information about NA.ADatum.
com.com, the server will refer the client to the name servers for the child domain.
DNS1.Adatum.com
Zone
Delegation
Adatum.com
DNS2.NA.Adatum.com
DNS3.NA.Adatum.com
NA.Adatum.com
Figure 3-5
Delegated zones link higher level domains with subdomains.
Chapter 3:
Active Directory Domain Services and Domain Name System
83
Note
When you install the first domain controller in a domain and configure it as a DNS
server, the installation wizard automatically attempts to create a delegation record in the
parent DNS zone. For example, if you created a new AD DS domain named Corp.ADatum.com,
the Active Directory Domain Services Installation Wizard would attempt to connect to a
name server that is authoritative for the ADatum.com domain and then attempt to create a
delegation record for the Corp.ADatum.com domain. If the DNS server is not available, or if
the account used to run the installation wizard does not have permission to create the delegation
record, you will receive the warning shown in Figure 3-6. You can continue the installation
and manually configure the delegation record if required.
Figure 3-6
Warning message that creating a delegation record has failed.
Security Alert
If the parent domain for your domain name is an Internet-based DNS server
(for example, if when you create the ADatum.com domain, the parent domain is the .com
domain hosted on Internet DNS servers), you should not configure a delegation record pointing
to your internal DNS servers. The internal DNS zones for your AD DS should never be exposed
to the Internet.
Forwarders and Root Hints
The second method for connecting the different layers of the DNS hierarchy together is by
using forwarders and root hints. In most cases, forwarders and root hints are used by those
DNS servers lower in the DNS namespace to locate information from DNS servers higher up
in the hierarchy. Both forwarders and root hints are used by the DNS server to locate information that is not in its zone files. For example, a DNS server may be authoritative for only the
ADatum.com domain. When this DNS server receives a query from a client requesting a name
resolution in the TreyResearch.com domain, the ADatum.com DNS server must have some
way of locating this information.
Forwarders
One way to configure this is to use forwarders. A forwarder is simply another DNS server that
a particular DNS server uses when it cannot resolve a query. For example, the authoritative
name server for ADatum.com might receive a recursive query for the TreyResearch.com
84
Part I:
Windows Server 2008 Active Directory Overview
domain. If the ADatum DNS server has been configured with a forwarder, it will send a
recursive query to the forwarder requesting this information. Forwarders are often used on
an organization’s internal network. An organization may have several DNS servers with the
primary task of internal name resolution. However, users inside the organization are also
likely to need to resolve Internet IP addresses. One way to enable this is to configure all the
internal DNS servers to try to resolve the Internet addresses. A more common configuration
has all the internal DNS servers configured with a forwarder pointing to one DNS server that
is responsible for Internet name resolution. This latter configuration is shown in Figure 3-7.
All the internal DNS servers forward any query for a nonauthoritative zone to one DNS server,
which then tries to resolve the Internet addresses. If a DNS server is configured with more
than one forwarder, that DNS server will try all of the forwarders, in order, before trying any
other way of resolving the IP addresses.
Internet Root
DNS Servers
DNS Server
Forwarder
Firewall
Company Location 1
Forwarder
DNS Server
Internet DNS
Resolution
Company Location 4
DNS Server
Forwarder
Company Location 2
DNS Server
Company Location 3
Figure 3-7
Using forwarders for Internet name resolution.
Conditional Forwarding
Windows Server 2008 DNS servers support conditional forward to make the forwarding
process more efficient. One of the issues with standard forwarders is that the forwarding
process cannot make any distinctions based on domain names. When a client resolver makes
a request that the server cannot answer from its cache or zone files, the server sends a recursive
query to the list of configured forwarders without being able to choose different forwarders
based on the requested domain name.
Chapter 3:
Active Directory Domain Services and Domain Name System
85
Conditional forwarding provides exactly this functionality: the DNS server can now forward
domain requests to different DNS servers based on domain names. This means that when one
of the DNS servers needs to resolve a name in a zone for which it is not authoritative, it can
use just the forwarder that is configured for that zone. For example, when a client in the
ADatum.com domain needs to locate a resource in the TreyResearch.com domain, it queries
the DNS server in the ADatum.com domain. (See Figure 3-8.) The DNS server checks its zone
files to determine if it is authoritative for the domain and then checks its cache. If it cannot
resolve the name from these sources, it will check the forwarder list. If one of the forwarders
is specific for the TreyResearch.com domain, the ADatum.com DNS server will send the recursive
query only to that DNS server. If the client computer requests a name resolution for a
domain name that does not have a conditional forwarder, the DNS server will use the
standard forwarder and then try locating the zone through root hints.
Internet Root
DNS Servers
Firewall
DNS Query
ISP DNS Server
Forwarding
DNS1.Adatum.com
Conditional
Forwarding
Client
Figure 3-8
DNS1.TreyResearch.com
Configuring conditional forwarders.
The DNS server will always try to match the most qualified domain name when using
conditional forwarding. For example, if you have a conditional forwarder configured for
TreyResearch.com and for Europe.TreyResearch.com, and a client makes a request for a server
such as Web1.Europe.TreyResearch.com, the DNS server will forward the request to the
DNS server for Europe.TreyResearch.com.
Note
Windows Server 2003 also supports the use of conditional forwarders. One of the new
features in Windows Server 2008 is the option to store the conditional forwarders in an AD
DS integrated zone (See Figure 3-9.) This means that you can simplify the configuration of
name resolution within a forest by making the conditional forwarders available to all DNS
servers in the domain or in the forest.
86
Part I:
Windows Server 2008 Active Directory Overview
Figure 3-9
Storing conditional forwarders in the AD DS partition.
Root Hints
The second method available to a DNS server for resolving queries for zones for which it is not
authoritative is the use of root hints. When you install a Windows Server 2008 DNS server
that has access to the Internet, the server is automatically configured with a standard list of
root servers. These servers are the servers that are authoritative for the root of the Internet
namespace. If a DNS server receives a query for a DNS zone for which it is not authoritative,
the server will send an iterative query to one of the root servers, initiating a series of iterative
queries until the name is resolved or until the server has confirmed that the name cannot be
resolved.
Note The root servers that are automatically configured on the DNS server are copied from
the Cache.dns file that is included with the DNS server setup files.
You can add additional DNS servers to the root hint list, including the DNS servers on your
internal network.
Stub Zones
Stub zones are another option available in Windows Server 2008 that can be used to simplify
the configuration of name resolution across multiple namespaces. A stub zone is similar to a
secondary zone. When you set up a stub zone, you must specify the IP address of a primary
name server for the zone. The server holding the stub zone then requests a zone transfer from
the primary name server. What is different, however, is that the stub zone contains only the
Chapter 3:
Active Directory Domain Services and Domain Name System
87
SOA records, the NS records, and the host (A) records for the name servers for the domain,
rather than all of the records in the zone.
This enhances name resolution across namespaces without secondary name servers having to
be used. When a DNS server is configured with a stub zone, it is not authoritative for the
domain. It is just much more efficient at locating the authoritative name server for the specified zone. With stub zones, the DNS server can locate the authoritative name servers for a
zone without having to contact the root hint servers.
Another useful function for stub zones is to maintain the name server list for delegated zones.
When you set up a delegated subdomain, you must enter the IP address of all the name servers in the delegated domain. If that list of name servers changes—for example, if one of the
name servers is removed from the network—you must manually update the delegation record.
You can use a stub zone to automate the process of keeping the name server list updated. To
configure this in the ADatum.com domain, you would configure a stub zone for the NAmerica.
ADatum.com domain on the DNS servers in the ADatum.com domain. You would also
configure a delegation record in the ADatum.com zone pointing to the stub zone. As name
server records are modified in the child domain, they will be updated automatically in the
stub zone. When the ADatum.com DNS servers use the delegation record, they will be referred
to the stub zone, so they will always have access to the updated name server information.
How DNS Namespaces and AD DS Domains Are Integrated
With all of the options available for integrating the levels in the DNS namespace, how
does Windows Server 2008 do this in an AD DS forest? By default, Windows Server
2008 uses delegation and forwarding to integrate multiple domains and domain trees in
the forest with the DNS namespaces.
For example, consider an organization that includes multiple domains and domain
trees in a single forest (see Figure 3-10 for an illustration of the forest plan).
Adatum.com
TreyResearch.com
Asia.ADatum.com
Figure 3-10 A multiple-tree AD DS forest design.
88
Part I:
Windows Server 2008 Active Directory Overview
If you install DNS on the domain controllers in each domain and configure the DNS
servers to be authoritative for the domain, Windows Server 2008 uses delegation and
forwarding to integrate the child domain DNS zone with the parent domain DNS zone.
In this example, the Active Directory Domain Services Installation Wizard will create a
delegation record on the ADatum.com DNS server pointing to the DNS server in
Asia.ADatum.com. The DNS server in Asia.ADatum.com is automatically configured to
use the ADatum.com domain as a forwarder. This means that all names can be resolved
between these two domains.
The DNS configuration for the new tree in the forest (TreyResearch.com) is a bit more
complicated. By default, the DNS server in the TreyResearch.com domain is configured
to use the DNS server in the ADatum.com domain as a forwarder. This means that the
domain controllers and clients in the TreyResearch.com domain can resolve names in
the ADatum.com domain.
However, by default, DNS servers in the ADatum.com cannot resolve names in the
TreyResearch.com domain. The easiest way to configure name resolution between
the forest root domain and the domain tree root domain is to configure conditional
forwarding on the parent root DNS servers. In this case, you can configure the
ADatum.com DNS servers with a conditional forwarder for the TreyResearch.com
domain. Figure 3-11 shows the resulting DNS integration.
Forwarding
Forwarding
DNS1.Adatum.com
Adatum.com
Conditional
Forwarding
Delegation
DNS1.TreyResearch.com
TreyResearch.com
DNS1.Asia.Adatum.com
Asia.ADatum.com
Figure 3-11 Integrating the DNS namespace in an AD DS forest.
Troubleshooting DNS and AD DS Integration
Because of the tight integration between DNS and AD DS, you will often troubleshoot AD DS
issues by first ensuring that DNS is functioning correctly. If DNS is not functional or is
incorrectly configured, AD DS will appear unavailable to clients and domain controllers.
Chapter 3:
Active Directory Domain Services and Domain Name System
89
In order to troubleshoot the DNS/AD DS integration, you need to have a clear understanding
of the DNS and AD DS deployment in your environment. This should include the DNS server
configuration, the DNS zone configuration (including a listing of the zones that are stored in
AD DS application directory partitions), and the zone delegation and forwarding configuration.
Troubleshooting DNS
In most cases, the first steps in troubleshooting the integration of DNS and AD DS will be just
general DNS troubleshooting steps. These steps include:
1. Identify the problem. Often the initial problem presented by a user may not be the
actual problem. For example, the user may indicate that they cannot access the Internet,
but the actual problem may be that the user cannot access a particular Web site, or it
may be that the client computer has been disconnected from the network.
2. Determine the scope of the problem. Is only one client computer or only one domain
controller experiencing the problem? Or is it all users in a particular office? If only one
computer is experiencing the problem, you can focus your troubleshooting on that one
computer. If multiple client computers or servers are experiencing the problem, attempt
to identify the common element for all computers that are experiencing the problem.
Are all the affected computers in the same office, or on the same network segment, or
configured to use a particular DNS server?
3. Verify the TCP/IP settings on the client computer or domain controller to ensure that
the DNS client is configured to use the correct DNS server. The quickest way to verify
the settings is to use the Ipconfig /all command.
4. Verify that the DNS server has the correct information in its zone files. From any
computer, you can use the Nslookup.exe utility to determine if a particular record exists
in the DNS zone. For details on how to use the Nslookup command, see the “Using
NSlookup.exe” Knowledge Base article at http://support.microsoft.com/kb/200525.
5. Verify that the DNS suffixes are configured correctly. DNS suffixes are used in two ways
in Windows Server 2008 DNS. First of all, DNS suffixes are used when clients try to
resolve host names without specifying the fully qualified domain name. When the client
computer tries to resolve this name, it will append all of the DNS suffixes configured on
the client computer in an attempt to resolve the host name. If the correct DNS suffix is
not configured on the computer, the name resolution will fail.
DNS suffixes are also used by dynamic DNS. By default, the client computer will try to
register its host record in the zone identified by the primary DNS suffix that is the DNS
name for the computer’s domain. You can specify additional DNS suffixes and configure
the computer to register its DNS settings in each of the zones identified by the DNS suffix.
6. Verify that the DHCP Client service is enabled and set to start automatically. The DHCP
client service is required for dynamic updates to function, even if the computer is
configured with static IP addresses and is not using a DHCP server.
90
Part I:
Windows Server 2008 Active Directory Overview
7. Use Network Monitor to capture the network traffic between the DNS client and DNS
server. If DNS name resolution or dynamic name registration fails, capture the network
traffic created by the DNS request on both the client computer and the DNS server. The
network capture may indicate a configuration problem (for example, the DNS client is
trying to connect to the wrong DNS server) or may indicate a network problem (for
example, the client computer is sending the DNS query to the correct server, but the
query is being blocked by a firewall or other network setting).
8. Enable the Debug Logging option. You can collect detailed information on the Windows
Server 2008 DNS server by enabling debug logging on the server. To enable debug
logging, access the DNS server properties in the DNS console and select the check box
for Log packets for debugging. The dialog box is shown in Figure 3-12.
Figure 3-12 Enabling debug logging on a DNS server.
You may want to limit the traffic the logging captures. Filtering packets by IP address
can be especially helpful if you want to limit the logging to traffic between the server and
a specific DNS server.
9. If dynamic updates are failing, verify that the DNS zone is configured to allow dynamic
updates. If the zone is configured to allow only secure updates and the updates are
failing, change the zone configuration to allow nonsecure updates to determine whether
the problem is with secure updates or with both secure and nonsecure updates. If neither update is working, verify the client TCP/IP configuration and verify the DNS server
availability on the network. If only secure updates are failing, then follow these steps:
a. Verify that hosts are domain members. Dynamic updates are based on Kerberos
authentication, which requires that all client computers be domain members.
Chapter 3:
Active Directory Domain Services and Domain Name System
91
b. Verify that there is no problem with the machine account of the host trying the
update. If the problem is occurring on just one host, remove the host from the
domain and rejoin the domain.
c. Verify that a record does not already exist with the same name. By default, records
created by one host cannot be modified or removed by a different host. If there is
an existing record with the same name, delete the existing record and have the
host try to register again.
Troubleshooting SRV Record Registration
In addition to the general DNS troubleshooting steps, you may also need to troubleshoot
domain controller registration of the SRV records required to locate the domain controller
on the network. If a domain controller is not registering the SRV records in DNS, begin by
verifying the TCP/IP settings and DNS zone settings as described above. Also determine if the
domain controller is able to successfully register its host and PTR records. If the host and
PTR records are registering correctly and only the SRV records are affected, follow these steps:
1. Verify that the domain controller is trying to register the correct records. To do this,
stop the Netlogon service on the domain controller and then delete the Netlogon.dnb
and the Netlogon.dns files located in the %systemroot%\System32\Config folder. Then
start the Netlogon service. Verify that the Netlogon.dns file contains the correct SRV
records and verify that these records have been updated in DNS.
2. If the records did not update correctly, examine the System event log for errors. In
particular, look for events with event IDs of 5774, 5775, and 5781. Each of these event
IDs indicates a problem with the SRV record registration.
More Info
For more information, see Knowledge Base article 259277, “Troubleshooting
Netlogon Event 5774, 5775, and 5781,” located at http://support.microsoft.com/kb/
259277.
A common cause for these errors is that a domain controller references itself as a
primary DNS server in its TCP/IP properties. When the domain controller starts in this
configuration, the Netlogon service may start before the DNS service starts. Because
the Netlogon service must register records in DNS and the DNS service is not yet available,
errors may occur. In this situation, you can safely ignore the errors because the Netlogon
service will again try to register the records in approximately five minutes, at which time
it will be successful. The easiest way to avoid this issue is to configure domain controllers to use another DNS server to register the SRV records.
92
Part I:
Windows Server 2008 Active Directory Overview
Summary
DNS is an essential network service for Windows Server 2008 networks. Without a stable
DNS infrastructure, almost all logon and resource location efforts will fail. As a network
administrator for a Windows Server 2008 network, you must become a DNS expert. This
chapter discussed specifically the integration of DNS with AD DS.
Best Practices
■
DNS is the foundation for AD DS and other AD DS integrated applications such as
Microsoft Exchange Server. When users report issues with these services, a good first
step in troubleshooting the issues is to verify that DNS is working correctly.
■
You do not have to use AD DS integrated zones in DNS to support an AD DS deployment.
However, because of the tight integration between AD DS and DNS, we recommend that
you use AD DS integrated zones for the AD DS deployment, even if you are using other
DNS servers for other name resolution services.
■
If you are deploying multiple domains in your organization’s forest, and especially if
you are deploying multiple domain trees, ensure that all domain controllers in all
domains can resolve the DNS names for all other domain controllers in the forest. As a
best practice, use zone delegations and conditional forwarding to tie the various DNS
namespaces together.
Additional Resources
These resources contain additional information related to this topic:
Related Information
■
Chapter 4, “Active Directory Domain Services Replication,” the next chapter in this
book, provides details about how AD DS replication works—when you implement AD
DS integrated zones, the DNS information is replicated between domain controllers
using the same AD DS replication process as any other AD DS information.
■
Chapter 5, “Designing the Active Directory Domain Services Structure,” goes into detail
on designing the DNS deployment.
■
The DNS Technical Reference located at http://technet2.microsoft.com/WindowsServer/
en/Library/6e45e81e-fb44-4a20-a752-ebe740e2acc61033.mspx provides detailed information about DNS as a network service. Use this resource to supplement the AD DS integration content in this chapter.
■
The “What’s New in DNS in Windows Server 2008” Web page located at
http://technet2.microsoft.com/windowsserver2008/en/library/0b0bf633-5732-4b39-80
d3-a2a4330acb141033.mspx?mfr=true provides details on the new features in Windows
Server 2008 DNS.
Chapter 3:
Active Directory Domain Services and Domain Name System
■
RFC 2782: “A DNS RR for Specifying the Location of Services (DNS SRV)”
■
RFC 2136: “Dynamic Updates in the Domain Name System (DNS UPDATE)”
93
Related Tools
Windows Server 2008 provides several tools that can be used when managing DNS and
troubleshooting DNS issues. Table 3-3 lists some of these tools and when you would use each
of the tools.
Table 3-3
DNS Tools
Tool name
Description and Use
Ipconfig.exe
This tool runs on all Windows server and client operating systems.
Ipconfig displays all current TCP/IP network configuration values and refreshes
Dynamic Host Configuration Protocol (DHCP) and DNS settings.
Use IPconfig to ensure that the client TCP/IP settings are configured correctly.
Use this tool when a specific client is not able to resolve DNS names or if the
client is unable to register its resource record in DNS.
DNS Console
This tool is installed when the DNS server role is installed.
The DNS console is used to administer the DNS server role. It can be used to
modify all aspects of the DNS Server service, including creating and deleting
zones and resource records and forcing replication events between DNS server
physical memory and DNS databases. The DNS console can also be used to
enable debug logging and test name resolution on a network.
Dnscmd.exe
This tool is installed when the DNS server role is installed.
Dnscmd is a command-line tool that can be used to view and modify the
properties of DNS servers, zones, and resource records. Dnscmd can also be
useful for developing scripts for configuring a DNS server.
Dnslint.exe
This tool is a free download from Microsoft. (See http://support.microsoft.com/
kb/321045 for the download location.)
This tool can be used to help diagnose common DNS name resolution issues. It
can be targeted to look for specific DNS record sets and ensure that they are
consistent across multiple DNS servers. It can also be used to verify that DNS
records used specifically for AD DS replication are correct.
Network Monitor Microsoft Network Monitor 3.1 is available as a download from the Microsoft
Download Center (see http://www.microsoft.com/downloads/details.aspx?
familyid=18b1d59d-f4d8-4213-8d17-2f6dde7d7aac&displaylang=en).
Network Monitor captures data about the packets on a network and logs them
for subsequent analysis. The monitored data can be filtered many different ways
including protocol, ports, physical addresses, and logical addresses. Network
Monitor can be useful in many situations because it displays the actual network
packets sent during DNS lookups or DNS zone transfers.
94
Part I:
Windows Server 2008 Active Directory Overview
Table 3-3
DNS Tools (continued)
Tool name
Description and Use
Nslookup.exe
This tool is included in all Microsoft Windows server and client operating
systems.
Nslookup is used to query DNS servers and to obtain detailed responses. The
information obtained using Nslookup can be used to diagnose and solve name
resolution problems, verify that resource records are added or updated correctly
in a zone, and debug other server-related problems.
Nltest.exe
This tool is included in all Microsoft Windows server and client operating
systems.
This tool can be used to get a list of all domain controllers and query the status
of trusts between domain controllers.
Resources on the CD
■
ListAppPartitions.ps1 is a Windows PowerShell script that lists all of the application
directory partitions in your forest.
■
DNSConfig.xlsx is a Microsoft Office Excel spreadsheet that can be used to document
the DNS zone and DNS server configuration in your organization.
Related Help Topics
■
“Create the Default DNS Application Directory Partitions,” in DNS management console
help.
■
“Understanding Aging and Scavenging,” in DNS management console help.
■
“Understanding Dynamic Update,” in DNS management console help.
■
“Troubleshooting DNS,” in DNS management console help.
Chapter 4
Active Directory Domain
Services Replication
In this chapter:
AD DS Replication Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
Replication Process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
Replicating the SYSVOL Directory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
Intrasite and Intersite Replication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
Replication Topology Generation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
Configuring Intersite Replication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
Troubleshooting Replication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
Best Practices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
Additional Resources. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
In almost all cases, when you deploy an Active Directory Domain Services (AD DS) domain in
Microsoft Windows Server 2008, you should deploy more than one domain controller.
Deploying multiple domain controllers in each domain is the easiest and most effective way to
provide high availability for the domain controller services. These domain controllers might
all be located in one data center at the company head office where they are connected by very
fast network connections. Or they might be spread across many locations around the world,
with a variety of wide area network (WAN) connections linking the company locations.
Regardless of how many domain controllers a company has or where those domain controllers are located, they must replicate information with each other. If they cannot replicate the
information, the directories on the domain controllers will become inconsistent. For example,
if a user is created on one domain controller, and that information is not replicated to all the
other domain controllers, the user will only be able to authenticate to the domain controller
where the account was created.
This chapter describes the process of replication in AD DS. The focus of this chapter is on how
replication works; that is, on how the replication topology is created and how domain controllers replicate with each other. By default, when you install AD DS domain controllers, they
automatically begin replicating with each other. This default replication topology may not be
the most efficient for your organization, so this chapter describes ways that you can modify
95
96
Part I:
Windows Server 2008 Active Directory Overview
the replication configuration to meet your company requirements. In addition, this chapter
provides guidance on how to troubleshoot AD DS replication.
AD DS Replication Model
As described in Chapter 2, “Active Directory Domain Services Components,” AD DS is made
up of multiple logical partitions. Replication between the domain controllers with replicas of
each partition is handled in exactly the same way for all partitions. When an attribute is
changed in the configuration directory partition, it is replicated using the same model and
processes as when an attribute is changed in any other partition. The only thing that changes
is the list of domain controllers that will receive a copy of the replicated change. Also, replication between domain controllers in the same site is handled differently than it is between
domain controllers in different sites, but the essential model does not change. This section
describes the replication model used by AD DS.
AD DS uses a multimaster replication model. That means that changes to the AD DS data store
can be made on any domain controller except specifically configured read-only domain controllers (RODC). That is, every domain controller except the RODCs has a writable copy of
the directory, and there is no single domain controller where all changes have to be made.
After a change has been made, it is replicated to all the other domain controllers. This multimaster replication model addresses many important reliability and scalability issues. Because
all of the domain controllers provide the same services, no domain controller represents
a single point of failure.
Note
As discussed in Chapter 2, AD DS has specific operations master roles that can be held
by only one domain controller. These roles represent a single point of failure, but the roles
can also be easily moved or seized to another domain controller.
The replication model used by AD DS can be described as being loosely consistent, but with
convergence. The replication is loosely consistent because not all domain controllers with a
replica of a partition will always have identical information. For example, if a new user is
created on one of the domain controllers, the other domain controllers will not receive that
information until the next replication cycle. The replication always moves towards convergence,
however. If the system is maintained in a steady state, with no new changes made to the
directory for a period of time, all domain controllers will reach a state of convergence where
they all have identical information.
The replication model also uses a store-and-forward replication process. This means that a
domain controller can receive a change to the directory and then forward the change to other
domain controllers. This is advantageous when multiple domain controllers in a number of
company locations are separated by slow WAN links. A change to the directory can be replicated from one domain controller in one site to a single domain controller in another site. The
Chapter 4:
Active Directory Domain Services Replication
97
domain controller that receives the update can then forward the changes to other domain
controllers in the second site.
AD DS also uses a state-based replication model. This means that each domain controller
tracks the state of replication updates. As a domain controller receives new updates (either
from changes being made on the domain controller or through replicated changes from
another domain controller), the domain controller applies the updates to its replica of the AD
DS data store. When another domain controller attempts to replicate information that a
domain controller already has, the receiving domain controller can determine by the state of
its data store that it does not need to get the duplicate information. The current state of the
data store includes metadata that is used to resolve conflicts and to avoid sending the full
replica on each replication cycle.
Replication Process
Features such as multimaster replication and store-and-forward replication mean that a
domain controller could receive AD DS updates from multiple domain controllers and that
AD DS replication traffic could take more than one path between domain controllers. For
example, if a change is made to AD DS on DC1, the change could be replicated directly to DC2
and DC3. Because of the store-and-forward replication model, DC2, after receiving the update
from DC1, may try to replicate the same change to DC3. AD DS replication is designed to
ensure that the replication process is efficient while still providing redundancy.
Update Types
Two types of changes can be made to the AD DS information on a particular domain
controller. The first type of update is an originating update. An originating update is performed
when an object is added, modified, or deleted on a domain controller. The second type of
update is a replicated update. A replicated update is performed when a change made on another
domain controller is replicated to the local domain controller. By definition, there can be only
one originating update performed for any particular change, and this occurs on the domain
controller where the change is made. This originating update is then replicated to all the
domain controllers that have a replica of the affected AD DS partition.
Originating updates occur in AD DS under any of the following circumstances:
■
A new object is added to AD DS Adding a new object to AD DS creates an object with a
unique objectGUID attribute. As well, all values assigned to attributes that are configured
for the object are assigned a version number of 1.
■
An existing object is deleted from AD DS When an object is deleted from AD DS, it is
marked as deleted, but not immediately removed from the AD DS data store. Only after
the tombstone expires on the object is the object actually deleted. For more details, see
the section “Replicating Object Deletions” later in this chapter.
98
Part I:
■
Windows Server 2008 Active Directory Overview
The attributes for an existing object are modified This modification can include adding
a new value to an attribute, deleting a value for an attribute, or modifying an existing
value. When you change an object, the modify request compares the new value for each
attribute with the existing value. If the value for an attribute has not changed, the
attribute is not updated. If the value has changed, the attribute is updated and the
version number for each updated attribute is incremented by one.
■
An object in AD DS is moved to a new parent container If the parent container is
renamed, each object in the container is also moved to the renamed container. When an
object is moved to another container in AD DS, the only attribute that changes for the
object is the name attribute, which is changed to reflect the new location in the LDAP
hierarchy.
All originating updates to AD DS are atomic operations, which means that when an update is
committed to AD DS, either the entire transaction is committed and the change is made to the
data store, or no part of the update will be committed. For more information on the process of
committing changes to the AD DS data store, see Chapter 14, “Monitoring and Maintaining
Active Directory.”
The Replication Process in Windows Server 2008
Windows Server 2003 introduced several important changes to the replication process
that are also available in Windows Server 2008. One change is the linked value replication. In Windows 2000, the smallest unit of replication is an attribute. This means that
in some cases, changing one value in a multivalued attribute can create a significant
amount of replication traffic. The most common example of this is what happens with
universal group membership. Because the entire membership list for the universal group
is one attribute, adding a single user to the universal group results in significant replication, especially when the group already has several thousand members. In Windows
Server 2003 Active Directory and Windows Server 2008 AD DS, multivalued attributes
like group membership can be updated by replicating only the change to the attribute by
using linked value replication.
AD DS uses linked attributes to enable linked value replication. Linked attributes always
include a forward link and backward link to create a link between two AD DS objects.
The forward link is the linked attribute on the source object (for example, the member
attribute on the group object), whereas the backward link is the linked attribute on the
target object (for example, the memberOf attribute on the user object). A backward link
value includes the distinguished names of all the objects that have the object’s distinguished name set in their corresponding forward link.
Chapter 4:
Active Directory Domain Services Replication
99
The relationships between linked attributes are stored in a separate table in the directory
database as link pairs. The matching pair of Link IDs ties the attributes together. For
example, the member attribute has a link ID of 2 and the memberOf attribute has a link ID
of 3. Because the member and the memberOf attributes are linked in the database and
indexed for searching, the directory can be examined for all records in which the link
pair is member/memberOf and the memberOf attribute identifies the group.
Another important change in Windows Server 2003 Active Directory is the support for
groups of more than 5,000 members. In Windows 2000, groups cannot contain more
than 5,000 members because of the attribute-level updates and replication. The practical limit for committing a change to the directory database in one transaction is 5,000.
This also defines the maximum number of updates that can be replicated in one update
during replication. As a result, the maximum group size in Windows 2000 is 5,000
members. In Windows Server 2008 AD DS, support for modifications of only one value
on a multivalued linked attribute removes these restrictions.
Replicating Changes
After an originating update has been committed to AD DS, the change must be replicated to
other domain controllers that host a replica of that partition. Within a site, the domain
controller where the originating update occurred waits 15 seconds before replicating the
changes to its direct replication partners. The 15-second wait occurs so that if multiple updates
are committed to the database, they can all be replicated at the same time. This increases
the efficiency of the replication. Between sites, the originating update will be replicated to
replication partners based on the schedule configured on the site link.
When replicating changes to the directory information, the domain controllers require a
mechanism for managing the flow of replication. To optimize AD DS replication, only those
changes that need to be replicated between two domain controllers should be sent. To accomplish this, the domain controllers should be able to determine which, if any, changes have not
yet been replicated, and then replicate only those changes that are required. AD DS uses a
combination of update sequence numbers (USNs), high-watermark values, up-to-dateness
vectors, and change stamps to manage directory replication.
Update Sequence Numbers
When an object is updated in the database, an update sequence number (USN) is assigned to
the update. The USN is specific to the domain controller where the update occurred. For
example, if a telephone number update for one user was assigned USN 5555, the next change
to the domain controller, regardless of which object was modified, would be USN 5556. One
USN is assigned for each committed change. If multiple attributes are changed with one
100
Part I:
Windows Server 2008 Active Directory Overview
update (for example, a user’s address, telephone number, and office location are all modified
at once), only one USN is assigned during the update.
There are three ways that the USN is used when an update is committed. First, the local USN
value is stored with the attribute that was updated. The local USN value identifies the USN of
the changed attribute. The second way the USN is used is for the object’s uSNChanged
attribute. This attribute is stored with each object and identifies the highest USN for any
attribute for the object. For example, suppose a user’s telephone number was changed and the
USN applied to that change was 5556. Both the local USN and the uSNChanged attribute will
be set to 5556. If the next update applied to the directory on that server were an address
change for the same user, the local USN on the address attribute and the uSNChanged
attribute for the user object would both be changed to 5557. However, the local USN for the
telephone number attribute would remain at 5556, because that was the USN for the last
update that changed that particular attribute.
The local USN and the uSNChanged attribute are applied for both originating and replicated
updates. The last way the USN is used is as the originating USN for the attribute. This value is
set only for originating updates and is replicated to all other domain controllers as part of the
attribute replication. When the telephone number for a user is changed on a server, the USN
for the change is assigned to the originating USN value. When the modified telephone
number is replicated to another domain controller, the originating USN is sent along with the
update, and this value is not modified on the destination domain controller. The local USN
and the uSNChanged attribute will be modified on the destination domain controller (and will
be specific to that domain controller), but the originating USN is not changed until the
attribute itself is updated again. The originating USN is used for propagation dampening,
which is described later in this chapter.
Viewing USN Information
The USNs for any object can be viewed through different administrative tools included
with Windows Server 2008. The easiest way to view the current and original USN values
for an object is to use the Active Directory Users And Computers administrative tool. To
view this information, turn on Advanced Features under the View menu and then access
the Object tab in the object’s Properties sheet. Remember that the USN number is
domain controller-specific, so that if you view the USN for an object on two different
domain controllers, the USN will be different.
One way to view the local USN, originating domain controller, originating USN, and
time stamp for any attribute is by using the Repadmin command-line tool. Type
repadmin /showobjmeta domaincontrollername objectdistinguishedname at
a command prompt. Figure 4-1 shows the partial output from this command.
Chapter 4:
Figure 4-1
Active Directory Domain Services Replication
101
Viewing replication metadata using Repadmin.
In this output, you can see that the user was created on SEA-DC1, but then the description and telephoneNumber attributes were modified on SEA-DC2. The originating USNs
for all of the attributes except these two are from SEA-DC1, but the originating USNs for
the description and telephoneNumber attributes are from SEA-DC2. However, the local
USN numbers are all from SEA-DC1, which is the domain controller where this information was captured. As well, the version number for these two attributes is 2, indicating
that the attribute has been modified from the original version.
You can also access the same replication information through the Ldp tool. To do this,
connect and bind to a domain controller using Ldp, locate the object, and then rightclick the object, select Advanced, and then select Replication Metadata. The replication
metadata is the same information as is shown in the Repadmin tool, except that the originating DSA information is shown using the domain controller globally unique identifier (GUID) rather than the display name.
High-Watermark Values
The high-watermark values are used to manage what information is replicated between
domain controllers. Each domain controller maintains its own set of high-watermark values
for each of its direct replication partners. The high-watermark is just the latest uSNChanged
value that the domain controller has received from a specific replication partner. When a
domain controller sends an update to a replication partner, the uSNChanged value is sent
102
Part I:
Windows Server 2008 Active Directory Overview
along with the update. The destination domain controller retains this uSNChanged as the
high-watermark value for the replication partner.
The high-watermark values are used during the process of replication. When one domain controller requests updates from another domain controller, the destination domain controller
sends its high-watermark value for use by the source domain controller. In effect, the highwatermark is telling the source domain controller which updates the destination domain controller has already received. The source domain controller uses the destination domain controller’s high-watermark to filter all of the potential directory updates and sends only the
changes with a higher uSNChanged value.
Note A separate high-watermark value is maintained for each directory partition on the
domain controller and for each direct replication partner.
Up-to-Dateness Vectors and Propagation Dampening
The up-to-dateness vectors are also used to control what information is replicated between
domain controllers. The up-to-dateness vectors are used to keep track of all of the originating
updates that a domain controller has received from any domain controller. For example,
suppose the telephone number for a user is changed on DC1 and the attribute is given the
originating USN of 5556. When this attribute is replicated to DC2, the originating USN is
replicated with the updated attribute. Also, the server GUID for DC1 is replicated with the
attribute. When DC2 receives this update, it will modify its up-to-dateness vector to show that
the latest originating update it received from DC1 is now 5556.
When a destination domain controller requests updates from a source domain controller, it
includes its up-to-dateness vectors with the request. The source domain controller then uses
this information to filter the list of all possible updates it could send to the destination domain
controller. This option is important when there are more than two domain controllers for a
directory partition. For example, if DC3 is added to the scenario described in the preceding
paragraph, the telephone number change made on DC1 will be replicated to both DC2 and
DC3. Now both DC3 and DC2 will have the updated telephone number, and they will modify
their up-to-dateness vector to show that the latest update both of them received from DC1 had
an originating USN of 5556. About 15 seconds after receiving this update, DC2 will notify
DC3 that it has updated information. When DC3 requests the directory updates from DC2, it
will include its up-to-dateness vector with the request. In this case, DC2 determines that
DC3’s up-to-dateness vector for DC1 already has the most recent originating USN. If this telephone number update were the only change made to the directory during this time period, no
information would be replicated between the DC2 and the DC3 domain controllers.
This process of limiting the updates sent during replication by using the up-to-dateness vector
is called propagation dampening. This is an important feature because AD DS is designed to
create redundant replication connections between domain controllers. One of the problems
Chapter 4:
Active Directory Domain Services Replication
103
with creating the redundant links is that the same updates might be sent to a domain controller
from multiple replication partners. This could create a significant amount of unnecessary
replication traffic, as well as potentially leading to a situation where the same update is sent
repeatedly to all domain controllers (resulting in a replication loop). Propagation dampening
using the up-to-dateness vector eliminates this possibility.
The high-watermark and up-to-dateness vector are used together to limit replication traffic.
The high-watermark identifies the latest change that a domain controller received from
another specific domain controller, so the source domain controller does not need to resend
changes. The up-to-dateness vector identifies the most recent changes that have been received
from all other domain controllers that contain a replica of the partition, so that the source
domain controller does not have to send any directory updates that the destination domain
controller has received from another replication partner.
Change Stamps and Conflict Resolution
The last property that is used to manage the replication between domain controllers is a
change stamp. Whenever an attribute is updated, this modification is marked with the change
stamp. The change stamp is then sent with the update when it is replicated to other domain
controllers. The change stamp is used to determine which change will be accepted in the case
of a replication conflict. The change stamp consists of three components:
■
Version number This is used to track the number of changes that have been made to an
attribute on an object. When an object is created, the version number on all attributes
is set to 0 if the attribute is left blank. When a blank attribute is assigned a value, the
version number is incremented to 1. Whenever the attribute is updated, the version
number increments by one each time.
■
Last write time
■
Originating server This is the GUID for the server where the last originating update to
the attribute was applied.
This is used to track when the last write occurred to the attribute.
The time value is recorded on the server where the attribute is updated and is replicated
with the object to other domain controllers.
These three components form the change stamp for every modification to an attribute. When
the attribute is replicated to another domain controller, this change stamp information is
replicated with the attribute. If an attribute is changed on one domain controller and the same
attribute is changed on another domain controller before the update is replicated to the
second domain controller, this change stamp is used to determine which attribute is accepted
as the final change. If a conflict arises, the decision as to which is the final change is made
in the following order:
The change with the highest version number is always accepted. This
means that if the change on one domain controller is version 3, and the change on
the other domain controller is version 4, the version 4 change will always be accepted.
1. Version number
104
Part I:
Windows Server 2008 Active Directory Overview
The next value used to determine which value is accepted is the last
write time. If the version numbers are identical, the change with the most recent time
stamp will be accepted.
2. Last write time
3. Server GUID If the version numbers are identical and the time stamps are identical, the
server database GUID is used to determine which change is accepted. The change coming
from the server with the higher GUID will be accepted. These GUIDs are assigned when the
domain controllers are added to the domain and the assignment of the GUID is arbitrary.
The AD DS replication process is able to resolve conflicts that are created when the same
attribute on an object is modified on two domain controllers at the same time. However, there
are at least two other types of conflicts that can arise:
■
Adding an object or modifying an object on one domain controller at the same time that
the container object for the object is deleted on another domain controller: Take an
example in which on one domain controller a new user is added to the Accounting organizational unit (OU). At the same time, on another domain controller, another administrator deletes the Accounting OU. In this case, the container will be deleted on all
domain controllers through replication, and the object that was added to the deleted
container will be moved to the LostAndFound container in AD DS.
■
Adding objects with the same relative distinguished name into the same container: An
example of this conflict is when an administrator on one domain controller creates a user
object with a relative distinguished name of Bill in the Accounting OU, and at the same
time, on another domain controller, a user with the same relative distinguished name is
moved into the same OU or created in the same OU. In this case, the conflict resolution
model will use the GUID assigned to the directory updated to determine which object is
kept and which object is renamed. The object with the higher GUID is retained, and the
object with the lower GUID is renamed to Bill*CNF:userGUID, where the number sign (*)
is a reserved character. If the second user object is required, it can be renamed.
Replicating Object Deletions
The replication of object deletions is handled differently in AD DS than other directory updates.
When an object like a user account is deleted, the object is not immediately deleted. Rather, a
tombstone object is created. The tombstone object is the original object where the isDeleted
attribute has been set to true, and most of the other attributes for the object are removed from it.
Only a few attributes that are required to identify the object, such as the GUID, SID, SIDHistory,
and distinguished name, are retained. Deleted objects are stored in the Deleted Objects hidden
container. Every directory partition has a Deleted Objects container.
Note To view the Deleted Objects container in a directory partition, use a tool like Ldp. After
connecting and binding to the directory partition, access the Controls option on the Options
menu. In the Controls dialog box, add the Return Deleted Objects control. After adding the
control, you will be able to view the CN=Deleted Items container when you view the directory tree.
Chapter 4:
Active Directory Domain Services Replication
105
This tombstone is then replicated to other domain controllers in the domain. As each domain
controller receives the update, the modifications that were made on the originating domain
controller are applied to each domain controller. The tombstone objects remain in the domain
database for a specified period of time, called the tombstone lifetime. At the end of the tombstone lifetime, set to 180 days by default, each domain controller removes the tombstone from
its copy of the database. This process of removing the tombstones from the database is called
garbage collection. By default, the garbage collection interval for the forest is set at every 12 hours.
This means that every 12 hours, the garbage collection process runs and deletes any tombstones that have passed the tombstone lifetime value.
Note
The default tombstone lifetime in versions of Active Directory before Windows Server
2008 has varied. In Windows 2000 and Windows 2003 Active Directory, the tombstone lifetime
was 60 days. In Windows 2003 SP1, this value was increased to 180 days, but it was changed
back to 60 days in Windows Server 2003 R2. If you upgrade an existing domain with a 60-day
tombstone to Windows Server 2008, the 60-day tombstone lifetime is retained. The tombstone
lifetime and the garbage collection interval can be modified using ADSI Edit or Ldp.exe. These
properties are configured on the CN=Directory Service,CN=Windows NT,CN=Services,CN=
Configuration, DC=ForestRootDomain object. The garbageCollPeriod and the tombstoneLifetime attributes define these settings. In most cases, these values do not need to be modified.
Linked attributes can result in special cases when deleting objects. When an object is deleted,
the following changes are made to the linked attributes:
■
All of the forward links on the deleted object are removed. For example, if a group object
is deleted, all of the member links on the group object are removed. This means that
the group is removed from the memberOf back-link attribute on each user that was a
member of the group.
■
All the back-links on the deleted object are removed. For example, if a user is deleted,
the user’s distinguished name value is removed from the member attributes of each
group object that is named in the memberOf attribute of the deleted user.
After the linked attribute has been modified on one domain controller, the updates are
replicated to other domain controllers just like any other updates.
Important
Because of how linked attributes are deleted, you have to treat the authoritative
restore of these objects differently than if you are restoring objects without linked attributes.
For details, see Chapter 15, “Active Directory Disaster Recovery.”
Replicating the SYSVOL Directory
Changes to the AD DS data store are made using the process described previously. However,
the System Volume (SYSVOL) folder on each domain controller also contains information
that is critical to the correct functioning of AD DS. The SYSVOL shared folder contains the
106
Part I:
Windows Server 2008 Active Directory Overview
following files and folders that must be available and synchronized between domain controllers
in a domain:
■
Group Policy settings SYSVOL contains a folder with the name of the domain that the
domain controller is a member of. In the domain folder is a folder called Policies that
contains Group Policy templates and scripts for Windows 2000 or later clients.
■
The NETLOGON shared folder This includes system policies (Config.pol or Ntcon-
fig.pol files) and user-based logon and logoff scripts for pre-Windows 2000 network
clients, such as clients running Windows 98 or Windows NT 4.0. The NETLOGON
shared folder is the Scripts folder in the domain folder.
The contents of SYSVOL folder are replicated to every domain controller in a domain. If the
domain is at Windows Server 2003 or lower functional level, the File Replication Service
(FRS) is responsible for replicating the contents of the SYSVOL folder between domain controllers. When you upgrade the domain functional level to Windows Server 2008, Distributed
File System Replication (DFSR) is used to replicate the contents of the SYSVOL folder. In both
cases, the connection object topology and schedule that the Knowledge Consistency Checker
(KCC) creates for Active Directory replication is used to manage replication between domain
controllers.
Note Distributed File System (DFS) Replication is a state-based, multimaster replication
engine introduced in Windows Server 2003 R2 that supports replication scheduling and bandwidth throttling. DFS Replication uses a new compression algorithm that is known as Remote
Differential Compression (RDC). Using RDC, DFS Replication replicates only the differences (or
changes) between the two servers, resulting in lower bandwidth use during replication. For
more information on DFSR, see the article “Overview of the Distributed File System Solution in
Microsoft Windows Server 2003 R2” at http://technet2.microsoft.com/windowsserver/en/
library/d3afe6ee-3083-4950-a093-8ab748651b761033.mspx?mfr=true.
Intrasite and Intersite Replication
The description of how AD DS replication works applies to both intrasite and intersite replication. In both cases, the domain controllers use the same processes to optimize the replication process. However, one of the main reasons to create additional sites in AD DS is to
manage replication traffic. Because all of the domain controllers within a site are assumed to
be connected with fast network connections, replication between these domain controllers is
optimized for maximum speed and reduced latency. However, if the replication traffic has to
cross a slow network link, conserving network bandwidth is a much more significant issue.
Creating multiple sites allows for this conservation of network bandwidth by enabling
features such as data compression and scheduled AD DS replication.
Chapter 4:
Active Directory Domain Services Replication
107
Intrasite Replication
The primary goal for replication within a site is to reduce replication latency, that is, to make
sure that all domain controllers in a site are updated as quickly as possible. To accomplish
this goal, intrasite replication traffic has the following characteristics:
■
The replication process is initiated by a notification from the sending domain controller.
When a change is made to the database, the sending computer notifies a destination
domain controller that changes are available. The changes are then pulled from the
sending domain controller by the destination domain controller using a remote procedure call (RPC) connection. After this replication is complete, the domain controller
notifies another destination domain controller, which then pulls the changes. This
process continues until all the replication partners have been updated.
■
Replication occurs almost immediately after a change has been made to the AD DS information. By default, a domain controller will wait for 15 seconds after a change has been
made and then begin replicating the changes to other domain controllers in the same
site. The domain controller will complete replication with one partner, wait 3 seconds,
and then initiate replication with another partner. The reason the domain controller
waits 15 seconds after a change is to increase the efficiency of the replication in case
additional changes are made to the partition information.
■
The replication traffic is not compressed. Because all the computers within a site are
connected with fast network connections, the data is sent without compression.
Compressing the replication data adds an additional load on the domain controller
server. Uncompressed replication traffic preserves server performance at the expense of
network utilization.
■
Replication traffic is sent to multiple replication partners during each replication cycle.
Whenever a change is made to the directory, the domain controller will replicate the
information to all direct replication partners, which might be all or some of the other
domain controllers in the site.
Modifying Intrasite Replication
In most cases, you will not need to modify how replication works within a site. However,
there are some settings that you can modify in specific situations. These settings include:
■
Wait time If your AD DS forest is running in Windows Server 2003 or Windows
Server 2008 functional level, you can modify the time that the domain controller
will wait before notifying the first replication partner and before notifying
subsequent replication partners. To do this, open the Configuration partition in
ADSIEdit and browse to the CN=Partitions,CN=Configuration,DC=forestname
folder. In the folder, right-click the partition where you want to modify the
replication settings. The value for the delay in notifying the first replication partner
is stored in the msDS-Replication-Notify-First-DSA-Delay attribute. The default value
108
Part I:
Windows Server 2008 Active Directory Overview
is not displayed but is set at 15 seconds. The value for subsequent notification delay
is stored in the msDS-Replication-Notify-Subsequent-DSA-Delay attribute. The
default value is 3 seconds. If your organization contains Windows 2000 Server
domain controllers, you must modify the registry on the Windows 2000 Server
domain controllers to modify the default settings of 300 seconds to notify the first
replication partner and 30 seconds for subsequent notifications. You can also use
“repadmin computername /notifyopt namingcontext /first:timeinseconds /subs:
timeinseconds” to set the replication wait times. To reset the wait times to the
default values, use the same command with no values assigned to the time settings.
■
Strict replication consistency Strict replication consistency determines how outdated objects are replicated from reconnected domain controllers that have not
replicated in longer than a tombstone lifetime. For example, if a domain controller
that is offline while an object is deleted remains offline for the entire tombstone
period, the tombstone is never replicated to the server. When the server is reconnected to the network, it will try to replicate the object to other domain controllers.
If the destination domain controller has strict replication consistency enabled, it
will not accept the inbound replication of an outdated object. By default, Windows
Server 2008 enforces strict replication consistency. You can modify this by setting
the value of the HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\
Services\NTDS\Parameters\Strict Replication Consistency key to 0.
■
Amount of data that is replicated in each replication packet By default, the number of objects Windows Server 2008 domain controllers will replicate in a single
packet is 1/1,000,000th the size of RAM, with a minimum of 100 objects and a
maximum of 1,000 objects. The maximum size of objects that will be replicated is
1/100th the size of RAM, with a minimum of 1 megabyte (MB) and a maximum of
10 MB. You can modify these settings by creating the Replicator intrasite packet
size (objects) and Replicator intrasite packet size (bytes) values in the
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\NTDS\
Parameters path.
Caution Before making any changes to the default settings for intrasite replication, make sure
that you test the changes thoroughly. In most cases, these settings do not need to be modified.
Intersite Replication
The primary goal of replication between sites is to reduce the amount of bandwidth used for
replication traffic. This means that intersite replication traffic has the following characteristics:
■
Replication is initiated according to a schedule rather than when changes are made. To
manage replication between sites, you must configure a site link connecting the two
sites. One of the configuration options on the site link is a schedule for when replication
Chapter 4:
Active Directory Domain Services Replication
109
will occur. Another is the replication interval setting for how often replication will occur
during the scheduled time. If the bandwidth between company locations is limited,
the replication can be scheduled to happen during nonworking hours.
■
Replication traffic is compressed down to about 40 percent of the noncompressed size
when replication traffic is more than 32 KB in size. To save bandwidth on the network
connection, the bridgehead servers in each site compress the traffic at the expense of
additional CPU usage.
■
Notifications are not used to alert a domain controller in another site that changes to the
directory are available. Instead, the schedule determines when to replicate.
Note
You can disable compression for intersite replication and enable notifications.
For more details, see the section titled “Configuring Intersite Replication” later in this
chapter.
■
Intersite replication connections can use either an Internet Protocol (IP) or a Simple
Mail Transfer Protocol (SMTP) transport. SMTP can be used as a transport protocol only
for the configuration, schema, and application directory partitions, not for the domain
partition. The connection protocol you use is determined by the available bandwidth
and the reliability of the network that connects company locations.
■
Replication traffic is sent through bridgehead servers rather than to multiple replication
partners. When changes are made to the directory in one site, the changes are replicated
to a single bridgehead server (per directory partition) in that site, and the changes are
then replicated to a bridgehead server in the other site. The changes are replicated from
the bridgehead server in the second site to all the domain controllers in that site.
■
You can easily modify the flow of replication between sites. Almost every component of
intersite replication can be changed.
Important
One of the key elements in designing AD DS is site design. Site design includes
planning the number and location of sites plus the configuration of intersite connections to
optimize the use of network bandwidth while minimizing the replication latency. Configuration
options for the intersite connections are discussed later in this chapter, and site design issues
are discussed in Chapter 5, “Designing the Active Directory Domain Services Structure.”
Replication Latency
Because of the way replication works in Windows Server 2008 AD DS, it can take some time
for a change made on one domain controller to be replicated to all the other domain controllers in an organization. This time lag is called the replication latency. In most cases, the replication latency is easy to calculate, especially within a site. As mentioned earlier, any change
made to the data store on one domain controller will be replicated to that domain controller’s
110
Part I:
Windows Server 2008 Active Directory Overview
replication partners in about 15 seconds. The destination domain controller will hold that
change for 15 seconds and then pass it on to its replication partners. So the replication latency
within a site is about 15 seconds times the number of hops the change has to take before
reaching all domain controllers. As explained in the next section, the replication topology
within a site never requires more than three hops, so the maximum replication latency within
a site will usually be less than one minute.
Determining the replication latency between sites is more difficult. First of all, you must calculate the replication latency within the source site. This replication latency is the amount of
time it takes for a change made on a domain controller in the site to be replicated to the source
site’s bridgehead server. After the information arrives at the originating site’s bridgehead
server, the site link schedule and replication interval determine the amount of time it takes for
the information to get to the destination site. The default configuration for site links is to replicate every three hours. If this configuration is not changed, a maximum of three hours will
be added to the replication latency. When the information arrives at the bridgehead server in
the destination site, the intrasite replication latency for the destination site must be added. In
some cases, this replication latency might be unacceptable. To minimize this, you can shorten
the replication interval to a minimum of 15 minutes for intersite replication.
Managing replication latency is a matter of balancing the need for a short latency period and
bandwidth limitations. If you want the shortest possible latency period, you should put all the
domain controllers in the same site, and the replication latency will be about one minute for
all domain controllers. However, if your company locations are separated by WAN connections with limited bandwidth, you will require multiple sites so that you can manage network
utilization for AD DS replication, but replication latency will be higher.
Urgent Replication
In some cases, the replication latency described in the previous section is too long. In particular, this is the case when a security-related attribute has been modified in the directory. For
these situations, AD DS uses urgent replication, in which a domain controller forwards the
changes immediately to its replication partners. Any domain controller receiving an urgent
update will also immediately forward the change. In this way, all domain controllers in the site
are updated within seconds. The following types of changes trigger an urgent replication:
■
Modifying the account lockout policy for the domain
■
Modifying the domain password policies
■
Moving the relative identifier (RID) master to a new domain controller
■
Changing a Local Security Authority (LSA) secret, such as when the domain controller
machine password is modified
■
Locking out a user account when a user attempts to log on too many times using an
incorrect password
Chapter 4:
Active Directory Domain Services Replication
111
By default, urgent updates apply only to intrasite replication and not to intersite replication.
This default handling of urgent updates can be modified by enabling notification for replication between sites.
User password changes are not replicated using the same urgent replication model. Instead,
when a user changes his or her password on a domain controller, the password change is
immediately replicated directly to the PDC emulator for the domain. This replication crosses
site boundaries and does not make use of the bridgehead servers in each site. Instead, the
domain controller where the change was made uses an RPC connection to the PDC emulator
to update the password. The PDC emulator then updates all the other domain controllers
through the normal process of replication. If the user tries to log on to a domain controller
that has not yet received the new password, the domain controller will check with the PDC
emulator to see if there are any updated password changes for the user before denying
the logon.
Replication Topology Generation
One of the keys to understanding AD DS replication is understanding how the replication
topology is created. By default, the process of creating the replication topology is handled
automatically by AD DS. Although the replication topology can be manually configured, in
most cases the default configuration by the system is the best option.
In order for the replication topology to be successfully created, the following components
must be in place:
■
Routable IP infrastructure In order to configure intersite replication, you need to config-
ure AD DS sites and map the sites to IP subnet address ranges. Domain controllers and
client computers use this IP subnet to site mapping when locating domain controllers.
■
DNS AD DS replication topology requires DNS in order for domain controllers locate
replication partners. DNS also stores SRV resource records that provide site affinity
information to clients searching for domain controllers.
■
Netlogon service Netlogon is required for DNS registrations. As well, the Netlogon service must be running for AD DS to function.
■
Remote Procedure Call (RPC) connectivity AD DS domain controllers must be able to
connect to other domain controllers in the same domain by using RPCs. RPCs must be
used between domain controllers in the same site and in different sites if the domain
controllers are in the same domain. SMTP is an alternative protocol that can be used by
domain controllers in different domains and sites.
■
Intersite Messaging Intersite Messaging is required for SMTP intersite replication and
for site coverage calculations. If the forest functional level is Windows 2000, Intersite
Messaging is also required for intersite topology generation.
112
Part I:
Windows Server 2008 Active Directory Overview
Knowledge Consistency Checker
Knowledge Consistency Checker (KCC) is the process that runs on every domain controller
to create the replication topology within a site and between sites. As soon as a domain controller is added to an AD DS forest, KCC begins creating a replication topology that is both efficient and fault tolerant. As additional domain controllers are added to a site or as additional
sites are added, KCC uses the information about servers, sites, site links, and schedules to
create the optimal replication topology.
The KCC runs on each domain controller. It uses the forest information stored in the configuration directory partition on each domain controller to create a replication topology. Because
all domain controllers use the same configuration information and the same algorithm for
creating the topology, the topology is created without direct communication between KCC
components on different domain controllers. The KCC communicates with other KCCs only
to make an RPC request for replication error information.
KCC also dynamically deals with changes or failures within the replication topology. If one of
the domain controllers is offline for a period of time, KCC revises the replication topology to
work around the unavailable domain controller. By default, KCC on every domain controller
recalculates the replication topology every 15 minutes. You can force KCC to recalculate the
replication topology at any time through the Active Directory Sites And Services administrative tool by locating the server where you want to check the replication topology, right-clicking
the NTDS Settings container in the server container, selecting All Tasks, and then selecting
Check Replication Topology. You can also force the domain controller to recalculate the replication topology by using the Repadmin /kcc domaincontrollername command.
Connection Objects
When KCC creates the replication topology, it creates a series of connection objects that are
stored in the configuration directory partition of AD DS. The connection objects are direct logical connections between domain controllers that are used to replicate directory information.
KCC tries to create a replication topology that is both efficient and fault-tolerant. KCC builds
as many connection objects as are required to achieve these goals.
Connection objects are always created as one-way pull connections between two domain
controllers. This is because the normal process of replication is always a pull operation where
the destination domain controller requests the information from a sending domain controller.
In most cases, KCC will build two one-way connections between domain controllers so that
information can be replicated either way.
In most cases, the connection objects automatically created by KCC are optimized and you do
not need to make any changes. However, in some cases you might want to modify the connection objects. For example, you may need to modify the connection object to aid in troubleshooting AD DS replication.
Chapter 4:
Active Directory Domain Services Replication
113
You can modify the default connection objects in two ways: by modifying some settings on
connection objects created by KCC and by adding new connection objects.
Modifying a Connection Object Created by KCC
You can modify the schedule and the source domain controller for a connection object within
a site, and you can also modify the transport protocol for connection objects between sites.
The connection interface is shown in Figure 4-2. By default, domain controllers within a site
will check all their replication partners for missed updates every 15 minutes. You can change
that schedule to never check or to check every hour or every half hour. When you modify the
connection object, it is renamed from <automatically generated> to the object’s globally unique
identifier (GUID). You can rename the object after modifying it.
Figure 4-2
Modifying an existing connection object.
Creating a New Connection Object
You can also create an entirely new connection object to force a particular replication topology. When you create a connection object, you are given a choice of which domain controller
to pull changes from. You can also modify any of the other settings on the connection
agreement.
KCC will not delete or modify any connections that have been manually modified or created.
However, KCC will use the manual connection objects as it would use any other connection,
and KCC might reconfigure the connection objects in the site to compensate for the manually
created connections.
114
Part I:
Windows Server 2008 Active Directory Overview
Intrasite Replication Topology
Within a single site, KCC will create a replication topology that includes redundant links.
The primary goal for designing AD DS replication is availability and fault tolerance. The
unavailability of a single domain controller should not cause AD DS replication to fail. The
disadvantage of using redundant links is that a domain controller might receive the same
update several times, because each domain controller will have multiple replication partners.
As described earlier, AD DS replication uses propagation dampening to avoid multiple
updates of the same information.
As domain controllers with replicas of particular AD DS partitions are added to the organization, KCC automatically begins creating the replication topology. This topology forms a replication ring. Figure 4-3 shows an example of a simple network structure with three domain
controllers in the same domain and in a single site.
DC1.Adatum.com
DC3.Adatum.com
DC2.Adatum.com
Figure 4-3
A simple replication ring.
As shown in Figure 4-3, KCC creates a replication ring in which every domain controller is
configured with two incoming replication connections. If one of the connections is not available, updates can still arrive on the other connection. Also, each domain controller is configured as the source domain controller for two other domain controllers. This creates a
redundant ring for each domain controller. As the number of domain controllers with a replica of a particular partition increases, a second principle for creating connections becomes
important. KCC will always create a replication topology in which each domain controller in
a site is no more than three replication hops away from any other domain controller. As the
number of domain controllers with the same directory partition in a site increases beyond
seven, extra connection objects are created to decrease the potential number of hops to three
or fewer. For example, the site shown in Figure 4-4 has nine domain controllers. It would have
a replication topology that would include at least one additional connection.
Replication rings are based on directory partitions. This means that KCC calculates a replication ring for each directory partition. For example, an organization might have multiple
domains in a single site and an application directory partition that is replicated to several
domain controllers in the site. The configuration could be set up as shown in Figure 4-5.
Chapter 4:
DC2.Adatum.com
Active Directory Domain Services Replication
DC3.Adatum.com
DC4.Adatum.com
DC1.Adatum.com
DC5.Adatum.com
DC6.Adatum.com
DC9.Adatum.com
Figure 4-4
DC8.Adatum.com
DC7.Adatum.com
A replication ring with more than seven domain controllers.
Adatum.com
Domain Partition
Replication Ring
DC2.Adatum.com
Domain Partition
AppPartition1 Partition
DC3.Adatum.com
Domain Partition
AppPartition1
Partition
Replication Ring
DC1.Adatum.com
Domain Partition
Global Catalog Partition
TreyResearch.com
Domain Partition
Replication Ring
DC6.TreyResearch.com
Domain Partition
Global Catalog Partition
DC5.Adatum.com
Domain Partition
Global Catalog Partition
DC4.TreyResearch.com
Domain Partition
Global Catalog Partition
Note: All domain controllers also host a replica of the Configuration and Schema Partitions. The replication ring for the
Configuration and Schema Partitions would include all the domain controllers.
Figure 4-5
115
Replication rings created for each directory partition.
116
Part I:
Windows Server 2008 Active Directory Overview
In the scenario illustrated in Figure 4-5, the replication rings shown in Table 4-1 would be created.
Table 4-1
Replication Rings in a Complex Site
Directory Partition
Replication Partners
Configuration directory partition, schema
directory partition
All the domain controllers would be included in
the replication ring for both the configuration
directory partition and the schema directory
partition.
ADatum.com domain directory partition
DC1.ADatum.com, DC2.ADatum.com,
DC3.ADatum.com, DC5.ADatum.com
TreyResearch.com domain directory partition
DC4.TreyResearch.com, DC6.TreyResearch.com
Global catalog partition
DC1.ADatum.com, DC4.ADatum.com,
DC4.TreyResearch.com
AppPartition1 application directory partition
DC2.ADatum.com, DC6.TreyResearch.com
Note The Domain Name System (DNS) application directory partitions (ForestDnsZones
and DomainDnsZones) are also included in the replication topology. To keep the Figure 4-5
scenario from getting too complicated, these partitions are not included in that figure nor in
the associated table. As discussed in Chapter 3, “Active Directory Domain Services and Domain
Name System,” these partitions are treated exactly like other domain directory partitions. Also,
the global catalog replication topology is not shown in Figure 4-5. The process of creating a
global catalog replication ring is slightly different than for other partitions and will be
described in the next section.
The replication connections and replication status can be viewed by using the Repadmin
command-line tool with the /showrepl parameter. Figure 4-6 shows the partial output when
running this command on a domain controller in a forest with multiple domains and sites.
The replication ring is a logical concept; the actual replication topology as implemented with
the connection objects does not duplicate the replication rings exactly. Although a separate
replication ring is created for each directory partition, KCC will not create additional connection
objects for each replication ring. Instead, KCC reuses connection objects to use as few connection objects as possible while still creating a replication topology that provides redundancy
for each partition. For example, in the scenario illustrated in Figure 4-5, DC2.ADatum.com
has a connection object with DC6.TreyResearch.com. This single connection object could be
used to replicate the schema partition, the configuration partition, and the AppPartition1
partition, as well as the DNS application directory partitions. You can see which directory
partitions are replicated by each connection object by viewing the connection object in Active
Directory Sites And Services and Repadmin. As shown in Figure 4-6, you can view the
Replicated Naming Context(s) setting on each connection object. You can also use the
Repadmin /showconn servername to show the partitions that are being replicated by each
connection object. Partial output of this command is shown in Figure 4-7. In this figure, you
can see that the connection object with SEA-DC2.ADatum.com is being used to replicate the
DomainDnsZones, ForestDnsZones, ADatum.com, Configuration, and Schema partitions.
Chapter 4:
Active Directory Domain Services Replication
Figure 4-6
Using Repadmin to view the replication connections.
Figure 4-7
A single connection object used to replicate multiple directory partitions.
117
118
Part I:
Windows Server 2008 Active Directory Overview
Global Catalog Replication
The global catalog is a different partition than the other partitions in that it is built from all the
domain databases in the entire forest. The global catalog itself is read-only on all domain controllers, which means that the information in the global catalog cannot be directly modified by
the administrator. The global catalog is just a list of all the attributes that are moved into the
global catalog because their isMemberOfPartialAttributeSet attribute is set to true.
The fact that the global catalog is created from the domain databases also affects the replication ring for the global catalog. Each global catalog server must get the global catalog information from the domain controllers in all domains. For a simple example, see Figure 4-8, which
shows a company with two domains and one domain controller in each domain in the same
site. Only the DC1.ADatum.com domain is configured as a global catalog server. The global
catalog server is also the only domain controller for the ADatum.com domain, so it will extract
the global catalog information for ADatum.com from its own domain database. The domain
controller in the TreyResearch.com domain has the only copy of that domain directory partition, so DC1.ADatum.com collects the global catalog information for the TreyResearch.com
domain from DC2.TreyResearch.com. To extract the information from the TreyResearch.com
domain, a connection object is created from DC2.TreyResearch.com to DC1.ADatum.com.
This connection is then used to replicate the global catalog information to DC1.ADatum.com.
Connection Object to replicate
TreyResearch.com global catalog
information to the global catalog server
DC2.Adatum.com
Global Catalog
Figure 4-8
DC2.TreyResearch.com
An example of simple global catalog replication.
Figure 4-9 shows a more complicated example of how the global catalog is created and replicated. In this scenario, a connection object is configured from a domain controller in every
domain to each global catalog server. For example, DC1.ADatum.com will have an inbound
connection object from DC2.ADatum.com, DC4.TreyResearch.com, and DC6.Contoso.com.
This connection object is used to build the global catalog on DC1.ADatum.com. Each of
the other global catalog servers will have a similar set of connection objects created. Also,
a separate replication ring is created for the global catalog partition with all of the global
catalog servers.
Chapter 4:
Global Catalog
Source Replication
Global Catalog
Replication Ring
DC6. Contoso.com
Figure 4-9
119
DC3.TreyResearch.com
Global Catalog
DC2.Adatum.com
DC1.Adatum.com
Global Catalog
Active Directory Domain Services Replication
DC4.TreyResearch.com
DC5. Contoso.com
Global Catalog
An example of a more complicated global catalog replication.
Intersite Replication Topology
When additional sites are added to a forest, the replication topology becomes increasingly
complex. In a multisite scenario, a replication topology must be created for each site, and a
replication topology must be created for replication between sites. To deal with this complexity, the process for creating connection objects changes for the intrasite replication. Within a
site, KCC on each domain controller is responsible for creating the connection objects that it
needs to ensure that it has the required replication redundancy for all of its partitions; it
then replicates the information about the connection objects to the other domain controllers.
Also, the domain controller receives information about the connection objects that have been
created by other domain controllers. The next time KCC runs, connection objects might be
added, modified, or deleted based on the information the domain controller has received
about other connection objects in the site. Eventually, KCCs on all the domain controllers in
a site determine the optimal replication configuration.
A similar approach is used when determining the replication topology between sites, except
that one domain controller in each site is responsible for developing the intersite topology.
KCC on one domain controller in the site is designated as the Inter-Site Topology Generator
(ISTG) for the site. There is only one ISTG per site regardless of how many domains or other
directory partitions there are in the site. ISTG is responsible for calculating the ideal replication topology for the entire site. This process consists of the following two actions:
120
Part I:
Windows Server 2008 Active Directory Overview
■
Identifying the bridgehead servers for each directory partition that is present in the
site. Replication between sites is always sent from a bridgehead server in one site to a
bridgehead server in another site. This means that information is replicated only once
across the network connection between the sites.
■
Creating the connection objects between the bridgehead servers to ensure that the information is replicated between the sites. Because the replication is configured between
bridgehead servers, there are no redundant connection objects configured as there are
within a site. However, the ISTG will create connection objects with bridgehead servers
in multiple sites if the site links are configured to enable the connections.
When a new site is added to the forest, ISTG in each site determines which directory partitions are present in the new site. ISTG then calculates the new connection objects that will be
needed to replicate the required information from the new site. Also, ISTG designates one
domain controller to be the bridgehead server for each directory partition. ISTG creates the
required connection agreement in its directory, and this information is replicated to the
bridgehead server. The bridgehead server then creates a replication connection with the
bridgehead server in the remote site, and replication begins.
To see how the replication topology is created between sites, see Figure 4-10. In this example,
the forest contains two sites and two domains with domain controllers for each domain in
each site. There is also at least one global catalog server in each site. This means that each site
contains a directory partition for each of the domains and a global catalog partition, as well as
the schema directory partition and the configuration directory partition. Two bridgehead
servers would be designated in each site, because each of these partitions must be replicated
between the sites. One of the bridgehead servers in each site will be a domain controller in the
Adatum.com domain. Another bridgehead server in each site must be a domain controller in
the TreyResearch.com domain. In the Figure 4-10 example, DC1.ADatum.com and DC6.TreyResearch.com are also global catalog servers. This means that they will become bridgehead
servers to replicate global catalog information between sites. Because the schema directory
partition and the configuration directory partition are shared by all domain controllers, one of
the existing connection objects can be used to replicate these partitions.
Note
This discussion of the replication topology is based on the default behavior for AD DS
domain controllers. Administrators can modify the default behavior, especially for replication
between sites. These modifications and the effect of these changes are discussed later in this
chapter.
RODCs and the Replication Topology
RODCs also participate in normal AD DS replication, and connection objects must be created
between RODCs and other domain controllers. However, because RODCs have read-only
copies of the AD DS database, the KCC will only create single one-way connection objects
from a domain controller with a writable copy of the database to the RODC. The RODC can
Chapter 4:
Active Directory Domain Services Replication
121
only pull changes from other domain controllers; it can never be configured as a replication
source for any connection object.
AdatumSite1
DC2.Adatum.com
Connection
Object for the
Adatum.com
Domain Partition
DC1. Adatum.com
Global Catalog
DC3. TreyResearch.com
Connection
Object for the
Global Catalog
Partition
DC4. TreyResearch.com
AdatumSite2
Connection Object
for the
TreyResearch.com
Domain Partition
DC5.Adatum.com
DC6. TreyResearch.com
Global Catalog
DC7. TreyResearch.com
Figure 4-10 Intersite connection objects.
RODC replication is also limited by which domain controllers can be direct replication partners. RODCs can replicate all AD DS partitions except the domain partition from Windows
Server 2003 domain controllers. RODCs can also replicate all partitions from another
Windows Sever 2008 domain controller, but they must replicate the domain partition from a
domain controller running Windows Server 2008. This means that each RODC must have a
connection object with a Windows Server 2008 domain controller with a writable copy of the
database for the RODC’s domain. This also means that when you upgrade a domain from
Windows Server 2003, the first Windows Server 2008 domain controller cannot be an RODC.
If the RODC is deployed in a separate site, the Windows Server 2008 should be placed in the
nearest site in the topology. Figure 4-11 provides an example of a possible RODC deployment
and the connection objects that would be configured.
122
Part I:
Windows Server 2008 Active Directory Overview
AdatumSite1
Domain controller
running Windows
Server 2008
DC2.Adatum.com
Domain controller
running Windows
Server 2003
DC1. Adatum.com
Global Catalog
RODC in the
Adatum.com
domain
AdatumSite2
Connection object for the
schema, configuration,
application, and global
catalog partitions
Domain controller
running Windows
Server 2003
Single one-way
connection object
for the Adatum.com
domain partition
RODC1.Adatum.com
Global Catalog
Single one-way connection
object for the schema,
DC1.EMEA.Adatum.com configuration, application,
Global Catalog
and global catalog partitions
Figure 4-11 Replication connection objects with RODCs.
Configuring Intersite Replication
The most important reason for creating multiple sites in AD DS is to control replication traffic
between company locations, especially between locations that are separated by slow WAN
connections. As described in Chapter 2, an AD DS site is a network location in which all the
domain controllers are connected to each other with fast and reliable network connections.
One of the tasks of setting up an AD DS network is determining where to draw the site
boundaries and then connecting the sites together.
Note
Defining clear criteria for when to create an additional site is difficult because of the
large numbers of variables that have to be included in this decision. Chapter 5 goes into detail
about when you should consider creating additional sites. That chapter also covers many of the
other design issues that you must consider when designing the site topology.
Chapter 4:
Active Directory Domain Services Replication
123
Creating Additional Sites
When AD DS is installed, a single site called the Default-First-Site-Name (the site can be
renamed) is created. Because sites are usually based on the company location, you can rename
this site to more accurately reflect the location where the domain controllers in the site are
located. If additional sites are not created, all subsequent domain controllers will be added to
this site as they are installed. However, if your company has multiple locations with limited
bandwidth between the locations, you will almost certainly want to create additional sites.
Additional sites are created using the Active Directory Sites And Services administrative tool
(see Figure 4-12). To create a new site, right-click the Sites container and then click New Site.
Figure 4-12 Creating a new site in Active Directory Sites And Services.
When you create a new site, you must link the site with an existing site link. This ensures that
the site will automatically be included in the replication topology. From the Link Name list,
choose which site link will be used to connect this site to other sites.
Each site is associated with one or more IP subnets in AD DS. By default, no subnets are
created in AD DS, so you will normally begin by creating all of the subnets associated with the
Default-First-Site-Name site. As you create additional sites, also create additional subnets in
the Subnets container in Active Directory Sites And Services and associate the subnets with
the new site.
124
Part I:
Windows Server 2008 Active Directory Overview
On the Disc
As you modify the site configuration, ensure that you document all of the
changes you make. You can use the ADDSSites.xlsx job aid on the CD as a template for
documenting the site configuration. You can use the ListADDSSites.ps1 Windows PowerShell
script on the CD to display information about all of the sites in your forest. Remember that you
need to provide the full path when running a Windows PowerShell script, and you may need to
modify the PowerShell script execution policy before you can run a script.
For examples of Visual Basic Scripting Edition (VBScript) scripts that you can use to obtain site
information, see the Script Center Script Repository Web site at http://www.microsoft.com/
technet/scriptcenter/scripts/default.mspx?mfr=true.
To move an existing domain controller into the site, right-click the domain controller object in
its current Servers container and select Move. You are then given a choice about which site you
want to move the domain controller into. If you install a new domain controller and you have
more than one site in your forest, you are given a choice about which site to install the new
domain controller. The default selection in the Active Directory Domain Services Installation
Wizard is to locate the domain controller in the site where the IP subnet matches the domain
controller’s IP address.
Important
When you move a domain controller to a new site, ensure that you modify the
domain controller IP configuration to reflect the new site location. You will also need to refresh
the host record in DNS by using the IPConfig /refreshDNS command and update the SRV
records by stopping and starting the Netlogon service. Verify that you can ping all domain
controllers in the domain by fully qualified domain name after completing the domain
controller move.
Site Links
The AD DS objects that connect sites together are called site links. When AD DS is installed, a
single site link—called DEFAULTIPSITELINK—is created. If you do not create any additional
site links before you create additional sites, each site is included in this default site link. If all
of the WAN connections between your company locations are equal in terms of bandwidth
and cost, you can just accept this default configuration. If all the sites are connected by one
site link, the replication traffic between all sites will have exactly the same properties. If you
make a change on this site link, the replication configuration for all sites will be modified.
On the Disc
As part of documenting your site configuration, ensure that you also
document the site link configuration. You can use the ADDSSites.xlsx job aid on the CD. The
ListADDSSites.ps1 script on the CD lists the site links associated with each site.
Chapter 4:
Active Directory Domain Services Replication
125
However, in many cases, you might not want to have the replication between all sites configured the same way. For example, if your company locations are linked by different network
connections, you may want to replicate AD DS information across network connections with
limited available bandwidth less frequently than you do across network connections with
more available bandwidth. If you want to be able to configure different replication settings
between sites, you must create additional site links and assign the appropriate sites to the site
links.
Note
Creating a site link does not replace the work of ISTG; all it does is make it possible for
ISTG to do its work. After a site link is in place, ISTG will use the site link to create the required
connection objects to replicate all the AD DS partitions between each site.
The following are the configuration options on all site links. Figure 4-13 shows the interface
for configuring site links:
Figure 4-13 Configuring site links.
■
Cost The cost for a site link is an administrator-assigned value that defines the relative
cost of the site link. The cost will usually reflect the speed of the network connection
and the expenses associated with using the connection. This cost is important if there
are redundant site links in the organization, that is, if there is more than one path for
replication to travel from one site to another. In all cases, the lowest-cost route will be
chosen as the replication path.
126
Part I:
Windows Server 2008 Active Directory Overview
Important
Creating redundant site links between sites and configuring costs on the
site links is only useful if you have multiple WAN connections between the sites. If you
only have one network connection between company locations, adding site links provides no benefit.
■
Replication schedule The replication schedule defines what times during the day the
site link is available for replication. The default replication schedule allows for replication to occur 24 hours a day. However, if the available bandwidth to a site is very limited,
you might want to have replication occur only during nonworking hours.
■
Replication interval The replication interval defines the intervals at which the bridgehead servers check with the bridgehead servers in the other sites to see if there are any
directory updates. By default, the replication interval for site links is set at 180 minutes.
The replication interval is only applied during the replication schedule. If the replication
schedule is configured to allow replication from 22:00 to 05:00, by default, the bridgehead servers will check for updates every three hours during that time.
■
Replication transports The site link can use either RPC over IP or SMTP as the replica-
tion transport. See “Replication Transport Protocols” later in this chapter for more
details.
These options provide significant flexibility for configuring replication between sites. However, there are also some mistakes to avoid. To understand how these options work together,
consider a company network like that shown in Figure 4-14.
Site Link
Cost 100
Schedule 10 pm - 4 am
Interval 30 min
Site1
Site Link
Cost 200
Schedule 12 am - 6am
Interval 6 min
Site2
Site Link
Cost 500
Schedule 10 pm - 4 am
Interval 120 min
Site3
Site Link
Cost 200
Schedule 12 am - 6 am
Interval 60 min
Site4
Site5
Site Link
Cost 200
Schedule 10 pm - 4 am
Interval 60 min
Figure 4-14 A site link configuration.
In Windows Server 2008 AD DS, all site links are considered transitive by default. This means
that connection objects can be created between domain controllers that are not in adjacent
sites. For example, in Figure 4-14, Site1 has a site link to Site2 and to Site4, and Site2 has a site
Chapter 4:
Active Directory Domain Services Replication
127
link to Site3 and Site5. Because of the transitive nature of the site links, this means that domain
controllers in Site1 can also replicate directly with domain controllers in Site3 and Site5.
The site link costs define the path that replication traffic will take through the network. When
KCC is creating the routing topology, it uses the accumulated costs for all site links to
calculate the optimal routing. In the example shown in Figure 4-14, there are two possible
routes between Site1 and Site5: the first route is through Site2; the second route is through
Site4. The cost to route through Site2 is 300 (100 + 200), and the cost through Site4 is 700
(500 + 200). This means that all replication traffic will be replicated through Site2 unless the
connection is not available.
When replication traffic crosses multiple site links, the site link schedules and replication
intervals for each site link combine to determine the effective replication window and interval.
For example, effective replication will occur between Site1 and Site3 only during the hours of
00:00 to 4:00 (the overlapping time in the schedules), and the effective replication will happen
every 60 minutes (the replication interval for the Site2–Site3 site link).
Note
If the schedules for site links do not overlap, it is still possible for replication to occur
between multiple sites. For example, if the Site1–Site2 site link is available from 02:00 to 06:00,
and the Site2–Site3 site link is available from 22:00 to 01:00, changes to the directory will still
flow from Site1 to Site3. The changes will be sent from Site1 to Site2, and then from Site2 to
Site3. However, the replication latency would be almost a day in this case, because changes
replicated to Site2 at 02:00 would not be replicated to Site3 until 22:00.
Additional Site Link Configuration Options
In addition to the site link configuration options available in Active Directory Sites And
Services, you can also configure other site link settings by using ADSIEdit, or by modifying the registry on the domain controllers. For example, you configure the following
settings:
■
Turn off compression for intersite replication
■
Enable notification for intersite replication By default, replication between sites is
By default, all replication traffic
between sites is compressed. However, compressing the traffic places an extra load
on the domain controller’s processor. If you have sufficient bandwidth between
the AD DS sites, you can disable the compression in Windows Server 2008 AD DS.
based on the schedule and replication frequency configured on the site link. You
have the option to enable notification for intersite replication. If notification is
enabled, the bridgehead server in a site where a change has occurred notifies the
bridgehead server in the destination site, and the changes are pulled across the site
link. This can greatly reduce replication latency between sites, but will also
increase the network traffic between sites.
128
Part I:
Windows Server 2008 Active Directory Overview
To turn off compression or to turn on notification for intersite replication, you
must use a tool such as ADSI Edit to modify the Options attribute on either the site
link object or the connection object. To turn off compression, set the value of the
Options attribute to 4; to turn on notification, set the value to 1.
■
Modify the amount of data that is replicated You can modify the amount of data
that is replicated in each replication packet. By default, the number of objects Windows Server 2008 domain controllers will replicate in a single packet is 1/
1,000,000th the size of RAM, with a minimum of 100 objects and a maximum of
1,000 objects. The maximum size of objects that will be replicated is 1/100th the
size of RAM, with a minimum of 1 megabyte (MB) and a maximum of 10 MB. You
can modify these settings by creating the Replicator inter site packet size (objects)
and Replicator inter site packet size (bytes) values in the HKEY_LOCAL
_MACHINE\System\CurrentControlSet\Services\NTDS\Parameters path.
Site Link Bridges
In some cases, you might want to turn off the transitive nature of site links by turning off site
link bridging and manually configuring site link bridges. When you configure site link
bridges, you define which site links should be seen as transitive and which site links should
not. Turning off the transitive nature of site links can be useful when you do not have a fully
routed network, that is, if all segments of the network are not available at all times (for example, if you have a dial-up or scheduled-demand dial connection to one network location). Site
link bridges can also be used to configure replication in situations where a company has
several sites connected to a fast backbone with several smaller sites connecting to each larger
center using slow network connections. In such cases, site link bridges can be used to manage
the flow of replication traffic more efficiently.
More Info
Chapter 5 provides details about when and how to use site link bridges.
When you create a site link bridge, you must define which site links are part of the bridge. Any
site links you add to the site link bridge are considered transitive with each other, but site links
that are not included in the site link bridge are not transitive. In the example used earlier, a site
link bridge could be created for the site links connecting Site1, Site2, Site4, and Site5. All of these
site links would then be considered transitive, which means that a bridgehead server in Site1
could replicate directly with a bridgehead server in Site5. However, because the site link from
Site2 to Site3 is not included in the site link bridge, it is not transitive. That means that all
replication traffic from Site3 would flow to Site2, and from there it would flow to the other sites.
To turn off the transitive site links, expand the Inter-Site Transport container in Active
Directory Sites And Services, right-click IP, click Properties, and then clear the Bridge All Site
Links option on the General tab of the IP Properties sheet.
Chapter 4:
Active Directory Domain Services Replication
129
Caution
The site link bridging setting affects all site links using the transport protocol
where you disable site link bridging. This means that all site link bridging is disabled, and
you will now have to configure site link bridges for all site links if you want transitive site
connections.
Replication Transport Protocols
Windows Server 2008 AD DS can use one of three different transport protocols for replication:
■
RPC over IP within a site All replication connections within a site must use an RPCover-IP connection. This connection is synchronous, which means that the domain controller can replicate with only one replication partner at any one time. The RPC connection uses dynamic port mapping. The first RPC connection is made on the RPC
endpoint mapper port (TCP port 135). This connection is used to determine which port
the destination domain controller is using for replication.
Note
If you are replicating the directory information through a firewall or are using
routers with port filtering enabled, you can specify the port number that the domain
controllers will use for replication. To do this, create the following registry key as a
DWORD value and specify any valid port number: HKEY_LOCAL_MACHINE\SYSTEM\
CurrentControlSet\Services\NTDS \Parameters\TCP/IP Port.
■
RPC over IP between sites Replication connections between sites can also use RPC over
IP. This RPC connection is the same as the intrasite connection with one important
exception: by default, all traffic sent between sites is compressed.
Note When you look at the two types of RPC-over-IP connections in the Active
Directory Sites And Services administrative tool, you will notice that they are identified
differently in the interface. The RPC over IP within a site is called RPC, and the RPC over
IP between sites is called IP.
■
SMTP between sites Replication connections between sites can also use SMTP to
replicate information between sites. SMTP can be a good choice as a replication protocol
if the WAN links between company locations have very high latency. SMTP uses an
asynchronous connection, which means that the domain controller can replicate with
multiple servers at the same time.
Configuring SMTP Replication
Configuring SMTP replication is significantly more complicated than configuring RPC over
IP replication between sites. With RPC-over-IP replication, domain controllers use built-in
components and Kerberos authentication to automatically configure and secure replication.
130
Part I:
Windows Server 2008 Active Directory Overview
To configure SMTP replication, complete the following steps:
1. Install the SMTP Server feature on the bridgehead servers in both sites. When you install
the SMTP Server feature, required components from the Web Server (IIS) server role are
also installed.
2. Install Active Directory Certificate Services and configure the Certification Authority
(CA) as an Enterprise CA. The CA will be used to issue certificates to the domain
controllers that will be used to sign and encrypt the SMTP messages that are exchanged
between domain controllers. When you install an Enterprise CA, it automatically issues
domain controller certificates to domain controllers in the same domain as the Enterprise CA. These domain controllers can use the certificates to secure SMTP data. For
domain controllers in other domains in the forest, you must manually request a Domain
Controller certificate or a Directory Email Replication certificate.
Note
You can also purchase certificates from public CAs to be used for SMTP replication.
3. Configure SMTP site links with a cost that is less than any RPC over IP site link connecting between the two sites. The two sites must not have any domain controllers in the
same domain.
4. Ensure that SMTP e-mail can be sent between the domain controllers. If the domain controllers can communicate directly by using port 25, no further configuration is required.
However, in some cases, the domain controllers may need to forward the SMTP messages
to a SMTP bridgehead server rather than directly to the destination bridgehead server.
Configuring Bridgehead Servers
As mentioned earlier, replication between sites is accomplished through bridgehead servers.
By default, ISTG automatically identifies the bridgehead server as it calculates the intersite
replication topology. To view which domain controllers are operating as bridgehead servers,
you can use the Repadmin /bridgeheads command. The command output lists all of the current
bridgehead servers in each site, including the directory partitions each bridgehead server is
responsible for. The command output also displays whether or not the last replication with
each bridgehead server was successful.
If you run the Repadmin /bridgeheads /v command, the command output displays the last
attempted replication for each directory partition on the bridgehead server, as well as the last
successful replication time. Figure 4-15 shows the partial output from this command.
In some cases, you might want to control which domain controllers are going to operate as
bridgehead servers. Bridgehead server may require additional server resources if there are
many changes to the directory information, replication is set to occur frequently, and the
organization has hundreds of sites. To configure which servers will be the bridgehead servers,
access the computer objects in the Active Directory Sites And Services administrative tool,
Chapter 4:
Active Directory Domain Services Replication
131
right-click the server name, and then select Properties. (Figure 4-16 shows the interface.) You
are given the option of configuring the server as a preferred bridgehead server for either IP
or SMTP transports.
Figure 4-15 Viewing bridgehead server status using Repadmin.
On the Disc
If you configure a bridgehead server and then forget that you configured it,
you may spend a lot of time troubleshooting AD DS replication if the bridgehead server fails.
Ensure that you document preferred bridgehead servers for both types of replication transports in the ADDSSites.xlsx job aid on the CD.
Figure 4-16 Configuring a preferred bridgehead server.
132
Part I:
Windows Server 2008 Active Directory Overview
The advantage of configuring preferred bridgehead servers is that you can ensure that the
domain controllers you choose will be selected as the bridgehead servers. If you want complete control over which servers are used as bridgehead servers, you must configure a preferred bridgehead server for each partition that needs to be replicated into a site. For example,
if a site contains replicas of the ADatum.com domain directory partition, the TreyResearch.com domain directory partition, the global catalog partition, and an application directory partition, you will need to configure at least one domain controller with a replica of each
of these partitions. If you do not configure bridgehead servers for all of the partitions, you will
get a warning message like the one shown in Figure 4-17, and ISTG will log an event in the
event log and then choose a preferred bridgehead server for the partition. You can also configure multiple preferred bridgehead servers. If you do, ISTG will choose one of the identified
servers as the bridgehead server.
Figure 4-17 Warning message to configure bridgehead servers for each directory partition.
You should configure this option with caution. Configuring preferred bridgehead servers
limits the ability of ISTG to choose the bridgehead server—it will always select a server that is
configured as a preferred bridgehead server. If this server fails and no other servers have been
designated as bridgehead servers for that directory partition, ISTG will not select another
bridgehead server and replication will cease until the server is again available or until you have
reconfigured the preferred bridgehead server options. If the preferred bridgehead server does
fail, you can either remove the server as a preferred bridgehead server and allow ISTG to
identify a bridgehead server or choose another preferred bridgehead server.
Caution If the preferred bridgehead server does fail, and you choose to reconfigure the
preferred bridgehead server, you need to make any configuration changes in both sites.
Because the bridgehead servers are not available, no information will be replicated between
the sites until the configuration changes are made in both sites. To make changes in a remote
site, connect to a domain controller in the site in Active Directory Sites And Services.
Chapter 4:
Active Directory Domain Services Replication
133
Troubleshooting Replication
If AD DS replication fails, domain controllers will not be updated with changes made on other
domain controllers. This may lead to inconsistent experiences for users and administrators,
depending on which domain controller they are connecting to. If password or configuration
changes for users are not replicated, users may not be able to log on to the network. If group
policy settings or the SYSVOL directory are not replicated, users may experience different
group policy settings. Because of the importance of AD DS replication, you should be prepared to troubleshoot AD DS replication issues.
Process for Troubleshooting AD DS Replication Failures
The first step in troubleshooting AD DS replication failures is to identify the reason for the
failure. In many cases, it can be difficult to immediately identify why AD DS replication fails,
so often troubleshooting is a matter of eliminating possible reasons for failure. As general
guidance, complete the following steps:
1. Verify network connectivity. As is the case with most troubleshooting scenarios, start by
verifying that the domain controllers can communicate with each other on the network.
The network connection might be unavailable or network settings may not be configured properly.
2.
Verify name resolution. One of the most common causes for replication errors is that
DNS name resolution is failing. If you receive error messages indicating that the RPC
server is not available or “Target account name is incorrect” errors, verify that the
domain controllers can resolve the target server’s FQDN.
3.
Test for authentication and authorization errors. If you are receiving access denied
errors during replication, then there is a problem with authentication or authorization.
To identify the cause of the security error, run the dcdiag /test:CheckSecurityError /
s:DomainControllerName command, where DomainControllerName is the name of the
domain controller that you want to test. To test the connection between two domain
controllers for replication security errors, run the dcdiag /test:CheckSecurityError /ReplSource:SourceDomainControllerName command. This command tests the connection
between the domain controller on which you run the command and the source domain
controller (identified by SourceDomainControllerName). The output from these commands identifies the security issues between the domain controllers. Fix the issues and
then rerun the command to verify that you have addressed the issue.
4. Check the Event Viewer on the affected domain controllers. When replication fails,
events describing the nature of the failure are written to the Event Viewer.
5. Check for domain controller performance issues. If a domain controller does not have
enough server resources, replication may fail, or the replication queues may back up.
For example, if the domain controller runs out of hard disk space on the drive where the
AD DS data store is located, the domain controller will not accept replication changes.
134
Part I:
Windows Server 2008 Active Directory Overview
In some cases, the domain controller performance may be the cause of delayed
replication. To address domain controller performance issues, consider the following:
a. Move applications or services to another server. If the domain controller is performing multiple roles or running other applications, consider moving the roles or
applications to another server on the network.
b. Distribute AD DS and DNS roles across multiple servers. AD DS integrated DNS
zones provide benefits, but running both AD DS services and DNS services on
a single computer can cause performance issues. By distributing the load of these
services, you may be able to minimize the server performance impact.
c. Deploy domain controllers with 64-bit hardware. Computers with 64-bit hardware
provide significant performance gains over domain controllers with 32-bit
hardware.
6. Review and modify the replication topology. In large organizations with thousands of
sites, calculating the replication topology can consume the processor resources on the
domain controller performing the Inter-Site Topology Generator role. Consider decreasing the number of sites in the organization or configuring dedicated bridgehead servers.
Also verify that the AD DS site link configuration corresponds with the actual WAN link
configuration in your network. AD DS replication should use the WAN connections
with maximum available bandwidth whenever possible.
More Info
Two excellent resources for troubleshooting specific AD DS replication errors are
the Troubleshooting Active Directory Replication Problems Web page (http://technet2
.microsoft.com/windowsserver/en/library/4f504103-1a16-41e1-853a-c68b77bf3f7e1033
.mspx?mfr=true) and the How to Troubleshoot Intra-Site Replication Failures Web page
(http://support.microsoft.com/kb/249256).
Tools for Troubleshooting AD DS Replication
Windows Server 2008 provides several tools for troubleshooting AD DS replication. All of
these tools are installed on Windows Server 2008 when the server is configured as a domain
controller.
Active Directory Sites And Services
In addition to using Active Directory Sites And Services to configure sites and replication, you
can also use it perform some basic troubleshooting tasks. These tasks include:
■
To do this, expand the domain
controller object in the AD DS site servers container, right-click NTDS Settings, point to
All Tasks, and click Check Replication Topology. This forces the KCC to run immediately rather than waiting for the next scheduled update.
Forcing the KCC to recalculate the replication topology
Chapter 4:
■
Active Directory Domain Services Replication
135
Forcing a domain controller to pull replication changes Locate the domain controller to
which you want to pull changes in the site servers container. In the NTDS Settings container under the domain controller, right-click the connection object with the domain
controller from which you want to pull changes and then click Replicate Now. If both
domain controllers are in the same site, you will get an error message or get a message
the replication was successful. If the domain controllers are in different sites, you will get
a message telling you that the domain controller will attempt immediate replication.
Check the Event Viewer for replication errors.
■
Forcing the replication of the configuration partition from or to a domain controller
When you right-click the NTDS object under a domain controller other than the domain
controller that is the current focus for Active Directory Sites And Services, you can
choose to Replicate configuration from the selected DC or Replicate configuration to the
selected DC. One of the benefits of using these commands is that the configuration
information will be replicated even if no connection object exists between the domain
controllers. This option is useful when a replication partner was removed from the
domain while a domain controller was offline and the domain controller cannot locate
other domain controllers to create new connection objects.
Repadmin
The most useful tool for monitoring and troubleshooting replication is Repadmin. You can
use the Repadmin.exe command-line tool to view the replication topology from the perspective of each domain controller. You can also use Repadmin.exe to manually create the replication topology, force replication events between domain controllers, and view the replication
metadata and up-to-date state of vectors.
To run the Repadmin command-line tool, use the following syntax:
repadmin command arguments [/u:[domain\]user /pw:{password|*}]
You need to provide the user account information only if the current logged-on user is not a
member of the Domain Admins group.
The following examples use some of the available command arguments for the Repadmin
command-line tool:
■
To export the replication information on a domain controller to a .csv file, use this syntax:
Repadmin /showrepl DC1.Adatum.com /csv>filename.csv
This command is useful because you can open the .csv file by using an application like
Microsoft Office Excel and search the file.
■
To display the replication partners of the domain controller named DC1, use this syntax:
repadmin /showreps DC1.Adatum.com
136
Part I:
■
Windows Server 2008 Active Directory Overview
To display the highest USN on the domain controller named DC2, use this syntax:
repadmin /showvector dc=Adatum,dc=com DC2.Adatum.com
■
To display the connection objects for the domain controller named DC1, use this syntax:
repadmin /showconn DC1.Adatum.com
■
To initiate a replication event between two replication partners, use this syntax:
repadmin /replicate DC2.Adatum.com DC1.Adatum.com dc=Adatum,dc=com
■
To initiate a replication event for a specified directory partition with all of its replication
partners, use this syntax:
repadmin /syncall DC1.Adatum.com dc= Adatum,dc=com
Running this command will result in the domain controller requesting updates for all
directory partitions from all direct replication partners. If you want to force the domain
controller to initiate replication of local changes, add the /p parameter at the end of the
command.
Dcdiag
The Dcdiag.exe tool performs a number of tests that check domain controllers for issues that
might affect replication. These tests include connectivity, replication, topology integrity, and
intersite health tests.
To run the Dcdiag command-line tool, use the following syntax:
dcdiag command arguments [/v /f:LogFile /ferr:ErrLog ]
In the command, the optional switch /v directs the command to produce detailed output,
/f directs the output to the log file, and /ferr redirects fatal error output to a separate log file.
To run all of the dcdiag tests on a local computer and display the results in the command
prompt window, just type DCdiag and press Enter. To check a remote domain controller, run
DCDiag /s:Servername, where Servername is the remote domain controller name.
Following are a few of the tests that can be run using DCDiag:
■
Connectivity
■
Replications Checks for timely replication and any replication errors between domain
Tests whether domain controllers are DNS registered, can be pinged, and
have LDAP/RPC connectivity.
controllers.
■
NetLogons Checks that the appropriate logon privileges exist to allow replication to
proceed.
■
Intersite Checks for failures that would prevent or temporarily hold up intersite replication and tries to predict how long it will take before the KCC is able to recover. Results
of this test are often not valid, especially in atypical site or KCC configurations or at the
Windows Server 2008 forest functional level.
Chapter 4:
Active Directory Domain Services Replication
■
FSMOCheck
■
Services
■
Kccevent Checks that the Knowledge Consistency Checker is completing without
137
Checks that the domain controller can contact a KDC, a Time Server, a
Preferred Time Server, a PDC, and a global catalog server. This test does not test any of
the servers for operations master roles.
Checks if the appropriate domain controller services are running.
errors.
■
Topology Checks that the KCC has generated a fully connected topology for all
domain controllers.
Note
For detailed information on how to use the Repadmin and DCDiag commandline tools, type the command name followed by /?.
Additional Tools
Two standard server administrative tools are also useful for monitoring and troubleshooting
replication. The first tool is the Event Viewer. One of the event logs added to all domain controllers is a Directory Service event log. Most of the directory replication-related events are
logged in this event log, and this should be one of the first places you look when
replication fails.
The Reliability and Performance Monitor tool is useful for monitoring the amount of replication activity happening on the server. When a server is promoted to be a domain controller,
the DirectoryServices performance object and several file replication performance objects are
added to the list of performance counters. These performance counters can be used to monitor
the level of replication traffic as well as a wide variety of other AD DS–related activities.
Summary
One of the key aspects to managing Windows Server 2008 AD DS is understanding how replication works. A stable replication environment is crucial in maintaining an up-to-date copy
of all directory information on all the domain controllers in the forest, which is essential to
ensure consistent user logon and directory search performance. By understanding how replication works within a site and between sites, you can also design and implement the optimal
replication configuration.
Best Practices
■
Replication within a single site happens automatically and quickly and rarely fails. If all
of your company’s domain controllers are connected by fast network connections,
you should implement a single site.
138
Part I:
Windows Server 2008 Active Directory Overview
■
On the other hand, if your company has multiple locations where you install domain
controllers, creating additional sites is the easiest and best way to manage AD DS–
related traffic across WAN links with limited available bandwidth. Not only do multiple
sites limit replication traffic, but they also keep client authentication traffic local.
■
Develop a regular practice of monitoring AD DS replication. Consider using a tool such
as the Active Directory Management Pack with System Center Operations Manager to
monitor replication on all domain controllers in your site. If you do not have a tool like
this, regularly monitor the Directory Service event log and either the DFS Replication
event log (if your AD DS forest is at the Windows Server 2008 functional level) or the
File Replication Service event log.
■
In most organizations, the most important cause of AD DS replication errors is DNS
lookup errors. By integrating DNS with AD DS and taking advantage of the DNS directory partitions, you can minimize the chances of DNS errors.
Additional Resources
These resources contain additional information related to this topic:
Related Information
■
Chapter 14, “Monitoring and Maintaining Active Directory,” provides details on using
monitoring tools such as Event Viewer and Reliability and Performance Monitor to
monitor AD DS domain controllers, including monitoring replication.
■
Chapter 5, “Designing the Active Directory Domain Services Structure,” goes into detail
on designing the AD DS site configuration.
■
“Troubleshooting Active Directory Replication Problems” is located at http://
technet2.microsoft.com/windowsserver/en/library/4f504103-1a16-41e1-853ac68b77bf3f7e1033.mspx?mfr=true. This Web site provides detailed steps for troubleshooting Active Directory replication issues and links to Knowledge Base articles that
address specific Event IDs.
■
The “How to Troubleshoot Intra-Site Replication Failures” Knowledge Base article at
http://support.microsoft.com/kb/249256 provides details on how to troubleshoot intrasite replication errors. This KB article, as well as many of the other KB articles listed
next, refers to Windows Server 2003. Many of the steps in troubleshooting AD DS
replication have not changed in Windows Server 2008.
■
The “Active Directory Replication Troubleshooter” located at http://blogs.technet.com/
rbeard47/pages/active-directory-replication-troubleshooter.aspx provides a detailed
step-by-step process for troubleshooting Active Directory replication.
Chapter 4:
Active Directory Domain Services Replication
139
■
“Fixing Replication DNS Lookup Problems (Event IDs 1925, 2087, 2088)” at http://
technet2.microsoft.com/windowsserver/en/library/43e6f617-fb49-4bb4-856153310219f9971033.mspx?mfr=true provides detailed information on how to troubleshoot
replication errors related to DNS.
■
“How to Troubleshoot RPC Endpoint Mapper Errors” (http://support.microsoft.com/kb/
839880) provides detailed information on how to troubleshoot replication errors related
to RPC connectivity.
■
“Service Overview and Network Port Requirements for the Windows Server System”
(http://support.microsoft.com/kb/832017) describes the ports required by most Windows Server services, including AD DS replication. This information is very useful when
configuring firewalls between domain controllers.
■
“Replication Not Working Properly Between Domain Controllers After Deleting One
from Sites and Services” (http://support.microsoft.com/kb/262561) describes how to use
the Repadmin tool to create manual connection objects to domain controllers that have
been removed from Active Directory Sites And Services.
■
“Active Directory Replication Technologies” at http://technet2.microsoft.com/
windowsserver/en/library/53998db6-a972-495e-a4e7-e3ca3f60b5841033.mspx provides
detailed information on how AD DS replication works.
■
The Script Repository: Active Directory Web site, located at http://www.microsoft.com/
technet/scriptcenter/scripts/ad/default.mspx, has several scripts that can be used to
enumerate and modify the AD DS site and site link configuration.
Related Tools
Windows Server 2008 provides several tools that can be used when managing and troubleshooting replication. Table 4-2 lists some of these tools and explains when you would use
each of the tools.
Table 4-2
AD DS Replication Tools
Tool Name
Description and Use
Dnslint.exe
This tool is a free download from Microsoft. (See http://support.microsoft.com/
kb/321045 for the download location.) This tool can be used to help diagnose
common DNS name resolution issues and to verify that DNS records used
specifically for AD DS replication are correct.
Nslookup.exe
This tool is included in all Microsoft Windows server and client operating
systems. Nslookup is used to query DNS servers and to obtain detailed responses.
The information obtained using Nslookup can be used to diagnose and solve
name resolution problems, verify that resource records are added or updated
correctly in a zone, and debug other server-related problems.
Active Directory
Sites And
Services
This tool can be used to configure sites and replication and to perform some
basic AD DS replication troubleshooting tasks.
140
Part I:
Windows Server 2008 Active Directory Overview
Table 4-2
AD DS Replication Tools (continued)
Tool Name
Description and Use
Repadmin.exe
Use this command-line tool to view the replication topology from the perspective of each domain controller. You can also use Repadmin.exe to manually
create the replication topology, force replication events between domain
controllers, and view the replication metadata and up-to-date state of vectors.
DCDiag.exe
Use this tool to perform tests that check domain controllers for issues that might
affect replication.
Resources on the CD
■
ADDSSite.xlsx is a spreadsheet template for documenting AD DS site information.
■
ListADDSSites.ps1 is a simple Windows PowerShell script for listing information about
all of the sites in your forest.
Related Help Topics
■
“Checklist: Configure an Additional Site” in Active Directory Sites And Services help.
■
“Checklist: Configure the Intersite Replication Schedule” in Active Directory Sites And
Services help.
■
“Troubleshooting Active Directory Domain Services Replication” in Active Directory
Sites And Services help.
Part II
Designing and Implementing
Windows Server 2008 Active
Directory
In this part:
Chapter 5: Designing the Active Directory Domain
Services Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
Chapter 6: Installing Active Directory Domain Services . . . . . . . . . . . . . 217
Chapter 7: Migrating to Active Directory Domain Services . . . . . . . . . . 247
Chapter 5
Designing the Active Directory
Domain Services Structure
In this chapter:
Defining Directory Service Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
Designing the Forest Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156
Designing the Integration of Multiple Forests . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167
Designing the Domain Structure. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172
Designing Domain and Forest Functional Levels . . . . . . . . . . . . . . . . . . . . . . . . . . 181
Designing the DNS Infrastructure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184
Designing the Organizational Unit Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192
Designing the Site Topology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214
Best Practices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214
Additional Resources. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215
In many organizations, the Active Directory Domain Services (AD DS) infrastructure may be
the single most important component in the IT environment. In these organizations, AD DS
provides central authentication and authorization services that enable single sign-on access to
many other network services in the organization. This means that it is critical that the AD DS
infrastructure be designed so that it addresses as many of the organization’s requirements as
possible.
This chapter provides an overview of the planning process that you must go through before
you deploy Windows Server 2008 AD DS. For the most part, this chapter assumes that you
are working with a large corporation with multiple business units and locations. If you are
working with a smaller company, many of the concepts discussed here will still apply.
This chapter then looks at the biggest question first: How many forests do you need in your
network? From there the chapter moves on to discuss splitting the forests into domains
and planning for the domain namespace. Once your domains are in place, you also need to
create an organizational unit (OU) structure for each domain. As a parallel activity to creating
the AD DS logical structure, you also need to design the physical AD DS components, so this
chapter also addresses how to design sites and domain controller placements.
143
144
Part II:
Designing and Implementing Windows Server 2008 Active Directory
Note
Designing a Windows Server 2008 AD DS infrastructure is not significantly different
from designing an Active Directory infrastructure in Microsoft Windows 2000 or Windows
Server 2003. Windows Server 2008 AD DS includes several important new features that will
affect AD DS design, but many of the core concepts of AD DS have not changed, and many
of the design decisions have not changed. If you already have Active Directory deployed, you
can use this chapter to review your current design in preparation for upgrading to Windows
Server 2008 AD DS.
Defining Directory Service Requirements
Before you can begin designing your organization’s directory service, you must first understand why your organization plans to deploy the directory service and the state of the current
directory service. Very few organizations deploy a new technology just because it is the latest
and greatest option. Before investing in a new technology, managers need to see a clear business
benefit. That means that you must understand and be able to clearly explain to business
decision makers how a new technology such as Windows Server 2008 AD DS will address
existing and new business requirements.
Figure 5-1 shows a checklist of the types of requirements that you need to collect when starting
your AD DS design.
Document
business
requirements
Document
functional
requirements
Document
service level
agreements
Document
legal
requirements
Document
security
requirements
Document
project
constraints
Figure 5-1 Use the AD DS design requirements checklist to determine the information that
you need to collect.
Chapter 5:
Designing the Active Directory Domain Services Structure
145
Business Involvement in AD DS Design
When you design AD DS for a corporation, it is important to get the company’s management involved in the design process. The business users are the primary consumers for
the services provided by the Information Technology (IT) infrastructure, so it is essential
that your design meet their requirements and have the support of their management.
The amount of involvement in the design process that business units require varies
greatly among companies. In almost every organization, however, the involvement
includes at least an approval of the high-level goals of the design project. These goals
might revolve around issues such as accessibility of information, security, ease of management, and usability. Business managers are also usually involved in high-level and
highly visible decisions that cannot easily be changed after deployment. These decisions
include how many forests and domains are needed in the network and the number of
domain namespaces to be deployed.
Defining Business and Technical Requirements
Organizations invest in technology to solve business problems or to provide new business
opportunities. Business requirements typically dictate the reasons a new technology is being
implemented within the organization. Technical requirements frequently define how the new
technology will be designed and deployed to address the business requirements.
Business Requirements
Business requirements can take many different forms. For example, an organization may
need to:
■
Become more efficient Most businesses are very competitive and strive to be more
efficient than their competitors. When evaluating new technologies, these organizations
typically will invest in the technology if it will improve efficiency.
■
Meet an external requirement Forces outside an organization, such as the government
or business partners, may impose requirements. For example, government regulations
may require that organizations ensure the privacy of all user and customer information.
■
Avoid disruptions to business processes A current technology may meet most business
requirements. However, if it is unreliable, an organization may invest in a new technology
that provides the requisite reliability and availability.
■
Explore new business areas or solutions Organizations sometimes use technologies
to pursue new business opportunities. For example, deploying Web-based tools for
selling products and services has significantly increased the business potential for many
organizations.
146
Part II:
Designing and Implementing Windows Server 2008 Active Directory
A technology deployment is more likely to address an organization’s needs if business requirements are defined clearly and concisely at the project’s inception. Additionally, it is easier to
measure a project’s success if the project team is knowledgeable about the business problems
that the project must solve.
Functional Requirements
Functional requirements define a system’s expected behavior. Functional requirements are
derived from business requirements. Business requirements define the problem to address,
while functional requirements define how the proposed technology should solve that problem.
For example, an organization may define a business requirement that all users in all offices
must always be able to gain access to shared resources such as an e-mail system or business
applications during regular business requirements. The resulting functional requirement may
specify the server locations and configurations required to address the business requirement.
Functional requirements are used to create the functional specification, which describes the
proposed solution in exacting detail and forms the basis for project plans and schedules. The
functional specification is important because it:
■
Establishes an agreement between the deployment team and the technology consumer
or customer This enables the team to determine the correct solution to meet the
customer’s expectations.
■
Provides in-depth project details to help the team determine if it is building the solution
correctly This, in turn, makes the solution easier to validate and verify.
■
Enables the team to estimate budgets and schedules The quantity of resources and
their respective skill sets are difficult to determine without the specific detail that
a functional specification provides.
Note In addition to functional requirements, every design has nonfunctional requirements.
Nonfunctional specifications do not define what the system does but rather how the system
will perform and/or the quality of service it will provide. Common nonfunctional requirements
include system availability, maintainability, performance, reliability, and scalability.
Service Level Agreements
Service level agreements (SLAs) are understandings between an organization and the group
managing the information system infrastructure that define expected performance levels. It
is important to define an SLA because it documents the service expectations and requirements
that an organization expects the IT department to deliver. SLAs may define several categories
of expected performance, including:
■
Availability For example, an SLA may require that all users can logon on to the network
and access critical applications 99.99 percent of the time during business hours and
99.9 percent of the time during nonbusiness hours.
Chapter 5:
■
Designing the Active Directory Domain Services Structure
147
Performance For example, an SLA may specify that all users should be able to logon to
AD DS within 15 seconds of entering their credentials.
■
Recovery For example, an SLA may stipulate that in the event of a single server failure,
the services provided by the server will be restored to at least 75% of normal capacity
within 4 hours of server failure.
Note
The SLAs that organizations use can vary from informal to very structured. Informal
SLAs often are not documented, but rather are general expectations for system performance
that are well known. For example, an organization may have an internal, unwritten policy that
certain servers should not be restarted during business hours except in cases of emergencies.
Formal SLAs typically are documented extensively and detail expectations determined from
negotiations between service providers and business customers. These SLAs may define exact
expectations for each system component in the system and may include penalties if expectations are not met. Often, the most formal SLAs are negotiated between business customers
and outsourced IT providers.
SLAs have a significant impact on a project’s scope and budget, so it is important to define
them at the project’s inception. Business requirements plus functional and nonfunctional
requirements typically form the basis for initial SLA negotiations. In most cases, the project
team and business sponsors negotiate the final SLA details. Initial requirements may set very
high expectations. However, meeting those high expectations can be expensive. For example,
if an SLA requires that all users in all offices be able to logon on to AD DS at all times, you may
need to deploy fully redundant systems or WAN connections throughout the organization.
The cost of this is likely would be prohibitive. Thus, the organization may negotiate a more
acceptable performance level at a more reasonable cost.
Legal Requirements
Information systems make it very easy to collect, store, and transmit information. Many countries have imposed compliance requirements that mandate how organizations ensure data
confidentiality. Examples of legislation restricting how organizations manage information
include:
■
United States:
❑
Sarbanes-Oxley Act of 2002 (SOX)
❑
Gramm-Leach-Bliley Act (Financial Modernization Act)
❑
Health Insurance Portability and Accountability Act of 1996 (HIPAA)
❑
Uniting and Strengthening America by Providing Appropriate Tools Required to
Intercept and Obstruct Terrorism Act of 2001 (USA Patriot Act)
■
Canada: The Personal Information Protection and Electronic Documents Act
■
Australia: Federal Privacy Act
148
Part II:
Designing and Implementing Windows Server 2008 Active Directory
■
Europe: European Union Data Protection Directive (EUDPD)
■
Japan: Japan’s Personal Information Protection Act
When designing the AD DS infrastructure, you need to consider these legal requirements.
In some cases, you will be able to design technical solutions to address the requirements.
For example, if all customer information must be kept confidential from all but certain
specified users, you may choose to store customer information in a separate Active Directory
Domain Services (AD DS) forest or deploy an Active Directory Lightweight Directory Services
(AD LDS) instance with strict restrictions on who can access the data. To prevent users from
sending confidential data outside the organization, you may implement an Active Directory
Rights Management Services (AD RMS) solution.
Technical solutions can rarely address all of the legal requirements. For example, if you use
AD RMS to protect confidential data, a user can still use a digital camera to take pictures of the
confidential data and send the data outside the organization. Users with access to confidential
customer information can still share that information with unauthorized users. To address
these issues, organizations must complement the technical solutions with corporate policybased solutions that clearly specify acceptable actions and consequences for not following
acceptable actions.
Security Requirements
All IT deployments will also have security requirements. These requirements become especially important when deploying AD DS because AD DS is likely to be used to secure access
to most data, services, and applications on the network.
To identify security requirements, ask the following questions:
■
■
What are the organization’s security risks? There are many possible answers to this
question, including:
❑
Mobile users who travel extensively and must connect to the internal network to
gain access to e-mail, applications, or data.
❑
Users outside the organization who may require access to Web sites located in a
perimeter network and be able to authenticate using their internal AD DS user
accounts.
❑
Offices that are not physically secure, where malicious users might be able to gain
access to the network. Other offices may not have a secure location for storing
domain controllers or other servers.
❑
A database with confidential customer information that must be accessible to Web
applications running in the perimeter network.
How are the security requirements currently addressed? Almost all organizations have
addressed at least some security requirements. For example, virtually all organizations
Chapter 5:
Designing the Active Directory Domain Services Structure
149
have implemented antivirus solutions and firewalls to protect the internal network from
Internet-based attacks.
■
What gaps exist between security requirements and current solutions? These gaps will
vary between different organizations. For example, some organizations have deployed
applications that require users to authenticate using credentials that are not secure
when transmitted on the network. To simplify the user experience in these situations,
some organizations will assign the same user name and password for the application as
is used to log on to AD DS. This means that if the credentials used to authenticate to the
application are compromised, the AD DS credentials are also compromised.
■
What general security requirements or guidelines must the project follow? Most organizations have general security requirements that apply to all projects. These requirements
could include:
❑
All servers must be located in a secure server room which can be accessed by only
authorized users.
❑
All authentication traffic must be secured while transmitted on the network.
❑
All users who access the internal network through a virtual private network (VPN)
must use two-factor authentication.
Security requirements can sometimes conflict with business requirements. For example, a
business requirement may state that all users in a particular department must be able to
access the internal network through a VPN. The security requirement may state that all VPN
users must provide two-factor authentication. If not all users in the department have mobile
computers that support two-factor authentication, then there is a conflict between the business requirement and the security requirement.
Security requirements often place restrictions on what a project can accomplish. A technical
solution may meet or exceed business requirements, but if the person who is responsible for
defining security requirements does not consider it secure, it may need to be revised or the
business requirement may need to be removed. In many organizations, some security requirements are not negotiable, while other security requirements may be modified to accommodate a critical business requirement.
Project Constraints
Project constraints define the project’s parameters by setting limits on what can be done. For
example, if the project has a fixed budget, planners may have to use the equipment they
can afford rather than the equipment they consider ideal for the job.
There are three general categories of project constraints:
■
Resource constraints A project’s budget is a common resource constraint. If the pro-
posed budget cannot meet the projected personnel costs, equipment costs, and software
150
Part II:
Designing and Implementing Windows Server 2008 Active Directory
costs, the project cannot continue or may need to be modified to address the restraints.
Additionally, a project may have other resource constraints:
❑
The appropriate personnel may not be available or their training may not be
sufficient to complete the project.
❑
Computer resources or equipment may not be accessible.
■
Schedule constraints A project schedule also may restrict what the project can accomplish. For example, many organizations do not allow changes to the IT environment during specific times, such as during the end of the corporate fiscal year or peak business
cycles. If a project is due for completion during one of these periods, the project scope
may require modification. Additionally, a project may be constrained by the schedule of
other projects.
■
Feature constraints Feature constraints can impact a project’s start or scope. For example, if an organization is evaluating a new product based on a particular feature and that
feature is not available or does not meet the company requirements, the organization
may choose to cancel the project. If a particular feature is critical, the project scope may
be modified to include the feature.
The project team and business sponsors often negotiate project constraints, as well as business requirements and SLAs. The budget may seem like a firm constraint, but if increasing the
budget results in meeting an important business requirement or SLA level, the budget may be
adjusted to include the requirement.
Documenting the Current Environment
Once you have gathered the directory service requirements, the next step is to analyze the current network and directory environment. Analyzing the current environment helps determine
what needs to change when deploying the new infrastructure. This information provides a
starting point for determining the appropriate design and implementation plan for the Windows Server 2008 deployment.
Figure 5-2 shows a checklist of the types of information that you need to collect when starting
your AD DS design.
Important
As you collect information about the current network infrastructure or
any other component in the current environment, you should also ensure that you collect
information about any planned changes to the environment. For example, if the WAN links
are going to be upgraded before AD DS will be deployed, include this information in your
documentation. These changes may interfere with the AD DS deployment because of project
dependencies or may result in changes to your design.
Chapter 5:
Designing the Active Directory Domain Services Structure
151
Document
physical
network
Document
name resolution
infrastructure
Document
Active Directory
infrastructure
Document
additional
infrastructure
components
Document
administrative
models and
processes
Figure 5-2
AD DS design current environment checklist.
Documenting the Physical Network Infrastructure
When documenting the physical network infrastructure, include the following components:
■
The number, geographic locations, and link speed of all sites where network services
exist It is important to identify all locations that make up the network infrastructure,
such as buildings, campuses, and branch offices. You also must determine the connection
types and network speed for each location. It is also important to consider the physical
security of the various locations. For branch offices in particular, it is common to have
decreased physical security, and this will affect the design choices you have to make.
■
A routing topology map that illustrates the physical sites and the Internet Protocol (IP)
subnets in use at those sites This map is useful in planning or integrating with the AD
DS site design.
■
Bandwidth, latency, and current usage Bandwidth is the transmission speed over a
network connection in kilobits per second (Kpbs). Latency refers to the time it takes,
in milliseconds, to transfer data between two points. Both of these factors combine to
determine how much data that can be transmitted in a set time period over the network.
This information, as well as the current applications using the network and the number
of users at various locations and their use patterns, can be used to create a design for
your AD DS implementation that provides a satisfactory user experience.
■
Firewall configuration requirements If your organization has deployed firewalls between
company locations, document the firewall locations and the firewall rules. Incorrectly configured firewalls can disrupt DNS name resolution, AD DS replication, and authentication.
152
Part II:
■
Designing and Implementing Windows Server 2008 Active Directory
Nontechnical constraints These include geographical, political, or cost-related restrictions resulting from a change or upgrade of network links between sites.
On the Disc
You can use the CurrentNetworkEnviroment.xlsx file on the CD to document the
current networking environment. Several tabs in the slide refer to associated network diagrams.
One of the best tools for creating network diagrams is Microsoft Office Visio. Four Visio templates that can be used for diagramming LAN and WAN configurations are included on the CD.
You can download additional Visio templates from http://office.microsoft.com/en-us/templates/
default.aspx. A sample WAN diagram (WANDiagram_Sample.vsd) is also included on the CD.
Documenting the Name Resolution Infrastructure
AD DS requires a DNS (Domain Name System) infrastructure so that domain controllers
can locate each other and so that client computers can locate domain controllers. When
documenting the DNS infrastructure, include the following:
■
What type of DNS software is currently in use? Is it able to handle service (SRV)
resource records?
■
Who maintains and administers the organization’s internal and external DNS servers
and zone information? What are the IP addresses of all DNS servers?
■
Who assigns DNS names and domains within the organization? Is there a centralized
authority for DNS namespace planning and control?
■
Where are internal DNS servers located on the network? What zones are stored on each
DNS server?
■
How is DNS name resolution across multiple namespaces configured? How are root
hints, forwarders, conditional forwarders, stub zones, and delegations used to facilitate
name resolution?
■
Are the DNS zones AD DS-integrated?
On the Disc Refer to the DNS Zone Configuration and the DNS Server Configuration tabs
in the CurrentNetworkEnvironment job aid located on the CD to document the current name
DNS infrastructure.
Documenting the Active Directory Infrastructure
Most organizations that deploy AD DS will already be running some version of Active Directory.
Before starting your AD DS design, ensure that you understand the current environment.
When documenting the current Active Directory deployment, include the following:
■
Active Directory forest and domain topology
❑
Does your organization consist of a single forest or multiple forests? If the
organization has deployed multiple forests, you may want to explore options for
consolidating the forests.
Chapter 5:
■
Designing the Active Directory Domain Services Structure
153
❑
How many domains are implemented in each forest?
❑
What is the purpose of each domain? In order to determine if you can consolidate
domains, you need to understand why each domain was created.
❑
If the organization has deployed multiple forests, what rationale does the
organization have for maintaining multiple forests? If the rationale for choosing
multiple domains is still valid, you will probably have to retain multiple forests.
If not, you will be able to explore the option of consolidating forests.
Active Directory trust configuration
❑
What trusts are configured in addition to the default trusts configured within
an AD DS forest? As you document the trusts, determine the rationale for each
trust. Is the rationale still valid?
❑
What trust relationships exist with external domains? Determine whether these
trusts are still required or if additional trusts are required.
■
What are the domain and forest functional levels? As you raise the domain and forest
functional levels, you gain new features in Active Directory. If the domain and forest
functional levels are not at the highest level supported by the operating systems on the
domain controllers, why has the functional level not been raised?
■
Active Directory site configuration: Document the current Active Directory site topology,
including:
❑
Number of configured sites
❑
Subnet configurations and their site association
❑
IP site links and their member sites
❑
IP site link costs and replication schedules
■
Domain controller and global catalog server configuration: As you analyze each Active
Directory site, document the configuration and location of each domain controller and
global catalog server. As part of the domain controller documentation, identify which
domain controllers are hosting the forest and domain operation master roles.
■
FSMO role holders: AD DS has a number of operation master roles and it is very important to understand which domain controllers in the domain or forest holds them.
■
Time service configuration: Time synchronization is critical in an AD DS environment,
so you should review how time service is configured in your forest.
■
Organizational unit (OU) configuration: As you analyze the domain, document the current
OU structure. For each OU, document the location in the domain hierarchy, the purpose
for each OU, and the delegated permissions and linked Group Policy objects (GPOs).
■
Group Policy configuration: Many organizations use Active Directory Group Policy to
provide centralized management and security of users, groups and computers, and
other directory objects. Document the GPOs, the purpose for each GPO, the inheritance
and filtering settings for each GPO, and the GPO settings.
154
Part II:
■
Designing and Implementing Windows Server 2008 Active Directory
Active Directory groups: Document the group configuration, including the group scope
and type, the group owners and membership list, and how the group is used. This is
particularly important for all groups with administrative permissions.
On the Disc You can use the CurrentDirectoryEnviroment.xlsx file on the CD to document
the current Active Directory environment.
Current Active Directory Configuration and AD DS Design
An important requirement in AD DS design is balancing the optimal design for a
network in which it is currently deployed. As you prepare your AD DS design, consider
the current Active Directory design and the implications of migrating from that infrastructure to a different design in AD DS. The current domain structure might not be
ideal. However, just upgrading the current domains is significantly easier (and less
costly) than creating the ideal AD DS structure and then migrating all of the domain
objects to the new domains. This means that you might be forced to work with a lessthan-ideal AD DS structure because you are required to upgrade the current domains.
Of course, you might also find that the current structure is so far from the ideal structure
that it is worth the extra work and cost of restructuring all the domains. Probably the
most common scenario will be one where the current structure is almost acceptable, but
you would like to make some changes. In this scenario, you might upgrade one or more
domains and then merge other domains into the upgraded domains.
As you prepare your AD DS design, consider creating an ideal AD DS design and then
create another design based on the optimal upgrade scenario for the current environment. Chances are good that your final design will fall somewhere between the ideal and
the optimal designs.
This interaction between an ideal design and what is realistically possible illustrates
another important aspect of AD DS design: it is almost always an iterative process. You
might start out with one design in mind, and as you gather additional information,
you will likely need to modify that design. As you start testing the implementation or
migration scenarios, you might again modify your AD DS design.
It is important, however, that some parts of your design be finalized before you begin
deployment. Design decisions such as the number of forests and domains as well as the
domain namespace design are difficult to change after deployment has started. Other
issues, such as final OU design and site design, are fairly easily changed after deployment.
Documenting Additional Infrastructure Components
In addition to the network infrastructure and directory components, you may need to collect
information on additional infrastructure components, such as:
■
If your organization has deployed Exchange Server,
you will need to document the Exchange Server infrastructure. Exchange Servers and
Exchange Server implementation
Chapter 5:
Designing the Active Directory Domain Services Structure
155
messaging clients have a strong dependency on AD DS that will affect the number and
placement of domain controllers and global catalog servers. In addition, if your organization has deployed or is planning on deploying Exchange Server 2007, you will need to
consider Exchange message routing when designing the site configuration. For more
details on how Exchange Server may influence your AD DS design, see the sidebar,
“Exchange Server 2007 and Site Design,” later in this chapter.
■
Directory enabled applications
■
In most cases, the AD DS domain controllers will need to integrate with the current backup and disaster recovery infrastructure.
Collect information on the backup and disaster recovery technology as well as on
backup schedules and processes.
■
Additional applications Create an inventory of the products used in your environment,
In addition to Exchange Server, document all other
directory-enabled applications deployed in the organization. In your documentation,
describe whether the application is currently using Active Directory or another directory
service, whether the application requires AD DS schema changes, and where the application is deployed.
Backup and disaster recovery infrastructure
including antivirus solutions, storage management software, and system management
and monitoring tools.
Documenting Administrative Models and Processes
Your organization’s administrative structure and processes have great influence on the IT
infrastructure design. This is particularly true with an AD DS design because of the flexibility
that AD DS provides for delegating administrative tasks. When documenting the administrative model, include the following:
■
In some organizations, IT management
may be centralized, while in other organizations, the responsibilities may be delegated
to regional areas or individual business units. The most common approach is a combination of the two, in which some IT functions are centralized, such as network provisioning and security, while other functions, such as user account or desktop computer
management, are delegated to geographic or business subdivisions.
■
User account administrative model
■
Business unit structure It is not necessary to explore exhaustively the interrelationships
between an organization’s business units or divisions. However, it is useful to examine
some aspects of these relationships. For example:
Current organizational administrative model
In a centralized environment, a single group of
administrators may perform these tasks for all users throughout the organization. In a
decentralized environment, this responsibility may lie with the departmental team or
with some other team, such as the human resources or corporate security departments.
❑
Do separate business units or divisions require security boundaries between
them? If so, a multiple-forest design may be required.
156
Part II:
Designing and Implementing Windows Server 2008 Active Directory
❑
What are the requirements for communication between different business units?
For example, is a unified directory or address list necessary for the entire organization?
❑
How is cross-unit communication controlled? In other words, which group is
responsible for locating and resolving authentication, network, or protocol
problems that hinder communication between users and resources in different units?
■
Troubleshooting processes Most large organizations have a well-defined troubleshooting
process that may include multiple levels of support. The information about the current
troubleshooting processes is useful when you create the deployment plan and also
helps to ensure that the appropriate administrators receive the necessary training for
troubleshooting the AD DS deployment.
■
Change control process The change control process varies greatly between organiza-
tions. Some organizations have not implemented a formal change control process,
while others implement strict change requests, approval, and notification processes. Key
questions to ask regarding change control processes include:
❑
How does the organization implement IT changes? You need to identify specific
processes that take place when changes are implemented.
❑
How are IT infrastructure changes approved? Before changes are made, specific
approval may be required by IT managers, enterprise administrators, or security
personnel. You need to document who the decision makers are and how they
affect the change-approval process.
❑
How are change notifications handled? Before the change takes place, all affected
users must be notified of the change and any impact it may cause. It is important
to document all current change-notification processes and the requirements
specifying when change notifications are required.
❑
What are the emergency escalation notification processes? If issues arise during
implementation of the approved change, you will need to know who to contact to
provide troubleshooting and recovery procedures.
❑
What are the time frames for making changes that may impact availability? Many
organizations limit when critical network services can be changed or taken offline.
❑
What are the risk management processes related to change management? A
complete change control process includes a risk analysis and processes for
mitigating risks.
Designing the Forest Structure
After collecting the business and technical requirements and documenting the current
environment, you are ready to start designing the AD DS infrastructure. Probably the most
important decision you need to make early in the design process is how many forests you will
create. Deploying a single AD DS forest makes it easy to share and access information within
the company. It also makes it easy to centrally manage the entire directory infrastructure.
Chapter 5:
Designing the Active Directory Domain Services Structure
157
However, using a single forest for a large corporation also requires a significant degree of
cooperation and interdependence between possibly diverse and disconnected business units.
Ultimately, the number of forests you deploy depends on what is more important in your
company: sharing information with ease across all the domains in the forest or being able to
maintain fully isolated control of a part of the directory structure.
Figure 5-3 shows the process for creating a forest design.
Research the
implications of
choosing one
or more forests
Determine if you
will require more
than one forest
Require multiple
forests
Require one
forest
Determine the
number of forests
Determine the
forest design model
Determine the
forest integration
Determine the
forest trust design
For each forest
Determine the
forest owner
Define the forest
change control process
Figure 5-3
Creating a forest design.
158
Part II:
Designing and Implementing Windows Server 2008 Active Directory
Forests and AD DS Design
An AD DS forest is designed to be a self-contained unit. Inside the forest, it is easy to share
information and collaborate with other users in the same unit. However, because the forest
is a self-contained unit, the actions of one person can potentially impact everyone else in the
forest. As you design the highest level of the AD DS infrastructure, you must decide whether
you need to deploy one forest or multiple forests. Each forest is an integrated unit because it
has the following characteristics:
■
Global catalog The forest can have many global catalog servers but has only one global
catalog. The global catalog makes it easy to locate objects in any domain in the forest
and to log on to any domain in the forest, regardless of which domain hosts your user
account.
■
Configuration directory partition
■
Trusts All of the domains in the forest are connected by two-way transitive trusts. There
All domain controllers share the same configuration
directory partition. This configuration information is used to optimize replication of
information throughout the forest, to store application information for directoryenabled applications, and to share information through application directory partitions.
is no option to change this.
Note One of the best illustrations of the way a single forest is used to make collaboration
easier is seen in how Microsoft Exchange 2000 Server and later versions use forests. The forest
boundary is also the boundary for the Exchange Server organization. Exchange Server stores
most of its configuration information in the configuration directory partition, making it easy
to manage message routing throughout a large organization. The global address list (GAL) is
made up of all the e-mail recipients in the global catalog. Having a single Exchange Server
organization is highly desirable for most companies. Within one organization, calendar information, public folders, and recipient information is accessible to everyone, and many types of
collaborations are enabled by default. As soon as you deploy multiple organizations (and
multiple forests), these benefits are much more difficult to implement.
Although AD DS makes the sharing of information easier, it also enforces a number of restrictions that require the different business units in a company to cooperate in several different
ways. These restrictions include:
■
All the domains in the forest share a single schema. Although this sounds
simple enough, this might be the most important reason for a corporation to deploy
multiple forests. If one business unit decides to deploy an application that modifies the
schema, all business units are affected. This can become overwhelming if 20 business
units decide that they want to deploy applications that modify the schema. Every
schema modification must be tested to ensure that it does not conflict with other
schema changes.
One schema
Chapter 5:
■
Designing the Active Directory Domain Services Structure
159
Change control policies Because changes made to the forest can affect every domain
and because most significant changes should only be performed in a centralized
manner, a well-defined change control policy must be in place.
■
Centralized administration Choosing to deploy a single forest means that some
components of network administration must be centralized. For example, the only
group with the right to change the schema is the Schema Admins group. The only group
with the right to add and remove domains from the forest is the Enterprise Admins
group. Both of these groups exist in the forest root domain and the actions of these
administrators will impact the entire forest. The Enterprise Admins group is automatically added to the domain local Administrators group on every domain controller in the
forest. For some companies, this type of centralized administration is not acceptable.
■
Trusted administrators Deploying a single forest requires a degree of trust from all
administrators in all domains. Any administrator with the rights to administer a domain
controller can make changes that will affect the entire forest. This means that all domain
administrators must be highly trusted. You can reduce the risk of administrators making
changes that will affect the entire forest by implementing RODCs in locations without
highly trusted administrators.
As you deal with the question of how many forests you need to deploy, you will need to balance
the benefits of deploying a single forest with the ways in which a single forest requires a high
level of integration between domains, OUs, and the business units that these objects represent.
Single or Multiple Forests
As mentioned earlier, the most significant question that you need to answer when creating
your forest design is whether you will have a single forest or multiple forests. This decision
should be made before deployment because it is very difficult to change after deployment.
There is no one-step process to merge forests; rather, you must move whatever objects you
want in the new forest from the old forest. Also, there is no easy way to split a single forest into
two. You must create a separate forest and then move objects from one to the other.
The most common AD DS forest deployment is a single forest. For most companies, the benefits
of a shared global catalog, built-in trusts, and a common configuration directory partition are
more important than maintaining a complete separation of all administrative roles. As you work
with designing AD DS, your first choice should always be to deploy a single forest. Assume that
you will be deploying a single forest, but be prepared to be convinced to do otherwise.
Having said this, there are clearly situations where multiple forests are the best option:
■
Some companies deploy separate AD DS forests in perimeter networks (or DMZs).
Most organizations deploy servers that need to be directly accessible from the Internet
in a perimeter network to provide an extra level of security for the internal network.
These servers can be deployed as stand-alone servers, but by deploying a separate AD
DS forest in the perimeter network, you can take advantage of the computer and user
160
Part II:
Designing and Implementing Windows Server 2008 Active Directory
management features provided by AD DS while still maintaining isolation from the
internal AD DS forest.
■
Some companies do not have a strong requirement for intracompany collaboration.
In some companies, business units operate quite independently of each other, with
little need to exchange information other than e-mail. These companies are not giving
anything up by deploying multiple forests.
■
Some companies require a complete separation of network information. For security or
legal reasons, a company might be required to ensure that some network information
not be accessible to anyone outside a business unit. By default, the information in one
forest is not visible in any other forest.
■
Some companies require incompatible schema configurations. If two parts of the
organization require a unique schema because they are deploying applications that
make incompatible changes to the schema, you must create separate forests.
■
Some companies cannot agree on centralized administrative procedures. If business
units in the company cannot agree on policies for forest or schema change control, or if
they cannot agree on centralized administration, you will have to deploy separate forests.
■
Some companies must limit the scope of trust relationships. Within a forest, all domains
share a transitive trust, and there is no option to break these trusts. If your network
environment requires a trust configuration where there cannot be a two-way transitive
trust between all domains, you must use multiple forests.
For some companies, deploying multiple forests might be an appealing option. However,
deploying multiple forests adds significant complexity to the network infrastructure. Some of
these issues are:
■
Increased administrative effort required to manage the network. At least one domain as
well as the forest-level configuration must be managed in each forest.
■
Decreased ability of users to collaborate. One example of this is searching for resources
on the network. Users are no longer able to search the global catalog for resources in
the other forest. Users must be trained in how to search for resources outside of the
global catalog.
■
Additional administrative effort required for users to access resources between forests.
Administrators must configure the trusts rather than using the built-in trusts. If any
information must be synchronized between the forests, this must also be configured.
Business Involvement and Forest Design
Few companies have purely technical reasons to deploy more than one forest. A forest
can contain multiple domains, with each domain containing hundreds of thousands of
objects. The domains can be deployed with multiple namespaces and with distinct
administration for each domain.
Chapter 5:
Designing the Active Directory Domain Services Structure
161
However, when you present decision makers in your organization with the list of forest
requirements, such as centralized control, a common schema, or trusted administrators,
you are sure to meet resistance. The most common reasons why companies deploy
multiple forests is company politics or the inability of different departments or business
units to work out how to deal with the centralized components of managing a single
forest. In some cases, the company cannot agree on a forest modification or schema
modification process. In other cases, the fact that a domain administrator in one domain
can affect all other domains in the forest means that a single forest is not acceptable. This is
especially true in the common scenario in which a number of formerly independent
companies must now work together due to corporate takeovers or mergers.
Separate forests might be the answer for some of these companies, but you must also
alert the decision makers to what they will lose if they do insist on multiple forests.
Implementing multiple forests enables autonomy between business units, but also
means that it is much more difficult to share information and the environment will be
much more costly to manage.
Designing Forests for AD DS Security
For some companies, the decision to deploy more than one forest will come down to whether
the company requires administrative autonomy or administrative isolation between business
units. In AD DS, there are many types of administrative activity including both the configuration of the directory services (forest configuration, domain controller placement, Domain
Name System [DNS] configuration) and management of the data in the directory service
(managing user or group objects, Group Policy objects, and so forth).
Service and Data Owners and Administrators
In large organizations, AD DS administrative roles are often divided into different categories. One way to describe the different categories is to distinguish between service
owners and administrators and data owners and administrators:
■
Service owners and administrators are responsible for AD DS as a service. That is,
they are responsible for the design and administration of the AD DS infrastructure. The service owners will make the decisions on how many forests, domains,
and sites will be required to ensure that the AD DS service meets the company
requirements. The service administrators have the required rights and permissions to create and manage these AD DS objects.
■
Data owners and administrators are responsible for the data that is stored in AD
DS. The data owners set policies and processes for managing the data, and the
data administrators have the rights and permissions to create the AD DS objects
within the structure defined by the service owners and administrators.
162
Part II:
Designing and Implementing Windows Server 2008 Active Directory
As a best practice, an organization should have very few service administrators. That is,
very few accounts should have the required permissions to change the AD DS structure.
By default, the Domain Admins in the forest root domain, Enterprise Admins, and
Schema Admins groups have service owner permissions. However, because data administrator permissions can be limited to specific containers within an OU, the organization
may have significantly more data administrators. To configure data administrator
accounts, you should create the required groups and accounts and assign permissions
specific to the container where the data administrator requires access.
You need to consider both service administrators and data administrators when designing
for administrative isolation or autonomy. Although a service administrator may have a
higher level of permissions, a data administrator can still make changes to AD DS that
will affect the entire forest. For example, when a data administrator creates a new user
account, the global catalog for the entire organization is modified.
For a more detailed discussion on the role of service and data owners and administrators, see “Creating a Forest Design” at http://technet2.microsoft.com/windowsserver/en/
library/ff92f142-66ea-498b-ad0f-a379c411eb6e1033.mspx?mfr=true. This guide is based
on deploying Windows Server 2003 forests. Many of the principles apply to Windows
Server 2008. You should also check the Windows Server 2008 TechCenter site for an
updated version of this guide.
Administrative autonomy means that you have complete administrative control over some
component of the forest. You might have administrative autonomy at the forest level, domain
level, or OU level. However, administrative autonomy does not mean that you have ultimate or
exclusive control. For example, you might be able to completely administer your domain, but
the Enterprise Admins group from the forest root domain also has administrative permissions
to your domain.
Administrative isolation, on the other hand, means that you have exclusive control over a
component of the directory. If you have administrative isolation, no one else has any control
over your part of the forest, and no one else can modify the directory service configuration or
modify the data in your part of the forest.
AD DS provides many ways to achieve administrative autonomy. Domain administrators can
do anything they want in a domain. OU administrators can be given full rights to create and
administer any types of objects in an OU. A single forest in AD DS is designed for administrative delegation and autonomy.
However, if you require administrative isolation, the only way to achieve this is through the
creation of separate forests. Part of the reason for this is because of the way AD DS is designed.
The Enterprise Admins group is automatically added to each domain’s local Administrators
group. The Domain Admins group has full administrative control over every object in the
domain and is automatically added to the Administrators group on every computer in the
Chapter 5:
Designing the Active Directory Domain Services Structure
163
domain. Although the default configuration can be modified and the groups removed from
the lower-level administrative groups, the higher-level administrators can always regain control of lower-level objects. This means that no part of the forest is isolated administratively.
Another reason a separate forest is needed for administrative isolation is because of the
possibility of malicious actions on the part of administrators in the domain. Anyone with
administrative access to a domain controller can violate the administrative isolation of any
other partition in the forest. An administrator might install software on the domain controller
in one domain that modifies the directory information for every domain in the forest. The
administrator might modify his or her own security identifier (SID) so that it appears that he
or she is a member of the Enterprise Admins group and then use this access to make forestwide changes.
All of the domain controllers and partitions in the forest are tightly integrated, and any change
made on one writable domain controller will be replicated to all other domain controllers.
There is no security check on the validity of replicated information; there is only a security
check on making changes to the directory information. So, if a malicious administrator manages to make a change to the directory information, all other domain controllers will accept
the replicated change without question. For these reasons, you must create separate forests if
you require administrative isolation. In some cases, you might be required to guarantee complete isolation of a directory partition. If so, you must accept the added administrative effort
and loss of collaboration that comes from deploying multiple forests.
Many companies, however, require administrative autonomy along with a reasonable
assurance that administrators from other partitions in the forest will not act maliciously. This
reasonable assurance can be addressed in most companies by doing the following:
■
Putting only highly trusted administrators into groups that have administrative control
over domain controllers. These groups include the Domain Admins group as well as
the domain’s local Administrators, Server Operators, and Backup Operators groups.
Administrative tasks that do not require access to the domain controllers should be
delegated to other groups.
■
Physically securing the domain controllers with only highly trusted administrators
given access to the servers.
■
Auditing all actions performed by high-level administrators.
High-level administrators should log on using the administrative account only when
necessary. These administrators should also have normal user accounts for day-to-day work.
Forest Design Models
At a high level, there are three common forest design models used when creating the forest
design. Most organizations will require one of these forest design models, although you may
need to use a combination of designs in some organizations.
164
Part II:
Designing and Implementing Windows Server 2008 Active Directory
Organizational Forest Model
In the organizational forest model, the forests are designed along some organizational criteria.
For example, an organization with multiple business units or geographical locations, or an
organization that was formed by acquisitions or mergers, may choose to use an organizational
forest model. To enable access to resources between the organizational entities, you can
configure forest trusts between forests or external trusts between specific domains in each
forest. See Figure 5-4 for an illustration of the organization forest model.
Note
If an organization has deployed only a single forest, it is using the organizational
forest model.
Optional
forest trust
Users
Users
Servers
Group
Servers
Group
Shared Resources
Shared Resources
Adatum.com
Fabrikam.com
Users
Servers
Optional
external trust
Group
Shared Resources
NA.Adatum.com
Figure 5-4
An organizational forest model.
In this model, all user accounts and shared resources related to each organizational entity are
stored within the relevant forest. By creating separate forests, you can ensure administrative
autonomy and isolation between the business units.
Chapter 5:
Designing the Active Directory Domain Services Structure
165
Resource Forest Model
In the resource forest model, user and group account management is isolated from resource
management by creating separate forests for each function. All user and group accounts are
stored in one or more account forests, and all shared resources are configured on servers in
one or more resource forests. The resource forests do not contain user accounts other than
administrative accounts and service accounts required by applications.
In the resource forest model, you must configure trusts between the two forests. In most cases,
this will be a one-way forest trust configured so that users in the account forest can access the
resources contained in the resource forest. You can enable two way trusts, external trusts, or
forest trusts with selective authentication in this model. See Figure 5-5 for an illustration of
the organization forest model.
One-way
forest trust
Users
Servers
Group
Domain
Controllers
Adatum.com
Domain
Controllers
Shared
Resources
AdatumResources.com
Figure 5-5
A resource forest model.
The resource forest model enables administrative autonomy and isolation for both the
account and resource forests.
Restricted Access Forest Model
The restricted access forest model is a variation on the organizational forest model. In a
restricted access forest model, a separate forest is created to contain user accounts and shared
resources that must be isolated from the rest of the organization. The restricted access forest
is different than the organizational forest in that no trusts are configured between the two
domains.
The restricted access forest is designed to ensure administrative isolation. This means that no
user account in a forest outside the restricted access forest can have any permissions or access
to any data in the forest. If users in the organizational forest require access in the restricted
access forest, they must have a separate user account created in this forest and must have two
166
Part II:
Designing and Implementing Windows Server 2008 Active Directory
client computers, each joined to a different forest. See Figure 5-6 for an illustration of the
restricted access forest model.
Users must have
accounts and
client computers
in both forests
Users
Servers
Group
No trust
is configured
between forests
Shared Resources
Adatum.com
Figure 5-6
Users
Servers
Group
Shared Resources
AdatumRestricted.com
A restricted access forest model.
Defining Forest Ownership
Regardless of how many forests you deploy, you will need to identify the forest owners for
each forest. In technical terms, it is easy to define who the forest owners are. The Schema
Admins group, the Enterprise Admins group, and the Domain Admins group in the root
domain can be considered the forest owners because they control what changes can be made
to the forest. However, these roles are purely technical, and the people in these groups are
almost never the final authority on whether or not modifications are actually made to the
forest. For example, the Schema Admins group can change the schema, but a member of the
Schema Admins group will usually not have the authority to decide whether a request for a
schema change will be approved.
Forest owners should possess a combination of technical expertise and business awareness.
They should be people who understand the overall business requirements of an organization,
but who also understand the technical implications of fulfilling all these requirements. Forest
owners might decide that an application that modifies the schema will be deployed because it
brings significant business value to the company. The schema administrator is then given
the task of modifying the schema as required.
In a company with multiple business units, the forest ownership group should be made up of
representatives from all the business units. Although it is important that all business units be
represented, this group must also be able to function efficiently. That is, a process must be in
place so that the group can efficiently decide whether or not a forest-level change will be
implemented. If implementing a global change takes an inordinate amount of time, individual
business units might regret that they ever agreed to deploy a single forest.
Chapter 5:
Designing the Active Directory Domain Services Structure
167
Forest Change Control Policies
The first task for forest owners is to define a forest change control policy. The forest change
control policy defines what changes can be made to the forest-level configuration and under
what circumstances those changes can be made. Essentially there are two types of forest
changes: schema changes and configuration directory partition changes (for example, add or
remove domains or application directory partitions, or modify the site configuration).
The forest change control policy also defines the procedures for testing, approving, and implementing any forest change. This is especially significant for schema changes, because schema
changes are not easily reversed, and any schema change must be compatible with all other
schema changes. The forest change control policy should define the testing procedure for
schema changes, and the forest owners should provide a test lab for testing these changes. The
forest change control policy should require thorough testing of all forest-level changes, but
should also ensure that the testing can be done expeditiously. If each change request takes a
very long time to process, the frustration level for the users will keep increasing.
The forest change control policy should be in place before you deploy AD DS. In companies
with diverse and separate business units, developing this policy might be difficult and timeconsuming, but it will not be any easier after AD DS has been deployed. If business units cannot agree on a forest change control policy before deployment, you might need to make the
decision to deploy multiple forests.
On the Disc
You can use the Forest Design Decisions tab in the ADDS_DesignDocument.xlsx
spreadsheet on the CD to document your forest design decisions.
Designing the Integration of Multiple Forests
Organizations that need multiple forests may still require some integration between the
forests. For example, in the organizational or resource forest model, users in one forest will
require access to resources in another forest. Organizations that use separate forests but still
want to enable some of the collaboration features available with Exchange Server will also
need to design some means of integration between multiple forests.
There are two high-level options for enabling the integration of forests. If organizations only
need to provide access to resources between forests, then they can configure inter-forest
trusts. If organizations need to provide more advanced integration between forests, they can
explore options for implementing some type of directory synchronization between forests.
Note Active Directory Federated Services provides another alternative for providing access
to applications in one forest to users in another forest. For more details, see Chapter 19, “Active
Directory Federated Services.”
168
Part II:
Designing and Implementing Windows Server 2008 Active Directory
Designing Inter-Forest Trusts
The easiest way to enable access to shared resources between forests is to configure trusts
between the forests or between domains in each of the forests. When configuring trusts
between forests, you can either configure forest trusts, which means that you establish
transitive trusts between the forest root domains, or you can configure external trusts
between any two domains in both forests.
Note
Before configuring trusts between AD DS forests, you must ensure that domain
controllers in either forest can resolve the DNS addresses for domain controllers in the other
forest. The easiest way to enable name resolution between forests is to configure conditional
forwarders in each forest. As well, both forests in a forest trust must be configured at least at
the Windows Server 2003 functional level (or higher).
Designing Forest Trusts
When you create a forest trust, you are establishing a trust relationship between the forest root
domains in the two forests. When you design the forest trust configuration, you will need to:
■
Design the forest trust direction
■
Design selective authentication
■
Design SID filtering
■
Design UPN suffix routing
Designing Forest Trust Direction When you configure a forest trust, you can choose the
trust direction. When creating the forest trust design, always plan on the least level of access
while still meeting the business requirements. For example, in a resource forest scenario, you
should be able to configure a one-way trust from the account forest to the resource forest.
Enable two-way trusts only if users in both forests require access to resources in the other forest.
Designing Selective Authentication The second option that you can configure when
creating a forest trust is selective authentication. By enabling selective authentication, you
have more control over which groups of users in a trusted forest can access shared resources
in a trusting forest and which resources they can access. When forest-wide authentication is
enabled, users who are authenticated over an inter-forest trust are automatically provided the
Authenticated Users SID of the trusting forest. The Authenticated Users SID is used to grant
many of the default rights for users in a forest. Because of this, after you set up an inter-forest
trust, users from the trusted forest receive some default rights to all of the resources in the
trusting forest that are accessible by the Authenticated Users group.
Chapter 5:
Designing the Active Directory Domain Services Structure
169
How It Works: Selective Authentication Across Windows Trusts
Selective authentication restricts the ability of users in trusted forests from accessing
resources in the trusting forest. Essentially, the users must pass an additional, more
granular, security check. This feature is only available in forests that are configured at
the Windows 2003 forest functional level or higher.
Without selective authentication, users in a trusted forest function are almost like members of the trusting forest, because they are added to the Authenticated Users group in
that forest. This permits access to any resource in the trusting forest where the Access
Control List is configured to allow access to Authenticated Users group.
Selective authentication is configured on the outgoing portion of a cross-forest trust.
After doing so, when users in the trusted forest try to access a resource in the trusting
forest, they will receive the message, “Logon Failure: The machine you are logging onto
is protected by an authentication firewall. The specified account is not allowed to
authenticate to the machine.” To grant users or groups in the trusted forest access to the
appropriate resources, you must grant the user the “Allowed to Authenticate” permission on the appropriate computer that they need to reach. Now, when the user tries to
access the resource, their access token will include the security principal called Other
Organization, and they will be granted access.
Darol Timberlake
Senior Premier Field Engineer, Microsoft
Security Alert
As a best practice, if you are enabling forest-wide authentication on a forest
trust, ensure that you remove the Authenticated Users group from all confidential resources
in the trusted domain.
When you enable selective authentication, you can limit which groups of users can access
resources across the trust, and you can limit which computers in the trusting domain can be
accessed across the trust.
To implement selective authentication, you must configure the forest trust to use selective
authentication rather than forest-wide authentication. You can enable this option when you
create the trust, or after the trust has been created. After configuring the trust, you must access
the computer account properties in AD DS, and grant groups or users from the trusted
domain the Allowed to Authenticate permission on the computer object.
170
Part II:
Designing and Implementing Windows Server 2008 Active Directory
Note
To enable selective authentication on forest trusts, the trusting forest in which shared
resources are located must have the forest functional level set to Windows Server 2003 or later.
To enable selective authentication on external trusts, the trusting domain in which shared
resources are located must have the domain functional level set to Windows 2000 native.
Controlling authentication in this way provides an extra layer of protection to shared
resources by preventing them from being randomly accessed by any authenticated user working in a different organization. When you enable selective authentication, all authentication
requests made over a trust to the trusting forest are verified by domain controllers in the trusting forest. If the user account does not have the Allowed to Authenticate permission assigned
on the server that the user is trying to access, the domain controller will not provide the service ticket required to access the forest.
As a security best practice, you should enable selective authentication on all forest and
external trusts. However, if many users in both forests require access to many resources in
the other forest, managing selective authentication may become too cumbersome.
Designing SID Filtering SID filtering is used to prevent users from using the SIDs stored in
the SIDHistory attribute when accessing resources in a separate forest. The SIDHistory
attribute is typically used when migrating user and group accounts from one domain to
another. During the migration, the SIDs assigned to the user or group in the source domain
can be migrated to the user or group account in the destination domain and stored in the
SIDHistory attribute. By retaining the SIDs, the user account can access resources in source
domain during the migration of resources to the new domain. If SID filtering is not enabled,
the SIDs in the SIDHistory attribute can be used to access resources in any trusted forest.
More Info For more details on user and group migration and the use of SIDHistory, see
Chapter 7, “Migrating to Active Directory Domain Services.”
Enabling SID filtering poses a security threat because the SIDHistory attribute can be used
to exploit the unprotected trust. A malicious user with administrative credentials can add
administrator account SIDs from administrative accounts in the trusting forest to the SIDHistory
attribute of a security principal in the trusted forest. The account could then be used to gain
administrator access to the trusted forest.
You can use SID filtering to block the use of the SIDHistory attribute across the forest trust.
If SID filtering is enabled, the domain controllers in the trusted domain compare the SID of
the requesting security principal to the domain SID of the trusted domain. Any SIDs from
domains other than the trusted domain are removed, or filtered. This means that even if the
SIDHistory attribute includes the SIDs from highly trusted administrator accounts in the trusting domain, the SIDs will not be accepted across the trust.
Chapter 5:
Designing the Active Directory Domain Services Structure
171
SID filtering is enabled by default on all trusts created on Windows Server 2008 computers,
and should be disabled only after careful consideration. If you are migrating user and group
accounts from one forest to another, you may choose to disable SID filtering only during
the migration. After the migration is complete, re-enable SID filtering.
Designing UPN Suffix Routing A user principal name (UPN) is a logon name that
includes the user principal name prefix and suffix. By default, the UPN prefix is the user
logon name, and the suffix is the domain name in which the user account was created. You
can use the other domains in the network, or additional suffixes that you created, to configure
other suffixes for users. For example, you may want to configure a suffix to create user logon
names that match users’ e-mail addresses.
UPNs can be used in a multiple-domain or multiple-forest environment to simplify the user
logon experience. For example, if users frequently travel between company locations and may
be logging on to computers in several different domains, they can be told to just logon by
using their UPN. The UPN must be unique in the forest, so the user will always be able to
authenticate regardless of which domain they are in. If the UPN is the same as the user e-mail
address, the user only has to remember as single user name to get access to both the network
and e-mail.
When you design forest trusts, you need to consider how name suffix routing works between
forests. Name suffix routing is a mechanism that provides name resolution across forests,
based on the following criteria:
■
When two Windows Server 2008 forests connect via forest trust, name suffix routing
is enabled automatically. For example, if a forest trust is configured between the
ADatum.com forest and the Contoso.com forest, a user with an account in the
ADatum.com forest could use their UPN to log on to a computer in the Contoso.com
forest. The authentication request would be routed automatically to the appropriate
domain controller in the ADatum.com forest.
■
If both forests have the same UPN suffix, users will not be able to use the UPN name
with that suffix when logging on to a computer in a different forest. If both the
ADatum.com and the Contoso.com organization used TreyResearch.com as a UPN suffix,
for example, then users would not be able to log on in the other forest using this suffix.
UPN name suffix routing errors are identified when you configure forest trusts. If the forests
share a UPN suffix, the New Trust Wizard detects and displays the conflict between the two
UPN name suffixes when you attempt to configure the trust. If you add a conflicting UPN
suffix to a domain with an existing forest trust, the UPN suffix will not be allowed to authenticate in the trusting domain.
172
Part II:
Designing and Implementing Windows Server 2008 Active Directory
Designing Directory Integration Between Forests
In some organizations, just creating trusts between forests does not provide the required
functionality. These organizations may not have any requirement to enable resource access
between different forests but may have a requirement to synchronize directory information
between forests. In many organizations that have deployed multiple forests and multiple
Exchange Server organizations, users in the separate organizations must be able to easily send
e-mail to each other. To enable this, user accounts in both forests must be synchronized with
the other forest to be available as message recipients within the messaging clients.
More Info In addition to directory synchronization, many other issues such as calendar
availability, public folder replication, and message routing need to be addressed when
designing Exchange Server deployments in complex organizations. For more information, see
“Planning for a Complex Exchange Organization” at http://technet.microsoft.com/en-us/
library/aa996010.aspx.
The easiest way to enable directory synchronization between multiple forests is to use a tool
such as Microsoft Identity Lifecycle Manager (ILM) 2007. One of the ILM components is
Microsoft Identity Integration Server 2003 (MIIS). By using MIIS, or by using the Identity
Integration Feature Pack for Microsoft Windows Server Active Directory (IIFP), you can
automate the process of synchronizing the directory information between multiple forests.
MIIS is a full-featured identity management solution that can be used to synchronize many
different types of directories, whereas IIFP is a more limited version of MIIS that can be used
to synchronize identity information between Microsoft directories.
When you configure directory synchronization using MIIS or IIFP, user accounts and
mail-enabled groups in a source forest are usually represented as mail-enabled contacts in the
destination forest. This means that the recipients appear in the global address list.
More Info Designing the integration of multiple forests is complicated and dependent on
the level of integration required between the forests. For a detailed discussion on the integration
options available and for guidance on how to implement the options, see the “Windows 2000/
2003: Multiple Forests Considerations” white paper located at http://www.microsoft.com/
downloads/details.aspx?familyid=b717bfcd-6c1c-4af6-8b2c-b604e60067ba&displaylang=en.
Designing the Domain Structure
After the question of how many forests you will deploy has been settled, the next step is to
determine the domain structure within each of the forests. Domains are used to partition a
large forest into smaller components, primarily for administration or replication purposes.
The following domain characteristics are important in AD DS design:
■
Replication boundaries Domain boundaries are replication boundaries for the domain
directory partition and for the domain information stored in the SYSVOL folder on all
Chapter 5:
Designing the Active Directory Domain Services Structure
173
domain controllers. Whereas other directory partitions like schema, configuration, and
the global catalog are replicated throughout the forest, the domain directory partition
is replicated only within one domain.
■
Resource access boundary Domain boundaries are also boundaries for resource access.
By default, users in one domain cannot access resources in another domain unless a
trust is in place and they are explicitly given the appropriate permissions.
■
Some security policies, when applied at the domain level,
will apply to all user accounts in the domain. These policies include password policies,
account lockout policies, and Kerberos ticket policies.
Security policy boundaries
Figure 5-7 shows the process for creating a domain design.
Research the
implications of
choosing one
or more domains
Determine if you
will require more
than one domain
Require multiple
domains
Require one
domain
Determine the
number of domains
Design the forest
root domain
Determine the
domain design model
Determine the
domain trust design
For each domain
Determine the
domain owner
Figure 5-7
Creating a domain design.
174
Part II:
Designing and Implementing Windows Server 2008 Active Directory
Important
As discussed in the previous section on designing the forest structure, domain
boundaries are not security boundaries.
Determining the Number of Domains
Although most companies will deploy a single forest, most large companies will deploy multiple
domains within that forest. Ideally, a single domain is the easiest to manage and provides
the users with the least complex environment. However, there are also several reasons why
companies choose to deploy multiple domains.
Choosing a Single Domain
Most small-sized to medium-sized businesses should consider implementing a single domain
because:
■
The AD DS data store can easily contain over 1 million objects. This means that the total
number of objects in AD DS is very rarely a reason to create multiple domains.
■
If an organization requires administrative autonomy between different business units,
you can use organizational units and delegate administrative tasks at the OU level. If the
organization requires administrative isolation, you must deploy multiple forests,
because domains are not an administrative security boundary.
■
If your company frequently reorganizes, or if users move between business units, it is
easy to move users between OUs in a domain. It is much more difficult to move users
between domains.
■
Single domains are easier to manage in that you need only be concerned with one set of
domain-level administrators and one set of domain-level policies. Also, you need to
administer only one set of domain controllers.
■
The easiest scenario for managing group policies is in a single domain environment.
Some Group Policy components are stored in the SYSVOL folder on each domain
controller in a domain. If you only have one domain, the Group Policy objects are automatically replicated to all domain controllers.
■
A single domain provides the easiest environment for which to design authentication
and resource access. With a single domain, you do not need to be concerned about
trusts or about assigning access to resources to users in other domains. Within a single
domain it is also quite practical to use only a single group for assigning resource access
rather than configuring both account and resource groups.
■
In a single domain, all domain controllers can be global catalog servers because the
infrastructure master restrictions do not apply. This means that you do not need to plan
for global catalog placement.
Chapter 5:
Designing the Active Directory Domain Services Structure
175
Choosing Multiple Domains
Although a single domain might be an ideal configuration for many companies, most large
companies deploy multiple domains. Separate domains are a good idea in these situations:
■
Replication traffic must be limited. The domain directory partition, which is the largest
and most frequently modified directory partition, is replicated to all domain controllers
in a domain. As well, the SYSVOL folder is replicated to all domain controllers in the
same domain. In some cases, this might cause too much replication traffic between
company locations (even if multiple sites are configured). This might be the case if there
are slow network connections between company locations or if there are large numbers
of users in multiple company locations. The only way to limit this replication traffic is to
create additional domains.
■
Some locations use Simple Mail Transfer Protocol (SMTP) connectivity. Any company
locations that have only SMTP connectivity must be configured as separate domains.
The domain partition cannot be replicated through site links that use SMTP.
■
Different password policies are required. The only way to have different password
policies, account lockout policies, and Kerberos ticket policies is to deploy separate
domains. Although you can configure fine-grained password policies to modify the
password policies for some users in a single domain, managing different password
policies for several groups of people in the same domain may require additional
administrative effort.
■
Access must be limited. If you need to be able to limit access to resources and restrict
administrative permissions, you will want to deploy additional domains. For some
companies, there might be legal reasons for creating separate administrative units.
■
Different namespaces are required for different business units. When organizations
amalgamate, it may be important for all business units to maintain a unique identity. By
deploying multiple domains in different trees, you can maintain a unique namespace for
each domain.
■
The best migration path for the organization is to upgrade several of the current
domains.
There are many good reasons for creating additional domains. However, each additional
domain can add significant administrative and financial cost to an organization. Before
choosing to create additional domains, consider the following:
■
Each additional domain requires additional hardware and additional administrators.
If you want to configure consistent administrative processes and auditing to all
domains, you must configure the settings in each domain.
■
Maintaining consistent Group Policy settings across all domains is difficult. You must
configure the GPOs in each domain and copy files such as scripts and template files to
domain controllers in each domain.
176
Part II:
Designing and Implementing Windows Server 2008 Active Directory
■
In a multiple-domain environment, users will be accessing resources across trusts,
which means greater complexity and potentially more points of failure.
■
Users who travel between locations with different domains must authenticate to a
domain controller in their home domain. If a network connection is not available to the
home domain, the user will not be able to authenticate to the domain.
Because of these additional costs, the total number of domains should be kept as low as
possible.
Designing the Forest Root Domain
Another important decision you will need to make when designing an AD DS solution with
multiple domains is whether or not you should deploy a dedicated root domain (also called
an empty root). A dedicated root domain is a domain that is dedicated to the role of operating
as the forest root domain. That is, the only user accounts or resources in that domain are those
needed to manage the forest. A forest with a dedicated root domain is shown in Figure 5-8.
A dedicated root domain
containing only the default
objects: forest operations
masters and forest
administrative groups
Adatum.com
TreyResearch.com
Company domains containing
all domain administrative groups
and other domain objects
NA.Adatum.com
Figure 5-8
Asia.Adatum.com
A forest with a dedicated root domain.
For most companies deploying multiple domains, a dedicated root domain is highly recommended. The root domain is a crucial domain in AD DS structure. Deploying a dedicated root
domain has the following benefits:
■
The root domain contains the forest-level administrative groups (the Enterprise Admins
and Schema Admins groups) and the forest-level operations master domain controllers
(the domain naming master and the schema master). Using a dedicated root domain
also makes it easier to limit the membership of the forest-level administrative groups.
Chapter 5:
Designing the Active Directory Domain Services Structure
177
Even if you strictly limit the number of administrators in the Schema Admins and
Enterprise Admins groups, any member of the Domain Admins group in the forest root
domain can modify the membership list for these groups.
■
A dedicated root domain is easily replicated to other sites. The forest root domain must
always be available when users log on to domains other than their home domain or
when users access resources in other domains. Because you will not need to make
changes to the dedicated forest root domain data store very often, there is almost no
replication traffic between root domain controllers, so you can locate domain controllers in several company locations to ensure redundancy. This also makes it easy to move
the root domain to another location in a disaster recovery scenario.
■
A dedicated root domain is easier to manage than a root domain that contains many
objects. Because the directory database will be small, it is easy to back up and restore the
root domain controllers. The root domain cannot be replaced; if the root domain is
destroyed and it cannot be recovered, you must rebuild the entire forest.
■
A dedicated root domain also never becomes obsolete, especially if the domain is given
a generic name.
For these reasons, most companies that choose to deploy multiple domains should seriously
consider deploying a dedicated root domain. Even some companies that plan to deploy
only one domain should consider the advantages of deploying a dedicated root domain.
The dedicated root domain requires some configuration that might not be applied to the
other domains in the forest. First of all, because the root domain contains the forest operations
masters, the domain controllers for the root domain must be secured as much as possible. The
forest domain also contains the groups that can modify the forest and schema. More than
with any other domain, the members of the administrative groups in the root domain must be
highly trusted. You probably will want to use the Restricted Group option in the Domain
Security Policy to manage the membership of these groups. The DNS configuration of the root
domain should also be as secure as possible. Because additional computers are not likely to be
installed in the root domain, you should enable secure dynamic updates for the root domain
DNS zone while the domain controllers are being installed and then disable dynamic updates
for this zone.
Designing Domain Hierarchies
After the root domain design is in place, the next step is to determine how many additional
domains you will need to deploy and how the rest of the domains will fit into the DNS
namespace for the forest.
There are three high-level models for creating additional domains in an AD DS forest:
■
Regional domains
are used primarily to reduce replication traffic across slow or expensive WAN links.
Creating domains based on geographic location, or regional domains
178
Part II:
Designing and Implementing Windows Server 2008 Active Directory
Regional domains are the preferred options for organizations with large numbers of
users that are geographically dispersed. For example, organizations with offices in
multiple continents may choose to implement regional domains to restrict replication
traffic between continents. Regional domains are also the preferred option if the
geographic divisions in the organization are well-established and not likely to change.
The domain configuration is difficult to change after deployment.
Important The available bandwidth between company locations may be the most
important criterion for creating additional domains in organizations with more than
10,000 users and with very limited bandwidth in WAN links between company locations.
Because all changes in AD DS will be replicated to all domain controllers in a single
domain, AD DS replication traffic may use up all of the available bandwidth. By creating
separate domains on either side of a slow WAN link, you can significantly reduce the
amount of network bandwidth used for replication. For a detailed analysis of the bandwidth requirements for replication, see “Determining Your Active Directory Design and
Deployment Strategy” at http://technet2.microsoft.com/windowsserver/en/library/
ff92f142-66ea-498b-ad0f-a379c411eb6e1033.mspx?mfr=true. This guide is based on
deploying Windows Server 2003 forests. Many of the principles apply to Windows Server
2008. You should also check the Windows Server 2008 TechCenter site for an updated
version of this guide.
■
Creating domains based on business units
■
Creating account and resource domains Some organizations create additional domains
in order to separate account and resource domains. This enables domain administrators
in the resource domain to have full control of all aspects of resource management
without having any access to account management. Separating account domains and
resource domains was common in organizations that deployed Windows NT 4.0, and
some organizations have just migrated the Windows NT domains to Active Directory.
Because you can delegate administrative access at the OU level in AD DS and because
AD DS can contain millions of objects, the requirement for deploying account and
resource domains is much less likely in Windows Server 2008 AD DS.
Some organizations create additional
domains based on business units. This design is the preferred option if the business
units are quite autonomous, or if there is a business requirement to maintain a separate
namespace for each business unit. Creating domains for business units is quite common
in organizations that have a history of mergers and acquisitions.
Domain Trees and Trusts
As you add more domains to the forest, you can add the domains in either a single-tree or
multiple-tree configuration. If you add all of the domains in a single tree, all the domains will
have a contiguous namespace (that is, they will fall under the root domain namespace). This
is often the best design for a centralized corporation in which all of the business units are
Chapter 5:
Designing the Active Directory Domain Services Structure
179
known by one name. However, if the corporation has several business units with distinct
identities, there is likely to be considerable resistance to using another business unit’s
namespace. In this case, you will add domains in separate trees, thus creating several
namespaces.
Default Trust Configuration
From a functional point of view, there is almost no difference between deploying a single tree
or multiple trees. In either case, all the domains will share a transitive trust with all other
domains, and they will also share the global catalog and configuration container. The primary
complicating factor with multiple trees is designing the DNS namespace and configuring the
DNS servers.
The default trust configuration between domains in an AD DS forest is either a parent-child
trust or a tree-root trust. Each parent and child pair shares a two-way trust, and the roots of
each tree share a two-way trust. Because the trusts are transitive, this means that all the
domains in the forest trust each other. However, when a user logs on in a domain other than
the home domain, the logon process might have to traverse the entire trust path. For example,
a corporation might have a domain structure as illustrated in Figure 5-9. If a user with an
account in the Asia.Fabrikam.com domain logs on in the Canada.NA.ADatum.com domain,
the initial logon request would go to a domain controller in the Canada domain. The logon
request would be referred up the trust path to the NA domain, then to the ADatum domain,
then to the Fabrikam domain, and finally to the Asia domain.
Shortcut Trusts
If you deploy multiple domains, and if users frequently access resources in other domains or
log on in domains other than their home domain, you might want to include shortcut trusts
in your domain design. Shortcut trusts are used to improve performance for resource access or
logon between domains. For example, if a shortcut trust is configured between the Canada
domain and the Asia domain, the logon request could be forwarded directly to a domain
controller in the Asia domain. The shortcut trust also optimizes accessing resources between
the domains.
Note Because shortcut trusts add more administrative overhead, they should be
implemented only if necessary. They will be necessary only if the trust path includes more than
four or five domains, and if users frequently log on or access resources in domains other
than their own.
180
Part II:
Designing and Implementing Windows Server 2008 Active Directory
Adatum.com
Default
Trusts
Fabrikam.com
NA.Adatum.com
SA.Adatum.com
Asia.Fabrikam.com
Shortcut
Trusts
US.NA.Adatum.com
Figure 5-9
Canada.NA.Adatum.com
A shortcut trust can be used to optimize resource access between domains.
Changing the Domain Hierarchy After Deployment
Your domain plan should be completed before you begin deployment because it is difficult to
change the domain configuration after deployment. With Windows Server 2003 or later, you
can rename domains in a forest that is running at the Windows Server 2003 or
Windows Server 2008 functional level. When you rename domains, you can move a domain
from one tree to another within the forest, but you do not have the option of replacing the
forest root domain. You also do not have the option of adding or removing domains from the
forest by using the domain rename tool.
The domain rename process is complex and requires a great deal of care in planning and
execution. In addition, the time that is required for a complete domain rename operation is
directly proportional to the size of an Active Directory forest in terms of its number of
domains, domain controllers, and member computers.
More Info For details on how to rename domains, see “Domain Rename Technical
Reference” at http://technet2.microsoft.com/windowsserver/en/library/35e63f1e-f097-4c9ca788-efc840d781931033.mspx?mfr=true.
Defining Domain Ownership
For each of the domains included in the AD DS design, you must assign a domain owner. In
most cases domain owners are business unit administrators or the administrators in the
geographical region where the domain has been defined.
Chapter 5:
Designing the Active Directory Domain Services Structure
181
Note
If you are deploying a dedicated root domain, the domain owners of the domain
are also the forest owners. The only real functions performed in a dedicated root domain are
forest functions, so it makes sense that the forest owners also own the root domain.
The role of the domain owner is to manage the individual domain. Tasks include:
■
Creating the domain-level security policies These include the password policies,
account lockout policies, and Kerberos ticket policies.
■
Designing the Group Policy configuration at the domain level The domain owner might
design the Group Policy objects (GPOs) for the entire domain and delegate the right
for OU-level administrators to link GPOs to OUs.
■
Creating the top-level OU structure in the domain After the top-level OU structure
has been created, the task of creating subordinate OUs can be assigned to OU-level
administrators.
■
Delegating administrative rights within the domain The domain owner should
establish the administrative policies for the domain level (including policies on naming
schemes, group design, etc.) and then delegate rights to OU-level administrators.
■
Managing the domain-level administrative groups As mentioned earlier, the adminis-
trators in each domain must be highly trusted because their actions can have forest-wide
implications. The domain owner’s role is to limit the membership of the domain-level
administrative groups and delegate lower-level administrative rights whenever possible.
Designing Domain and Forest Functional Levels
As part of the AD DS design process, you will also need to choose which domain and forest
functional level to implement.
Features Enabled at Domain Functional Levels
Table 5-1 shows which features are enabled at each domain functional level. It also shows the
operating systems for domain controllers that are supported at each functional level.
Table 5-1
Domain Functional Levels
Domain
Functional Level
Enabled Features
Windows 2000
native
All default Active Directory features and the
following features:
Supported Domain Controller
Operating Systems
Windows 2000
■
Windows Server 2003
Universal groups enabled for both
Windows Server 2008
distribution groups and security groups
■
Group nesting
■
Group conversion enabled
■
Security identifier (SID) history
182
Part II:
Designing and Implementing Windows Server 2008 Active Directory
Table 5-1
Domain Functional Levels (continued)
Domain
Functional Level
Windows
Server 2003
Windows
Server 2008
Enabled Features
All default Active Directory features, all
features from the Windows 2000 native
domain functional level, and the following
features:
■
Domain rename
■
Update of the logon time stamp: the
lastLogonTimestamp attribute will be
updated with the last logon time of the
user or computer
■
The ability to set the userPassword
attribute as the effective password on
inetOrgPerson and User objects
■
The ability to redirect Users and
Computers containers
■
The ability to store Authorization
Manager policies in AD DS
■
Constrained delegation so that applications can take advantage of the secure
delegation of user credentials by means
of the Kerberos authentication protocol
■
Selective authentication, through which
it is possible to specify the users and
groups from a trusted forest who are
allowed to authenticate to resource
servers in a trusting forest
All default Active Directory features, all features from the Windows Server 2003 domain
functional level, and the following features:
■
Distributed File System Replication
support for SYSVOL
■
Advanced Encryption Services (AES 128
and 256) support for the Kerberos
protocol
■
Last Interactive Logon Information,
which displays the time of the last
successful interactive logon for a user,
from what workstation, and the number
of failed logon attempts since the last
logon
■
Fine-grained password policies, which
enable password and account lockout
policies to be specified for users and
global security groups in a domain
Supported Domain Controller
Operating Systems
Windows Server 2003
Windows Server 2008
Windows Server 2008
Chapter 5:
Designing the Active Directory Domain Services Structure
183
Features Enabled at Forest Functional Levels
Table 5-2 shows which features are enabled at each forest functional level. It also shows the
operating systems for domain controllers that are supported at each functional level.
Table 5-2
Forest Functional Levels
Forest Functional
Level
Enabled Features
Supported Domain
Controllers
Windows 2000
All default Active Directory features
Windows Server 2008
Windows Server 2003
Windows 2000
Windows Server 2003
Windows Server 2008
All default Active Directory features, and the
following features:
■
Forest trust
■
Domain rename
■
Linked-value replication (changes in
group membership to store and
replicate values for individual members
instead of replicating the entire
membership as a single unit)
■
The ability to deploy a read-only
domain controller (RODC) that runs
Windows Server 2008
■
Improved Knowledge Consistency
Checker (KCC) algorithms and scalability
■
The ability to create instances of the
dynamic auxiliary class called dynamicObject in a domain directory partition
■
The ability to convert an inetOrgPerson
object instance into a User object
instance, and the reverse
■
Deactivation and redefinition of
attributes and classes in the schema
Windows Server 2003
Windows Server 2008
Provides all the features that are available at Windows Server 2008
the Windows Server 2003 forest functional
level, but no additional features; all domains
that are subsequently added to the forest,
however, will operate at the Windows
Server 2008 domain functional level by default
Implementing a Domain and Forest Functional Level
In most cases, you should plan to implement the highest domain and forest functional level
that you can based on the domain controller operating systems that you have deployed or
184
Part II:
Designing and Implementing Windows Server 2008 Active Directory
plan to deploy. If you are deploying a new Windows Server 2008 forest and do not plan on
ever deploying Windows Server 2003 domain controllers in the forest, you should set the
domain and forest functional levels at Windows Server 2008. If you are upgrading an existing
domain, you should raise the domain level after you have removed the last domain controller
running Windows 2000 or Windows Server 2003. After all domains have been upgraded to
Windows Server 2008 functional level, you should raise the forest functional level to the same
level.
On the Disc
You can use the Domain Design Decisions tab in the ADDS_DesignDocument.xlsx
spreadsheet on the CD to document your domain design decisions and use the AD Domain
Design tab to document the forest and domain designs.
Designing the DNS Infrastructure
After you have decided how many domains you will need to deploy and determined the
domain hierarchy, the next step is to design the DNS infrastructure for your network. AD DS
in Windows Server 2008 requires DNS, as each domain name is a part of the DNS namespace.
A key design decision is to determine where to locate AD DS domains within that namespace.
In addition to designing the namespace, you must also design the DNS server configuration.
If the company already has a DNS infrastructure in place, you might have to design your
namespace to fit into the current namespace and also configure the Windows Server 2008
DNS servers to interoperate with the existing DNS servers.
On the Disc The first step in designing the DNS infrastructure is to examine the current
DNS infrastructure. You can use the DNS Zone Configuration and DNS Server Configuration
worksheets in the CurrentNetworkEnvironment.xslx to document the DNS zone configuration.
Namespace Design
After you have gathered the information on the current DNS infrastructure, you are ready to
start designing your AD DS namespace.
Internal and External DNS Namespaces
One of the first questions that you must answer before beginning the namespace design is
whether you want to use the same internal and external DNS namespace.
Using the Same Namespace Internally and Externally Some companies might choose
to use the same DNS name internally and externally. In this case, a company would have
registered only one DNS name on the Internet. For example, as shown in Figure 5-10, A.
Datum might decide to use ADatum.com both internally and externally.
Chapter 5:
Designing the Active Directory Domain Services Structure
Internal Namespace
Adatum.com
External Namespace
Adatum.com
DNS Server
Adatum.com zone file
Internal Host Records
185
DNS Server
Firewall
Adatum.com zone file
External Host Records
Adatum.com
Figure 5-10 Using a single DNS namespace.
Security Alert
Regardless of whether you use the same or different internal and external
namespaces, your internal DNS server should never be accessible to external clients. The
internal DNS server will host all domain controller records as well as possibly the records for all
computers on your network (if you have dynamic DNS enabled). The only records that should
be accessible from the Internet are the records for resources that need to be accessible
from the Internet. For most companies, the list of externally available resources consists of the
addresses for the SMTP servers, Web servers, and possibly a few other servers. Using the same
namespace does not mean that you should use one DNS server or zone file internally and
externally.
The primary advantage of using the same namespace internally and externally is that it
provides a consistent experience for the end user. The user always uses the same domain
name for any connection to the corporate network. The user’s SMTP address and the user
principal name (UPN) will use the same domain name as the public Web site. When the user
needs to access Web-based resources, he or she can use the same name both internally and
externally (although he or she might not access the same server). Another advantage of using
the same namespace is that only one DNS name needs to be registered.
The primary disadvantages of using the same namespace have to do with security and administrative effort. Many companies are concerned about exposing the internal DNS name to the
Internet and see this as a potential security risk. Using the same namespace internally and
externally can complicate DNS administration because the DNS administrators must now
administer two different zones with the same domain name. Using the same name can also
complicate some client configurations. For example, most Web proxy clients can be
configured to interpret specified domain names as internal so that the client will connect
to them directly without going through the proxy server. Using the same name can complicate
this configuration.
186
Part II:
Designing and Implementing Windows Server 2008 Active Directory
Using a Different Namespace Internally and Externally Most companies use a
different namespace internally and externally. For example, a company might decide to use
ADatum.com as the external namespace and a name like ADatum.net or AD.ADatum.com for
the internal namespace. (See Figure 5-11.)
Note Any difference in the domain names means that you are using a different namespace
internally. For example, if you are using ADatum.com as the external namespace, ADatum.net,
ADADatum.com, and AD.ADatum.com are all different namespaces. AD.ADatum.com will
require a different DNS configuration than the other two, but all three are unique.
External Namespace
Adatum.com
Internal Namespace
Adatum.net
DNS Server
Adatum.net zone file
Internal Host Records
DNS Server
Firewall
Adatum.com zone file
External Host Records
Adatum.net
Figure 5-11 Using separate namespaces internally and externally.
Often the unique internal namespace is chosen for security reasons; that is, to prevent the
internal namespace from being exposed to the Internet. Also, the DNS and proxy configurations are easier to manage with the unique namespace. The primary disadvantage to using a
unique namespace is that the company might need to register additional DNS names with the
Internet naming authorities. Although registering the internal DNS name with the Internet
naming authorities is not a requirement, it is recommended. If you do not register the name
and another company does register it, your users will not be able to locate Internet resources
with the same domain name as the internal namespace.
Namespace Design Options
The actual names that you choose for your DNS namespace are flexible and will be determined largely by the current DNS infrastructure. If you do not have an existing DNS infrastructure in place and you have one or more second-level domain names already registered for
your company, your DNS namespace design will be quite simple. In this case, you can choose
the registered second-level domain name as the root domain name and then delegate child
domain names for additional domains in the same tree, or additional second-level domain
names for additional trees in the forest. Figure 5-12 shows an example.
Chapter 5:
Designing the Active Directory Domain Services Structure
187
Firewall
INTERNET
Internet DNS Server
DNS Server
Authoritative for
Adatum.com
DNS Server
Authoritative for
Fabrikam.com
Adatum.com
Fabrikam.com
DNS Server
Authoritative for
NA.Adatum.com
DNS Server
Authoritative for
EMEA.Adatum.com
Conditional Forwarders
Forwarders
Delegation
NA.Adatum.com
EMEA.Adatum.com
Figure 5-12 DNS namespace design with no existing DNS infrastructure.
Figure 5-12 also illustrates how the DNS servers would be configured in this scenario. The
ADatum.com DNS server is authoritative for its domain and contains delegation records to
NA.ADatum.com and EMEA.ADatum.com as well as conditional forwarders or stub zones
for the Fabrikam.com domain. The Fabrikam.com DNS server is authoritative for its zone
and contains conditional forwarders or stub zones for ADatum.com. To resolve Internet
addresses, the tree root servers could be configured with a forwarder pointing to a server
on the Internet, or they could be configured with the Internet root hints.
Internal and External Namespaces
The issue of using an internal namespace that is different than the external, public
namespace can lead to a significant amount of discussion within the company. In some
cases the best technical answer may be to use different namespaces internally and externally, but business decision makers might have strong resistance to using anything
other than the Internet namespace. Often, the reason for this is name branding: some
companies have spent years and millions of dollars creating a name brand that customers
188
Part II:
Designing and Implementing Windows Server 2008 Active Directory
instantly recognize. The corporate Web sites and SMTP addresses for all users reflect
this namespace. Some companies might even have multiple public identities, with
several business units within the company, each with its own name branding. Most of
the time, business users are resistant to showing any name other than their recognizable
corporate name to the external world.
The good news is that you can use different namespaces internally and externally and
still display only one namespace externally. For example, A. Datum might decide to use
ADatum.net as the internal namespace and ADatum.com as the public namespace. The
internal namespace can be almost completely hidden from everyone but network
administrators. The SMTP addresses for all users can still be [email protected], and all
the Web servers can still use the ADatum.com Web suffix. If required, the UPN for all
users can even be configured as [email protected] despite using a different internal
namespace.
The DNS design can be slightly more complicated if you have an existing internal DNS
infrastructure. In this case, you have at least three options for integrating with the current
infrastructure. The first option is to use only the current DNS infrastructure, including the
domain name, for AD DS. For example, A. Datum might be using ADatum.net as its internal
namespace and using BIND DNS servers to provide the DNS service. The company could
decide to use ADatum.net as the AD DS domain name and continue to use the current DNS
servers (providing they support service locator [SRV] records). Alternatively, the company
could decide to use the same domain name but move the DNS service to a DNS server running Windows Server 2008. In either case, very little reconfiguration of the DNS servers is
required. The DNS servers can continue to use the same forwarders or root hints for Internet
name resolution.
Note
When you configure the DNS servers for Internet name resolution, you have two
options: you can use forwarders, or you can configure the DNS servers with root hints. The use
of forwarders is generally more secure in that you can configure the internal DNS server to
forward to one or two external DNS servers. This can simplify the configuration of the firewall.
Using root hints might result in better redundancy because you remove the single point of
failure. If one root hint server does not respond, the DNS server will simply contact another.
The second option with an existing DNS infrastructure is to choose a different DNS name for
AD DS domains. For example, A. Datum might be using ADatum.net as the current internal
DNS namespace and decide to deploy AD DS domains using ADADatum.net as the domain
name. (See Figure 5-13.)
Chapter 5:
Designing the Active Directory Domain Services Structure
189
Firewall
INTERNET
Internet DNS Server
Windows Server 2008
DNS Server
Authoritative for
ADAdatum.net
BIND DNS Server
Authoritative for
Adatum.net
ADAdatum.net
DNS Server
Authoritative for
NA.ADAdatum.net
DNS Server
Authoritative for
EMEA.ADAdatum.net
Conditional Forwarders
Forwarders
Delegation
NA.ADAdatum.net
EMEA.ADAdatum.net
Figure 5-13 Configuring DNS to use a different internal namespace.
In this case, a DNS server can be deployed as the primary name server for ADADatum.net with
delegation records for NA.ADADatum.net and EMEA.ADADatum.com. This DNS server might
be the same DNS server as the authoritative server for ADatum.net, or you might choose to
deploy an additional DNS server. If you do deploy an additional DNS server for the AD DS
domain, you must configure the forwarders and root hints for this DNS server.
The third DNS design that you can use with an existing DNS infrastructure is one in which
the AD DS domain(s) are child domains to the existing internal namespace. For example, A.
Datum might decide to create a subdomain, AD.ADatum.net, as the AD DS domain. (See
Figure 5-14.) In this case, the DNS server for the ADatum.net would be configured with a
delegation record for the AD.ADatum.net domain. The AD.ADatum.net DNS server would
then be configured with a forwarder record pointing to the ADatum.net DNS server.
190
Part II:
Designing and Implementing Windows Server 2008 Active Directory
Firewall
INTERNET
Internet DNS Server
Windows Server 2008
DNS Server
Authoritative for
AD.Adatum.net
BIND DNS Server
Authoritative for
Adatum.net
ADAdatum.net
DNS Server
Authoritative for
NA.AD.Adatum.net
DNS Server
Authoritative for
EMEA.AD.Adatum.net
Conditional Forwarders
Forwarders
Delegation
NA.AD.Adatum.net
EMEA.AD.Adatum.net
Figure 5-14 Configuring DNS by adding a subdomain to the existing internal namespace.
Integration with the Current DNS Infrastructure
Almost all large companies already have a DNS infrastructure in place. If the company has
already deployed Active Directory, a DNS infrastructure will be in place to support the Active
Directory. In addition, most large companies use DNS for name resolution to UNIX servers
or to provide the DNS services that users need for Internet access. In many cases, the DNS
services are provided by BIND DNS servers running on UNIX servers. Most companies with
an existing BIND DNS infrastructure are not likely to just remove the current infrastructure
and move everything to Windows Server 2008. This means that the DNS requirements for AD
DS will have to interoperate with the current DNS infrastructure.
There are two options for integration if the current BIND DNS infrastructure is to be maintained. The first option is to use non-Microsoft DNS servers and host the required DNS zone
information for AD DS on these servers. This is certainly a possibility. The only absolute
requirement for integrating DNS and AD DS is that the server must support SRV records. In
addition, you probably want to ensure that the DNS servers also support dynamic updates
(especially if you are planning on registering all of the client IP addresses in DNS) and
Chapter 5:
Designing the Active Directory Domain Services Structure
191
incremental zone transfers. If the current infrastructure uses BIND DNS servers, BIND 8.1.2
servers support SRV records and dynamic updates. In addition to the support provided by
BIND 8.1.2, BIND 8.2.1 supports incremental zone transfers. As long as you are using one of
these recent versions of BIND, you can continue using the BIND DNS servers.
Choosing Which DNS Server to Use
The question of whether to use DNS servers running Windows Server or use nonMicrosoft DNS servers can lead to heated discussions with no satisfactory resolution.
Large companies have been running BIND DNS servers for many years, and the DNS
administrators are often very knowledgeable, experienced, and reluctant to give up the
DNS services to a Microsoft platform. Often these administrators express concerns
about the stability, reliability, and security of DNS on Microsoft servers.
One approach to this discussion is to take the position that it really does not matter how
the DNS service is provided. As long as the DNS servers support SRV records,
Windows Server 2008 AD DS can work with any DNS server. What is absolutely critical,
however, is that the DNS service always be available. If the DNS service ever shuts down
during working hours, no clients or servers will be able to find any AD DS domain controllers. So the crucial question becomes which DNS server will provide the reliability
that AD DS needs.
Both UNIX servers and Windows Servers can be very reliable if configured correctly.
However, even the discussions regarding the reliability of various servers seem to miss
the mark. No single server can ever be completely reliable, so one question to ask is
which DNS server provides the best options for eliminating a single point of failure and
spreading the service availability across multiple servers. Windows Server 2008
provides excellent options for providing this reliability across multiple servers, especially if AD DS integrated zones are used. With AD DS integrated zones, every domain
controller that is also a DNS server can have a writable copy of the DNS information. AD DS
integrated zones also address the security concerns by implementing secure updates.
Many companies have decided to stay with the BIND DNS servers, and these servers
have provided the required functionality without any problems. Some companies have
decided to move the primary DNS to Microsoft DNS servers and to retain the BIND DNS
servers as secondary name servers. Almost any configuration will work, and as long as
the DNS servers are always available, it really does not matter which option a company
uses.
The second option for integrating the Windows Server 2008 DNS with BIND is to deploy
both types of DNS. Many companies use the BIND DNS server as the primary name server for
the internal namespace. For example, A. Datum might be using BIND for name resolution for
ADatum.com. If A. Datum decides to deploy AD DS and use DNS servers running
192
Part II:
Designing and Implementing Windows Server 2008 Active Directory
Windows Server 2008, the company has a number of options. If A. Datum wants to use
ADatum.com as the AD DS DNS name, it can move the primary zone to the DNS server
running Windows Server 2008 and maintain the BIND DNS server as a secondary name
server. Or the DNS server running Windows Server 2008 could be the secondary name server
to the BIND DNS server.
Note
You can use BIND DNS servers and Windows Server 2008 DNS servers for the same
namespace. Both DNS servers can operate as either primary or secondary name servers for
each other’s zone information. However, if you are planning to use AD DS integrated zones,
the BIND DNS zone must be configured as a secondary zone. An AD DS integrated zone
cannot be a secondary zone.
A. Datum might also decide to deploy AD DS using a different domain name than that
currently used on the BIND DNS servers. For example, the company might decide to use
ADatum.net as the AD DS DNS name. In this case, the DNS servers running Windows Server
2008 can be configured as the authoritative servers for ADatum.net and the BIND servers as
authoritative for ADatum.com. The DNS server running Windows Server 2008 can then be
configured with a conditional forwarder to the BIND DNS server for ADatum.com.
Note The earlier section in this chapter on planning the DNS namespace illustrated a number of possible scenarios for DNS namespace deployment. The DNS servers discussed in the
namespace planning section are essentially interchangeable: any of the DNS servers could be
BIND servers, and any of the DNS servers could be DNS servers running Windows Server. Theoretically, you could even use Windows Server 2008 DNS to host the external DNS name and
use BIND DNS for AD DS domains.
Designing the Organizational Unit Structure
After the domain-level design is complete, the next step is to create an OU design for each
domain. As described in Chapter 2, “Active Directory Domain Services Components,” OUs are
used to create a hierarchical structure within a domain. This hierarchy can then be used to
delegate administrative tasks or to apply a set of Group Policy settings to a collection of objects.
Organizational Units and AD DS Design
When you design the OU structure, you are grouping a collection of objects together for the
purpose of administering the objects in the same way. For example, you might want to configure a common set of desktop settings for all the users in a particular department. By grouping
all of the users into an OU, you can assign a Group Policy to that OU that automatically
configures the user desktop. You might also want to group objects together for the purpose of
assigning an administrator for that group of objects. For example, if you have a remote office
Chapter 5:
Designing the Active Directory Domain Services Structure
193
with a local administrator, you can create an OU, put all the user and computer objects in the
remote office into that OU, and then delegate the administration of that OU to the local
administrator.
OUs have several characteristics:
■
OU design does not have any implications for DNS namespace design. OUs are given
directory names within a DNS namespace. For example, an OU might have the distinguished name of OU=ManagersOU,DC=ADatum,DC=com. In this case, the DNS
name is ADatum.com, and the OU names are LDAP names inside the DNS namespace.
■
OUs can be created inside of other OUs. By default, administrative rights and Group
Policy settings set at upper-level OUs are inherited by child OUs. This default behavior
can be modified.
■
OUs are transparent to end users. When a user searches AD DS for any object, the user’s
application will query the global catalog for the information. The user does not need
to be aware of the OU structure to log on or to locate objects in AD DS.
■
Compared to the other AD DS components, such as domains and forests, the OU
structure is easy to modify after deployment. Also, moving objects between OUs is just
a matter of right-clicking the object and selecting Move from the context menu.
Caution
Although it is easy to move objects between OUs and easy to change the OU structure, you still need to consider the implications of these changes. When you move a user from
one OU to another, the Group Policy objects applied at the OU level will change. If you move
OUs within the domain, you need to consider how inherited administrator permissions and
Group Policy objects will apply to the moved OU.
Designing an OU Structure
In most companies, you have a considerable amount of flexibility when you create the OU
design. However, as you create the OU design for each domain, there are a number of factors
to consider.
Corporate Structures and OU Design
The first tendency when creating an OU structure might be to mimic the company’s
organization chart. This might work in some companies, but it could result in an ineffective
OU structure in others. For example, the corporate organizational chart is usually based
on business units with no regard for where users are actually located. Perhaps the members of the same business unit are scattered in multiple locations around the world.
Grouping these users into a single OU could be quite inefficient.
194
Part II:
Designing and Implementing Windows Server 2008 Active Directory
However, examining the corporate structure and organizational model is often a good
place to start with the OU design. For example, if the company is highly centralized and
hierarchical, the OU structure will probably reflect that model. If the company structure
gives a great deal of autonomy to business units or geographic locations, the OU design
should reflect this approach. As you examine the corporate structure, also examine the
information technology (IT) management structure. In some companies, separate
business units are given a great deal of autonomy to manage the business as they want,
but the IT management might still be strongly centralized. In this case, you will design
the OU structure based on the IT management structure, not on the business management structure.
OU Design Based on Delegation of Administration
One of the reasons for creating an OU structure is to be able to delegate administrative tasks.
Many companies with separate business units have deployed a single AD DS domain but still
want to delegate the administrative tasks based on resources or business units. Some companies that have multiple locations with local network administrators at each site might want to
delegate administration for each location. Other companies might want to be able to delegate
a specific administrative task. For example, perhaps they want to give one or two people in
each department the right to reset user passwords in the department and to modify user
information for everyone in the department.
All of these options, and many more, are possible by creating an OU structure in AD DS and
then delegating administrative access. You can grant almost any level of administrative access
at an OU level. For example, if you create an OU for a remote office, you can grant the administrator in that remote office full control of all the objects in that office. This administrator can
then perform any administrative task in that OU, including creating child OUs and delegating
permissions to other administrators. If you create an OU for each department, you can grant
very specific rights, such as the reset password right, to a few users in the department. You can
even grant administrative rights based on the types of objects in an OU—the department
administrators might be able to modify user accounts but not group objects or computer
objects. Chapter 9, “Delegating the Administration of Active Directory Domain Services,” goes
into detail about delegating administration.
For most companies, the top-level OUs will be designed based on the requirement to delegate
administration. The top-level OU will likely be based on geographic location or business
departments. Often these OU boundaries will also be administrative boundaries.
OU Design Based on Group Policy Design
The second reason for creating OUs is to manage the assignment of Group Policy objects.
Group Policy settings are used for change and configuration management of desktops. With
Group Policy settings, you can provide users with a standard desktop configuration, including
Chapter 5:
Designing the Active Directory Domain Services Structure
195
the automatic installation of a set of applications. Group Policy settings can also be used to
control what changes users can make to their computers and to configure many of the security
settings. Almost all of the Group Policy settings in AD DS will be assigned at an OU level, so
the deployment of Group Policy settings will play an important part in the OU design. As you
plan the OU structure, group together objects that require the same Group Policy settings. For
example, if all the users in one department require the same set of applications, these can be
installed using a Group Policy object. The users might also need a standard set of mapped
drives. The logon scripts for the users can be assigned using a Group Policy object. Perhaps
you want to apply a security template to all of the file servers in your organization. To do this,
group all of the file servers into an OU and assign the security template using a Group Policy
object.
In most companies, the lower levels of the OU design will be determined primarily by the
need to apply Group Policy objects. By default, all Group Policy settings are inherited from
parent OUs. This means that you can apply a Group Policy object to many departments high
in the OU structure, and then apply more specific Group Policy objects at a lower level. If you
want to modify the default inheritance of Group Policy settings, you can do so by creating an
OU and blocking any policy inheritance at that OU level. This strong dependency on Group
Policy for the OU design means that you must understand the Group Policy functionality and
requirements for your organization. Chapter 11, “Introduction to Group Policy”; Chapter 12,
“Using Group Policy to Manage User Desktops”; and Chapter 13, “Using Group Policy to
Manage Security,” discuss in detail what you can do with Group Policy.
Creating an OU Design
As you begin the OU design, you should begin with the top-level OUs first. Top-level OUs are
harder to modify after deployment because of all of the OUs under them. This also means
that the top-level OUs should be based on something static in the organization. Usually these
OUs are based on geographic regions or business units.
A geographically based OU design is likely to be the most resistant to change. Some companies seem to reorganize frequently but rarely change their geographic configuration. An OU
structure based on geographic locations also works well if the corporation uses a decentralized administrative model, especially when the administration is geographically based. If each
geographic location (either a single office or a central office with several branch offices connected to it) has its own set of network administrators, the geographic OUs can be used to
delegate administrative tasks to these administrators. A geographically based OU structure
may not be the best choice if there are multiple business units in every geographic location.
For example, if every department is represented in each office in the company, it might be
more effective to use a business-unit-based OU structure at the top level.
The second most common top-level OU structure is one based on business units. In this
model, a top-level OU is created for each business unit within the corporation. This type of
configuration is most appropriate if a company has only one location or if many of the
196
Part II:
Designing and Implementing Windows Server 2008 Active Directory
administrative tasks are delegated at a business-unit level. One of the problems with an OU
structure based on business units is that the top-level OUs might need to be modified in the
event of a corporate reorganization.
Most large corporations will actually use a combination of geographically based and businessunit–based OUs. One of the most common configurations is a top-level OU based on
geographic regions, with the next level OUs within each region based on business units.
Some companies might choose a top-level OU based on business units and then create a
geographically based OU structure under these top-level OUs.
Figure 5-15 illustrates what an OU design might look like in one domain for a large company.
NA.Adatum.com
Domain
Controller OU
Domain
Admins OU
Service
Account OU
Sales
OU
Accounts
OU
Workstation
OU
East
Region OU
West
Region OU
Manufacturing Transportation
OU
OU
Resources
OU
Projects
OU
Figure 5-15 A sample OU structure.
In this example, the top-level OUs include the Domain Controllers OU (all domain controllers
are located in this OU) and an OU for the domain-level administrators. Top-level OUs might
also include a Service Account OU for all of the service accounts used in the domain. Creating
an OU at the top level for special user accounts like service accounts simplifies the administration of these accounts. The top-level OUs might also include a Servers OU if all of the servers
are centrally managed. In addition to these administrative OUs, there can be top-level OUs
based on the geographic locations for the corporation. The geographically based OUs might
be used primarily to delegate administrative tasks.
Chapter 5:
Designing the Active Directory Domain Services Structure
197
The second-level OUs in each geographic region are based on the business units in each
region. The business-unit OUs might be used to delegate administration, but are also likely to
be used to assign Group Policy objects. Under the business-unit OUs are OUs based on
departments within the business units. At this level, the OUs will be used primarily to assign
Group Policy objects or to assign specific administrative tasks such as the right to reset passwords. The department OUs might contain several other OUs:
■
Accounts OU This OU contains the user and group accounts for the department. In
some cases, the accounts OUs might be further split up into OUs containing groups,
user accounts, or remote users.
■
Workstations OU This OU contains all the user workstations and might include
separate OUs for Windows NT workstations, Windows 2000 workstations, Microsoft
Windows XP Professional workstations, and portable computers.
■
Resources OU This OU contains the resources linked to the OU. This could include
objects like domain local groups, servers, printers, and shared folders.
■
Application or project-based OUs If a group of people and resources are working on a
particular project or application that requires unique management, you can create an
OU structure for those users and then group the users, resources, and computers
needed for that project in this OU.
Note
Theoretically, there is no limit to how many levels your OU structure can have.
However, it is generally a best practice not to have more than 10 layers. For most companies,
an OU structure that is four or five levels deep is all you will ever need.
As you work on creating the OU design, ensure that you document the design carefully. This
design will include a diagram of OU structure, a list of all the OUs, and the purpose for each
OU. Also, if you are using the OU to delegate administrative tasks, document the rights
delegated at each OU level. As you deploy group policies linked to each OU, document the
Group Policy configuration.
On the Disc
You can use the AD Organizational Unit Design tab in the ADDS_
DesignDocument.xlsx spreadsheet on the CD to document your OU design.
Designing the Site Topology
All of the design topics discussed so far have dealt primarily with the logical aspects of AD DS
design, with little regard for the actual network topology in the organization. Before you can
deploy an AD DS design, you must deal with the issue of site design, which will be directly
impacted by the network topology.
198
Part II:
Designing and Implementing Windows Server 2008 Active Directory
Figure 5-16 shows the process for creating a site design.
Research the
reasons for
creating sites
Determine which
geographical locations
require a domain controller
Create the
site design
Create the
replication design
Plan server
placements
Figure 5-16 Creating a site design.
Sites and AD DS Design
In AD DS, sites are specific organizational entities and are used to manage network traffic. This
is done in three primary ways:
■
Replication between sites is compressed so replication between sites uses less bandwidth than replication within a site. Further, replication can be scheduled to ensure it
occurs when few other demands are being placed on the network.
■
Client logon traffic will remain within the site if the local domain controller is available.
■
AD DS–aware applications like Distributed File System (DFS) and Exchange Server
2007 can use sites to limit client access traffic or manage message routing based on the
site configuration.
Creating a Site Design
Because site design is so dependent on the networking infrastructure, the first step in creating
a site design is to document that infrastructure. After you have collected the information about
the corporate network, you are ready to design the sites. To begin, examine each location
where the computers are connected with a fast network connection. How many users are
there in the location? Are there enough users in the location to require a domain controller in
Chapter 5:
Designing the Active Directory Domain Services Structure
199
the location? What are the network connections from this location to other locations in the
company?
Note
The definition of a fast network connection will vary depending on factors such as the
number of users in the location, the total number of objects in the domain, and the number of
domains in the forest. You will also need to determine how much of the total bandwidth is
available for replication. In most cases, the network connections within a site should have at
least 512 kilobits per second (Kbps) of available bandwidth; in a large company, you might
want to consider at least 10 megabits per second (Mbps) as the minimum network connection
within a site.
If the reason for creating a site is to ensure that users can log on to AD DS, every site should
have a domain controller, and most sites should also have a global catalog server. This means
that if you are trying to decide whether or not to create a site for a company location with a
small number of users and a slow network connection to other company locations, the question is really whether or not you want to put a domain controller into that site. One way to
answer this question is to determine which option will result in the least network traffic across
the network link. Which will create more traffic: the clients logging on to a domain controller
in another location or the replication traffic between domain controllers?
In addition to determining which option results in the most network traffic, you also need to
consider other factors. If you do not put a domain controller in the location, you need to
consider the work disruption to the users if the network connection fails and the users cannot
log on to the domain. You might also consider if a server is required in the location for other
reasons. If you are deploying a server running Windows Server 2008 in the location anyway,
can it also serve as a domain controller for the site?
One of the most critical factors when deciding whether to locate a domain controller in a company location is the physical security of the domain controller. If the physical security of the
domain controller cannot be ensured, then you should not deploy a writable domain controller in the location. Deploying an RODC can address some of these security concerns, but you
should still do as much as possible to ensure that RODCs are physically secure.
Note As you create an AD DS design for a company, the general rule of keeping things as
simple as possible applies to everything but sites. When you are planning the forest, domain,
or OU structure, simplicity should be one of your primary goals. However, creating additional
sites for all of the company locations separated by slow network connections provides
significant benefit without a significant increase in administration. So this might be the only
time in the AD DS design process that the simplest solution might not be the best solution.
After you have determined how many AD DS sites you will require, the next step is to create
the design for each site. Each site in AD DS is linked to one or more IP subnets, so as you
create the design for each site, you should identify which subnets will be included in each site.
200
Part II:
Designing and Implementing Windows Server 2008 Active Directory
If you decide not to deploy a domain controller into a company location, you must determine
which site this location will belong to and add that IP subnet to the appropriate site. This
ensures that the clients in the remote location will connect to the domain controllers that are
closest to them.
Direct from the Field: Subnet Definitions in Active Directory
Subnets are defined in Active Directory solely to define the sites in Active Directory to
which a set of computers belongs. The subnet definitions do not correspond to the
actual layer 3 routing within the organization. This is a key misunderstanding—the layer 3
routing design does not have to correspond to the subnet/site definitions in Active
Directory at all. Second, Active Directory will match the most specific subnet. This
means that if you have defined two subnet objects in Active Directory—10.1.0.0/16 and
10.1.2.0/24, and a client with an IP of 10.1.2.5, it will match the second subnet object.
One of the common events that fills up the event log on domain controllers in large
organizations is NetLogon warning #5807. There are a couple of scenarios in which this
happens. For example, one is when the Active Directory administrators simply don’t
define any subnets to go along with their site objects. The second example—and also the
more common scenario—is one in which the team that runs Active Directory may not
communicate well with the network administrators who provision subnets on the network. In large organizations, the subnet configuration may change frequently, and the
Active Directory site specifications may not be maintained. The solution that I use and
recommend is to define very broad-reaching supernets at my hub sites. For example,
given a simple hub and spoke network design with one hub using private 10.0.0.0/8 IP
addresses, I would associate 10.0.0.0/8 with the hub site. This guarantees me that any
client coming from any 10.0.0.0 IP will match a subnet in Active Directory.
You can also apply this principal to organizations with multiple hub sites. Figure 5-17
shows an example.
Chapter 5:
Montevideo
10.3.3.0/24
Designing the Active Directory Domain Services Structure
201
Milwaukee
10.1.3.0/24
Rio de Janiero
10.3.4.0/24
Chicago
10.1.2.0/24
Springfield
10.1.4.0/24
Sao Paolo
10.3.2.0/24
Manchester
10.2.3.0/24
London
10.2.2.0/24
Birmingham
10.2.4.0/24
Figure 5-17 You can assign subnet objects with different subnet masks to hub sites and
spoke sites.
In this scenario, it’s easy to associate the 10.x.x.0 subnets with the spoke sites and then
associate the 10.x.x.0/16 subnets with the hub sites. For example, I would create a
subnet in Active Directory Sites and Services for the 10.3.0.0/16 subnet and assign that
to São Paolo. I would then configure separate subnet objects for Montevideo and Rio
de Janeiro using the 10.3.x.0/24 subnets. The advantage of using this approach is that if
the IP address subnets at Montevideo or Rio de Janeiro are modified, or if an additional
office is created and linked to the hub site, the clients in the site will use the closest hub
site to locate a domain controller.
Another interesting option to apply when you configure subnets in Active Directory is to
use defined host subnets by configuring subnets using /32 or 255.255.255.255 subnet
masks. You can use this option to build a site within a site. For example, an organization
may want to create a dedicated site for their Exchange environment but may not choose
to create a provision for a dedicated subnet for the Exchange servers and associated
domain controllers. By creating host subnets and grouping the subnets in a single site,
you can associate the servers with a common site.
Brian Desmond
Microsoft MVP, Directory Services
www.briandesmond.com
202
Part II:
Designing and Implementing Windows Server 2008 Active Directory
Creating a Replication Design
After you have created the sites, the next step is to create the replication topology for the sites.
To do this, you will design site links between company locations. For each site link, plan the
schedule and replication interval as well as the site link cost. If you want to designate replication bridgehead servers for each site, identify all AD DS partitions that will be located in
the site and designate a bridgehead server for each partition.
Calculating the cost for each of the site links can be complicated, especially if there are multiple
possible routes between company locations. If there are multiple routes, you need to assign
the costs for the site links so that the optimal route is used for AD DS replication. One way to
determine what cost to assign to each site link is to create a table linking network bandwidth
to site link cost. An example is shown in Table 5-3.
Table 5-3
Linking Network Bandwidth to Site Link Costs
Available Bandwidth
Site Link Cost
Greater than or equal to 10 Mbps
10
10 Mbps to 1.544 Mbps
100
1.544 Mbps to 512 Kbps
200
512 Kbps to 128 Kbps
400
128 Kbps to 56 Kbps
800
Less than 56 Kbps
2000
Using the information outlined in this table, you can assign a cost to each site link. Then
calculate which route the replication traffic will take through the network if all links are available.
Also calculate the effects of a network link failure. If there are redundant paths within the
network, ensure that the site link costs are configured so that the optimal backup path will be
selected in the event of link failure.
Direct from the Field: Costing Active Directory Site Links
There are a few things that you really have to consider when you’re setting up your site
links. Of these, the cost that you assign to the site links may be most important, but it
can also be totally irrelevant. The cost of the link is used when computing the spanning
tree where you have multiple network connections to a site. If you have a series of
spokes off a hub that have a single link back to the hub, the cost is totally irrelevant
when calculating the routing topology. On the other hand, if you have multiple paths
from one site to another, the cost is used by the KCC to create the routing topology.
To assign a cost to a site link, I like to use a formula that relates the speed of the underlying transport to a numerical value that can then be assigned to the site link cost. I
like to use the following formula:
Reference Bandwidth
Link Bandwidth
Chapter 5:
Designing the Active Directory Domain Services Structure
203
The reference bandwidth is your maximum bandwidth, which will have a cost of 1, and
the link bandwidth is the speed of the underlying transport. For example, if you have
full 38.4 Gbps OC768 connection, it will have a cost of 1. If you have a T1 connection
(1536 Kbps) connecting another location in your organization, the site link to the site at
that location should have a cost of 158.
Assigning costs to your site links based on the underlying transport between the
connected sites requires that you work closely with your WAN group to get all of the
circuit information and make sure you’re informed when they change a circuit. As well,
you need to consider the available bandwidth for the connection when assigning the
site link costs. For example, you might have a high bandwidth WAN connection that is
significantly saturated most of the day and an alternative slower WAN link is not highly
utilized. To ensure that the replication traffic is sent across the less-utilized WAN
connection, you may need to increase the cost of the saturated link. You may also need
to modify the cost of the site links if they use WAN links that have a monetary cost on a
bytes transferred basis.
Brian Desmond
Microsoft MVP—Directory Services
www.briandesmond.com
Another option to manage AD DS replication is to turn off site link bridging. By default, site
link bridging is enabled, which means that all site links become transitive. That means that if
Site A has a site link to Site B, and Site B has a site link with Site C, Site A can replicate directly
with Site C. In most cases, this is the desired behavior. However, there are exceptions when
you might want to turn off site link bridging. For example, a company might have several hub
sites throughout the world, with several smaller offices connecting to the hub sites using slow
or medium network connections. (See Figure 5-18.) If the hub sites are connected with fast
network connections, the automatic site link bridging is acceptable. However, if the network
connections between the hub sites are fairly slow, or if most of the bandwidth is used for other
applications, you might not want to have transitive connections.
In Figure 5-18, the network connection between Hub A and Hub B might have limited available bandwidth. If the default site link bridging is not modified, the bridgehead server in Hub
A will replicate with the bridgehead server in Hub B, but also with the bridgehead servers in
other sites connected to Hub B. This means that, potentially, the same replication traffic could
cross the network connection five times. To modify this, you can turn off site link bridging and
then create manual site link bridges for all of the site links between the hub sites and the
smaller sites connecting to the hub sites. After this is configured, all replication from Hub A
will flow to Hub B, and then it will be distributed to all the sites connected to Hub B.
204
Part II:
Designing and Implementing Windows Server 2008 Active Directory
Site B2
Site B3
Site B1
Site B4
HubB
Site A1
Site A2
HubA
Site A3
HubC
Site C2
Site C1
Figure 5-18 Configuring site link bridging.
On the Disc You can use the Site Design Decisions tab in the ADDS_DesignDocument.xlsx
spreadsheet on the CD to document your site design decisions, and the AD Site Design and
AD Site Link Design tabs to document your final site design.
Exchange Server 2007 and Site Design
One of the factors that you need to consider when creating a site design is whether
or not your organization has deployed Exchange Server, and particularly whether or not
the organization has or is planning to deploy Exchange Server 2007.
Exchange 2000 or later and messaging clients such as Outlook XP or later depend on
the AD DS site configuration and on the domain controller and global catalog servers
deployed in the sites. When Exchange Server services start, the server uses DNS to
locate a domain controller in the same site as the Exchange Server and to read the
Exchange Server configuration from AD DS. When the Exchange Server routes messages
between recipients, the Exchange Server queries the global catalog for the recipient
properties and queries a domain controller for information on how to route messages
to the recipients. When Outlook clients access the global address list, the client is redirected by the Exchange Server to use a global catalog server to retrieve a listing of all
users in the organization who are mail-enabled. In order for the Exchange Servers and
message clients to respond quickly, a fast network connection is required to domain
controllers and global catalog servers.
Chapter 5:
Designing the Active Directory Domain Services Structure
205
Exchange Server 2007 introduces several new dependencies on AD DS sites. In
Exchange Server 2007, all messages must be routed through an Exchange Server
running the Hub Transport server role. When a message is submitted to the server, the
server queries Active Directory for information about where the message must be delivered. If the recipient’s mailbox is on a Mailbox server in the same AD DS site as the Hub
Transport server, it delivers the message directly to that mailbox. If the recipient’s
mailbox is on a Mailbox server in a different AD DS site, the message is relayed to a Hub
Transport server in that site, which then delivers it to the Mailbox server. If the message
is intended for a recipient outside the organization, the message is routed to an
Exchange Server in an AD DS site with a connection to the Internet. If more than one
route is available between AD DS sites, the Hub Transport server will use the site link
costs to determine the most efficient route between sites. In other words, message
routing in Exchange Server 2007 is dependent on the AD DS site design.
How clients access their mailboxes is also dependent on the site design. When users use
any messaging client other than Outlook configured as a Messaging API (MAPI) client to
connect to their mailbox, they must connect to an Exchange Server running the Client
Access server role. The Client Access server role uses AD DS site information to provide
efficient access to user mailboxes. When the Client Access server role receives a user
connection request, it queries AD DS to determine which Mailbox server is
hosting the user’s mailbox and the server’s site membership. If the Client Access server
that received the initial user connection is not in the same site as the user’s Mailbox
server, the connection is redirected or proxied to a Client Access server in the same site
as the Mailbox server.
This tight integration between Exchange Server 2007 and AD DS sites means that you
should work on the Exchange Server design and the AD DS site design at the same time.
When designing your AD DS sites to support Exchange Server 2007, consider the
following:
■
If you are deploying an Exchange Server 2007 in any company location, always
deploy a domain controller and global catalog server in the same location. In
addition, when planning the hardware requirements for the domain controller
and global catalog server, consider the extra load that will be imposed on the
server by the Exchange Servers and messaging clients.
■
Consider deploying all Exchange Servers in a central site. You do not have to
deploy Exchange Servers in each AD DS site. If high-bandwidth and reliable
network connections link all of your organization’s locations, regardless of the
distance between offices, consider implementing a centralized messaging system
in which all Exchange Servers are in one central location. Because all Exchange
servers, and other required services such as domain controllers and DNS servers,
are on the same fast network, this design will produce the best Exchange Server
performance. However, if the requirements for user experience and availability
206
Part II:
Designing and Implementing Windows Server 2008 Active Directory
cannot be met by connecting to a central location, you may have no choice but to
position servers in the remote sites.
■
Consider creating a dedicated AD DS site for Exchange servers. If you use a centralized design for Exchange servers, or if you deploy several Exchange servers in a
data center, consider creating a dedicated AD DS site that contains all of the
Exchange servers in the location, as well as domain controllers and global catalog
servers that are dedicated to providing directory services for the Exchange servers.
This design enables more predictable Exchange Server performance because
other clients are not using the domain controllers for authentication or directory
lookups.
For additional information on designing AD DS to meet Exchange Server 2007 requirements, see “Guidance on Active Directory Design for Exchange Server 2007,” located at
http://msexchangeteam.com/archive/2007/03/28/437313.aspx; “Dedicated Active Directory Sites for Exchange,” located at http://msexchangeteam.com/archive/2006/08/28/
428776.aspx; and “Planning Active Directory,” located at http://technet.microsoft.com/
en-us/library/bb123715.aspx.
Designing Server Locations
As part of the site design, you will also need to determine where to locate DNS servers,
domain controllers, global catalog servers, RODCs, and operation masters. In most cases, after
you have completed the site design, locating the servers is not complicated.
Locating DNS Servers
As you know, DNS is a critical service in Windows Server 2008 AD DS. Without DNS, clients
cannot locate AD DS domain controllers, and domain controllers cannot locate each other to
replicate. This means that DNS should be deployed in every location in your organization,
with the possible exception of very small offices with only a few users.
As a general rule, you should deploy at least one DNS server in every site that contains a
domain controller. It is strongly recommended that you use AD DS integrated zones and
deploy DNS on the domain controller. For small offices where you choose to locate a domain
controller, consider deploying an RODC with DNS installed.
Site Design for Branch Offices
One of the special cases for site design is when a company has several hundred small
locations with domain controllers in each location. This scenario complicates AD DS
design and deployment in a number of ways. One example is the time that it takes for
the Knowledge Consistency Checker (KCC) to calculate the replication topology. With
every extra site, it takes longer to calculate the routing topology. While KCC is running
Chapter 5:
Designing the Active Directory Domain Services Structure
207
on a domain controller, it can use 100 percent of the CPU time on the server. With a
large number of sites, the domain controller running Inter-Site Topology Generator
(ISTG) at the central office might run at 100 percent CPU utilization constantly and still
never complete the calculation. Another complication has to do with the replication
window. If the site connector is configured with a schedule to replicate for only six
hours every night, you might find that you must deploy multiple bridgehead servers to
complete the replication to all remote locations every night. Even setting up domain
controllers for each site is complicated in this scenario. If the network connection is very
slow and you simply install a domain controller in the site and then populate the directory by replication, the initial replication for a large directory may take hours.
Windows Server 2003 and Windows Server 2008 provide several significant enhancements that make the deployment of AD DS in this scenario easier than it was in
Windows 2000. Enhancements to the calculation algorithm used by the ISTG process
greatly reduce the amount of time required to calculate the intersite replication topology.
The option to build a domain controller and populate AD DS from backup media means
that building a domain controller in a remote office does not create as much
replication traffic.
Despite these enhancements, designing and deploying AD DS sites in a company with
hundreds of sites is still a special case. If you are dealing with this type of environment,
the best resource available is the Windows Server 2003 Active Directory Branch Office
Guide, available for download at http://www.microsoft.com/downloads/details.aspx?
FamilyId=9353A4F6-A8A8-40BB-9FA7-3A95C9540112&displaylang=en. Though this
guide was prepared for the Windows Server 2003 environment, many of the concepts
are still applicable to Windows Server 2008.
How It Works: KCC Improvements in Windows Server 2008
Windows Server 2008 includes Knowledge Consistency Checker (KCC) improvements
for RODCs that help to automatically balance the replication workload on domain
controllers in a data center with multiple RODCs in sites connected to the site containing the data center.
A typical deployment scenario for RODC is the branch office. The Active Directory
replication topology most commonly deployed in this scenario is based on a hub-andspoke design, where branch domain controllers in multiple sites replicate with a small
number of bridgehead servers in a hub site.
One administrative challenge highlighted by the hub-and-spoke topology on previous
Windows Server operating system versions is that after adding a new bridgehead
domain controller in the hub, there is no automatic mechanism to redistribute the
replication connections between the branch domain controllers and the hub domain
controllers to take advantage of the new hub domain controller.
208
Part II:
Designing and Implementing Windows Server 2008 Active Directory
In Windows Server 2008, normal Knowledge Consistency Checker (KCC) provides
some rebalancing. When the KCC on an RODC detects a new bridgehead server
candidate that it can replicate from, it determines whether to switch replication partners
to that new bridgehead. The decision is based on an algorithm that provides probabilistic load balancing.
For example, a hub site could have four bridgehead servers and 100 RODCs that perform inbound replication from the four bridgehead servers—a 25:1 ratio. When another
bridgehead server is added to the hub site, each RODC will detect the new bridgehead
server when it replicates the Configuration partition from a bridgehead server. Then on
the next KCC run, the RODC determines if it should switch its replication connection
to the new bridgehead server. In this example, there is a 1-in-5 chance (a 20 percent
probability) that an RODC will switch its replication connection. After all 100 RODCs
have performed this operation, approximately 20 of them will have switched to replicate
from the new bridgehead server.
The new functionality is enabled by default. You can disable it by adding the following
registry key setting on the RODC:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NTDS\Parameters
“Random BH Loadbalancing Allowed”
1 = Enabled (default), 0 = Disabled
Rob Lane
Microsoft Escalation Engineer IV
Locating Domain Controllers
In most cases, a domain controller should be located in company locations where there are a
significant number of users. There are at least two reasons for putting a domain controller in
a particular geographical location. First, if the network fails, the users can still log on to the
network. Second, locating a domain controller in an office ensures that the client logon traffic
does not cross the WAN connection to a different location. If your business requirements state
that users must be able to log on in the event of a network and single server failure, you should
put two domain controllers in each location. In a small branch office, you may choose to
deploy a single domain controller to limit the total number of domain controllers. If you do
deploy a domain controller in a company location, then you should also create a site for that
geographical location so that all logon traffic stays within the site.
There are two reasons why you might decide not to put a domain controller in a single site. If
the replication traffic to the domain controller in the location would be higher than the client
logon traffic, you could simply configure the domain controller location so that the clients can
Chapter 5:
Designing the Active Directory Domain Services Structure
209
attempt to use a domain controller in an adjacent site for logon. Also, if there are no means of
physically securing the servers, you should not put a writable domain controller in the site.
If you do decide not to deploy a domain controller in a site, you can still control which domain
controllers the clients will log on to. One option is to configure a site for the branch office
location and include all IP subnets for the office in the site. Then, configure a site link to one
or more of the existing sites. Through automatic site coverage, AD DS will choose the domain
controllers in the site connected by the lowest cost site link to cover the site that does not have
a domain controller. A second method for controlling which domain controller will be used to
authenticate users is to create IP subnet objects for the office without a domain controller and
then add the IP subnet object to an existing site.
Another issue that you need to plan for if you are deploying multiple domains is the forest root
domain controller locations. These domain controllers are required whenever a user accesses
a resource in another domain tree or when a user logs on to a domain in a domain tree other
than their own. Because of this, you should locate forest root domain controllers in any offices
where there are a large number of users or where a significant amount of traffic will be
directed to the root domain controllers. If your company has a network topology that includes
regional hub offices, consider deploying a root domain controller in each of the hub offices.
Caution
Because of the importance of the root domain and the impact to the forest if the
root domain is ever lost, the forest root domain controllers should be geographically
distributed. Even if there is no good reason to put a root domain controller in offices outside of
the head office, consider doing so just to provide geographic redundancy. Like all domain
controllers, however, the root domain controllers should never be located in an office where
they cannot be physically secured.
Locating Global Catalog Servers
Global catalog servers are required for users to log on to AD DS domains, or when a user
searches AD DS for directory information. In general, this means that you should put a global
catalog server in every site. However, this ideal must be balanced with the replication traffic
created by putting a global catalog server in every site. If you have a very large enterprise, with
several large domains, the global catalog replication traffic will be significant.
One of the enhancements to Windows Server 2003 Active Directory and Windows Server
2008 AD DS is the fact that it does support logons to a domain without access to a global
catalog server by supporting universal group membership caching. When universal group
membership caching is enabled, domain controllers can cache the universal group memberships for users in the domain. The first time the user logs on to the site, the user’s universal
group membership must be retrieved from a global catalog server. After the first logon,
however, the domain controller will cache the user’s universal group membership indefinitely. The universal group membership cache on the domain controller is updated every
210
Part II:
Designing and Implementing Windows Server 2008 Active Directory
eight hours by contacting a designated global catalog server. To enable universal group
membership caching, open the AD DS Sites And Services administrative tool and expand the
site object for the site where you want to enable this setting. Right-click the NTDS Site Settings
object and select Properties. On the Site Settings tab, select the Enable Universal Group
Membership Caching option and, in the Refresh Cache From drop-down list, select the site
where the closest global catalog server is located.
Designing Read-Only Domain Controller Deployments
One of the important new features in Windows Server 2008 is the option to deploy RODCs.
RODCs provide all of the functionality required by clients to authenticate while providing
additional security for domain controllers deployed in offices where the physical security of
the domain controllers cannot be ensured. When designing your RODC deployment, you
need to be concerned with the RODC placement as well as how user account passwords will
be cached on the server, and how to configure delegated administrative permissions for the
domain controller.
Designing RODC Placement RODCs are designed to be placed in locations where you
would like to deploy a domain controller, but where you have concerns about the domain
controller security. You might also consider deploying RODCs in offices where there are no
administrators who need to make changes to AD DS. In most cases, RODCs will be deployed
in branch offices, but they can also be used to run applications that must run a domain
controller.
When choosing whether to deploy an RODC in a branch office, use the same considerations
as for deploying a domain controller with less emphasis on physical security. As a general rule,
an RODC should be deployed as the only domain controller for its domain in a site. There are
two additional considerations when designing RODC placements:
■
Each RODC requires a writable domain controller running Windows Server 2008 for
the same domain from which the RODC can directly replicate. RODCs can replicate
changes to the schema, configuration, and application partitions from a Windows
Server 2003 domain controller but can only replicate changes to the domain partition
from a Windows Server 2008 domain controller. This means that a writable domain
controller running Windows Server 2008 should be placed in the nearest site in the
topology. If you have not disabled site link bridging, this is not an absolute requirement,
but it is still strongly recommended.
■
Domain controllers running Windows Server 2003 will perform automatic site coverage
for sites with RODCs. Automatic site coverage is used to ensure that clients in domains
without domain controllers will authenticate to the closest possible domain controller.
Domain controllers running Windows Server 2003 do not consider RODCs when they
evaluate site coverage requirements. As a result, they perform automatic site coverage for
any site that includes only an RODC for the same domain. This means that Windows
Server 2003 domain controllers will register site-specific SRV records for the site and
Chapter 5:
Designing the Active Directory Domain Services Structure
211
potentially cause client computers to authenticate to the domain controllers outside the
site rather than the local RODC. To prevent this from happening, you can:
❑
Ensure that all domain controllers in the site closest to the site containing the
RODC are running Windows Server 2008 and ensure that at least one of those
servers is a global catalog server.
❑
Disable automatic site coverage on domain controllers running Windows Server
2003. You can do this by editing the registry.
❑
Increase the weight the DNS SRV resource records registered by the RODC or
decrease the priority of SRV records registered by Windows Server 2003 so that
client computers are more likely to authenticate to the RODC that to a Windows
Server 2003 domain controller.
❑
Use Group Policy to configure domain controller DNS Locator records. You can
assign different weights to the DNS locator records by using Group Policy.
More Info
For details on how to configure these options, see “Step-by-Step Guide for
Read-Only Domain Controller in Windows Server 2008” at http://technet2.microsoft.com/
windowsserver2008/en/library/ea8d253e-0646-490c-93d3-b78c5e1d9db71033.mspx?mfr=true.
Designing RODC Administration When designing the RODCs deployment, you also
need to plan for delegated administration for the RODCs. One of the benefits of deploying an
RODC is that you can configure a delegated local administrator for the RODC without
granting any domain-level permissions. The delegated administrator can log on to an RODC
to perform maintenance work on the server such as upgrading a driver. However, the
delegated administrator would not be able to log on to any other domain controller or
perform any other administrative task in the domain.
Consider delegating administrative permissions on the RODC if the domain controller is
located in a branch office that does not have any domain administrators onsite. Although you
may be able to perform most administrative tasks remotely, the local administrator will be
available if the WAN link is not available (if you have configured credential caching for the
local administrator). When you delegate local administrator permissions, the user account is
not added to any extra security group. Instead, the user or group name is kept in an attribute
in the RODC computer object in AD DS, which is used when that user tries to log on to the
RODC.
The delegated local administrator credentials are not cached by default on the RODC. This
means that the delegated local administrator will not be able to log on to the RODC if a writable
domain controller is not available. If you are planning to use the delegated administrator primarily as a backup in case of WAN failure, you will need to enable credential caching for the administrator account. In addition, you need to ensure that the administrator has been authenticated
by the RODC, or the credential cache has been prepopulated for this user account.
212
Part II:
Designing and Implementing Windows Server 2008 Active Directory
Designing Password Replication Policies Another design option that you will need to
consider for RODCs is credential caching. By default, no credentials other than the RODC
computer account and a special krbtgt account are stored on the RODC. This means that the
RODC must have an available connection to a writable domain controller whenever a user or
computer authenticates to the RODC. When the RODC receives the authentication request, it
forwards the request to a writable domain controller.
If you modify the Password Replication Policy, passwords will be cached on the RODC after
the next successful logon of a security principal identified in the policy. After an account is
successfully authenticated, the RODC attempts to contact a writable domain controller at the
hub site and requests a copy of the appropriate credentials. The writable domain controller
recognizes that the request is coming from an RODC and consults the Password Replication
Policy in effect for that RODC. If the Password Replication Policy allows it, the writable
domain controller replicates the credentials to the RODC, and the RODC caches them. After
the credentials are cached on the RODC, the RODC can directly service that user’s logon
requests until the credentials change or until the Password Replication Policy changes.
When implementing a password replication policy, you must balance user convenience with
security concerns. By default, no passwords are cached on the RODC. In addition, the policy
explicitly denies credential caching for all domain administrative groups. If you do not change
the default, users will not be able to logon to the RODC if a connection to the Windows Server
2008 writable domain controller is not available. If you enable password caching for all
accounts, the impact of a security breach on the RODC is increased.
Note If the security of an RODC is compromised, you should remove the RODC computer
account from Active Directory and reset the passwords for all user accounts that are cached
on the server. When you delete the RODC account, you are given the opportunity to export
a list of all accounts with cached credentials on the RODC. In addition, if the RODC is
compromised, you should perform a security check on all workstations in the site to ensure
that they have not been compromised as well.
When implementing a password replication policy, you have three high-level options:
■
Accept the default configuration so that no credentials are cached on the server. This
option is feasible if the server security is most critical, and the WAN connection between
the site containing the RODC and a site containing a writable domain controller is
highly available. Although this option will not significantly improve the logon experience for users in the remote site, the RODC can still be used for DNS and global catalog
lookups (if these features are installed on the RODC).
■
Explicitly allow or deny caching of user or computer credentials on the server. To do
this, access the RODC computer account properties in Active Directory Users and
Computers and add users, groups, or computer accounts to the appropriate list. By
choosing this option, you can enable credential caching for those users and computers
Chapter 5:
Designing the Active Directory Domain Services Structure
213
that are located in the RODC’s site. When you access the RODC computer properties in
Active Directory Users and Computers, you can identify which users and computers have
authenticated to the RODC. You can then add these accounts to the password replication
policy and also prepopulate the passwords on the RODC. This option provides a reasonable balance between user experience and security concerns in most organizations. If the
RODC is compromised, only a limited number of credentials will be stored on the RODC.
■
Configure the RODC replication groups to configure credential caching. AD DS has two
groups designed for RODCs to manage credential caching:
❑
The Allowed RODC Password Replication Group includes all accounts whose
credentials can be cached on all RODCs in the domain. When you add a user or
group to this list, their credentials can be cached on all RODCs in the domain. By
default, this group does not have any members.
❑
The Denied RODC Password Replication Group includes all accounts whose credentials are explicitly denied from being cached on all RODCs in the domain. By
default, this group contains all administrator accounts and all domain controller
accounts. The Denied Password Replication Group has prevalence over the
Allowed group; this means that if a user or computer is in both allowed and denied
groups, the credentials will not be allowed to get cached on the RODC.
Choose this option if you want to apply a consistent password replication policy to all RODCs
in the domain. For example, if you have a group of users that travel frequently to all of the
remote sites that contain RODCs, you may choose to add the group to the Allowed RODC
Password Replication Group. You can still enable password caching for local users by adding
local groups directly to the password replication policy.
Caution
Another factor that you may need to consider when deploying RODCs is
application compatibility. Most applications that use AD DS will continue to function even if
they connect to a read-only version of the data store, but applications that require write access
to the AD DS may not work. For details on applications that do work with RODCs and for
suggestions on how to test third-party compatibility with RODCs, see “Application Compatibility
with Read-Only Domain Controllers,” located at http://technet2.microsoft.com/windowsserver2008/
en/library/f1b06c27-0f6a-4932-afe6-a70749f8ab2f1033.mspx.
Locating Operations Master Servers
The most important operations master for day-to-day operations is the primary domain
controller (PDC) emulator. This server is especially important if your organization includes
Windows NT or Window 9x down-level clients, as these clients must connect to the PDC
emulator to change their passwords. Even if your organization does not have these older
clients, the PDC emulator still receives priority updates of user password changes. As a result,
the placement of the PDC emulator is significant. The PDC emulator should be placed in a
central location where the maximum number of clients can connect to the server.
214
Part II:
Designing and Implementing Windows Server 2008 Active Directory
The placement of the other operations masters is not as crucial because the impact of these
servers not being available for a short time is minimal. When deciding where to locate the
operations masters, use the following guidelines:
■
If possible, the schema master, domain naming master, and the relative identifier (RID)
master should be located in a site with another domain controller as a direct replication
partner. This is for disaster recovery purposes. If one of these servers fails, you might
have to seize the operations master role to another domain controller. Ideally, you would
like to seize the role to another domain controller that is fully replicated with the
original operations master. This is more likely to be the case if the two domain controllers are in the same site and are configured as direct replication partners.
■
The RID master must be accessible to all domain controllers through a remote procedure call (RPC) connection. When a domain controller requires more RIDs, it will use
an RPC connection to request them from the RID master.
■
The infrastructure master should not be located on a global catalog server if you have
more than one domain. The infrastructure master’s role is to update object display name
references between domains. For example, if a user account is renamed and the user is
a member of a universal group, the infrastructure master updates the user name. If the
infrastructure master is located on a global catalog server, it will not function because
the global catalog is constantly updated with the most recent global information. As a
result, the infrastructure master will never detect any out-of-date information and thus
never update the cross-domain information.
As a general rule, if an organization has a central location where most of the users are located,
all the operations masters should be put in that site.
Summary
AD DS design is a topic that could take up an entire book by itself. As described in this chapter,
AD DS design consists of understanding the organization’s requirements for the AD DS
design, designing the top-level components first, and then moving to lower-level components
to meet those designs. This means that the first step in AD DS design is to create the forest
design. This is followed by the domain design, then the DNS design, and finally the OU
design. As you create the AD DS logical structure, you also need to design the physical AD DS
components by designing the sites and domain controller placements.
Best Practices
■
When creating a forest design, always start with the expectation that you will implement
only a single forest. This is the easiest option to deploy and manage and automatically
enables collaboration features such as the global catalog searching and Exchange Server
features. However, be prepared to be convinced that additional forests are needed for
administrative isolation.
Chapter 5:
Designing the Active Directory Domain Services Structure
215
■
In any organization that has more than one domain, creating a dedicated root domain is
strongly recommended. This design makes it easy to provide geographic redundancy
for the root domain and isolates forest administrators from domain administrators.
■
Never expose the DNS servers hosting your AD DS domain records to the Internet. If
you are using the same namespace internally and externally, implement a split DNS in
which two different servers host the internal and external zones.
■
Implement AD DS integrated zones for AD DS domains even if you retain a DNS server
infrastructure for other DNS functionality in your organization. AD DS integrated zones
provide a high level of redundancy by enabling all DNS servers to have writable copies
of the zone files.
■
If you decide that you need to install a domain controller in an office, create a site for the
office. If you cannot ensure the physical security of the domain controller, deploy an
RODC.
Additional Resources
Related Information
■
Chapter 4, “Active Directory Domain Services Replication,” provides details on how to
configure AD DS sites and replication.
■
Chapter 6, “Installing Active Directory Domain Services,” provides details on how to
install AD DS domain controllers, including how to configure RODC settings.
■
Chapter 9, “Delegating the Administration of Active Directory Domain Services,” and
Chapter 11, “Introduction to Group Policy,” should be read before creating an OU
design, as the topics covered in these chapters are critical when creating the design.
■
“Multiple Forest Considerations in Windows 2000 and Windows Server 2003” at
http///technet2.microsoft.com/windowsserver/en/library/bda0d769-a663-42f4-879ff548b19a8c7e1033.mspx?mfr=true
■
“Windows 2000/2003: Multiple Forests Considerations” white paper at
http://www.microsoft.com/downloads/details.aspx?familyid=b717bfcd-6c1c-4af6-8b2cb604e60067ba&displaylang=en
■
“Domain Rename Technical Reference” at http://technet2.microsoft.com/windowsserver/
en/library/35e63f1e-f097-4c9c-a788-efc840d781931033.mspx?mfr=true
■
“Windows Server 2003 Active Directory Branch Office Guide” at
http://www.microsoft.com/downloads/details.aspx?FamilyId=9353A4F6-A8A8-40BB9FA7-3A95C9540112&displaylang=en
■
“Creating a Forest Design” at http://technet2.microsoft.com/windowsserver/en/library/
ff92f142-66ea-498b-ad0f-a379c411eb6e1033.mspx?mfr=true
216
Part II:
Designing and Implementing Windows Server 2008 Active Directory
■
“Determining the Number of Domains Required” at http://technet2.microsoft.com/
windowsserver/en/library/d390f147-22bc-4ce3-8967-e65d969bc40b1033.mspx?mfr=true
■
The following articles all discuss the impact of deploying Exchange Server 2007 has on
creating an AD DS design:
■
❑
“Planning for a Complex Exchange Organization” at http://technet.microsoft.com/
en-us/library/aa996010.aspx
❑
“Guidance on Active Directory Design for Exchange Server 2007” at
http://msexchangeteam.com/archive/2007/03/28/437313.aspx
❑
“Dedicated Active Directory Sites for Exchange” at http://msexchangeteam.com/
archive/2006/08/28/428776.aspx
❑
“Planning Active Directory” at http://technet.microsoft.com/en-us/library/
bb123715.aspx
“Application Compatibility with Read-Only Domain Controllers” at
http://technet2.microsoft.com/windowsserver2008/en/library/f1b06c27-0f6a-4932-afe6a70749f8ab2f1033.mspx
Resources on the CD
■
ListDomainControllers.ps1 is a Windows PowerShell script that lists all of the domain
controllers in your domain and global catalog servers in your forest.
■
ListFSMOs.ps1 is a Windows PowerShell script that lists all of the operations master
servers in your forest and domain.
■
ListADDSDomains.ps1 is a Windows PowerShell script that lists information about all
of the domains in your forest.
■
ListADDSSites.ps1 is a Windows PowerShell script that lists information about all of the
sites in your forest.
■
CurrentDirectoryEnvironment.xlsx and CurrentNetworkEnvironment.xlsx are spreadsheets that can be used to document the current directory and network environments at
your organization.
■
The CD contains several Microsoft Office Visio templates that can be used to diagram
LAN and WAN configurations as well as a sample WAN diagram,
WANDiagram_Sample.vsd.
■
ADDS_DesignDocument.xlsx is a spreadsheet that can be used to document AD DS
design decisions and the AD DS design.
Chapter 6
Installing Active Directory
Domain Services
In this chapter:
Prerequisites for Installing AD DS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217
Understanding AD DS Installation Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222
Using the Active Directory Domain Services Installation Wizard. . . . . . . . . . . . . 225
Performing an Unattended Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236
Deploying Read-Only Domain Controllers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238
Removing AD DS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244
Additional Resources. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244
The process of installing Active Directory Domain Services (AD DS) on a server running Windows Server 2008 is a straightforward procedure. This is due to the well-designed Active
Directory Domain Services Installation Wizard, the user interface used to install the service.
When AD DS is installed on a computer running Windows Server 2008, the computer
becomes a domain controller (DC). This process is also called promotion; a member server is
promoted to a DC. If the promoted server is the first domain controller in a new domain and
forest, a pristine directory database is created, ready to store the directory service objects. If
this is an additional domain controller in an existing domain, the replication process is used
to propagate all of the directory service objects of this domain to this new domain controller.
This chapter will present the information necessary for you to successfully navigate through
the Active Directory Domain Services Installation Wizard, as well as discuss the unattended
installation and installing from media (IFM). This chapter also covers the process for installing a Read-Only Domain Controller (RODC). Finally, it will present the process of removing
AD DS from a domain controller.
Prerequisites for Installing AD DS
Any server running Windows Server 2008 that meets the prerequisites described in the
following section can host AD DS and become a domain controller. In fact, every new domain
controller begins as a stand-alone server until the AD DS installation process is complete. This
process will accomplish two important goals. The first is to create or populate the directory
217
218
Part II:
Designing and Implementing Windows Server 2008 Active Directory
database, and the second is to start AD DS so that the server is responding to domain logon
attempts and to Lightweight Directory Access Protocol (LDAP) requests.
After AD DS is installed, the directory database is stored on the hard disk of the domain controller as the Ntds.dit file. During the installation of Windows Server 2008, the necessary
packages are copied to the computer to install AD DS. Then, during installation of AD DS, the
Ntds.dit database is created and copied to a location identified during the installation process,
or to the default folder %systemroot%\NTDS if no other location is specified. The installation
process will also install all of the necessary tools and DLLs required to operate the directory
service.
The following sections explain the prerequisites for installing AD DS on a computer running
Windows Server 2008.
Hard Disk Space Requirements
The amount of hard disk space required to host Active Directory will ultimately depend on the
number of objects in the domain, and in a multiple domain environment, whether or not the
domain controller is configured as a global catalog (GC) server. Windows Server 2008 has the
following hard disk space requirements for installation:
■
Minimum: 10 gigabytes (GB)
■
Recommended: 40 GB or more
Note
A Server Core installation requires only approximately 1 GB of disk space to install and
approximately 2 GB for operations after the installation.
To perform an install of AD DS on a clean server running Windows Server 2008, the following
minimum hard disk requirements should be met:
■
15 megabytes (MB) of available space required on the system install partition
■
250 MB of available space for the AD DS database Ntds.dit
■
50 MB of available space for the extensible storage engine (ESENT) transaction log files.
ESENT is a transacted database system that uses log files to support rollback semantics
to ensure that transactions are committed to the database.
For domain controllers running Windows Server 2003 that are being upgraded to Windows
Server 2008, there are additional disk space considerations. You must plan for the necessary
disk space for the following resources:
■
Application Data (%AppData%)
■
Program Files (%ProgramFiles%)
Chapter 6:
Installing Active Directory Domain Services
■
Users Data (%SystemDrive%\Documents and Settings)
■
Windows Directory (%WinDir%)
219
AD DS installation in an upgrade scenario requires free disk space equal to or greater than the
disk space used for the four resources in this list (and their subordinate folders). In a default
Active Directory installation, both the NTDS database and the log files are stored in the
%WinDir%/NTDS folder, so they must be included in the total disk space calculation
required for the upgrade. During the upgrade, these resources, including the NTDS database
and the log files, will be copied to a quarantine location and then copied back after the
upgrade is complete. All of the disk space that was reserved for the copying of the Active
Directory files will be returned to the file system as available space.
In addition to the hard disk requirements listed here, at least one logical drive must be formatted with the NTFS file system to support the installation of the SYSVOL folder. In the upgrade
scenario, unlike the Ntds.dit database and log files, the SYSVOL folder is moved, not copied,
so no additional free disk space is required for that resource.
Before you create a new Windows Server 2008 domain in a Windows 2000 Server or
Windows Server 2003 forest, you must prepare the existing environment for Windows
Server 2008 by extending the schema. Running Adprep.exe will ensure that the existing
Active Directory schema is prepared to interoperate with AD DS installed on a computer running Windows Server 2008. Adprep is covered in greater detail in Chapter 7, “Migrating to
Active Directory Domain Services.”
Network Connectivity
After installing Windows Server 2008 and before installing AD DS, verify that the server is
properly configured for network connectivity. To do this, attempt to connect to another computer on the network, either by typing the UNC path or the IP address of the target computer
into the Address line of Windows Explorer, or by using the Ping utility (for example, from the
command line, type ping 192.168.1.1). In addition to ensuring network connectivity, you
will have already determined that there is sufficient bandwidth on the network segment to
support domain controller-based network traffic during the design phase of the AD DS
implementation. For more information on planning for domain controller placement, see
Chapter 5, “Designing the Active Directory Domain Services Structure.”
Before installing AD DS, you should also configure the Internet Protocol (TCP/IP) settings on
the Local Area Connection Properties sheet. To access this dialog box, right-click the Local
Area Connection object in the Network Connections folder, select Manage Network Connections in the Network Sharing Center in Control Panel, and select Properties. On the Local Area
Connection Properties sheet, select Internet Protocol Version 4 (TCP/IPv4) and/or Internet
220
Part II:
Designing and Implementing Windows Server 2008 Active Directory
Protocol Version 6 (TCP/IPv6); then click the Properties button. On the Internet Protocol
(TCP/IP) Properties sheet, do the following:
■
On the General tab, configure the computer with a static IP address.
■
On the General tab, if the domain controller you are installing is not going to serve as a
DNS server, configure the DNS server address with the IP address of the DNS server that
is authoritative for the domain. See the following section for more information on configuring DNS for AD DS installation.
■
For the IP v4 stack, on the Advanced TCP/IP Settings page, click Advanced on the
General tab of the Internet Protocol Version 4 (TCP/IPv4) Properties sheet, click the
WINS tab, and configure the server with the IP address of the Windows Internet
Naming Service (WINS) server that the domain controller will use. (There is no WINS
setting for the IP v6 stack.)
DNS
AD DS requires DNS as its resource locator service. Client computers rely on DNS to locate
the domain controllers so that they can authenticate themselves and the users who log on to
the network as well as to query the directory to locate published resources. Furthermore, the
DNS service must support service locator (SRV) resource records, and it is recommended that
it also support dynamic updates. If DNS has not been previously installed on the network, the
Active Directory Domain Services Installation Wizard will install and configure DNS at the
same time as AD DS.
Note
In Windows Server 2003, DNS server installation is offered, if it is needed. In Windows
Server 2008, DNS installation and configuration is automatic, if it is needed. When you
install DNS on the first domain controller in a new child domain in Windows Server 2008, a
delegation for the new domain is created automatically in DNS. However, if you prefer to install
and configure DNS manually, this is also possible.
Administrative Permissions
To install or remove AD DS, you must supply account credentials with administrative permissions. The type of account permissions you must have in order to install an AD DS domain
depends on the installation scenario: installing a new Windows Server 2008 forest, installing
a new Windows Server 2008 domain in an existing forest, or installing a new Windows
Server 2008 domain controller in an existing domain. The Active Directory Domain Services
Installation Wizard checks account permissions before installing the directory service. If you
are not logged on with an account with administrative permissions, the wizard prompts you
to provide the appropriate account credentials.
Chapter 6:
Installing Active Directory Domain Services
221
When you choose to create a new forest root domain, you must be logged on as a local administrator, but you are not required to provide network credentials. When you choose to create
either a new tree-root domain or a new child domain in an existing tree, you must supply network credentials to install the domain. To create a new tree-root domain, you must provide
account credentials from a member of the Enterprise Admins group. To install an additional
domain controller in an existing domain, you must be a member of the Domain Admins
global group.
Operating System Compatibility
Domain controllers running Windows Server 2008 are more secure than those running previous versions of the Windows Server operating system, and the Active Directory Domain
Services Installation Wizard provides information on how this security affects client logon.
The default security policy for domain controllers running Windows Server 2008 requires
two levels of domain controller communication security: Server Message Block (SMB) signing
and encryption and signing of secure channel network traffic.
These domain controller security features can present a problem for down-level client computers when logging on, as well as for some third-party applications. This will impact down-level
client operating systems that reside in a mixed Windows Server 2008 and pre-Windows
Server 2008 domain controller environment; they may experience intermittent failures when
Windows Server 2008 domain controllers service authentication requests and requests to join
the domain.
Windows Server 2008 domain controllers are configured with a “policy” that prohibits
Windows and third-party clients that use weak cryptography methods from establishing
secure channels with such DCs.
To fix this problem, update incompatible clients to use cryptography methods that are compatible with the secure default in Windows Server 2008. This may require getting updated
software from the vendor in question.
If incompatible clients cannot be upgraded without causing a service outage, perform the
following steps:
1. Log into the console of a Windows Server 2008 domain controller.
2. Start the Group Policy Management console.
3. Edit the default domain controllers policy.
4. Locate the following path in Group Policy Editor: Computer Configuration|Policies|
Administrative Templates|System|Net Logon
5. Set Allow Cryptography Algorithms Compatible With Windows NT 4.0 to Enabled.
222
Part II:
Designing and Implementing Windows Server 2008 Active Directory
Note
Allow Cryptography Algorithms Compatible With Windows NT 4.0 defaults to
“not configured” in the default domain policy, default domain controllers policy, and
local policy—but the default behavior for Windows Server 2008 domain controllers is to
programmatically disallow connections using NT 4.0 style cryptography algorithms. As a
result, tools that enumerate effective policy settings on a member computer or domain
controller will not detect the existence of Allow Cryptography Algorithms Compatible
With Windows NT 4.0 unless explicitly enabled or disabled in a policy.
Windows 2000 and Windows Server 2003 domain controllers will not apply Allow
Cryptography Algorithms Compatible With Windows NT 4.0 in their effective policy.
Therefore, pre-Windows Server 2008 domain controllers will continue to service secure
channel requests from computers using NT 4.0 style cryptography methods. This may
cause inconsistent results if secure channel requests are intermittently serviced by
Windows Server 2008 domain controllers.
6. Install corrective fixes or retire incompatible clients.
7. After less secure clients and devices have been upgraded or removed from the domain,
set the option Allow Cryptography Algorithms Compatible With Windows NT 4.0 to
Disabled.
Understanding AD DS Installation Options
You can start the installation of AD DS by using one of several graphical interfaces, or you can
start it directly from the command line or the Run command. The graphical interfaces will
install and configure the directory service as well as create and initialize the directory data
store. Since AD DS requires a DNS implementation to be authoritative for the planned
domain, the installation process will install and configure the DNS Server service if an
authoritative DNS server is not already in place.
There are several methods for starting the installation of Active Directory:
■
Initial Configuration Tasks Wizard and Add Roles Wizard
■
Active Directory Domain Services Installation Wizard (Dcpromo.exe)
■
Unattended installation
Installation Configuration Tasks and the Add Roles Wizard
When you first install Windows Server 2008, the Initial Configuration Tasks Wizard will
appear. From this interface you can set the time zone, configure networking, and name the
computer. In addition, you can also choose to add server roles—including AD DS, AD CS,
AD FS, AD LDS, and AD RMS. Adding the AD DS role to the computer will install the
necessary files and prepare the computer for running the Active Directory Domain Services
Chapter 6:
Installing Active Directory Domain Services
223
Installation Wizard. Figure 6-1 shows the Add Roles Wizard interface with AD DS server
role selected.
Figure 6-1
The Add Roles Wizard interface with the AD DS server role selected.
After the AD DS role is added to the server, you can launch the Active Directory Domain Services Installation Wizard (Dcpromo.exe) from the Add Roles Wizard interface, or you can
continue to add additional server roles and run Dcpromo.exe at a later time.
Server Manager
Server Manager is a new feature that is included in Windows Server 2008, which is designed
to guide administrators through the process of installing, configuring, and managing server
roles and features that are part of the Windows Server 2008 release. Server Manager is
launched automatically after the administrator closes the Initial Configuration Tasks Wizard.
If the Initial Configuration Tasks Wizard has been closed, Server Manager is launched
automatically when an administrator logs on to the server. From Server Manager, you can
choose to add server roles to the server, including AD DS. You may want to use this interface
to add server roles to the computer after you have closed the Initial Configuration Tasks
interface. Figure 6-2 shows the Server Manager interface with the AD DS server role
installed.
224
Part II:
Designing and Implementing Windows Server 2008 Active Directory
Figure 6-2
Server Manager with the AD DS server role installed.
After the AD DS server role is added, you will launch the Active Directory Domain Services
Installation Wizard, either from the Run command, from the command prompt, or
directly from a link within Server Manger. The installation wizard is covered in the next
section.
Active Directory Domain Services Installation
The Active Directory Domain Services Installation Wizard can be started by typing
dcpromo.exe in the Run dialog box or at the command prompt. Several command-line
parameters are available for use with Dcpromo.exe:
■
The /adv parameter is used to start the Active Directory Domain Services Installation
Wizard in Advanced mode. In Windows Server 2008, the option to run Dcpromo in
Advanced mode is now available from the Welcome page of the AD DS Installation
Wizard. Use the Advanced mode when the domain controller will be created from
restored backup files (also known as Installed From Media, or IFM), or when you
are setting the Password Replication Policy for an RODC. When you add the /adv
parameter, you will be prompted for the path to the restored backup files during the
installation process.
■
The /unattend:[unattendfile] parameter is used to perform an unattended installation of
AD DS, on either a full install of Windows Server 2008 or a Server Core installation.
Chapter 6:
Installing Active Directory Domain Services
225
(The Server Core installation is a new installation option for Windows Server 2008 that
does not provide graphical user interface options, such as the Active Directory Domain
Services Installation Wizard.)
■
The /CreateDCAccount parameter is used to create a Read-Only Domain Controller
(RODC) account.
■
The /UseExistingAccount:Attach parameter attaches the server to an RODC account.
The /CreateDCAccount and /UseExistingAccount:Attach options are mutually exclusive.
Detailed information on the key decision points is provided in the section titled “Using the
Active Directory Domain Services Installation Wizard” later in this chapter.
Unattended Installation
In addition to the graphical user interface for installing Active Directory Domain Services,
the installation process can be run in an unattended, or silent, mode by typing dcpromo.exe
/unattend:unattendfile, where unattendfile represents the filename of the unattend file that
you have created. The unattended installation script file passes values for all of the user-input
fields that you would ordinarily complete when using the Active Directory Domain Services
Installation Wizard. For any key that is not defined in the unattend file, either the default
value will be used for that key, or an error will be returned by Dcpromo indicating that the
unattend file is incomplete. In Windows Server 2008, creating the unattend file for unattended installations has been greatly simplified from previous versions of AD DS and will be
covered later in this chapter.
Using the Active Directory Domain Services
Installation Wizard
The Active Directory Domain Services Installation Wizard is a straightforward user interface
that prompts you for all of the options and variables in the AD DS installation process. Instead
of walking you through this otherwise self-explanatory process, this section will discuss the
key decision points you will encounter when installing AD DS.
To start the Active Directory Domain Services Installation Wizard, type dcpromo in the Run
dialog box or at the command prompt. The Active Directory Domain Services Installation
Wizard Welcome page appears. On the Welcome page, you can select to run Dcpromo in
Advanced mode, which includes additional wizard pages for all but the most common installation scenarios. The selection of Advanced Mode in the Active Directory Domain Services
Installation Wizard interface is illustrated in Figure 6-3.
226
Part II:
Designing and Implementing Windows Server 2008 Active Directory
Figure 6-3
The Active Directory Domain Services Installation Wizard Welcome page.
Deployment Configuration
The first decision you must make in the installation process is what type of domain controller
you want to create. You must select either to create a domain controller in an existing forest or
to create a new domain in a new forest, as illustrated in Figure 6-4. If you choose to add a
domain controller to an existing domain or to create a new domain in an existing forest, be
aware that all local accounts that exist on the server will be deleted, along with any cryptographic keys that are stored on the computer. You will also be prompted to decrypt any
encrypted data, because it will be inaccessible after AD DS is installed.
If you are creating a new domain, you must choose whether to create a root domain in a new
forest, a child domain in an existing domain, or a new domain tree in an existing forest. Consult your AD DS design documentation (see Chapter 5) to determine the nature of the domain
you are creating. To create either a child domain in an existing domain or a new domain tree
in an existing forest, you must supply the appropriate network credentials to continue with
the installation process. No network credentials are required to create a new forest root
domain.
Note
The option to install a new domain tree appears only if you run the Active Directory
Domain Services Installation Wizard in Advanced mode.
Chapter 6:
Figure 6-4
Installing Active Directory Domain Services
227
The Choose A Deployment Configuration page.
Naming the Domain
When creating a new domain controller for a new forest, you must provide the fully qualified
domain name (FQDN) of the new forest root domain. Figure 6-5 shows the first stage of this
process. You must follow specific rules when creating these names.
Figure 6-5
The Name The Forest Root Domain page.
228
Part II:
Designing and Implementing Windows Server 2008 Active Directory
The FQDN must contain a unique name for the new domain, and, if you are creating a child
domain, the parent domain must be included in the DNS name and the parent domain must be
available. For example, if you are creating the new domain NA in the ADatum.com domain tree,
the FQDN that you must provide would be NA.ADatum.com. When naming the domain, available characters include the case-insensitive letters A through Z, numerals 0 through 9, and the
hyphen (-). Each component (label) of the FQDN (the sections separated by the dot [.]) cannot be
longer than 63 bytes. (Internationalized domain names can encode Unicode characters into the
byte strings within the FQDN character set, extending the available character and length support.)
Caution It is recommended that you do not use single-label DNS names when naming your
AD DS domain. DNS names that do not contain a suffix such as .com, .corp, .net, .org, or
companyname are considered to be single-label DNS names. For example, “host” is a single-label
DNS name. Most Internet registrars do not allow the registration of single-label DNS names. It is
also recommended that you do not create DNS names that end with .local. For more information
on this best practice, see the article “Information About Configuring Windows for Domains with
Single-Label DNS Names” located at http://support.microsoft.com/kb/300684.
Setting the Windows Server 2008 Functional Levels
Windows Server 2008 Domain and Functional Level settings determine the AD DS features that
are enabled in a domain or in a forest and which version of Windows Server can be installed as
domain controllers in the domain or forest. Forest and Domain Functional Levels are named
after the Windows Server operating system that represents the features support for that version
of Active Directory: Windows 2000, Windows Server 2003, and Windows Server 2008.
Figure 6-6 shows the Set Forest Functional Level page in the Active Directory Domain Services
Installation Wizard, and Table 6-1 lists the available features for each forest functional level.
Figure 6-6
The Set Forest Functional Level page.
Chapter 6:
Table 6-1
Installing Active Directory Domain Services
229
Forest Functional Levels in Windows Server 2008
Forest Functional
Level
Windows 2000
native
Available Features
Supported Domain
Controllers
All of the default AD DS features are available.
Windows Server 2008,
Windows Server 2003,
Windows 2000
Windows
Server 2003
Windows
Server 2008
All of the default AD DS features, as well as the
following features, are available:
■
Forest trust/
■
Domain rename/
■
Linked-value replication/
■
The ability to deploy a Read-Only Domain
Controller (RODC)
■
Improved Knowledge Consistency Checker
(KCC) algorithms and scalability
■
An improved ISTG algorithm
■
The ability to create instances of the dynamic
auxiliary class named dynamicObject in a
domain directory partition
■
The ability to convert an inetOrgPerson object
instance into a User object instance and to
complete the conversion in the opposite
direction
■
The ability to create instances of new
group types to support role-based
authorization
■
Deactivation and redefinition of attributes and
classes in the schema
All of the features that are available at the
Windows Server 2003 forest functional level, but no
additional features are available. All domains that
are subsequently added to the forest, however,
operate at the Windows Server 2008 domain
functional level by default.
Windows Server 2003,
Windows Server 2008
Windows Server 2008
230
Part II:
Designing and Implementing Windows Server 2008 Active Directory
Table 6-2 lists the available features for each domain functional level.
Table 6-2
Domain Functional Levels in Windows Server 2008
Domain
Functional Level
Available Features
Windows 2000
native
All of the default AD DS features and the following
directory features are available:
Windows
Server 2003
■
Universal groups for both distribution and
security groups.
■
Group nesting.
■
Group conversion, which allows conversion
between security and distribution groups.
■
Security identifier (SID) history.
All the default AD DS features, all the features that
are available at the Windows 2000 native domain
functional level, and the following features are
available:
■
The domain management tool, Netdom.exe,
which makes it possible for you to rename
domain controllers.
■
Logon time stamp updates.
■
The lastLogonTimestamp attribute is updated
with the last logon time of the user or
computer. This attribute is replicated within
the domain.
■
The ability to set the userPassword attribute as
the effective password on inetOrgPerson and
user objects.
■
The ability to redirect Users and Computers
containers.
■
By default, two well-known containers are provided for housing computer and user accounts,
namely, cn=Computers,<domain root> and
cn=Users,<domain root>. This feature allows
the definition of a new, well-known location for
these accounts.
■
The ability for Authorization Manager to store
its authorization policies in AD DS.
■
Constrained delegation.
■
Constrained delegation makes it possible for
applications to take advantage of the secure
delegation of user credentials by means of
Kerberos-based authentication.
Supported
Domain Controllers
Windows Server 2008,
Windows Server 2003,
Windows 2000
Windows Server 2003,
Windows Server 2008
Chapter 6:
Table 6-2
Installing Active Directory Domain Services
231
Domain Functional Levels in Windows Server 2008 (continued)
Domain
Functional Level
Windows
Server 2008
Available Features
■
You can restrict delegation to specific
destination services only.
■
Selective authentication.
■
Selective authentication makes it is possible
for you to specify the users and groups from
a trusted forest who are allowed to authenticate to resource servers in a trusting forest.
All of the default AD DS features, all of the features
from the Windows Server 2003 domain functional
level, and the following features are available:
■
Distributed File System (DFS) replication
support for the Windows Server 2003 System
Volume (SYSVOL).
■
DFS replication support provides more robust
and detailed replication of SYSVOL contents.
■
Advanced Encryption Standard (AES 128 and
AES 256) support for the Kerberos protocol.
■
Last Interactive Logon Information.
Supported
Domain Controllers
Windows Server 2008
Last Interactive Logon Information displays the
following information:
■
The time of the last successful interactive logon
for a user.
■
The name of the workstation that the used
logged on from.
■
The number of failed logon attempts since the
last logon.
■
Fine-grained password policies.
Fine-grained password policies make it possible for
you to specify password and account lockout policies
for users and global security groups in a domain.
When you are setting the Forest Functional Level and Domain Functional Level, in general,
set the domain and forest functional levels to the highest value that your environment can
support. This way, you can use as many AD DS features as possible. However, if you may be
adding Windows Server 2003 domain controllers to your environment, you should select the
Windows Server 2003 functional level during Dcpromo. You can raise the functional level at
a later time, once you have removed any down-level domain controllers from your environment. This procedure is covered in Chapter 7.
232
Part II:
Designing and Implementing Windows Server 2008 Active Directory
Important
You cannot go back to a lower functional level after raising the domain or forest
functional level or setting the domain or forest functional level to Windows Server 2008 during
Dcpromo.
Additional Domain Controller Options
AD DS requires DNS to be installed on the network so that client computers can locate
domain controllers for authentication. The DNS implementation must also support SRV
records to achieve this end. It is recommended that the DNS implementation support
dynamic updates.
If the computer on which you are installing AD DS is not a DNS server, or if the Active
Directory Domain Services Installation Wizard can not verify that a DNS server is properly
configured for the new domain, the DNS Server service can be installed during the AD DS
installation. If a DNS implementation is located on the network but is not configured properly, the Active Directory Domain Services Installation Wizard provides a detailed report of
the configuration error. At this point, you should make any necessary changes to the DNS
configuration and retry the DNS diagnostic routine. If you select the default option to install
and configure the DNS server, the DNS server and the DNS Server service will be installed
during the installation of AD DS. The primary DNS zone will match the name of the new AD
DS domain, and it will be configured to accept dynamic updates. The Preferred DNS server
setting (on the TCP/IP properties sheet) will be updated to point to the local DNS server.
Forwarders and root hints are also configured to ensure that the DNS server service is
functioning properly.
More Info When the DNS Server service is installed by the Active Directory Domain
Services Installation Wizard, the DNS zone is created as an AD DS integrated zone. For more
information on configuring AD DS integrated zones, see Chapter 3, “Active Directory Domain
Services and Domain Name System.”
If you are creating the first domain controller in a new forest, the DC must be configured
as a global catalog server. The first DC in the forest cannot be configured as an RODC.
In the Dcpromo interface (as illustrated in Figure 6-7), the Global catalog option is
selected by default and cannot be cleared, and the RODC option is unavailable. These
options become configurable when you are installing additional domain controllers in the
domain.
Chapter 6:
Figure 6-7
Installing Active Directory Domain Services
233
The Additional Domain Controller Options page.
File Locations
The Active Directory Domain Services Installation Wizard prompts you to select a location to
store the AD DS database file (Ntds.dit), the AD DS log files, and the SYSVOL folder. You can
either select the default locations or specify the locations for these folders. Figure 6-8 shows
this interface.
Figure 6-8
The Location For Database, Log Files, And SYSVOL page.
234
Part II:
Designing and Implementing Windows Server 2008 Active Directory
The default location for both the directory database and the log files is the %systemroot%\
NTDS folder. However, for best performance, you should configure AD DS to store the database file and the log files on separate physical hard disks. The SYSVOL shared folder default
location is %systemroot%\sysvol. The only restriction on selecting the location for the shared
SYSVOL folder is that it be stored on an NTFS v5 volume. The SYSVOL folder stores all of the
files that must be accessible to all clients across an AD DS domain. For example, logon scripts
or group policy objects must be accessible to all clients upon logging on to the domain, and
they are stored in the SYSVOL folder.
Completing the Installation
The final pages of the Active Directory Domain Services Installation Wizard are straightforward.
They involve setting the Directory Services Restore Mode password and reviewing the
Summary page.
The Directory Services Restore Mode (DSRM) password is used for authenticating to the
registry-based security accounts manager (SAM) database when the domain controller is
started in this special recovery mode. If you are creating the first domain controller in the
forest, the password policy in effect on the local server is enforced for the DSRM Administrator
password. For all other installations, the Active Directory Domain Services Installation
Wizard enforces the password policy in effect on the domain controller that is used as the
installation partner. This means that the DSRM password that you specify must meet the
minimum password length, history, and complexity requirements for the domain that contains the installation partner. By default, a strong password that contains a combination of
uppercase and lowercase letters, numbers, and symbols must be provided.
The Summary page reports all of the options selected during the Active Directory Domain
Services Installation Wizard. You should review your selections on the Summary page before
completing the installation wizard and installing AD DS, and go back to previous pages if
necessary.
You can select the Export Settings button on the Summary page to create an unattended file
containing all of the options you selected in the Active Directory Domain Services Installation
Wizard. You can then use the unattended file for installing additional domain controllers
when you initiate the install process using the command Dcpromo /unattend:[unattendfile].
When you select Next on the Summary page, Windows Server 2008 starts the process of
installing and configuring AD DS on the server. If this is the first domain controller in a new
domain, this process is relatively quick because only the default domain objects are created
and the directory partitions are quickly created. If you are installing an additional domain controller for an existing domain, all of the directory partitions must be fully synchronized after
the domain controller is created. To allow you to delay this full replication process until after
the computer restarts, a Finish Replication Later button appears at the beginning of the initial
replication process. Although it is not recommended as a best practice, this option enables the
normal replication process to synchronize the directory partitions on this domain controller
at a later time.
Chapter 6:
Installing Active Directory Domain Services
235
Since the initial replication of the directory partition data can be time-consuming, especially
across slow network links, you can choose to install an additional domain controller from
restored backup files. This feature is discussed in detail later in this chapter in the section
titled “Installing from Media.”
Verifying Installation of AD DS
After you install AD DS, you should open the Active Directory Users and Computers (ADUC)
and verify that all of the Builtin security principals were created, such as the Administrator
user account and the Domain Admins and Enterprise Admins security groups. You should
also verify the creation of the special identities such as Authenticated Users and Interactive.
Special identities are commonly known as groups, but you cannot view their membership.
Instead, users will automatically be joined to these groups as they log on or access particular
resources. These special identities, however, are not displayed in the ADUC by default. To view
these objects, select View and then select Advanced Features.
This will display additional components in the tool that are not visible by default. When you
open the Foreign Security Principals container, you will find the objects S-1-5-11 and S-1-5-4,
which are the Authenticated Users SID and the Interactive SID, respectively. Double-click these
objects to view their properties and default permissions.
In addition to the verification steps in ADUC, perform the following steps to verify the
installation of AD DS:
■
Check the Directory Service log in Event Viewer and resolve any errors.
■
Ensure that the SYSVOL folder is accessible to clients.
■
If you installed DNS during the installation of Active Directory Domain Services, verify
that the service installed properly:
1. Open DNS Manager.
2. Click Start, click Server Manager, and then navigate to the DNS Server page.
3. Navigate to the Forward Lookup Zones page to verify that the
_msdcs.forest_root_domain and forest_root_domain zones were created.
4. Expand the forest root_domain node to verify that the DomainDnsZones and
ForestDnsZones application directory partitions were created.
■
Verify that AD DS replication is working properly using the Domain Controller
Diagnostics tool, Dcdiag.exe:
1. Open a Command Prompt.
2. Type the following command and then press Enter:
dcdiag /test:replication
236
Part II:
Designing and Implementing Windows Server 2008 Active Directory
3. To verify that the proper permissions are set for replication, type the following
command and then press Enter:
dcdiag /test:netlogons
Messages indicate that the connectivity and netlogons tests passed.
Performing an Unattended Installation
To install AD DS without user interaction, you can use the /unattend:[unattendfile] parameter
with the Dcpromo.exe command. With this parameter, you must include the filename for the
unattended installation (or answer) file. The answer file contains all of the data that is normally required during the installation process. It can be automatically generated by selecting
the Export Settings option during a previous running of Dcpromo.
Note In addition to running Dcpromo in the unattended mode on an installed Windows
Server 2008 computer, you can also install AD DS while installing Windows Server 2008
in unattended mode. In this scenario, you will use the <media_drive>\I386\winnt32
/unattend:[unattend.txt] command, where unattend.txt is the name of the answer file used
for the full Windows Server 2008 installation. Specifically, Unattend.txt must contain the
[DCInstall] section to be able to install the AD DS role during the unattended installation of
Windows Server 2008.
To perform an unattended installation of AD DS after the Windows Server 2008 operating system has been installed, create an answer file that contains all of the information necessary to
install AD DS. To execute this unattended installation, at the command prompt or in the Run
dialog box, type dcpromo /unattend:unattendfile. The unattended file is an ASCII text file
that contains all of the information required to complete the pages of the Active Directory
Domain Services Installation Wizard. To create a new domain in a new tree in a new forest
with the DNS Server service automatically configured, the contents of the unattended file
would look like this:
[DCInstall]
InstallDNS=yes
NewDomain=forest
NewDomainDNSName=Adatum.com
DomainNetBiosName=Adatum
ReplicaOrNewDomain=domain
ForestLevel=3
DomainLevel=3
DatabasePath="C:\Windows\NTDS"
LogPath="C:\Windows\NTDS"
RebootOnCompletion=yes
SYSVOLPath="C:\Windows\SYSVOL"
SafeModeAdminPassword=Pa$$w0rd
Chapter 6:
Installing Active Directory Domain Services
237
Keys and Appropriate Values in Unattended Installations
During an unattended installation, for keys with no values set or omitted keys, the
default value will be used. The required keys for the answer file will change depending
on the type of domain to be created (new or existing forest, new or existing tree). An
additional key that can be used for promoting a domain controller using a restore from
backup media is ReplicationSourcePath. To use this key, assign the value of the location of
the restored backup files that will be used to populate the directory database for the first
time. (This is the same as the path to the restored backup files that is selected when
using this feature through the Active Directory Domain Services Installation Wizard.)
See the following section, “Installing from Media,” for more information on this feature.
For more information regarding keys and appropriate values, see the Appendix of
Unattended Installation Parameters in the Step-by-Step Guide for Windows Server 2008
Active Directory Domain Services Installation and Removal at http://technet2
.microsoft.com/windowsserver2008/en/library/f349e1e7-c3ce-4850-9e50d8886c866b521033.mspx?mfr=true.
Installing from Media
You can use the install from media (IFM) option to install an additional domain controller in
an existing domain and use restored backup files to populate the AD DS database. This will
minimize replication traffic during the installation, and the option is well suited for deployments with limited bandwidth to other replication partners (such as a branch office scenario).
You can create the installation media by using the Windows Server Backup tool in Windows
Server 2008. In this case, you need to use the Wbadmin command-line tool option to restore
system state data to an alternate location.
Windows Server 2008 includes an improved version of Ntdsutil.exe that you can also use to
create the installation media. Using Ntdsutil.exe is recommended, because Windows Server
Backup can back up only the set of critical volumes, which occupies much more space than is
required for AD DS installation data. Ntdsutil.exe can create the four types of installation
media, for both writable domain controllers and for RODCs.
Note
For RODC installation media, Ntdsutil removes any cached secrets, such as passwords.
To create installation media using Ntdsutil.exe, follow these steps:
1. Click Start, right-click Command Prompt, and then click Run As Administrator to open
an elevated command prompt.
2. Type ntdsutil and then press Enter.
238
Part II:
Designing and Implementing Windows Server 2008 Active Directory
3. At the ntdsutil prompt, type activate instance ntds and then press Enter.
4. At the ntdsutil prompt, type ifm and then press Enter.
5. At the ifm prompt, type the command for the type of installation media that you want to
create and then press Enter. For example, to create RODC installation media that does
not include SYSVOL data, type the following command:
Create rodc filepath
where filepath is the path to the folder where you want the installation media to be created. You can save the installation media to a local drive, shared network folder, or to any
other type of removable media.
The four different types of installation media are listed in Table 6-3.
Table 6-3
IFM Types
Parameter
Type of Installation Media
Create Full
Full (or writable) domain controller
Create RODC
Read-only domain controller
Create Sysvol Full
Full (or writable) domain controller without SYSVOL data
Create Sysvol RODC
Read-only domain controller without SYSVOL data
To populate the AD DS database when installing additional domain controllers, you will
provide the location of the shared folder or removable media where you store the installation
media on the Install From Media page in the Active Directory Domain Services Installation
Wizard. During an unattended installation, you will use the /ReplicationSourcePath parameter
to point to the installation media.
Deploying Read-Only Domain Controllers
Windows Server 2008 provides a new way for you to install a domain controller in a branch
office scenario. This installation process lets you deploy a Read-Only Domain Controller
(RODC) to a branch office in two stages. First, you create an account (or slot) for the RODC.
When you create the account, you will designate the user account that will install and administer the RODC. The delegated RODC administrator can complete the installation by attaching a server to the RODC account you created for it. This eliminates the need to use a staging
site for building branch office domain controllers or to use domain administrator credentials
to build the RODC in the branch office.
When you install an RODC, keep the following considerations in mind:
■
Before installing an RODC in your forest, you have to prepare it by running adprep
/rodcprep (available from the Windows Server 2008 installation media).
■
The first DC installed in a new forest must be a Global Catalog server (GC) and cannot
be an RODC.
Chapter 6:
Installing Active Directory Domain Services
239
■
The RODC must replicate domain data from a writable domain controller that runs
Windows Server 2008.
■
By default, the RODC does not cache the passwords of any domain users. You must
modify the default password replication policy for the RODC to allow the RODC to
authenticate users and their computers when the WAN link to the hub site is offline.
Server Core Installation Window Server 2008
The best practice is to deploy an RODC on a Server Core installation of Windows Server 2008.
A Server Core installation provides a minimal environment for running specific server roles,
which enhances network security by reducing the attack surface for those server roles. In this
sense, minimal refers to the low use of memory and disk space by the Server Core installation.
In addition, a Server Core installation does not provide any graphical UI (GUI).
To install AD DS on a Server Core installation of Windows Server 2008, perform an unattended installation. A Server Core installation supports the following server roles:
■
AD DS Domain Services (AD DS)
■
AD DS Lightweight Directory Services (AD LDS)
■
DHCP Server
■
DNS Server
■
File Services
■
Print Services
■
Web Services (IIS)
■
Hyper-V
Deploying the RODC
You can perform a staged installation of an RODC. In this case, different designated users run
the installation wizard at different times, and most likely in different locations. First, a member of the Domain Admins group creates an RODC account by using the Active Directory
Users And Computers snap-in in Microsoft Management Console (MMC). Either right-click
the Domain Controllers container or click the Domain Controllers container, click Action,
and then click Pre-create Read-only Domain Controller account to start the wizard and create
the account. The pre-creation of the RODC account can also be done by using the commandline parameter dcpromo /ReplicaDomainDNSName:<domain_name> /createDCaccount. When
you create the RODC account, you can delegate the installation and administration of the
RODC to a user or, preferably, to a security group.
On the server that will become the RODC, the delegated RODC administrator runs the Active
Directory Domain Services Installation Wizard by typing dcpromo /UseExistingAccount:
Attach at a command prompt to start the wizard.
240
Part II:
Designing and Implementing Windows Server 2008 Active Directory
Removing AD DS
AD DS is removed from a domain controller using the same command that is used to install
it—Dcpromo.exe. When you run this command on a computer that is already a domain controller, the Active Directory Domain Services Installation Wizard notifies you that it will uninstall AD DS if you choose to proceed. This section will discuss the removal of AD DS from both
the last domain controller and an additional domain controller in a Windows Server 2008
domain.
When you remove AD DS on a domain controller, the directory database is deleted, all of the
services required for AD DS are stopped and removed, the local SAM database is created,
and the computer is demoted to a member server. More specifically, what happens will
depend on whether the domain controller is an additional domain controller or the last
domain controller in the domain or forest.
To remove AD DS from a domain controller, type dcpromo at the command prompt or in the
Run dialog box. Your first decision is to determine whether or not the domain controller is
the last domain controller in the domain. See Figure 6-9 for an illustration of the wizard page
that prompts you for that decision.
Figure 6-9
The option to remove the last domain controller.
Next, the Active Directory Domain Services Installation Wizard displays a list of all of the
application directory partitions found on the domain controller. If this is the last domain
controller in the domain, then this is the last source for this application data. You may want to
back up or otherwise protect this data before continuing to use Active Directory Domain
Services Installation Wizard, which will delete these directory partitions. If the domain
Chapter 6:
Installing Active Directory Domain Services
241
controller from which you are removing AD DS is also a DNS server, there will be at least two
application directory partitions to store the zone data. See Figure 6-10 for an example of DNS
application directory partitions found while uninstalling AD DS.
Figure 6-10 Removing the DNS application directory partitions.
After you confirm the removal of the application directory partitions, you are prompted to
enter a new password for the local Administrator account. Finally, review the Summary page
and complete the removal of AD DS. You must restart the computer to complete the
process. After the computer restarts, it will hold the role either of member server or standalone server.
Removing Additional Domain Controllers
Removing AD DS from additional domain controllers is not as intricate as removing AD DS
from the last domain controller in a domain or forest. This is because replicas of the directory
partitions are stored on the other domain controllers, so no directory data is actually lost.
However, data in application partitions will be deleted during removal, so you should make
sure that you either do not need the application after AD DS is removed, or that you choose
another DC in the domain to be a replica for the application partition. A number of changes
do occur on the domain controller as AD DS is uninstalled:
■
All operations master roles are transferred to other domain controllers in the domain.
However, to better control the placement of FSMO roles in your environment, you
should transfer the FSMO roles manually before demotion.
■
The SYSVOL folder and all of its contents are removed from the domain controller.
242
Part II:
Designing and Implementing Windows Server 2008 Active Directory
■
The NTDS Settings object and cross-references are removed.
■
DNS is updated to remove the domain controller SRV records.
■
The local SAM database is created to handle local security policy.
■
All Active Directory–related services that start when AD DS is installed (such as Net
Logon) are stopped.
Finally, the computer account type is changed from domain controller to member server, and
the computer account is moved from the Domain Controllers container to the Computers
container. To remove AD DS from an additional domain controller, you must be logged on as
either a member of the Domain Admins or the Enterprise Admins group.
Note
When removing AD DS from an additional domain controller, make sure that there
are other GCs available in the domain. GCs are required for user logon, and unlike the operations master roles, this role is not automatically transferred.
Removing the Last Domain Controller
In addition to all of the interesting things that occur when an additional domain controller is
removed, specific events occur when the last domain controller in a domain is removed. Most
importantly, of course, the removal of the last domain controller in a domain serves to remove
the domain itself. Likewise, if the domain controller is the last in a forest, the forest is also
removed. Among the events associated with the removal of the last domain controller in a
domain are these:
■
Active Directory Domain Services Installation Wizard verifies that no child domains
exist. Removal of AD DS is blocked if child domains are found.
■
If the domain to be removed is a child domain, a domain controller in the parent domain
is contacted and changes are replicated.
■
All objects related to this domain are removed from the forest.
■
Any trust objects on the parent domain controllers are removed.
Finally, after AD DS is removed, the computer account type is changed from a domain controller to a member server. The server is then placed in a workgroup called Workgroup.
To remove the last domain controller in a child domain or in a tree-root domain, you must
either be logged on as a member of the Enterprise Admins group or provide enterprise administrator credentials during the running of the Active Directory Domain Services Installation
Wizard. If you are removing AD DS from the last domain controller in the forest, you must be
logged on either as Administrator or as a member of the Domain Admins group.
Chapter 6:
Installing Active Directory Domain Services
243
Unattended Removal of AD DS
Removal of AD DS can be automated in a fashion similar to the unattended installation previously discussed. In fact, the same command line is used to remove AD DS as is used to install
it. The only difference is the content of the answer file.
To perform an unattended removal of AD DS, at the command line or in the Run dialog box,
type dcpromo /unattend:answerfile (where answerfile is the filename of the answer file that
you create). The answer file contains the key values that represent the decisions discussed earlier for using the Active Directory Domain Services Installation Wizard to uninstall AD DS. A
key value of note is IsLastDCInDomain, which can have the value of Yes or No. If you set the
value of this key to Yes, then you have indicated that you are removing AD DS from the last
domain controller in the domain, and the domain itself will be removed. A sample answer file
for removing an additional domain controller is reproduced below:
[DCInstall]
RebootOnSuccess=Yes
IsLastDCInDomain=No
AdministratorPassword=password
Password=DomainAdminPassword
UserName=Administrator
Forced Removal of a Windows Server 2008 Domain Controller
There is a new feature in Windows Server 2008 to forcefully remove a domain controller, even
when it is started in Directory Services Restore Mode. This feature is specifically useful if the
domain controller has no connectivity with other domain controllers. Because the domain
controller cannot contact other domain controllers during the operation, the AD DS forest
metadata is not automatically updated as it is when a domain controller is removed normally.
Instead, you must manually update the forest metadata after you remove the domain controller.
More Info For more information about performing metadata cleanup, see article 216498
in the Microsoft Knowledge Base at http://go.microsoft.com/fwlink/?LinkId=80481.
You can forcefully remove a domain controller at a command line or by using an answer file.
To force the removal a Windows Server 2008 domain controller using the graphical user interface, perform the following steps:
1. At a command prompt, type dcpromo /forceremoval and then press Enter.
2. If the domain controller hosts any FSMO roles, or if it is a DNS server or a global catalog
server, warning messages appear that explain how the forced removal will affect the rest
of the environment. After you read each warning, click Yes.
Note To suppress the warnings in advance of the removal operation, type
/demotefsmo:yes at the command line.
244
Part II:
Designing and Implementing Windows Server 2008 Active Directory
3. On the Welcome to the Active Directory Domain Services Installation Wizard page,
click Next.
4. On the Force The Removal Of Active Directory Domain Services page, review the information about forcing the removal of AD DS and metadata cleanup requirements and
then click Next.
5. On the Administrator Password page, type and confirm a secure password for the local
Administrator account and then click Next.
6. On the Summary page, review your selections in the wizard. Click Back to make any
necessary changes, if necessary.
7. Click Next to remove AD DS.
8. Select the Reboot On Completion check box to have the server restart automatically, or you
can restart the server to complete the AD DS removal when you are prompted to do so.
Summary
In this chapter, you were introduced to the major decisions you must make during a Windows
Server 2008 AD DS installation. Although the mechanics of installing AD DS are straightforward, the decisions that you will make should be carefully planned and must fit into your AD
DS design plan. The ability to deploy RODCs in your remote sites is a powerful new feature of
Windows Server 2008, and this chapter covered how that deployment is performed first by
creating the DC slot and role delegation, and next by installing the DC in the remote site and
replicating the attributes you have determined safe to store at that remote site. Removal of AD
DS is also a simple procedure, but you must consider the impact on the rest of your directory
services infrastructure caused by removing a domain controller. This chapter also introduced
a new AD DS installation feature: installing an additional, or replica, domain controller from
restored backup files. This feature will greatly reduce the amount of time it takes to install an
additional domain controller due to the time it takes to synchronize the directory partitions.
Additional Resources
The following resources contain additional information and tools related to this chapter.
Related Information
You can refer to these additional resources for more information on installing AD DS on a
computer running Windows Server 2008.
■
For more information about planning your DNS namespace and designing the AD DS
structure, see Chapter 5, “Designing the Active Directory Domain Services Structure.”
■
For more information about installing and removing AD DS, see “Step-by-Step Guide for
Windows Server 2008 Active Directory Domain Services Installation and Removal” at
http://go.microsoft.com/fwlink/?LinkId=100492.
Chapter 6:
Installing Active Directory Domain Services
245
■
For more information about deploying AD DS, see “Planning an Active Directory
Domain Services Deployment” at http://go.microsoft.com/fwlink/?LinkId=100493.
■
For more information about assessing the hardware requirements of domain controllers
in a Windows Server 2008 domain, see “Planning Domain Controller Capacity” at
http://go.microsoft.com/fwlink/?LinkId=89027.
■
For more information about AD DS functional levels, see “Enabling Windows
Server 2008 Advanced Features for Active Directory Domain Services” at
http://go.microsoft.com/fwlink/?LinkId=89030.
■
For more information about deploying AD DS regional domains, see “Deploying Windows Server 2008 Regional Domains” at http://go.microsoft.com/fwlink/?LinkId=89029.
■
For more information about installing and configuring a DNS server, see “Deploying
Domain Name System (DNS)” at http://go.microsoft.com/fwlink/?LinkId=93656.
■
For more information about additional methods of installing a new Windows
Server 2008 forest, see “Installing a New Windows Server 2008 Forest” at
http://go.microsoft.com/fwlink/?LinkId=101704.
■
For more information about tests that you can perform by using Dcdiag.exe, see “Dcdiag
Overview” at http://go.microsoft.com/fwlink/?LinkId=93660.
■
For more information about verification tasks that can be performed on a computer
on which Active Directory has been newly installed, see “Verifying Active Directory
Installation” at http://go.microsoft.com/fwlink/?LinkId=68736.
■
For more information about configuring and deploying the Windows Time Service,
see “Administering the Windows Time Service” at http://go.microsoft.com/fwlink/
?LinkId=93658.
■
For more information about DNS server forwarders, see “Using Forwarders to Manage
DNS Servers” at http://go.microsoft.com/fwlink/?LinkId=93659.
■
For information about using media to install the domain controller, see “Installing AD
DS from Media” at http://go.microsoft.com/fwlink/?LinkId=93104.
■
For more information about alternate methods of installing additional Windows
Server 2008 domain controllers in an existing forest, see “Installing an Additional Windows Server 2008 Domain Controller” at http://go.microsoft.com/fwlink/?LinkId=92692.
■
For more information about configuring DNS Client services, see “Configuring and
Managing DNS Clients” at http://go.microsoft.com/fwlink/?LinkId=93662.
■
For a procedure to help you transfer operations master roles, see “Transfer Operations
Master Roles” at http://go.microsoft.com/fwlink/?LinkId=93664.
■
For more information about operations master role placement, see “Planning
Operations Master Role Placement” at http://go.microsoft.com/fwlink/?LinkId=93665.
246
Part II:
Designing and Implementing Windows Server 2008 Active Directory
Related Tools
■
To determine if the network segment where you will place the domain controller has
sufficient bandwidth to support domain controller traffic, you can use a network frame
analysis tool, such as Network Monitor. The current version, 3.1, is available on the
Microsoft Download Center at http://www.microsoft.com/downloads/details.aspx?
FamilyID=18b1d59d-f4d8-4213-8d17-2f6dde7d7aac&DisplayLang=en.
■
For more information on Network Monitor, see the blog Network Monitor at http://
blogs.technet.com/netmon. Also see the Network Monitor page on Microsoft Technet at
http://technet2.microsoft.com/WindowsServer/en/library/ad2b59d1-0fb8-45e3-9055a5aeba8817a91033.mspx?mfr=true.
Chapter 7
Migrating to Active Directory
Domain Services
In this chapter:
Migration Paths . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248
Determining Your Migration Path. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252
Upgrading the Domain . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254
Restructuring the Domain . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257
Intraforest Migration. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265
Configuring Interforest Trusts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 266
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 268
Best Practices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269
Additional Resources. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269
Chapter 6, “Installing Active Directory Domain Services,” covered the key decisions you will
have to make when installing AD DS on a computer running Windows Server 2008. For ease
of understanding, that chapter assumed a “green field” environment—one with no preexisting
directory service infrastructure in place. Chapter 6 emphasized the importance of the AD DS
namespace and the Domain Name System (DNS) namespace. Most likely, the organization
that is moving (or migrating) to AD DS and Windows Server 2008 will be coming from some
preexisting directory services environment, including previous versions of AD DS. This
chapter examines the migration to Windows Server 2008 AD DS from an existing Microsoft
directory services environment—specifically from either a Windows 2000 Server or Windows
Server 2003 Active Directory platform. Migration scenarios from non-Microsoft directory
services technologies, such as Novell Directory Services (NDS) or UNIX-based directory
services implementations, are outside the scope of this chapter.
More Info The Microsoft Web site hosts many useful resources for migrating to AD DS
from other directory service platforms. For more information on migrating from a UNIX or
Linux environment, see the “UNIX Migration Project Guide” available from the Microsoft
Download Center.
247
248
Part II:
Designing and Implementing Windows Server 2008 Active Directory
This chapter begins with a discussion of different upgrade and migration path options when
moving to Windows Server 2008 and AD DS. It then looks at the key points of each path
and the procedures required for performing the upgrade or migration.
Migration Paths
A directory services migration can be described as getting from the source domain (Point A) to
the target domain (Point B), where the source domain is your current directory services infrastructure and the target domain is your desired Windows Server 2008 AD DS structure. The
first decision you need to make when planning to migrate to AD DS is how to get to the target
domain. Not surprisingly, there are several ways to get from the source domain to the target
domain on what are called migration paths. Your migration path will be the fundamental
component in the overall plan that is your migration strategy. Your migration strategy includes
how you intend to migrate, which directory services objects you will move, and the order in
which you will move them. A best practice for any directory services migration project is
to document every detail of the migration strategy into an actionable document called the
migration plan.
There are three migration paths from which to choose:
■
Domain upgrade
■
Domain restructure
■
Upgrade-then-restructure
A domain upgrade migration path is achieved by upgrading the operating system on a downlevel domain controller to Windows Server 2008, or by installing Windows Server 2008
domain controllers into a Windows 2000 Server or Windows Server 2003 domain. After you
have upgraded the domain to Windows Server 2008, the original domain environment (Point
A in our scenario) ceases to exist. The domain upgrade migration path is the least complex
migration method. For this reason, you might consider it the default migration option.
The second option is the domain restructure migration path. During a domain restructure,
directory services objects are copied from the existing directory services platform (source
domain) to AD DS (target domain). This process is also referred to as cloning. In a domain
restructure, the source and target domain coexist. When all of the directory services objects
are migrated from the source to the target, and all clients and computers have been configured
to use AD DS, source domain domain controllers (DCs) can either be demoted or retired. If
your specific conditions indicate that a domain restructure is the appropriate migration path,
there are several additional considerations to take into account as compared to a domain
upgrade migration path. These factors are discussed in the sections that follow.
There is a third migration path: the upgrade-then-restructure migration path, also known as
the two-phase migration. In short, the upgrade-then-restructure path is achieved by first
Chapter 7:
Migrating to Active Directory Domain Services
249
upgrading the source domain or domains and then migrating the accounts into new or
existing Windows Server 2008 domains. This method combines the short-term benefits of the
domain upgrade path and the long-term benefits of the domain restructure.
The next few sections outline the advantages and disadvantages of each of these paths.
The Domain Upgrade Migration Path
A domain upgrade, also known as an in-place domain upgrade, is the most straightforward of
the three migration choices. In a domain upgrade, the existing domain environment is converted to AD DS, either at the same time that the domain controller is upgraded to Windows
Server 2008, or when new Windows Server 2008 domain controllers are installed into the
source domain. One reason that a domain upgrade is a straightforward procedure is because
you do not have the opportunity to modify the domain structure during the upgrade. For
example, if you are the administrator for the NA domain of ADatum.com, a Windows 2000
Server–based domain environment, then by definition you will be the administrator of the NA
domain in Windows Server 2008 after the upgrade. In a domain upgrade, you do not have the
opportunity to change the domain structure, or even the domain name, of the source domain
at the time of the upgrade.
Windows NT 4.0 Upgrade
Windows Server 2008 does not support direct server upgrades from Windows NT 4.0, and
you cannot run NT 4.0 domain controllers in a Windows Server 2008 network, or vice versa.
If you are interested in upgrading your Windows NT 4.0 source domain structure to Windows
Server 2008 AD DS, you must first upgrade your Windows NT 4.0 domain environment to
Windows 2000 Server or Windows Server 2003. After your domain migration to Windows
2000 Server or Windows Server 2003 is complete, you can then upgrade the source domain
to Windows Server 2008. This chapter will focus exclusively on the Windows 2000 Server
and Windows Server 2003 domain migration scenarios.
Using the Active Directory Migration Tool (ADMT v. 3.1) for Windows Server 2008, you can
attempt to perform migration operations involving Windows NT 4.0 domain controllers
(with Service Pack 4 or higher installed). However, since Windows NT 4.0 is not a currently
supported product, this is an unsupported scenario.
Domain Upgrade
An even more straightforward migration path is available for current AD users who are planning to upgrade to Windows Server 2008. Many of the directory service’s architectural
changes were most likely implemented either when customers created their existing network
environment or when they upgraded from Windows NT Server 4. The customer migrating to
Windows Server 2008 AD DS from Windows 2000 or Windows Server 2003 is most likely
planning to capitalize on the new AD DS features available in Windows Server 2008.
250
Part II:
Designing and Implementing Windows Server 2008 Active Directory
The domain upgrade migration path is accomplished in one of two ways. The first is by
upgrading the operating system on the domain controllers from either Windows 2000 Server
or Windows Server 2003 to Windows Server 2008. After the upgrade is complete, you can
begin to take advantage of the desirable new features in AD DS.
More Info For more information on the new features available in Windows Server 2008
Active Directory, see Chapter 1, “What’s New in Active Directory for Windows Server 2008.”
The second method is to install new Windows Server 2008 domain controllers (DCs) into a
Windows 2000 Server or Windows 2003 Server source domain environment. The directory
service objects will replicate to the Windows Server 2008 domain controllers, and either
immediately or over time, you can decommission the down-level DCs.
There are two premigration steps you must perform when you upgrade to Windows
Server 2008. You must first prepare the forest and then prepare the domain for Windows
Server 2008. These tasks are both completed using the Adprep.exe tool. The procedures for
preparing the forest and domain prior to upgrading are covered later in this chapter in the
section titled “Upgrading the Domain.”
Domain Restructuring
In domain restructuring, a new Windows Server 2008 domain is created and AD DS objects
are migrated into this new environment. One advantage of this migration path is that the original Active Directory environment is unaffected during the creation of the target environment.
Another benefit is that domain restructuring is a selective process. Unlike a domain upgrade,
you get to choose what objects you want to migrate to the new domain. A domain upgrade is
an all-or-nothing proposition—every object in the domain is upgraded to Windows Server
2008 and AD DS. A domain restructuring event is a perfect time to eliminate any duplicate,
nonactive, test, or otherwise defunct user, group, service, and computer accounts. They will
disappear when you migrate to the new domain model and either flatten and repurpose, or
simply retire, the old domain controllers.
User, group, service, and computer accounts, also called security principals, are migrated
from NTDS database to the new AD DS database. This migration can be performed in two
ways; accounts can be either moved or copied. Moving an object removes the original security
principal in the source domain during the migration process. Moving is a destructive process, and it does not preserve the source domain objects for the purposes of rollback
(disaster recovery). Copying is the process of creating a new, identical security principal
in the target domain based on the object in the source domain. The preferred method of
transferring the security principals into the Windows Server 2008 pristine forest is copying.
Moving security principals is more commonly performed when doing an intraforest migration between two Windows Server 2008 domains, or between a Windows 2000/Windows
Chapter 7:
Migrating to Active Directory Domain Services
251
Server 2003 forest and a Windows Server 2008 domain, where copying of security principals
is not an option.
How It Works: Using SID History to Preserve Resource Access
When you migrate user accounts from one domain to another, how do those user
accounts maintain access to resources, such as printers and shared folders?
Consider the following example: During a domain restructure operation, you migrate a
batch of user accounts from a Windows Server 2003 domain to a Windows Server 2008
domain. Upon completion of the account migration, you instruct the users to log on to
the new domain and reset their passwords. User X successfully logs on to the target
domain and then attempts to access a preexisting shared folder on a file server running
Windows Server 2003—one that she has been accessing for several months. Will User X
be able to access the folder?
The answer is yes, because of the sIDHistory attribute.
The sIDHistory attribute of AD DS security principals (such as User accounts and Group
accounts) is used to store the former security identifiers (SIDs) of that object. So, for
example, if User X in the previous example had the SID of S-1-5-21-21275211841604012920-1887927527-324294 in the Windows Server 2003 domain, that same
value would now appear in the sIDHistory attribute field for the newly created Windows
Server 2008 account object. As groups are migrated from the Windows Server 2003
domain to the AD DS domain, the SID from the Windows Server 2003 domain is also
retained in the sIDHistory attribute for the group. As users and groups are migrated, the
migrated user accounts are automatically assigned to the migrated groups in the Windows Server 2008 domain. This means that the access assigned to the groups in the
Windows Server 2003 domain is retained during the migration process. During the
migration process, the SID from the source domain is moved to the sIDHistory attribute.
The new SID generated by the target domain controller is placed in the objectSID
attribute of the migrated account.
How does this preserve access to resources following a migration? When User X
attempts to access the shared folder on the Windows Server 2003 file server, the security
subsystem checks her access token to ensure that she has the necessary permissions to
the folder. The access token not only contains User X’s SID and the SIDs of all the
groups that User X belongs to, but all the SID history entries for both the user and
group accounts as well. When a match is found between the discretionary access control
list (DACL) on the folder’s security descriptor and the previous SID (now included in
the access token by way of the sIDHistory attribute), permission is granted and the
folder is accessed.
252
Part II:
Designing and Implementing Windows Server 2008 Active Directory
Ensuring access to secure resources is the most troublesome area of user account
migration. By understanding how permissions are maintained following a migration,
you, as the administrator, can effectively troubleshoot resource access issues. During the
migration, you might need to take additional steps to ensure that the sIDHistory
attribute is populated. You will learn more about this when examining the account
migration utility: the Active Directory Migration Tool (ADMT).
SID history does not come into play in the domain upgrade scenario. During a domain
upgrade, the SID is maintained with the user and group accounts. User X will be able to
access resources as normal.
Determining Your Migration Path
Keep in mind when deciding on a migration path that it is a per-domain decision and that it
is completely legitimate to use different migration paths for different domains within your
organization. If your existing domain model is geographically oriented, you might upgrade
one or two of the larger domains and then restructure the smaller domains into these larger
ones, preserving their administrative autonomy through organizational units (OUs). This is
an example of domain consolidation.
Now that you have learned the basics of the different migration paths, let’s take a look at the
decision criteria used to choose among these paths.
The following questions are relevant in determining the most appropriate migration path for
your organization:
■
Are you satisfied with your current domain model—does it meet your current organizational
and business needs? If there are no major changes desired of the domain model as part
of the upgrade to Windows Server 2008, the domain upgrade will provide the easiest
migration path. The name of the domain will remain the same, as will the existence of
all user and group accounts. A domain upgrade is an “all or nothing” proposition—you
will simply be creating a Windows Server 2008 version of your current directory
services implementation.
■
How much risk can you tolerate in migrating to a new domain model?
■
How much time do you have available to perform the migration?
In addition to
offering the easiest migration path, a domain upgrade is also the lowest risk method.
The process is carried out automatically when you upgrade the operating system on
down-level domain controllers. Without user interaction, there are few opportunities
for error. The disaster recovery methodology for a domain upgrade is relatively straightforward as well. If the upgrade fails, turn off the upgraded domain controller, address
the errors in the upgrade process, and start again.
While the migration
timeline is not often the most decisive factor in selecting a migration path, it can be a
significant consideration for smaller organizations with limited resources to dedicate to
Chapter 7:
Migrating to Active Directory Domain Services
253
the migration project. Because there are far fewer steps involved in a domain upgrade
than in a domain restructure, it takes less time to complete overall. In comparison,
a domain restructure requires sufficient time to create and test the target domain
infrastructure and to migrate all of the accounts from the source to the domain. Very
large organizations might not be able to migrate all of the objects at one time, so it is not
uncommon for a domain restructure to occur in several phases over a period of time. In
contrast, a domain upgrade is a linear process and must be completed once begun.
■
How much system downtime is acceptable during the course of the migration project?
Another timeline consideration is the amount of directory services uptime needed
during the migration process. During a domain upgrade, the account objects (users,
groups, computers) are themselves upgraded into Windows Server 2008 AD DS objects.
As a result, these account objects are not available during the upgrade itself. A domain
upgrade impacts access to network resources for the period of time necessary for the
NOS upgrade to complete. Depending upon the size of your down-level domain and the
number of verification steps you put in place, this can certainly take the better part of
a day (if all goes according to plan). So, an organization that chooses a domain upgrade
migration path will need to accommodate some amount of network downtime.
■
What resources are available to complete the migration?
■
What is the migration project budget? A domain upgrade is a less expensive proposition
Because the domain upgrade
is a less complex operation (or at least a highly automated one) it will require fewer
resources to perform this migration path. Organizations that are not able to staff the
more complex tasks of a domain restructure might choose this path.
than a domain restructure because you can use the existing server hardware. However,
an NOS upgrade is an advantageous time to upgrade the hardware for domain controllers and other mission-critical servers (e-mail, Web servers, etc.). If your current server
hardware is able to run Windows Server 2008, you can spend less money performing a
domain upgrade. Initially, you will avoid the need to purchase the additional servers
required to create the pristine forest environment required of a domain restructure.
Other contributing budgetary factors will be the lower resources required (including
minimized contract spending and lost-opportunity costs for full-time resources) as well
as the reduced test spending (as there are fewer migration tasks to test).
■
How many down-level servers will be required to run server-based applications after the
migration? A domain upgrade is a good choice if the domain controllers you want to
upgrade are not running a network service or line-of-business application that requires
the down-level network operating system. These applications can include a fax or
communication application, an accounting application, or any other server-based
application that does not get upgraded very often. If these services and applications
exist in your organization, it is well worth your time to test all of your line-of-business
applications on a Windows Server 2008 computer and determine that the applications
are functioning properly. If you determine that you have applications that will not run
on Windows Server 2008, you have several choices: you can postpone the upgrade until
a compatible version of the application is available or a suitable substitute is found;
254
Part II:
Designing and Implementing Windows Server 2008 Active Directory
you can transfer the application off the domain controller onto a member server in
the domain (if possible); or you can elect not to upgrade that down-level server until
the new version becomes available. Keep in mind that a down-level server can coexist
indefinitely on your Windows Server 2008–based network.
Imagine the possible answers to these questions on a spectrum from low to high, with domain
upgrade aligning with the low end of the spectrum and domain restructure aligning with
the high end, as shown in Figure 7-1.
Low
High
Dissatisfaction with current domain model
R
Risk tolerance
e
s
U
Time available to complete migration
p
t
r
g
Amount of system uptime required
r
u
c
a
Amount of available resources
d
t
u
e
Migration project budget
r
e
Number of legacy server-based applications
Figure 7-1
The domain migration path decision criteria spectrum.
Upgrading the Domain
Upgrading the domain to AD DS is the second stage of the process of upgrading to Windows
Server 2008. (The first stage is the upgrade of the NOS.) When upgrading a domain controller
running either Windows 2000 Server or Windows Server 2003, after the NOS upgrade is
complete and the computer restarts, the Active Directory Domain Services Installation Wizard
begins. You should complete the fields in the Active Directory Domain Services Installation
Wizard according to your AD DS design document. After the wizard is complete, the directory
service is updated to AD DS for Windows Server 2008.
More Info For more information on designing your Active Directory structure, see
Chapter 5, “Designing the Active Directory Domain Services Structure.” For more information
on using the Active Directory Domain Services Installation Wizard, see Chapter 6.
Chapter 7:
Migrating to Active Directory Domain Services
255
There are several steps you must perform during an upgrade, depending on what version of
Windows Server you are upgrading from. This next section describes the processes of upgrading the domain from Windows 2000 Server and then from Windows Server 2003.
Upgrading from Windows 2000 Server and Windows Server 2003
The process of upgrading the domain from Windows 2000 Server and Windows Server 2003
Active Directory to Windows Server 2008 AD DS is a straightforward one. Windows 2000
Server and Windows Server 2003–based networks are already using Active Directory for directory services, so this is more of a pure upgrade scenario than a migration. There are a few
unique steps to a down-level upgrade that you will need to be aware of before starting the
upgrade. (For the purpose of this section, down-level includes both Windows 2000 Server and
Windows Server 2003, but not Windows NT 4.0 or previous versions of the Windows network operating system.)
Specifically, you will need to “prepare” the Windows 2000 Active Directory domain and forest
for an upgrade to Windows Server 2008 AD DS. These processes will update the existing
domain and forest structures to be compatible with the new features of Windows Server 2008
Active Directory.
Preparing the Forest
To prepare the Active Directory forest for an upgrade to Windows Server 2008 AD DS, you will
use an administrative tool, Adprep.exe, to make the necessary changes to the Active Directory
schema. Remember, this process is completed before the upgrade to Windows Server 2008 is
initiated on the down-level domain controller.
To prepare the forest for an upgrade of the first down-level domain controller to Windows
Server 2008, perform the following steps:
1. Locate the server that is the schema operations master. To do this, open the Active
Directory Schema Microsoft Management Console (MMC) snap-in, right-click the Active
Directory Schema node, and then click Operations Master. In the Change Schema
Master dialog box, note the name of the current schema operations master.
2. Back up the schema operations master. You might need to restore this image if the forest
preparation is not successful.
3. Disconnect the schema operations master from the network. Do not reestablish the
connection until step 8 in this procedure.
4. On the schema operations master, insert the Windows Server 2008 DVD.
5. Open a command prompt, change to the DVD drive, and open the \I386 folder.
6. Type adprep /forestprep. To run adprep /forestprep, you must be a member of the
Enterprise Admins group and the Schema Admins group in Active Directory, or you
must have been delegated the appropriate authority.
256
Part II:
Designing and Implementing Windows Server 2008 Active Directory
7. To verify that the command has run without errors, open the Event Viewer and check the
system log for errors or unexpected events. If you identify error messages related to the
forest preparation process, address those errors before continuing with the next step. If you
are unable to troubleshoot the errors, use the Active Directory Diagnostic tool (by typing
dcdiag in the Run dialog box) to test the functionality of the domain controller. If you are
unable to resolve these errors, restore the schema operations master from backup and investigate the corrective steps so that the forest preparation can be completed successfully.
8. If adprep /forestprep has run without errors, reconnect the schema operations master to
the network.
This completes the forest preparation for a domain upgrade from Windows 2000 Server or
Windows Server 2003 to Windows Server 2008. The next step is to prepare the domain.
Note Before you begin your domain preparation, wait for the changes made to the schema
master to replicate to the infrastructure master. Remember that if the servers are in different
sites, you will need to wait longer for the replication to complete. If you try to perform the
domain preparation process before the changes have replicated, an error message will notify
you that more time is needed.
Preparing the Domain
Domain preparation is similar to forest preparation, and there is a slight variation for the
Windows 2000 Server upgrade scenario. To complete this task, you will identify and
prepare the infrastructure master role holder instead of the schema master, as in the
previous process.
To prepare each domain for an upgrade of the first down-level domain controller in a domain
to Windows Server 2008, perform the following steps:
1. Locate the server that is the infrastructure operations master. To do this, open the Active
Directory Users And Computers administrative tool, right-click the domain node, and
then click Operations Masters. On the Infrastructure tab of the Operations Masters
sheet, note the name of the current infrastructure operations master.
2. On the server functioning as the infrastructure operations master, insert the Windows
Server 2008 DVD.
3. Open a command prompt, change to the DVD drive and open the \I386 folder.
4. For Windows 2000 Server domain controllers, type adprep /domainprep /gpprep. To
run adprep /domainprep /gpprep, you must be a member of the Domain Admins group
or the Enterprise Admins group in Active Directory, or you must have been delegated
the appropriate authority. For Windows Server 2003 domain controllers, type adprep /
domainprep. As previously, you must be a member of the Domain Admins group or the
Enterprise Admins group in Active Directory, or you must have been delegated the
appropriate authority.
Chapter 7:
Migrating to Active Directory Domain Services
257
If you prepare a Windows Server 2003 domain by running adprep /domainprep /
gpprep, you can safely disregard the error message that indicates that domain updates
were not necessary.
5. To verify that the adprep /domainprep command has run without errors, open the Event
Viewer and check the system log for errors or unexpected events. If adprep /domainprep
ran without errors, you have successfully prepared the domain for an upgrade to
Windows Server 2008.
Once again, you should wait until the changes made to the infrastructure master replicate to
the other domain controllers in the forest before upgrading any of the other domain controllers. If you begin to upgrade one of the domain controllers before the changes have
replicated, an error message will notify you that more time is needed.
Now that the domain and forest are prepared for the upgrade to Windows Server 2008 and
AD DS, you can begin the upgrade process.
Restructuring the Domain
The domain restructure migration path is most often chosen by organizations that want or
need to change their Active Directory structure. To perform a domain restructure, you will first
create the desired forest and domain structure and then migrate the existing AD DS objects
into this new structure. At the time of its creation, the new structure is also known as the
pristine forest.
There are two primary types of domain migration strategies:
■
Interforest migration User, group, and computer accounts are migrated between two
separate AD DS forests, including forests that are hosted on different versions of the
Windows Server operating system.
■
User, group, and computer accounts are migrated between two
domains in the same AD DS forest.
Intraforest migration
The job of migrating the Active Directory objects (which includes user, group, and computer
accounts, as well as trusts and service accounts) is made easier through the use of domain
migration tools. There are a number of tools available for this task, both from Microsoft and
from third-party software vendors. This next section will cover domain restructuring using
the Active Directory Migration Tool (ADMT).
The Active Directory Migration Tool simplifies the process of restructuring your directory
services environment to meet the needs of your organization. You can use ADMT to migrate
users, groups, and computers from down-level domains to AD DS domains; between Active
Directory domains in different forests (interforest migration); and between Active Directory
domains in the same forest (intraforest migration). ADMT also performs security translation
from source to target domains and between AD DS domains in different forests.
258
Part II:
Designing and Implementing Windows Server 2008 Active Directory
Note At the time of the release of Windows Server 2008, the latest version of the ADMT is
version 3.0, which will install on Windows Server 2003 only. An update is planned for the ADMT
specifically for Windows Server 2008 (v3.1). Be sure to select the version of the tool that supports migrations to AD DS in Windows Server 2008. The latest version for the ADMT will be
available from the Microsoft Download Center at http://www.microsoft.com/download.
Interforest Migration
Restructuring the domain by performing an interforest migration will move or copy the AD
DS objects from the source domain to the target domain. Unlike a domain upgrade, users will
have access to the source domain shared resources during the migration event and will suffer
very little downtime as a result. In this section, the following tasks and considerations will
be explained:
■
Creating the pristine forest
■
Creating the migration accounts
■
Creating the trusts
■
Installing the Active Directory migration tool
■
Enabling auditing in the source and target domains
■
Migrating global group and domain local group accounts
■
Migrating user accounts
■
Identifying service accounts
■
Migrating computer accounts
■
Migrating service accounts
■
Decommissioning the source domains
The first step in an interforest migration is to create the optimal Point B to which you are going
to migrate accounts.
Creating the Pristine Forest
The pristine forest includes the Widows Server 2008 target domain into which you will be
migrating your existing accounts—your Point B on the journey from A to B. With a domain
restructure migration path, you have the opportunity to create the optimal domain environment for your organization. Hopefully, this step comes at the end of a complete AD DS design
process, and all components of your AD DS structure are clearly defined in your design document. For more information on the design process, see Chapter 5. After you have implemented your target domain structure, there are several steps you must take to prepare for the
migration of accounts.
Chapter 7:
Migrating to Active Directory Domain Services
259
Creating the Migration Accounts
The first user account you might choose to create in your pristine forest is the one necessary
to perform the migration. By creating a specific user account for the migration, you can ensure
that the account meets all of the security requirements necessary to perform the tasks involved
with a domain restructure. Additionally, you exercise the security best practice of not logging
in using the Administrator account. For example, you can create a new user account (such as
Migrator) or several accounts (Migrator1, Migrator2, etc.) if you plan to have several trusted
administrators performing the migration. This way, you can track the events performed by each
account holder and avoid having a shared account with administrative privileges.
For migrating user, group, and service accounts, the account must be a member of the
Domain Admins group in the target domain if you are using SID history to preserve access to
resources. The account should also be a member of the Administrators group in the downlevel source domain.
Creating the Trusts
Because the migration process requires the granting of administrative permissions to
accounts from a different domain, you will have to create several trusts to be able to migrate
accounts from the source domain (or domains) to the target domain. In the Windows Server
2008 target domain and the down-level source domains, create a one-way trust from each of
the source domains (trusting) to the target domain (trusted).
After you create these trusts, validate them using the Active Directory Domains And Trusts
administrative tool in both the Windows Server 2008 target domain and the down-level
source domain.
Installing the Active Directory Migration Tool
ADMT can perform both interforest migrations (moving accounts from one forest to another)
and intraforest migrations (moving accounts within a forest). ADMT provides both a graphical
user interface (GUI) and a scripting interface, and it should be installed on the Windows
Server 2008 target domain controller.
ADMT supports the following tasks for completing your domain migration:
■
User account migration
■
Group account migration
■
Computer account migration
■
Service account migration
■
Trust migration
■
Exchange directory migration
■
Security translation on migrated computer accounts
260
Part II:
Designing and Implementing Windows Server 2008 Active Directory
■
Reporting to view the results of the migration events
■
Functionality to undo last migration and retry last migration
After the ADMT is installed, it can be started from the Administrative Tools folder on the
Start menu. The ADMT starts as an MMC snap-in, with all of the wizards available from the
Action menu.
Enabling Auditing in the Target and Source Domains
The domain restructuring process requires that auditing must be enabled for the success or
failure of account management operations in both the source and the target domains.
To enable auditing on the Windows Server 2008 target domain and the down-level source
domain, perform the following steps:
1. Open the Active Directory Users And Computers administrative tool, right-click the
Domain Controllers container, and select Properties.
2. On the Domain Controllers Properties sheet, select the Group Policy tab.
3. Select the Default Domain Controllers Policy and click Edit.
4. Expand Default DomainControllers Policy\Computer Configuration\Policies\
Windows Settings\Security Settings\Local Policies\Audit Policy, double-click Audit
Account Management, and then select both the Success and the Failure options.
5. Force replication of this change to all domain controllers in the domain, or wait for the
change to replicate automatically.
Migrating Global Group and Domain Local Group Accounts
The order of operations for migrating accounts is global groups first, then users. This preserves group membership when user accounts are later migrated to the target domain, and it
preserves access to resources. When you migrate global groups from down-level domains to
Windows Server 2008, a new SID is created for the new global group. The SID from the source
domain is added to the sIDHistory attribute for each new group object. You will recall that by
preserving the SID from the source domain in the sIDHistory field, users can continue to
access resources on the not-yet-migrated source domains.
By copying the global groups (using ADMT), you will create in the target domain the skeletal
group structure as defined in your Active Directory design. As user accounts are later migrated,
they will automatically join the groups of which they were members in the source domain.
The process of migrating global groups from the source to the target domain using the ADMT
Group Account Migration Wizard is a straightforward one. To migrate global groups using
the ADMT Group Account Migration Wizard, perform the following steps:
1. Identify the source and target domains. If the domain names do not appear in the dropdown list, you can type them in.
Chapter 7:
Migrating to Active Directory Domain Services
261
2. Select the source domain global groups that you want to migrate to Windows
Server 2008.
3. Select the OU to which you want to add the global groups in the target domain.
Note ADMT only enables you to select a single OU as the destination container of the
migrated global group accounts. Keep this in mind as you plan the migration of your
global groups. Rather than selecting all of the source global groups, you might want to
select all of the groups that will be migrated to a specific OU. Then you can rerun the
Group Account Migration Wizard to migrate the groups that are to be stored in another OU.
4. Select the desired group options. This includes whether or not to copy the group members (that is, the user accounts) at the same time as copying the groups. The default is
not to copy group members. Copying group members at the time you migrate the group
might be an expeditious choice if yours is a smaller organization and migrating by
groups is an acceptable staged approach. In larger organizations, however, top-level global
groups (such as Employees) contain too large a body of users to migrate at one time.
Note After all batches have been migrated, perform a final global group remigration to
ensure that any late changes made to global group membership in the source domain are
reflected in the target domain. You can remigrate global groups by using the Active Directory
Migration Tool console, by using the ADMT command-line option, or by using a script.
After the global group, you can migrate the domain local groups using the Group Account
Migration Wizard. After all of the groups are migrated over to Windows Server 2008, it is time
to start migrating the user accounts.
Migrating User Accounts
The migration of user accounts does not have to be done all at once. In fact, it is a good idea
to carefully plan the order and timing of migrating the users. Because you will be preserving
access to the down-level source domain-based resources during the migration, this process
can be stretched out over days, weeks, or months.
The first step in migrating user accounts is to determine the sets of users to migrate and when
to perform the migration. The actual migration of user accounts is procedurally very similar to
the migration of global group accounts.
To migrate user accounts using the ADMT User Account Migration Wizard, perform the following steps:
1. Select the source and target domains.
2. Select the down-level source domain user accounts you want to migrate.
3. Select the destination OU in the Windows Server 2008 target domain.
262
Part II:
Designing and Implementing Windows Server 2008 Active Directory
4. Select whether or not you want to migrate user account passwords. Using ADMT, you
have the choice to do one of the following:
❑
Create new, complex password In this case, a text document (comma-separated
value [.csv] format) is created that maps user names to the new passwords. You
then have the task of communicating the password to the migrated users.
❑
Set password same as user name In this case, the password is set to the username
value. Since both this option and the previous one pose a security risk, the User
Must Change Password At Next Logon attribute is set for the migrated user in the target domain.
❑
Migrate passwords This option migrates the user passwords from the source
domain to the target domain. Selecting this option requires you to identify the
password migration source domain controller.
Note
The password migration source domain controller is a domain controller in the
source domain that is configured as the Password Export Server (PES) by installing the
password migration DLL. Password migration is a separate component of ADMT and can
be installed on any domain controller in the source domain. To install the password
migration DLL on the source domain controller, open the \%systemroot%\windows\
ADMT\PWDMIG folder and double-click the Pwdmig.msi file. The PES maintains a database of the source domain user passwords and creates a secure communication channel
to the target domain for the purpose of migrating these passwords.
5. Manage the account state with account transition options. With the help of ADMT, you
can manage the transition from the source account to the target account on the Account
Transition Options page. This enables you to control the state of the target domain
account (enabled, disabled, or same as source) and the source domain account (disabled,
or enabled for a configurable number of days).
A common scenario is to migrate batches of user accounts but not activate (enable) the
accounts until you complete the migration. At that time, you can programmatically activate all
of the user accounts and cut over to the target domain. For security reasons, it is not a good
idea to have an account active in both the source and the target domains. If your plan is to
have users log on to the Windows Server 2008 domain immediately after their accounts are
migrated, use ADMT to disable the source domain account during the migration. Alternatively,
if you want to allow users to have the source domain to fall back on during the migration, use
ADMT to disable the source domain account some number of days after ADMT runs.
Identifying Service Accounts
Service accounts are special user accounts that are used to operate services on computers running Windows 2000 Server, Windows Server 2003, and Windows Server 2008. Most services
operate under the Local System Authority (LSA) account. When you migrate the source
domain, you must first identify all of the services that are configured not to run under the LSA.
Chapter 7:
Migrating to Active Directory Domain Services
263
Migrating service accounts is a two-stage process. First, you must identify the service accounts.
Then, after the computers running the down-level operating system are migrated to the
Windows Server 2008 target domain, the identified service accounts can be migrated.
To identify the service accounts operating in the source domain using ADMT, perform the
following steps:
1. Open the Service Account Migration Wizard.
2. Select the source and target domains.
3. In the source domain, select all of the computers on which you want to search for
service accounts. To complete this task, you will need to consult your premigration
documentation of the existing domain environment.
4. Finish the Service Account Migration Wizard.
At this point, the wizard has identified all the service accounts running on the computers
you identified. This information is stored in the ADMT database until it is needed later for the
actual migration of these accounts. Migration of the service accounts occurs after the
migration of the computer accounts themselves.
Migrating Computer Accounts
The computer accounts that reside in source domain include all of the down-level member
servers, as well as all of the computers running Windows 2000 Professional, Windows XP
Professional, and Windows Vista Business edition and higher. Migrating computer accounts
will clone all of the computer accounts from the source domain to an OU in the target domain.
To migrate computer accounts using ADMT, complete the following steps:
1. Open the Computer Migration Wizard.
2. Select the source and target domains.
3. From the source domain, select the computer accounts you want to migrate.
4. Select the OU in the target domain into which you want to migrate the computer accounts.
5. Select any computer objects for which you want to translate security for accounts
previously migrated from the source domain to the target domain. This process updates
the discretionary access control lists (DACLs) for the resources on the migrated
computers with the new target domain SIDs of the migrated group and user accounts.
The available objects include:
❑
Files and folders
❑
Local groups
❑
Printers
❑
Registry
❑
Shares
264
Part II:
Designing and Implementing Windows Server 2008 Active Directory
❑
User profiles
❑
User rights
Note
If you choose not to translate security for these listed objects during the running
of the Computer Migration Wizard, you can do it later using the Security Translation
Wizard in ADMT. The integral component of the Security Translation Wizard is the same
as the Translate Objects page in Computer Migration Wizard. The first page in the
Security Translation Wizard queries whether or not you want to translate security for
previously migrated objects. If you run the Security Translation Wizard after you have
migrated computer accounts, select the Previously Migrated Objects option.
6. Configure the restart of the migrated computer. To move a computer account from one
domain to another, ADMT dispatches an agent to make the change on the computer
itself. To complete the computer account migration process, the computer being
migrated must be restarted. ADMT enables you to configure the amount of time after the
wizard completes before the computer restarts.
7. Complete the Computer Migration Wizard. When the wizard is finished, click on View
Dispatch Log to verify the success of the dispatch agent. This is the component that
updates the domain membership of the computer and then restarts the computer. The
dispatch log is very useful for troubleshooting failed computer account migrations.
Migrating Service Accounts
Now that the computer accounts are migrated to the target domain, you can complete the second phase of the service account migration process. You will recall that before the computer
accounts were migrated, you identified the service accounts that were used to operate services
on member servers. At this point in the process, you will migrate those service accounts from
the source domain to the Windows Server 2008 target domain. This procedure will ensure
that all of the services not running under the LSA will continue to start the required services
after the member server is migrated to the target domain.
To migrate the service account using ADMT, complete the following steps:
1. Open the User Account Migration Wizard.
2. Select the source and target domains.
3. Select the service accounts that you want to migrate.
Note If you do not recall the account name of the previously identified service
accounts, you can review the contents of the dispatch agent log file, Dctlog.txt, which
is located in the %userprofile%\Temp folder. For example, if you are logged on to the
Windows Server 2008 computer as Migrator1, you will find this file in
C:\Users\Migrator1\Temp.
Chapter 7:
Migrating to Active Directory Domain Services
265
4. Select the OU in the target domain into which you want to migrate the service accounts.
5. Complex password generation will be used for service account migration. Regardless of
which password migration option you choose on the Password Options page, ADMT will
always use the complex password option. ADMT recognizes that the user account you are
migrating is a service account, and it will grant the account the right to log on as a service.
Note If the service accounts that you are migrating have local rights inherited only from
membership in a local group (such as “log on as a service” as a member of the local administrators group), you must fix these rights by running the Security Translation Wizard. If this is the
case, on the Translate Objects page of the Security Translation Wizard, select the Local Groups
and the User Rights objects for the migrated member server that contained the local group
through which the rights were inherited. This is the computer on which the security translation
will take place.
Decommissioning the Source Domains
After all of the source domains have been migrated to Windows Server 2008 and AD DS, you
can decommission the down-level source domains. At this point, the only computers left in
the source domains are the domain controllers. If your migration plan calls for moving these
domain controllers to the Windows Server 2008 target domain, you can move these computers to the target domain. The most straightforward approach to do this is to ensure that all
necessary data has been moved off of these servers and to then perform a New Installation of
the Windows Server 2008 operating system.
The final task is to remove all of the trusts that were created to perform the migration.
Using the Active Directory Domains And Trusts administration tool, select each of the trusts
to the now-defunct down-level source domains and click Remove.
Intraforest Migration
The third migration path to examine is the upgrade-then-restructure path, or the intraforest
migration. Recall from earlier in this chapter that the upgrade-then-restructure approach first
involves an upgrade of the down-level domain controllers to Windows Server 2008 (which
preserves the original domain hierarchy), followed by a domain restructuring in which AD DS
objects are migrated from the upgraded source domains to the target domain (or domains).
Having read the sections of this chapter on domain upgrades and domain restructuring, you
already are familiar with the tasks necessary to complete an upgrade-then-restructure migration to Windows Server 2008 AD DS. Due to Windows Server 2008 security requirements,
however, you will see that account migration works differently in an intraforest scenario than
in an interforest scenario.
266
Part II:
Designing and Implementing Windows Server 2008 Active Directory
The process of restructuring the domain after an upgrade to Windows Server 2008 does not
necessarily have to occur immediately following the upgrade. Domain restructuring can
simply be considered a domain management skill, so that your AD DS structure can change
as your business changes. This section will focus on how an intraforest migration is different
from what you have already learned about the interforest migration path. This section does
not discuss a specific tool, as these technical differences will apply to any domain migration
tool that you choose.
An intraforest migration differs from an interforest migration in the following ways:
■
In an intraforest migration, to preserve access to resources using SID history, accounts
must be moved instead of cloned. However, moving account objects in the intraforest
scenario is a destructive process, and in that process, the user, group, and computer
accounts from the source domain are deleted as the new accounts are created in the target domain. As a result, you will not be able to maintain the “parallel environment” that
offered a convenient fall-back environment in the interforest restructure scenario.
■
In an intraforest migration, to maintain group membership rules, you must move user
accounts and the groups to which they belong at the same time. This is called a closed
set. ADMT does not calculate a complete closed set, however, so you must be very careful
when migrating users who are members of global groups. If you migrate a group whose
membership includes a user account that is a member of another global group, and if
that global group is not recursively a member of any groups being migrated at this time,
it will break the membership between that user account and the global group that is not
included. Other group types (such as universal groups) do not have this issue because
they can contain members outside of their domains.
Configuring Interforest Trusts
As an alternative to performing a domain restructure, you can use interforest trusts, or forest
trusts, from one Windows Server 2008 forest in order to access resources in another disjoined
Windows Server 2008 forest.
One of the significant enhancements that occurred in Windows Server 2003 Active Directory
was the option to create trusts between AD DS forests. In Windows 2000 Active Directory, you
can only create a trust between a single domain in one forest and a single domain in another
forest. In Windows Server 2003 and Windows Server 2008, you can configure a trust between
the forest root domains. This trust can be a one-way or a two-way trust. After the trust is
created, you can use global groups or universal groups from one forest to grant permissions to
resources in another forest.
Note
Creating a trust between the two forests only enables the sharing of resources
between the forests. All of the other forest-level distinctions still apply after the trust is created.
For example, creating the trust does not mean that the forests will share a global catalog (GC)
or a common schema. When you create a forest trust in Active Directory, the trust automatically
Chapter 7:
Migrating to Active Directory Domain Services
267
enables name suffix routing between the two forests. With name suffix routing, users can
use their user principal names (UPNs) when logging on to any domain in either forest. For
example, if you create a forest trust between the ADatum.com forest and the TreyResearch.com
forest, users from the TreyResearch.com forest can log on to a workstation in the ADatum.com
forest using their [email protected] UPN. Name suffix routing is applied by default
to all first-level domain names available in the forest. This includes both the default UPN
suffixes and any alternative suffixes configured in the forest. The only time the name suffix
routing does not work between forests is if the same UPN suffix is configured in both forests.
If the TreyResearch.com UPN suffix is configured in the ADatum.com forest, users from the
TreyReserch.com forest will not be able to log on to the ADatum.com forest using their UPN.
When you first enable the forest trust, all of the first-level domain suffixes are automatically
routed in the UPN trust. All child domain suffixes are routed implicitly through the parent
domain suffix. If you add another UPN suffix to a forest after the trust is created, you must
enable name suffix routing for the new suffix. You can do this by verifying the trust between
the domains or by manually adding the new suffix to the Name Suffix Routing tab on the
trust’s Properties sheet.
To create a forest trust, the forest must be running at Windows Server 2003 or Windows
Server 2008 forest functional level. Only members of the Enterprise Admins group in a forest
have permission to create forest trusts.
To create a forest trust, use the following procedure:
1. Start the Active Directory Domains And Trusts administrative tool. Right-click the name
of the forest root domain and select Properties. Select the Trusts tab.
2. Click New Trust. The New Trust Wizard starts. Type in the domain name of the forest
root domain in the other forest.
3. You are then given a choice of what type of trust you want to configure. You can create
the following types of trusts:
❑
External domain trust
❑
NT 4.0 trust
❑
Kerberos (v5) realm trust
❑
Forest trust
An external trust is a nontransitive trust, whereas a forest trust is always transitive. Select
Forest Trust.
4. Select the direction for the trust. The choices are:
❑
Two-way Users in this domain can be authenticated in the specified domain,
realm, or forest, and users in the specified domain, realm, or forest can be authenticated in this domain.
268
Part II:
Designing and Implementing Windows Server 2008 Active Directory
❑
One-way, incoming Users in this domain can be authenticated in the specified
domain, realm, or forest.
❑
One-way, outgoing Users in the specified domain, realm, or forest can be authenticated in this domain.
5. You are then given a choice of whether to create the trust only for this domain or for the
other domain as well. (These two domains are the forest root domains in each forest.)
The forest trust can only be configured between the forest root domains. If you chose to
configure both sides of the trust at one time, you have to type in the name and password
for the Enterprise Admins account that exists in the other forest. If you chose to set up
the trust for this domain only, you are asked to type in a password that will be used to
configure the initial trust. You must then use this password to configure the trust in the
forest root domain from the other forest.
6. You are then given the choice of the level of authentication to be granted for both the
outgoing trust and the incoming trust. This option allows you to carefully control access
to resources between the forests. If you choose to apply forest-wide authentication, the
users from one forest will have access to all servers and resources in the other forest.
This is the same configuration as the trusts between the domains within a forest. Users
from one domain in a forest can access resources in any other domain in either forest,
provided that they have been given permission to access the resource. You can also
apply selective authentication for the forest trust. In this case, you must explicitly give
the users or groups from one forest permission to access servers in another forest. You
can do this by granting the users or groups the Allowed To Authenticate right in Active
Directory.
7. After configuring the trust, you are given the option to automatically verify the trust.
With the two-way, transitive forest trust in place, users can now access shared resources in the
trusted forest.
Summary
This chapter explored the different migration paths to go from either a Windows 2000 Server
or Windows Server 2003 Active Directory to Windows Server 2008 AD DS. The three primary
migration paths—upgrade, restructure, and upgrade-then-restructure—were described. There
are several criteria you can use to determine which migration path is right for your organization.
For organizations that are satisfied with the current domain structure, the upgrade migration
path is the least complicated, least risky means to upgrade the directory service from
Windows 2000 Server or Windows Server 2003 to Windows Server 2008. If your domain
structure is not in line with your current business or organizational model, you will need to
restructure your domain. Regardless of the chosen path, careful planning, testing, and piloting
of your migration plan is critical to the success of your migration project.
Chapter 7:
Migrating to Active Directory Domain Services
269
This chapter also examined the key decision points for performing an in-place upgrade to
Windows Server 2008. Next, the process of domain restructuring using ADMT was discussed.
Then the upgrade-then-restructure migration path, also known as an intraforest migration,
was distinguished from a domain restructure. A discussion of the interforest trust feature of
Windows Server 2008 completed this chapter.
Best Practices
The following best practices will ensure success in migrating to Windows Server 2008.
■
Applying Service Packs to Windows 2000 Server DCs Before preparing the domain (and
the forest in which it is located) for migrating, you should apply Windows 2000 Server
Service Pack 4 (SP4) or later to all domain controllers running Windows 2000 Server.
You can download the latest service packs for Windows 2000 Server from the Microsoft
Web site at http://technet.microsoft.com/en-us/windowsserver/2000/bb735341.aspx.
■
Migrating Computer Accounts on Virtual Private Networks
■
Migrating Domain Controllers
For Virtual Private Network
(VPN) clients, when migrating computer accounts using ADMT, you will need to ensure
that the dispatch agent is able to be installed across the VPN connection. To do this,
configure the VPN to allow connecting directly to the dial-up client. ADMT will attempt
to install the dispatch agent service on the to-be-migrated computer, so if Server Message
Block (SMB) server traffic is blocked by the firewall or proxy server, this will fail. Configure the firewall settings to allow this traffic before migrating computer accounts that
connect via the VPN.
You cannot migrate domain controller computer
accounts using the ADMT. Domain controllers must be moved to the Windows
Server 2008 domain rather than migrated. To move a DC from the source to the target
domain, you should demote it (uninstall Active Directory), join the server to the
target domain, and then promote it to a Windows Server 2008 domain controller.
Additional Resources
The following resources will provide additional information you will need to migrate to
Windows Server 2008 AD DS.
Related Information
■
For more information about the new features available in Windows Server 2008 Active
Directory, see Chapter 1, “What’s New in Active Directory for Windows Server 2008.”
■
For more information about designing your Active Directory structure, see Chapter 5,
“Designing the Active Directory Domain Services Structure.”
■
For more information about using the Active Directory Domain Services Installation
Wizard, see Chapter 6, “Installing Active Directory Domain Services.”
270
Part II:
Designing and Implementing Windows Server 2008 Active Directory
■
Before you begin your migration to Windows Server 2008 and AD DS, you should
carefully plan and design your infrastructure. Please read the article “Planning an Active
Directory Domain Services Deployment” at http://technet2.microsoft.com/
windowsserver2008/en/library/f349e1e7-c3ce-4850-9e50-d8886c866b521033.
mspx?mfr=true to plan for your deployment.
■
The Step-by-Step Guide for Windows Server 2008 Active Directory Domain Services
Installation and Removal is available at http://technet2.microsoft.com/
windowsserver2008/en/library/f349e1e7-c3ce-4850-9e50-d8886c866b521033.
mspx?mfr=true.
■
For more information about deploying AD DS, see “Planning an Active Directory
Domain Services Deployment” at http://go.microsoft.com/fwlink/?LinkId=100493.
■
For more information about assessing the hardware requirements of domain controllers
in a Windows Server 2008 domain, see “Planning Domain Controller Capacity” at
http://go.microsoft.com/fwlink/?LinkId=89027.
■
For more information about deploying AD DS regional domains, see “Deploying Windows Server 2008 Regional Domains” at http://go.microsoft.com/fwlink/?LinkId=89029.
■
For more information about upgrading Active Directory domains to Windows Server
2008, see “Upgrading AD DS Domains to Windows Server 2008” at
http://go.microsoft.com/fwlink/?LinkId=89032.
■
For more information about restructuring AD DS domains within and between forests,
see “Active Directory Migration Tool Version 3.1 Migration Guide” at
http://go.microsoft.com/fwlink/?LinkId=82740.
■
For more information about additional methods of installing a new Windows
Server 2008 forest, see “Installing a New Windows Server 2008 Forest” at
http://go.microsoft.com/fwlink/?LinkId=101704.
■
For more information about tests that you can perform by using Dcdiag.exe, see “Dcdiag
Overview” at http://go.microsoft.com/fwlink/?LinkId=93660.
■
For information about using media to install the domain controller, see “Installing AD
DS from Media” at http://go.microsoft.com/fwlink/?LinkId=93104.
■
For a procedure to help you transfer operations master roles, see “Transfer Operations
Master Roles” at http://go.microsoft.com/fwlink/?LinkId=93664.
■
For more information about Operations Master Role placement, see “Planning Operations Master Role Placement” at http://go.microsoft.com/fwlink/?LinkId=93665.
Related Tools
■
Active Directory Migration Tool v.3.1, available at http://go.microsoft.com/fwlink/
?LinkId=82740
Part III
Administering Windows Server
2008 Active Directory
In this part:
Chapter 8: Active Directory Domain Services Security . . . . . . . . . . . . . . .273
Chapter 9: Delegating the Administration of Active Directory
Domain Services. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .325
Chapter 10: Managing Active Directory Objects . . . . . . . . . . . . . . . . . . . .357
Chapter 11: Introduction to Group Policy. . . . . . . . . . . . . . . . . . . . . . . . . .399
Chapter 12: Using Group Policy to Manage User Desktops . . . . . . . . . . .455
Chapter 13: Using Group Policy to Manage Security . . . . . . . . . . . . . . . .513
Chapter 8
Active Directory Domain
Services Security
In this chapter:
AD DS Security Basics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274
Kerberos Security . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 280
NTLM Authentication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303
Implementing Security for Domain Controllers . . . . . . . . . . . . . . . . . . . . . . . . . . . 305
Designing Secure Administrative Practices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 318
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 321
Best Practices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 321
Additional Resources. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 321
One of the primary reasons for deploying a directory service like Active Directory Domain
Services (AD DS) is to provide security on the corporate network. Every company stores
business-critical information on file servers on the network. E-mail has become one of the
primary means for exchanging business information. Intranet or Internet sites may contain
confidential information, and access to the sites may need to be restricted to specific users.
Managing secure access to these types of information is critical to ensure that only properly
authorized users have access to the data. Microsoft Windows Server 2008 AD DS provides the
directory service that enables security in these and many other scenarios.
This chapter begins by introducing the basics of AD DS security. AD DS uses several basic
building blocks and concepts to provide security on a Windows Server 2008 network.
After an introduction to the security basics, this chapter will focus on the authentication
and authorization functions used by AD DS to ensure that users are who they say they are
(authentication) and to provide access to the resources to which the user should have access
(authorization). Windows Server 2008, like Microsoft Windows 2000 and Windows Server
2003, uses Kerberos as the primary authentication protocol, so much of the first part of this
chapter will focus on understanding the role of Kerberos in authentication.
After discussing authentication and authorization, this chapter moves on to consider AD DS
domain controller security and developing secure administrative practices. This is an essential
second component in creating a secure AD DS environment.
273
274
Part III:
Administering Windows Server 2008 Active Directory
More Info
This chapter provides a basis for understanding and implementing security in a
Windows Server 2008 network. Later chapters, such as Chapter 9, “Delegating the Administration
of Active Directory Domain Services,” and Chapter 13, “Using Group Policy to Manage
Security,” expand on the concepts discussed in this chapter.
AD DS Security Basics
There are some basic concepts needed to understand how AD DS security works on a
Windows Server 2008 network. Essentially, AD DS security consists of two types of objects
and the interaction between the two objects. The first object is a security principal, or an object
that represents a user, group, or computer that needs access to some resource on the network.
The second object is the resource itself, which is the object to which the security principal
needs access. To provide the proper level of security, AD DS must have some way of determining
the identity of the security principal and then giving the right level of access to the resources.
Security Principals
Security principals are the only objects in AD DS that can be granted permission to access
resources on the network. Every security principal is assigned a security identifier (SID) when
the object is created. The SID is made up of two parts. The first part is a domain identifier,
and all security principals in a domain have the same domain identifier. The second part of
the SID is the relative identifier (RID), which is unique for each security principal in an AD DS
domain.
The SID is an essential component when configuring security for resources on a Windows
Server 2008 network. When you grant permission to a resource, you use the security
principal’s display name, but Windows Server 2008 actually uses the SID to manage access to
the resource. When a user tries to access a resource on a server in the domain, the operating
system grants permission to the user’s SID, rather than the person’s name. This means that
if a user’s display name is changed, the permissions granted to the user do not change.
However, if a user object is deleted and then re-created with the same name, the user will not
be able to access the same resources, because the SID will be different.
Direct from the Field: Security IDs
A security identifier, or SID, is a numerical representation that uniquely identifies a
security principal. SIDs are made up of three components: Revision Level, Identifier
Authority, and Subauthority or Relative Identifier (RID).
SIDS use the following syntax:
S-R-I-S-S
Chapter 8:
Active Directory Domain Services Security
275
The letter S indicates that the information following is a SID. The letter R indicates the
Revision Level of the security identifier. The letter I represents the Identifier Authority,
and the next S is for the Subauthority or RID. There can be more than one Subauthority/
RID value:
■
Revision Level The Revision Level represents the revision Level of the SID
Structure. The current Revision Level is 1.
■
Identifier Authority The Identifier Authority is a 48-bit value that identifies the
authority that issued the SID.
■
Subauthority/Relative Identifier Subauthority/RIDs are used to uniquely identify
the security principal relative to the authority that issued the SID. Subauthority/
RIDS are used to ensure that no two SIDS are identical. This is accomplished by
not allowing any SID-issuing authority to assign a RID more than once.
Windows creates security identifiers using the identifier authority of 5 and a subauthority
of 21. Therefore, SIDs created on Windows start with S-1-5-21. The next subauthority is
derived from either the domain or the local computer. This depends on whether the
new security principal is a domain or local security principal. The remaining three
subauthorities derive from the relative identifier. Each domain controller is allocated a
pool of relative identifies from the RID manager FSMO role. The domain controller that
creates the new security principal assigns a relative identifier, from its RID pool, to the
new security principal. This creates the full security identifier:
S-1-5-21-3093361465-529454648-2942243305-1007
Identifier authority
Subauthority
S-1-5-21-3093361465-529454648-2942243305-1007
Windows
Domain
subauthority
Relative identifier
Mike Stephens
Microsoft Support Engineer
Access Control Lists
The other component that is included in AD DS security is the object that a security principal
needs to access. This object may be an AD DS organizational unit (OU), printer object, or
even a security principal. The object may also be a resource such as a file on a server running
Windows Server 2008 or a mailbox on a server running Microsoft Exchange Server 2007.
276
Part III:
Administering Windows Server 2008 Active Directory
The permissions that have been granted to these objects are located in an access control list
(ACL). Every object in AD DS or on an NTFS file system partition has a security descriptor.
The security descriptor includes the SID of the security principal that owns the object as well
as the SID for the object’s primary group. In addition, every object has two separate ACLs: a
discretionary access control list (DACL) and a system access control list (SACL). The DACL
lists the security principals or trustees that have been assigned permission to the object, as
well as the level of permissions that have been assigned to each security principal. The DACL
is made up of a series of access control entries (ACEs). Each ACE lists one SID and then
identifies the level of access that the SID has to the object. The ACE can include an entry for
all types of security principals. For example, a user account might have Read permissions to a
file and a security group might have Full Control. The DACL for the file will have (at least) two
ACEs, one granting the user Read permission and another granting the group Full Control.
The SACL lists the security principals whose access to the resource needs to be audited. The
list of ACEs in the SACL indicates whose access is to be audited and the level of auditing
required.
Note
The DACL can contain ACEs that grant access to a resource as well as ACEs that deny
access. The ACEs that deny access should be listed first in the ACL, so they are evaluated first by
the security subsystem. If an ACE denies access to the resource, the security subsystem does
not evaluate any other ACEs. This means that an ACE that denies permission to a resource
always overrides any ACE that grants access to a specific SID. For more information on how
security descriptors are used to grant access to AD DS objects, see Chapter 9.
Direct from the Field: Security Descriptors
Windows uses security descriptors to protect and audit resources. A security descriptor
is comprised of an owner, a primary group, a discretionary access control list, and a
system access control list.
Owner and Primary Group
The owner and primary group fields are security identifiers. The owner is the security
principal that owns the object. The resource owner has full permissions to the object,
including the ability to add or remove permissions within the security descriptor.
The primary group remains in the security descriptor for compatibility with the POSIX
subsystem. Windows does not rely on this part of the security descriptor unless you are
using utilities that require POSIX interoperability. By default, the security principal that
created the object will write its default primary group to the security descriptor.
Windows’ default primary group is Domain Users.
The primary group is an implied group membership. When a user logs on, the operating system inserts the SID for this group in the user’s token. The memberOf attribute
Chapter 8:
Active Directory Domain Services Security
277
does not have the primary group listed. The memberOf attribute includes only group
memberships that are explicitly assigned.
Discretionary and System Access Control Lists
Access control lists (ACLs) include two parts. The first part of the access control list is
named control flags. These settings control how Windows applies permissions within
the access control list and the rules of inheritance. The second part of the access control
list is the list itself. The access control list contains one or more access control entries
(ACEs).
Access control flags determine how Windows applies the access control entries contained within the access control list. Windows primarily uses the protected and automatic flags. The protected flag prevents the access control list from being modified by
any inherited access control lists. This flag is equivalent to clearing the “Allow inheritable permissions from parent to propagate to this object” check box. The automatic flag
is equivalent to selecting the “Allow inheritable permissions from parent to propagate to
this object” option. This flag automatically allows access control entries in the access
control lists to propagate to child objects.
Access Control Entries
Access control lists include one or more access control entries. Windows categorizes
access control entries into two types: Allow and Deny. Each ACE type has a subtype
object and nonobject subtypes. Allow and Deny access control entries designate the
level of access the authorization subsystem provides based on the requested right by the
security principal. Object access control entries are exclusive for objects in AD DS
because they provide additional fields for object inheritance. Windows uses nonobject
access control entries for most of the remaining resources such as file system and registry resources. Nonobject ACEs provide container inheritance—where an object residing
in a container inherits the access control entry of the container. This is similar to files
inheriting permissions from their parent folders. Each access control entry type has a
rights field and a trustee field. The rights fields are usually comprised of predefined
numbers that represent a specific action that a security principal can request. An example of a right would be a user requesting to read or write to a file. In this example, Read
and Write are two separate rights. The trustee field is a security identifier that is allowed
or denied the specified right. An example of a trustee would be user or group that is
allowed or denied the action specified in the right field.
Mike Stephens
Microsoft Support Engineer
278
Part III:
Administering Windows Server 2008 Active Directory
Access Tokens
The connecting point between the security principal’s SID and the ACL is the access token.
When Windows authenticates the user by using Kerberos, the user is assigned an access
token on the local computer during the logon process. This token includes the user’s primary
SID, the SIDs for any groups to which the user belongs, and the user’s privileges and rights.
Note
The access token may also include additional SIDs in the SIDHistory attribute. These
SIDs can be populated when you move user accounts from one domain to another. For a
detailed discussion on SIDHistory, see Chapter 7, “Migrating to Active Directory Domain
Services.”
The access token is used by the security subsystem whenever a user tries to access a resource.
When the user tries to access a local resource, the token is presented by the client workstation
to any thread or application that requests security information before allowing access to a
resource. The access token is never transmitted across the network to another computer;
rather, a local access token is created on each server where the user tries to access a resource.
For example, when a user tries to access a mailbox on a server running Exchange Server 2007,
an access token is created on the server. In this case, the security subsystem on the server
running Exchange Server 2007 will compare the SIDs in the access token to the permissions
granted in the mailbox ACL. If the permissions granted to the SID allow it, the user will be
able to open the mailbox.
Authentication
In order for the security processes, including their use of SIDs and ACLs, to work, there must
be some way for a user to gain access to the network. Essentially, users must be able to prove
that they are who they say they are so that they can retrieve their access token from the
domain controller. This process is called authentication.
Authentication occurs during the initial client logon process on a computer that is a member
of an AD DS domain. The exact steps vary depending on the operating system that the client
is logging on to. When the user sits down at a Windows 2000, Microsoft Windows XP Professional, or Windows Server 2003 computer and enters Ctrl+Alt+Del, which is known as a
secure attention sequence (SAS), the Winlogon service on the local computer switches to the
logon screen and loads the Graphic Identification and Authentication (GINA) dynamic-link
library (DLL). By default, this is the Msgina.dll. However, third parties can build alternative
GINAs (for example, the NetWare client uses the Nwgina.dll). After the user has typed in the
user name and password and has selected a domain, GINA passes the entered credentials
back to the Winlogon process. The Winlogon service passes the information to the Local
Security Authority (LSA).
Chapter 8:
Active Directory Domain Services Security
279
Windows Vista and Windows Server 2008 do not use the GINA dll. Windows Vista
and Windows Server 2008 introduce a new authentication model in which LogonUI and
Winlogon communicate directly with each other. This means that when the users provide
their credentials in these operating systems, the credentials are passed directly by the
LogonUI component to the Winlogon service, which passes the information to the LSA. In
order to authenticate to other directories, a third party can create a credential provider, which
is a module that plugs into the LogonUI, to describe the UI and to gather the credential and
pass it on to WinLogon. Credential providers are completely transparent to WinLogon.
In either case, the LSA immediately applies a one-way hash to the user’s password and deletes
the clear text password that the user typed in. The LSA then calls the appropriate Security
Support Provider (SSP) through the Security Support Provider Interface (SSPI). Windows
Server 2008 provides two primary SSPs for network authentication, the Kerberos SSP and
the NT LAN Manager (NTLM) SSP. If Windows 2000 (or later) clients are logging on to a
Windows Server 2008 network, the Kerberos SSP is selected and the information is passed to
the SSP. The SSP then communicates with the domain controller to authenticate the user.
The Kerberos authentication process will be covered in detail later in this chapter.
If authentication succeeds, the user is authenticated and granted access to the network. If the
user has logged on to a domain, and if all the resources that the user needs to access are in the
same forest, the user will be asked for authentication credentials only once. Until the user logs
off, all the permissions the user gets on the network are based on the initial authentication.
Although the user account is authenticated again each time the user accesses resources on a
server to which the user has not authenticated, this authentication is transparent to the user.
Authorization
Authorization is the second step in the process of gaining access to network resources, and
it takes place after authentication. During authentication, you are proving your identity by
typing in the correct user name and password. During authorization, you are given access to
resources on the network. Another way to think about this is to say that during authentication, the access token is created for you. During authorization, an access token is presented to
a server and requests access to a resource. If the SIDs in your access token matches the SIDs
in the DACL, then you are allowed or denied access, based on the access control entry on the
resource.
Authorization, also known as access control, is the process of determining the level of access
that is allowed or denied to an Active Directory object or file system object. After the Key
Distribution Center (KDC) confirms the identity of the user, the security system on the
authenticating domain controller generates authorization data in the form of the user’s
primary SID, plus SIDs for groups to which the user belongs that are recognized by all the
resources on the Windows network. The authorization data is used by the computer that
manages the network resource to generate an access token. The access token is used to determine the level of access that the user has to the network resource.
280
Part III:
Administering Windows Server 2008 Active Directory
The access token contains the following:
■
The list of SIDs that represent the user (including SIDs stored in SIDHistory)
■
All groups (including nested groups) of which the user is a member
■
The user’s privileges (also called user rights) on the local computer
All objects or resources that are secured have a discretionary access control list (DACL)
assigned to them that specifies the access rights of users and groups on that resource. Access
to one of these objects or resources is controlled by an access check, in which the security
system determines whether the requested access should be granted or denied by evaluating
the contents of the access token of the requestor against the DACL on the resource.
Kerberos Security
So far this chapter has covered the basics of AD DS security without discussing the actual
mechanism that implements the security. The primary mechanism for delivering authentication in AD DS is the Kerberos protocol. This protocol was first developed by engineers at
the Massachusetts Institute of Technology (MIT) in the late 1980s. The current version of
Kerberos is version 5 (Kerberos 5), which is described in RFC 1510, “The Kerberos Network
Authentication Service (V5).” The Windows Server 2008 implementation of Kerberos is
fully RFC-1510 compliant, with some extensions for public key authentication.
Kerberos is the default authentication protocol for Windows 2000 and Windows Server 2003
Active Directory, and for Windows Server 2008 AD DS. Whenever a Windows 2000 or later
client authenticates to Active Directory or AD DS, the client will always try to use Kerberos.
The other protocol that can be used to authenticate to AD DS is NTLM, which is supported
primarily for backward compatibility for older clients. Kerberos has a number of advantages
over NTLM:
■
Mutual authentication
■
When a user tries to access a network resource on an
NTLM-based network (such as Microsoft Windows NT 4), the server where the resource
is located has to contact a domain controller to check the user’s access permissions.
On a Kerberos-based network, the client connects to the domain controller and acquires
a service ticket to connect to the resource server. This means that the resource server
does not need to connect to the domain controller.
■
Improved trust management NTLM trusts are always one-way, nontransitive, and
With NTLM, authentication is only one-way; that is, the server
authenticates the client. With Kerberos, the client can also authenticate the server,
ensuring that the server that is responding to the client request is the correct server.
More efficient access to resources
manually configured. Kerberos trusts are automatically configured and maintained
between all the domains in a forest and are transitive and two-way. In addition, Kerberos
trusts can be configured between forests and between Windows Server 2008 Kerberos
domains and other Kerberos implementations.
Chapter 8:
■
Active Directory Domain Services Security
281
Delegated authentication When a client connects to a server using NTLM authentication, the server can use the client credentials to access resources only on the local server.
With Kerberos authentication, the server can use the client credentials to access
resources on another server.
Note
Windows Server 2008 also supports authentication through Secure Sockets
Layer/Transport Layer Security (SSL/TLS), Digest authentication, and Passport authentication. Since these authentication services are primarily used in an Internet environment
for authentication to Microsoft Internet Information Services (IIS) 7.0, these authentication options will not be discussed.
Introduction to Kerberos
There are three components in a Kerberos-based system. The first is the client who needs to
gain access to network resources. The second is the server that manages the network
resources and ensures that only properly authenticated and authorized users can gain access
to the resource. The third component is a Key Distribution Center (KDC), which serves as a
central location to store user information and as a central service to authenticate users.
The Kerberos protocol defines how these three components interact. This interaction is based
on two key principles. First of all, Kerberos operates on the assumption that authentication
traffic between a workstation and server crosses an insecure network. This means that no confidential authentication traffic is ever sent across the network in clear text. A practical example
of this is that the user password is never sent across the network, not even in an encrypted
form. The second principle is that Kerberos operates based on a shared secret authentication
model. In a shared secret authentication model, the client and the authenticating server share
a secret that is not known by anyone else. In most cases, when users are authenticating to the
network, this shared secret is the user password. When the user logs on to a network secured
by Kerberos, a hash of the user’s password is used to encrypt a packet of information.
When the KDC receives the packet, it decrypts the information using the stored user password hash that is stored in AD DS. If the decryption is successful, then the authenticating
server knows that the user knows the shared secret and access is granted.
Note
When the user logs on, he or she will usually type in a password. The domain controller checks to see if that password is accurate. However, because Kerberos operates with the
assumption that the network is insecure, this checking is done without sending the password
across the network.
One of the problems with a shared secret authentication model is that the user and the server
managing the network resource must have some way of sharing the secret. If one user is
trying to access a resource on one server, a user account can be created on the server with a
password that only the user knows. When the user tries to access the resources on the server,
282
Part III:
Administering Windows Server 2008 Active Directory
that user can present the shared secret (password) and gain access to the resource. However,
in a corporate environment, there may be thousands of users and hundreds of servers.
Managing distinct shared secrets for all of these users would be impractical. Kerberos deals
with this issue by using a Key Distribution Center (KDC). The KDC runs as a service on a
domain controller on the network and manages the shared secrets for all users on the network. The KDC has one central database of all user accounts on the network, and it stores the
shared secret for each user (in the form of a one-way hash of the user’s password). In an AD
DS environment, these shared secrets are stored in the AD DS data store. When a user needs
access to the network and resources on the network, the KDC confirms that the user knows
the shared secret and then authenticates the user. The KDC also stores shared secrets for
computers that are members of the AD DS domain, which are used to authenticate computers
that are used to access network resources.
Note In Kerberos terminology, this central server that manages user accounts is a KDC, as
discussed previously. In the Windows Server 2008 implementation of Kerberos, this server is
called a domain controller. Every AD DS domain controller, including read-only domain
controllers, is a KDC. In Kerberos, the boundary defined by the user database on one KDC is
called a realm. In Windows Server 2008 terminology, this boundary is called a domain.
Each KDC (which runs as the Kerberos Key Distribution Center service in Windows
Server 2008) is made up of two separate services: the Authentication Service (AS) and the
Ticket-Granting Service (TGS). The AS is responsible for the initial client logon and issues
a Ticket-Granting Ticket (TGT) to the client. The TGS is responsible for all service tickets that
are used to access resources on the Windows Server 2008 network.
The KDC stores the account database used for Kerberos authentication. In the Windows
Server 2008 implementation of Kerberos, the database is managed by the directory system
agent (DSA), which runs within the LSA process on each domain controller. Clients and applications are never given direct access to the account database; all requests must go through the
DSA, using one of the AD DS interfaces. Every object within the account database (in fact,
every attribute on every object) is protected with an ACL. The DSA ensures that any attempts
to access the account database are properly authorized.
Note
When AD DS is installed on the first domain controller in the domain, a special
account named krbtgt is created in the domain. The account cannot be deleted or renamed
and should never be enabled or moved from the Users container. The account is assigned a
password when it is created, and the password is automatically changed on a regular basis. This
password is used to create a secret key that is used to encrypt and decrypt the TGTs issued by
all the domain controllers (KDCs) in the domain. Each read-only domain controller is issued a
unique krbtgt account when the computer is promoted. This provides cryptographic isolation
between KDCs in different branches, which prevents a compromised RODC from issuing
service tickets to resources in other branches or a hub site.
Chapter 8:
Active Directory Domain Services Security
283
Kerberos Authentication
Kerberos authentication begins when the Kerberos security provider is called by the LSA on a
Windows Vista workstation or a Windows Server 2008 computer. When a user logs on by
typing a user name and password, the client computer applies a one-way hash to the user’s
password to create a secret key, which is cached in secure memory on the workstation. A
one-way hash means that the password cannot be derived from the hash. This hash is also
consistent—each time the hash is applied to the same password, the result will always be the same.
Note This process also applies to computers running Windows 2000 Professional or later
client operating systems, and to Windows 2000 Server or later server operating systems.
To perform a client logon process, the client and server systems follow these steps:
1. The Kerberos SSP on the workstation sends an authentication message to the KDC.
(See Figure 8-1.) The message includes:
❑
The user name
❑
The user realm (domain name)
❑
A request for a TGT
❑
Preauthentication data, which includes a time stamp, plus possibly other data
The preauthentication data is encrypted using the secret key derived from the user
password.
2. When the message arrives at the KDC, the server examines the user name and then
checks the directory database for its copy of the secret key associated with the user’s
account. The server decrypts the encrypted data in the message with the secret key and
checks the time stamp. If the decryption is successful and the time stamp is recorded as
being within five minutes of the current time on the server, the server prepares to
authenticate the user. If the decryption fails, the user must have entered the wrong
password, and the authentication fails. If the time stamp is more than five minutes off
the current time on the server, the authentication will also fail. The reason for the small
time difference is to prevent someone from capturing the authentication packets and
then replaying them at a later time. The default maximum allowable time difference of
5 minutes can be configured on the domain security policies.
284
Part III:
Administering Windows Server 2008 Active Directory
1
Username
Realm name
TGT request
Preauthentication data
(encrypted with user secret key)
Domain
controller
4 Decrypts TGS session key
Caches the session key and
the TGT
Deletes the secret key
2
KDC–
Checks username
Extracts user secret key
Decrypts preauthentication data
Checks time stamp
Workstation
3
Figure 8-1
Ticket information
TGS session key
User credentials
Getting a Kerberos TGT.
3. After the user is authenticated, the server sends the client a message that includes a
Ticket Granting Service (TGS) session key and a TGT. (See Figure 8-1.) The session key is
an encryption key that is used to interact with the KDC instead of using the client’s
secret key. The TGT grants the user access to the TGS. For the lifetime of the TGT, the
client will present the TGT to the TGS whenever the client needs access to resources on
the network. All access tokens for the principal (including the user SID and security
group SIDs) are also included in the TGT. This information is known as the Privilege
Attribute Certificate (PAC). The TGS session key is encrypted using the user’s secret key.
In addition, the TGT is encrypted using the KDC’s (krbrgt) long-term secret key.
4. When the packet arrives at the client computer, the user’s secret key is used to decrypt
the TGS session key. If the decryption is successful and the time stamp is valid, the
user’s computer assumes that the KDC is authentic because it knew the user’s secret
key. The TGS session key is then cached on the local computer until it expires or until
the user logs off the workstation. This TGS session key will be used to encrypt all future
connections to the KDC. This means that the client no longer needs to remember the
secret key, which is deleted from the workstation cache. The TGT is stored in an
encrypted form in the workstation cache.
Note
The Kerberos protocol includes the Authentication Service (AS) Exchange, which
is the subprotocol used to perform the initial authentication for the user. The process just
described uses the AS Exchange subprotocol. The initial message sent by the client to the
KDC is called a KRB_AS_REQ message. The server response to the client is called a
KRB_AS_REP message.
Chapter 8:
Active Directory Domain Services Security
285
5. At this point, the user has been authenticated, but the user still does not have access to
resources on the network. The TGT grants access to the Ticket Granting Service, but
to gain access to any other resources on the network, the user must acquire a service
ticket from the TGS. (See Figure 8-2.) The client workstation sends a service ticket
request to the TGS. The request includes the name of the target computer, the domain of
the target computer, the TGT granted during authentication, the service principal name
(SPN) that the user principal(UPN) wants access to , and a time stamp that is encrypted
using the TGS session key that was acquired during the AS Exchange process.
5 Name of target computer
Domain of target computer
TGT (still encrypted with the
KDC’s long-term key)
The SPN that the UPN
wants to access
Time stamp
8
Domain
controller
6
Caches the session ticket
Workstation
Network
service
Figure 8-2
KDC–
Decrypts TGT with its
long-term key
Extracts the session key
Decrypts the time stamp
Prepares session ticket for
network service
7 Session ticket includes:
session key for client
(encrypted with client
session key) session key for
network service (encrypted
with the network service’s
long-term key)
Acquiring a Kerberos session ticket for a network resource.
6. The KDC decrypts the TGT using its long-term key. It then extracts the TGS session key
from the TGT and decrypts the time stamp to ensure that the client is using the correct
session key and that the time stamp is valid. If the session key and time stamp are
acceptable, the KDC then does an LDAP query to find the account that has the service
principal registered on it. After this is done, it prepares a service ticket for the requested
service.
7. The response includes two copies of a service session key. The first copy of the service
session key is encrypted using the TGS session key the client obtained during the initial
logon. The second copy of the service session key is intended for the service principal
hosting the requested service and includes the user’s access information—a service
ticket. The service ticket is encrypted using the secret key of the service principal hosting
the network service, which is unknown to the client workstation but known to both the
KDC and the service principal, because the service principal is located in the KDC realm
or a trusted Kerberos realm.
286
Part III:
Administering Windows Server 2008 Active Directory
8. The client workstation caches both parts of the session ticket in memory.
Note
The process described in steps 5 through 8 uses the Ticket-Granting Service
(TGS) Exchange subprotocol. The session ticket request sent by the client is called a
KRB_TGS_REQ message; the server response is a KRB_TGS_REP message.
9. The client now presents the service ticket to the network service to gain access.
(See Figure 8-3.)
9 Session ticket is
sent to the
network service
Network
service
Workstation
10 Decrypts the network
service session key
Examines user access token
Grants access to workstation
Figure 8-3
Accessing the network service.
10. The network service decrypts the service ticket using its secret key. Using the service
session key, the service then decrypts the time stamp included in the request. If both
decryptions are successful and the time stamp is within five minutes of the hosting
computers time, the service trusts that the ticket comes from the KDC. The network
service then determines if the client requested mutual authentication. If the client
requests mutual authentication, the service encrypts the time stamp it received in the
request, using the service session key and replies back to the client.
The service sends a reply back to the client when the client requests mutual authentication. If this occurs, the client decrypts the time stamp using the service session key.
The client then compares the time stamp it received in the reply with the time stamp it
sent in the original request. If the time stamps match, the client then trusts the service.
After Kerberos authentication completes, the service principal hosting the requested
service passes the service ticket to LSA. LSA then decrypts the service ticket and extracts
the authorization data. The authorization data includes the user SID and the SIDs of
groups of which the user is a member. LSA uses this data to create an access token. The
authorization data is known as Privilege Attribute Certificate or PAC.
Note The process described in steps 9 and 10 uses the Client/Server (CS) Exchange
subprotocol. The client request is called a KRB_AP_REQ message.
Chapter 8:
Active Directory Domain Services Security
287
Direct from the Field: Service Principal Names
You can assign service principal names (SPN) to user or computer accounts. Service
principal names are stored in a multivalued Active Directory attribute on the user or
computer account, which allow each user or computer to have more than one SPN.
SPNs must be unique across the entire Active Directory forest.
An example of a service principal name attribute on an Active Directory object looks like
this:
Host /DC1
Host/DC1.contoso.com
You read this example SPN as follows—the service name of host on security principal
DC1. The next service principal name describes the same service but uses a different
security principal, DC1.contoso.com. Kerberos authentication relies on names. If your
clients connect by both NetBIOS and FQDN names, then you want to ensure that you
register the requested service using both names, as shown in the example.
The following is an example of a service principal name for a user account under which
the SQL service runs. Windows starts the SQL service using a domain user account
(also called a service account). You must register the SQL service principal name on the
user account, because that is the account to which you are delegating authentication. A
common configuration error is to register the SPN on the computer account that hosts
the SQL service.
MSSQLSvc/sqlsrvr.contoso.com:1433
MSSQLSvc/sqlsrvr:1433
Kerberos-enabled services use a preconfigured service identifier in their SPN. In this
example, the Microsoft SQL service uses MSSQLSvc. This is how you read this service
principal name. The Microsoft SQL service (MSSQLSvc) is hosted on the computer
sqlsrvr.contoso.com, and this instance of SQL is listening on port 1433. Again, we
include both the FQDN and NetBIOS names for the server to ensure that authentication
works when connecting to either name. Remember, these service principal names must
be unique to the Active Directory forest.
Microsoft provides several utilities that you can use to view service principal names.
These utilities include LDP, LDIFDE, ADSIEdit, and SETSPN.
Robert Greene
Microsoft Support Escalation Engineer
288
Part III:
Administering Windows Server 2008 Active Directory
Assuming the authentication and authorization are successful, the client is given access to the
server resources. If the client needs subsequent use of the same resource or service, the session ticket is pulled from the client’s ticket cache and is reissued to the target resource server.
If the session ticket has expired, the client has to return to the KDC to obtain a new ticket.
Note
You can view the contents of the client cache by using two tools. KList.exe, which is
installed on Windows Server 2008 computers, provides a command-line interface to view
and delete the Kerberos tickets. The Kerberos Tray tool (Kerbtray.exe) provides a graphical
user interface (GUI) for viewing the tickets. Figure 8-4 shows an example of the information
provided by the Kerberos Tray tool. The Kerberos Tray tool is available as part of the Windows
Server 2003 Resource Kit tools, which can be downloaded at https://www.microsoft.com/
downloads/details.aspx?FamilyID=9d467a69-57ff-4ae7-96ee-b18c4790cffd&displaylang=en.
Figure 8-4
Viewing Kerberos tickets using the Kerberos Tray tool.
How It Works: Kerberos Ticket Flags
Ticket flags are configured within all tickets and are used to identify the ticket purpose
and/or constraints. You can view these flags when you use the Kerberos Tray utility.
Kerberos tickets use the following ticket flags:
■
Forwardable Only valid for a TGT. Instructs the Ticket Granting Server that it
can issue a new TGT with a different network address based on the TGT that is
presented. A forwardable ticket can be used in Kerberos delegation.
Chapter 8:
Active Directory Domain Services Security
289
■
Forwarded Indicates that the TGT has been forwarded or that a ticket was issued
from a forwardable TGT. The middle-tier application in Kerberos delegation
should have this type of ticket.
■
Proxiable A proxiable ticket is a ticket (generally only a TGT) that allows you to
get a ticket for a service with IP addresses other than the ones in the TGT. This is
different than aforwardable ticket in that you cannot proxy a new TGT from your
current TGT; you can only proxy non-TGT service tickets.
■
Proxy This ticket flag indicates that the service ticket was obtained from a
proxiable TGT.
■
Renewable Indicates if the ticket can be renewed. This is used in combination
with the EndTime and Renew-Till Fields to cause tickets to be renewed at the KDC
periodically.
■
Initial Indicates that this is a Ticket Granting Ticket (TGT).
Other flags include May Postdate, Invalid, HW Auth, OK As Delegate, and others.
Postdated tickets may be requested in advance for batch processing and so on, but they
are flagged invalid until the time that they become effective. A KDC must validate the
ticket and remove the Invalid flag at that time.
Robert Greene
Microsoft Support Escalation Engineer
This process of gaining access to a resource on the network means that the KDC is only
involved during the initial client logon and the first time the client tries to access a specific
resource on a specific server. When the user first logs on, that user is given a TGT that gives
the client access to the KDC during the lifetime of the ticket. When the client tries to connect
to a network resource, the client contacts the KDC again and gets a service ticket to access that
resource. This service ticket includes the authorization data for the user. After successful
authentication, the Local Security subsystem uses this data to create an access token on the
computer hosting the service or resource so the server can determine the level of resource
access the user should have.
Authenticating Across Domain Boundaries
The same authentication process applies when a user authenticates across domain
boundaries. For example, a company may have a three-domain forest, as shown
in Figure 8-5.
If a user with an account in TreyResearch.com travels to the NA.ADatum.com domain
location and tries to log on to the network on a machine in the NA.ADatum.com domain,
the client workstation must be able to connect to a domain controller (KDC) in the
TreyResearch.com as well as NA.ADatum.com and ADatum.com domain. In this case,
290
Part III:
Administering Windows Server 2008 Active Directory
the client computer sends the initial logon request to the NA.ADatum.com domain
controller. The domain controller determines that the user account is located in the
TreyResearch.com domain, so it needs to refer the client workstation to that domain.
If all of the domains were configured with shortcut trusts with each other, the domain
controller could directly refer the client computer to a domain controller in the
TreyResearch.com domain. However, if no shortcut trusts have been created, there is no
direct trust between NA.ADatum.com and TreyResearch.com. In this case, the NA domain
controller will refer the client computer to a domain controller in the ADatum.com
domain. The referral includes a TGT for ADatum.com that is encrypted with an inter-realm
session key, which is shared by both ADatum.com and NA.Adatum.com. This TGT allows
access to KDC service on the domain controller in the Adatum.com domain. The interrealm session key was created when the NA domain was added to the Adatum.com forest
and the initial trust was created between the two domains. The inter-realm session key
guarantees that the logon request is coming from a trusted domain. The client computer
then sends an authentication request to the ADatum.com domain. The client is then
referred to a domain controller in the TreyResearch.com domain. Again, this referral
includes TGT for TreyResearch.com that has an inter-realm session key to access the KDC
services on the domain controller in TreyResearch.com. The client computer then sends a
TGT request to the home domain controller in TreyResearch.com.
ADatum.com
TreyResearch.com
NA.ADatum.com
Figure 8-5
Authentication across domain boundaries.
A similar process is followed when a client tries to gain access to a resource on a domain
other than the user’s home domain. In this case, the client needs to acquire a service
ticket from a domain controller in the domain where the resource is located, so the
client will be referred through the same process until it can connect to the right domain
controller.
This authentication process has implications for forest design, especially if users
frequently log on to domains other than their home domain or access resources in
domains other than the home domain. If you are designing a forest with multiple
domains, the client may have to traverse the entire trust path between the domains. If
this happens often, you may want to put domain controllers for the root domains in
locations close to the users. You can also use shortcut trusts so that the domain controller referrals can be sent directly to the appropriate domains.
Chapter 8:
Active Directory Domain Services Security
291
Delegation of Authentication
One of the issues that can complicate accessing network services is that the network service
may be distributed across multiple servers. For example, the client might connect to a frontend server that must connect to a back-end database server to collect some information. In
this environment, the user’s credentials (rather than the front-end server’s credentials) should
be used to access the back-end server so that the user will only get access to authorized
information. In Windows 2000, Kerberos provides this functionality in two ways: using proxy
tickets and using forwarded tickets. If proxy tickets are enabled, the client will send a session
ticket request to the KDC requesting access to the back-end server. The KDC grants the
session ticket and sets the Proxiable flag on the ticket. The client then presents the session
ticket to the front-end server, which uses the ticket to access information on the back-end
server. The main problem with proxy tickets is that the client must know the identity of the
back-end server. The other option is to use forwarded tickets. If these tickets are enabled, the
client will send an AS Exchange request to the KDC requesting a TGT that the front-end
server will be able to use to access back-end servers. The KDC creates a TGT and sends it to
the client. The client sends the TGT to the front-end server, which then uses the TGT to
acquire a session ticket to access the back-end server on behalf of the client.
There are two significant concerns with the way delegation of authentication is implemented
in Windows 2000. The first concern is that delegation of authentication can only be used if
the client is authenticated using Kerberos. This means that no Windows NT, Microsoft
Windows 95, or Windows 98 client can use delegation of authentication. The second
Windows 2000–related concern is related to the security of the delegation. In Windows 2000,
after the front-end server obtains the forwarded ticket from the KDC, it can use the ticket to
access any network service on behalf of the client. Windows Server 2003 and Windows Server
2008 provide the option for constrained delegation, which means you can configure the
account so it is delegated for only specific services on the network (based on service principal
names). Constrained delegation is available only when the domain is set to Windows Server
2003 or Windows Server 2008 functional level.
In order for the delegation of authentication to be successful, you must ensure that both the
user account and the service or computer account are configured to support delegation of
authentication. To configure this on a user account, access the user’s Properties sheet through
the Active Directory Users and Computers administrative tool, select the Account tab; then
scroll through the Account Options list and make sure that the Account Is Sensitive And
Cannot Be Delegated option is not selected. (This is not selected by default.) To configure the
service account for delegation, you must first determine whether the logon account used by
the service is a normal user account or whether it is the LocalSystem account. If the service
runs under a normal user account, first ensure that you have added an SPN to the user account.
Then access the user’s Account tab and make sure the Account Is Sensitive And Cannot Be
Delegated option is not selected. (This is not selected by default.) Also check the appropriate
level of delegation on the delegation tab of the user account. (Figure 8-6 shows the interface.)
292
Part III:
Administering Windows Server 2008 Active Directory
If the service runs under a LocalSystem account, the delegation must be configured on the
computer account’s Properties sheet. To implement the Windows 2000 level of authentication, select the Trust This Computer For Delegation To Any Service (Kerberos Only) option.
To implement the Windows Server 2003 or Windows Server 2008 enhancements, select the
Trust This Computer For Delegation To Specified Services Only option. You can then select
whether the client must authenticate using Kerberos only or can use any protocol and then
select the services (based on service principal names registered in AD DS) to which the
computer can present delegated credentials.
Figure 8-6
Configuring constrained delegation on a computer account.
Direct from the Field: Delegated Authentication
Delegated authentication is becoming more frequent in customer environments because
of the need to limit user access to confidential data as well as a need to be able to audit
what data users are accessing on a day-to-day basis. Today’s applications are typically
multi-tier solutions, which increases the complexity of authentication. For example,
delegated authentication is required when a Web-based application must request data
from a SQL database using the credentials of the user who authenticated to the Web site.
Following are the most common problems that cause delegated authentication to fail:
■
The client application is not configured to use Kerberos. In the example given, the
Web browser is the client application that you must configure to support Kerberos
authentication.
■
SPNs are not registered on the correct service account. In the example, the service
account that runs the Web application must have the proper SPNs registered for
Chapter 8:
Active Directory Domain Services Security
293
the name that users use to connect to the Web application. If users connect using
both NetBIOS and FQDN names, then you must register both names on the service
account (http/webapp1 and http/webapp1.contoso.com). Also, the correct service
account in the example is the service account used to run the Web application pool,
which includes the Web application that connects to SQL. Lastly, no SPN registration is required if the Web application pool is running as the network service.
■
Duplicate SPNs can also cause delegated authentication to fail. Each SPN in the
domain must be unique. Two security principals, each having the same SPN,
causes the delegation to fail.
■
There is an incorrect configuration on the IIS server. You must configure IIS
to use Kerberos authentication. Ensure that the Web application is configured
for Integrated authentication. Also, make sure the Negotiate authentication
provider has not been disabled. For more information, see the Microsoft Knowledge Base article 215383, “How to Configure IIS to Support Both the Kerberos
Protocol and the NTLM Protocol for Network Authentication” available at
http://support.microsoft.com/kb/215383.
Robert Greene
Microsoft Support Escalation Engineer
Configuring Kerberos in Windows Server 2008
As mentioned earlier, Kerberos is the default authentication protocol for clients using
Windows 2000 or later to log on to AD DS. You can configure several Kerberos properties
through the domain security policy. To access the Kerberos policy settings, open the Group
Policy Management console and edit the Default Domain Policy. Under Computer Configuration, first expand Security settings and then expand the Account Policies folder. (The interface
is shown in Figure 8-7.)
Figure 8-7
Configuring the Kerberos settings through Domain Security Policy.
294
Part III:
Administering Windows Server 2008 Active Directory
■
Enforce User Logon Restrictions This policy sets the option for the KDC to validate
every request for a session ticket against the user rights setting on the target computer.
If this policy is enabled, the user requesting the session ticket must have either the
Allow Log On Locally right, if they are logging on interactively, or the Access This
Computer From The Network right on the target computer. The Allow Log On Locally
right and the Access This Computer From The Network right are assigned under
Local Policies\User Rights Assignment in the Domain Security Policy. By default, this
policy is enabled.
■
Maximum Lifetime For Service Ticket This policy sets the maximum amount of time
(in minutes) that a service ticket can be used to access a specific service. If the setting is
zero minutes, the ticket will never expire. If the setting is not zero, the setting must be
greater than 10 minutes and less than, or equal to, the setting for Maximum Lifetime For User
Ticket. By default, the setting is 600 minutes (10 hours).
■
Maximum Lifetime For User Ticket This policy sets the maximum amount of time
(in hours) that a user’s TGT can be used. After the TGT expires, a new one must be
requested from the KDC or the existing ticket must be renewed. By default, the setting
is 10 hours.
■
Maximum Lifetime For User Ticket Renewal This policy sets the amount of time (in
days) that a TGT can be renewed (as opposed to having to get a new TGT). By default,
the setting is 7 days.
■
Maximum Tolerance For Computer Clock Synchronization This policy sets the maxi-
mum time difference (in minutes) that Kerberos will tolerate between the time on a
client computer and the time on the domain controller that provides Kerberos authentication. If the time difference between the two computers is greater than this tolerance
level, all Kerberos tickets will be refused. By default, the setting is 5 minutes. Be aware
that if this setting is changed, it will revert to the default when the computer is restarted.
In most cases, the default Kerberos settings are appropriate. In high security environments,
you can decrease the settings for ticket lifetimes. However, as these settings are decreased, the
clients will need to connect to the KDC more often, creating additional network traffic and
additional load on the domain controllers. As a best practice, it is recommended that these
settings should always be defined within one Group Policy object and the GPO should be
linked at the domain level.
Integration with Public Key Infrastructure
As mentioned earlier, Kerberos is based on a shared-secret authentication model. This
provides excellent security but imposes one important limitation on providing access to a
Windows Server 2008 network. This limitation is that every user who accesses the network
must have a user account in the KDC account database. If a user does not exist in the database, he or she cannot be granted any access to the network.
Chapter 8:
Active Directory Domain Services Security
295
This works well for a company in which all users who log on to the network are known, and
a user account can be created for each user. However, many companies are expanding the
list of users who require access to network resources to include users who are not employees.
A company may enter into a short-term partnership with another company and be required to
provide access to network resources to employees from the partner organization. Or a company may want to provide specified customers with access to resources on the company
network. In these scenarios, the list of people requiring access to the network might be very
long, so creating a user account for each of the users would be impractical.
Public Key Infrastructure (PKI) moves away from a shared-secret authentication model and
replaces it with a certificate-based authentication model. In PKI, users are not authenticated
based on the fact that they know the correct password, but they are authenticated based on
the fact that they hold the right certificate. PKI is based on three essential concepts: public and
private keys, digital certificates, and certificate authorities (CAs). PKI begins with the concept
that every user or computer involved in the information exchange has two keys: a private
key and a public key. The private key is known only to one user. It can be stored on the
computer’s hard drive, as part of a roaming profile, or on a different device, such as a smart
card. The public key, on the other hand, is made available to anyone who asks for it. The
private and public keys are mathematically related, but there is no way to derive a private key
from a public key. These public and private keys are used in a variety of ways.
One way that public and private keys are used is to encrypt information as it is sent across
the network. A user’s public key is used to encrypt the message. Because the public key is
made available to anyone who requests it, anyone can send a message encrypted with a user’s
public key. However, the only key that can decrypt the message is the user’s private key. That
means that the only person who can decrypt a message that is encrypted using a public key
is the person holding the private key. Anyone else capturing this packet on the network does
not have the correct private key and therefore cannot read the message.
Another way that public and private keys are used is to digitally sign messages sent between
two users. A digital signature is used to ensure the identity of the sender of the message and
also to ensure the integrity of the message. To create a digital signature, the entire message is
sent through a mathematical hash. This hash creates a message digest, which is encrypted
using the message sender’s private key. The encrypted hash is sent with the message as a
digital signature. When the message recipient gets the message, the same hash is applied to
the message, creating a second message digest. Then the sender’s public key is used to decrypt
the digital signature. If the recipient’s message digest is identical to the result of the decrypted
signature, the integrity and authenticity of the message are confirmed.
The second component of PKI is the digital certificate. The purpose of a certificate is to identify
the certificate holder. When a person or company applies for a certificate from a certificate
authority (CA), the CA confirms the identity of the person or company requesting the certificate. When you create the certificate request, the private key is created and stored on the local
computer. When the certificate is assigned, the user is also given the associated public key. The
296
Part III:
Administering Windows Server 2008 Active Directory
certificate is also digitally signed by the certificate authority, thus adding the certificate authority’s stamp of authenticity to the certificate. The current standard for these certificates is X.509
v3. The certificate includes information about the person, computer, or service to which the certificate has been issued, information about the certificate itself, such as the expiration date, and
information about the CA that issued the certificate.
The certificates required for PKI are issued by CAs, which are network servers that manage
the granting and revoking of certificates. Because of the importance of PKI for the Internet, a
wide variety of CAs is currently available, including popular commercial CAs such as Verisign
and Thawte. Most Internet clients like Microsoft Internet Explorer are automatically configured to trust certificates issued by these commercial CAs. You can also set up your own CA
using Windows Server 2008. The Active Directory Certificate Services (AD CS) role included
with Windows Server 2008 is a full-featured CA that can be used to issue certificates to people
within your company or to people in partner organizations.
Note
One of the benefits of using AD CS is that you can deploy the CA as an Enterprise CA.
The Enterprise CA is tightly integrated with AD DS, which means that you can configure
policies to automatically issue and manage certificates to users and computers. Chapter 17,
“Active Directory Certificate Services,” provides details on planning and implementing AD CS.
One reason for using certificates is to allow users who may not have an account in AD DS to
gain access to resources on the Windows Server 2008 network. For example, you may want
to set up a secure Web site so that partner organizations or customers can get access to some
confidential information on your network. However, in Windows Server 2008, permission to
access network resources can only be granted to security principals. There is no option to
assign permissions based solely on certificates. However, you can provide access to resources
for users who have certificates, but not AD DS user accounts, by mapping a certificate to a user
account and then using the account to assign permissions.
Windows Server 2008 provides two different ways that a certificate can be mapped to a user
account:
■
One-to-one mapping In this case, a single certificate is mapped to a single Windows
Server 2008 user account. With a one-to-one mapping, you must assign a certificate as
well as create a user account for each user. This may be a good solution if you want
remote employees of the company to access secure resources through a secure Web site.
However, it does not simplify your administration. Nonetheless, with one-to-one name
mapping you can control the level of access for each user.
■
Many-to-one mapping In this case, many certificates are mapped to one AD DS
account name. For example, if you are creating a partner relationship with another
company and the employees of the company need access to a secure Web site, you can
create one user account. Then you can link as many certificates as you want to that one
Chapter 8:
Active Directory Domain Services Security
297
user account. For example, if that company has its own CA, you can create a rule that
maps all certificates issued by that CA to one user account in your domain. Then
you can assign permissions to network resources using that one account.
Note
You can map certificates to user accounts through the Active Directory Users
And Computers administrative tool or through the Microsoft Internet Information Server
(IIS) Manager. In the Active Directory Users And Computers administrative tool, enable
Advanced Features on the View menu and then use the Name Mappings option that is
available when you right-click a user account.
Integration with Smart Cards
Smart cards provide another option for integrating PKI with Kerberos authentication. When
Kerberos is used without PKI, the shared secret between the client and the KDC is used to
encrypt the initial logon exchange with the authentication service. This key is derived from
the user’s password, and the same key is used to encrypt and decrypt the information. Smart
cards use a PKI model in which both a public key and a private key are used to encrypt and
decrypt the logon information.
A smart card contains the user’s public and private keys, plus an X.509 v3 certificate. All of
these components are used when the user uses the smart card to authenticate to AD DS. The
logon process begins when the user inserts a smart card into the smart card reader and enters
his or her personal identification number (PIN). The insertion of the smart card into the
reader is interpreted as a Ctrl+Alt+Del sequence by the LSA on the computer, and the logon
process begins.
The PIN is used to read the user’s certificate and public and private keys from the smart card.
The client then sends a regular TGT request to the KDC. However, rather than sending the
preauthorization data (time stamp) encrypted with the user’s secret key derived from the
password, the client sends the public key and the certificate to the KDC. The TGT request still
includes the preauthorization data, but it is digitally signed with the user’s private key.
When the message arrives at the KDC, it checks the client certificate to ensure that it is valid
and that the CA that issued the certificate is trusted. The KDC also checks the digital signature of the preauthorization data to ensure the authenticity of the message sender and the
integrity of the message. If both of these checks come back positive, the KDC uses the user
principal name (UPN) included on the client certificate to look up the account name in AD
DS. If the user account is valid, the KDC authenticates the user and sends a TGT including a
session key back to the client. The session key is encrypted using the client’s public key, and
the client uses its private key to decrypt the information. This session key is then used for all
connections to the KDC.
298
Part III:
Administering Windows Server 2008 Active Directory
Note
It takes a considerable amount of work to set up smart card logon for your network.
First of all, you will have to deploy a CA to issue the certificates. Then you will have to set
up smart card enrollment stations where users can get their smart cards, and the certificates
and keys can be assigned to the cards. After the initial deployment, you will have to handle
the administrative tasks of dealing with lost or forgotten cards. Smart cards provide excellent
additional security on your network, but this additional security comes with considerable
administrative effort. In many organizations, smart cards are used only to secure administrative
accounts and to enable remote access security.
Interoperability with Other Kerberos Systems
Because Kerberos is based on an open standard, it provides excellent opportunities for
interoperability with other Kerberos-based systems. Any of the components that are part of
the Windows Server 2008 Kerberos implementation can be replaced by a non-Windows
equivalent. These three components are:
■
The Kerberos client
■
The Kerberos Key Distribution Center
■
The network resource that is using Kerberos for authorization
There are four possible scenarios for interoperability:
■
A Windows 2000 or Windows XP Professional client may be logging on to a domain
controller running Windows Server 2008 and accessing resources on either a server
running Windows Server 2008 or on another Kerberos-based service.
■
A Windows client may be logging on to a non-Windows KDC and accessing resources
on either a server running Windows Server 2008 or on another Kerberos-based service.
Note
Windows Server 2008 provides the command-line tool Ksetup.exe, which can
be used to configure Windows clients to communicate with non-Windows KDCs.
■
A non-Windows Kerberos client may be logging on to a Windows Server 2008 KDC
and accessing resources on a server running Windows Server 2008 or on another
Kerberos-based service.
■
A non-Windows Kerberos client may be logging on to a non-Windows Kerberos
implementation and accessing resources on a server running Windows Server 2008 or
on another Kerberos-based service.
Windows Server 2008 can be configured to participate in any of these configurations. The
easiest option is a homogenous solution in which either the entire environment is based on
Windows Server 2008 Kerberos or on a non–Windows-based Kerberos implementation.
Chapter 8:
Active Directory Domain Services Security
299
However, the Windows Server 2008 implementation of Kerberos also makes it fairly easy to
interoperate with other Kerberos implementations. The easiest way to implement this is to
create cross-realm trusts between the Windows Server 2008 domain and the non-Windows
Kerberos realm. These realm trusts can be configured as transitive or nontransitive and as
one-way or two-way. To configure a trust with another realm, open the Active Directory
Domains And Trusts administrative tool and access the Properties sheet for the domain where
you want to create a trust. On the Trusts tab, click New Trust, and the New Trust Wizard will
start. Using this wizard, you can create the Windows Server 2008 side of the trust with
another Kerberos realm.
More Info Microsoft provides a step-by-step guide to configuring Kerberos cross-realm
trusts. This guide, titled “Step-by-Step Guide to Kerberos 5 (krb5 1.0) Interoperability,” is available on the Microsoft Web site at http://technet.microsoft.com/en-us/library/Bb742433.aspx.
Troubleshooting Kerberos
If your organization has deployed only Windows 2000 or later clients and servers, all users in
your organization will use Kerberos as the authentication protocol. Because all client access
to network resources is based on a successful authentication, any authentication failure will
significantly disrupt user interaction with the network. This means that you need to be
prepared to troubleshoot Kerberos authentication.
TCP/IP Network Connectivity Requirements
For Kerberos authentication to succeed, client computers must be able to communicate
with domain controllers. If firewalls are deployed between the client computers and domain
controllers, ensure that the ports listed in Table 8-1 are open.
Table 8-1
Ports Required for Kerberos Authentication
Port
Service
Description
53/TCP
DNS service
The internal DNS server needs to be accessible to all
clients for the location of KDC computers.
88/UDP
Kerberos ticketgranting service
All clients need to be able to connect to this port on the
KDC servers.
123/TCP
Time service
All clients need to be able to connect to this port for time
synchronization, either to an internal time server or to
an external time source.
Microsoft Windows
2000 Kerberos
change password
protocol
This port is also used by the kpasswd protocol. This port
should only be open if clients use the kpasswd protocol.
53/UDP
88/TCP
123/UDP
464/TCP
300
Part III:
Administering Windows Server 2008 Active Directory
Note
Although not required for Kerberos authentication, you should ensure that client
computers can also communicate with domain controllers using LDAP (Port 389) and Global
Catalog LDAP (Port 3268) in order to perform directory lookups.
Troubleshooting Authentication
When users cannot log on to the domain, the problem may be related to Kerberos authentication. In particular, if the system event log on domain controllers or client computers shows
errors from any services that provide authentication such as Kerberos, KDC, LsaSrv, or Netlogon, you should approach the troubleshooting as a Kerberos error. You should also check
the security event log for failure audits that may provide hints as to why authentication failed.
As a first step in troubleshooting authentication failures, use the Windows network troubleshooting tools to verify server and client availability and configuration. For example, you
can use Dcdiag to check the health status of the services supporting the authentication
services on the domain controllers. On the client side, check the IP address configuration
and clear the name cache. You can also run the Nltest command to verify that the domain
controller with which the client has established the secure channel is the expected one. You
can also use Nslookup and Portquery to eliminate name resolution or port blocking issues.
If you suspect that the authentication error is due to a Kerberos problem, take the following
steps to further identify the cause of the error:
1. Use Kerberos Tray or Kerberos List to verify that you have a service ticket for the server
you are attempting to connect to. These tools will list all of the service tickets active on
the workstation. If you have a service ticket for the server and you are still getting an
error message when trying to access a resource, the problem may be a service principal
name error or an authorization error.
2. If you do not have a service ticket, then use Kerberos Tray or Kerberos List to confirm
that you have a TGT. The TGT is granted by the KDC service on a domain controller
when the user logs on. If you have a TGT but no service ticket, examine the system event
log. Errors logged in the system log will help you determine why you cannot get a ticket
for the service.
Note
By default, detailed Kerberos event logging is not enabled. To enable Kerberos
logging, add a LogLevel value of REG_DWORD type to the HKEY_LOCAL_MACHINE\
SYSTEM\CurrentControlSet\Control\Lsa\Kerberos\Parameters registry key. Set the value
to 0x1.
3. If Kerberos authentication is failing, check the system event log or captured data in a
network trace, which should contain the Kerberos error code that was returned by the
KDC or the Kerberos SSP.
Chapter 8:
Active Directory Domain Services Security
301
More Info
For a complete listing of error codes that relate to Kerberos authentication,
see the “Troubleshooting Kerberos Errors” article at http://www.microsoft.com/technet/
prodtechnol/windowsserver2003/technologies/security/tkerberr.mspx.
Some common reasons for Kerberos authentication errors are:
■
The time difference between the client computer and domain controllers is more than
five minutes. When a Kerberos client authenticates, it includes a time stamp inside
the authentication packet sent to the KDC. In addition, all tickets issued by the KDC
have an expiration time. This means that Kerberos authentication relies on the date and
time that are set on the KDC and the client. If there is too great a time difference between
the KDC and a client requesting tickets, the KDC cannot determine whether the request
is legitimate or a replay. Therefore, it is vital that the time on all of the computers on a
network be synchronized in order for Kerberos authentication to function properly. This
means that all of the domains and forest in a network must use the same time source. An
AD DS domain controller will act as an authoritative time server for its domain, which
guarantees that an entire domain will have the same time. However, multiple domains
might not have their times synchronized. It is recommended that you use either an
external time source or a single time source within the network to synchronize all
computers.
■
AD DS replication may be failing or delayed. The Kerberos ticketing process leverages
account password hashes, so if the user or computer has recently changed their password and this new password has not replicated throughout the environment, the KDC
may encrypt a service ticket with the wrong secret. When this happens, Kerberos
authentication will fail.
■
UDP packets may be fragmented between the client computer and domain controllers.
By default, Kerberos authentication uses UDP to transmit its data. However, UDP
provides no guarantee that a packet sent along the network will reach its destination
intact. Thus, in environments with a high amount of network congestion, it is common
for packets to get lost or fragmented on the way to their destination. You can diagnose
UDP fragmentation by reviewing Network Monitor captured data. If network congestion is causing UDP fragmentation, you should consider configuring the Kerberos
authentication service to use TCP instead of UDP. TCP provides a guarantee that a
packet that is sent will reach its destination intact and can therefore be used in any
network environment. In order to force Kerberos authentication to use TCP, see “How
to Force Kerberos to Use TCP Instead of UDP” in the Microsoft Knowledge Base at
http://support.microsoft.com/kb/244474.
■
Users may be members of too many groups. After the user has successfully authenticated, the KDC will transmit Privilege Attribute Certificate (PAC) data in the TGT. The
PAC contains various types of authorization data including groups that the user is a
member of, rights the user has, and what policies apply to the user. When the client
302
Part III:
Administering Windows Server 2008 Active Directory
receives a ticket, the information contained in the PAC is used to generate the user’s
access token. In order to optimize performance, the buffer size for the PAC is preallocated. The preallocated buffer size is usually adequate to hold all the required authorization data. However, if a user has a very high group membership—from over 70 to over
120, depending on what groups—the size of the PAC might exceed the preallocated
buffer size. In such a case, the system will generate a memory allocation error, PAC
creation will fail, and the Kerberos ticket-granting service will either fail to generate a
valid ticket or will generate a ticket with an empty PAC. You can use the Tokensz.exe tool
to verify that this is the problem. If this is the problem, you can reduce the number of
groups that the user is a member of or modify the registry to increase the MaxTokenSize
value for domain workstations. See “New Resolution for Problems with Kerberos
Authentication When Users Belong to Many Groups” in the Microsoft Knowledge Base
at http://support.microsoft.com/kb/327825.
■
The service principal name for the requested server may not be available. Service
principal names (SPNs) are unique identifiers for services running on servers. Each
service that will use Kerberos authentication needs to have an SPN set for it so that
clients can identify the service on the network. It is registered in AD DS under a user or
computer account as an attribute called service-Principal-Name. The SPN is assigned to
the account under which the service or application is running. Any service can look up
the SPN for another service. When a service authenticates to another service, it uses that
service’s SPN to differentiate it from other services running on the same computer. In
general, SPNs should be set when you create a computer account. If an SPN is not set for
a service, then the KDC will have no way of locating that service. Because multiple
services can run simultaneously under the same account, setting an SPN requires four
pieces of information that will make the SPN unique:
❑
The service class, which allows you to differentiate between multiple services
running under the same account
❑
The account under which the service is running
❑
The computer on which the service is running, including any aliases that point to
that computer
❑
The port on which the service is running
These four pieces of information uniquely identify any service running on a network and can
be used to mutually authenticate to any service. If the SPN for a service is not registered in
AD DS, use the Setspn.exe utility to configure the SPN. For details, see the “Service Logons
Fail Due to Incorrectly Set SPNs” article at http://technet2.microsoft.com/windowsserver/en/
library/579246c8-2e32-4282-bce7-3209d1ea8bf11033.mspx?mfr=true.
Service principal names must be unique. Another common problem related to service principal
names is that multiple accounts (user or computer) have the same SPN defined on them. The
best way to test for this is to do an LDAP query to search for the existence of accounts that have
Chapter 8:
Active Directory Domain Services Security
303
duplicate SPNs. For details, see the “Event ID 11 in the System Log of Domain Controllers”
article at http://support.microsoft.com/kb/321044.
NTLM Authentication
The second option for authenticating to a Windows Server 2008 domain controller is to
use NTLM authentication. NTLM authentication is supported primarily for backward
compatibility with client computers running Windows NT 4.0, Windows 95, and Windows 98.
This protocol is used in the following situations:
■
When a computer running Windows 95, Windows 98, or Windows NT authenticates to
a Windows Server 2008 domain controller. The Active Directory Client Extension
must be installed on computers running Windows 95 and Windows 98, or these
operating systems can only authenticate using the LAN Manager protocol.
■
When a computer running Windows XP Professional or Windows Server 2008 authenticates to a server running Windows NT 4.
■
When any client accesses a stand-alone server running Windows Server 2008.
■
When a client running Windows XP Professional or Windows 2000 tries to log on to a
Windows Server 2008 domain controller but is unable to authenticate by using the
Kerberos protocol. In this instance, NTLM authentication can be used as an alternative
protocol.
More Info The Active Directory Client Extension is available for download from “How
to Install the Active Directory Client Extension” at http://support.microsoft.com/kb/
288358.
The NTLM protocol is significantly less secure than Kerberos. With Windows NT 4 Service
Pack 4, Microsoft introduced a new version of the NTLM protocol called NTLMv2. This new
version includes additional security, such as creating a unique session key each time a new
connection is established, as well as an advanced key-exchange process to protect the session
keys.
NTLM uses a challenge-response mechanism to authenticate users and computers. With this
format, the user is prompted (the challenge) to provide some personal information (the
response). Windows Server 2008 supports the following three methods of challenge-response
authentication:
■
LM authentication is the least-secure form of challenge-response
authentication. You can use LM authentication to provide compatibility with older
operating systems, including Windows 95 and Windows 98, without the Active
Directory Client Extension installed. There are also earlier applications that might rely
on this authentication mechanism. However, LM authentication is the weakest protocol,
LAN Manager (LM)
304
Part III:
Administering Windows Server 2008 Active Directory
because when a password is created by the user and stored for use with LM, the
password is converted to all uppercase. The password is limited to 14 characters, which
are stored on the computer in two seven-character hashes.
■
NTLM version 1 This is a more secure form of challenge-response authentication than
LM. It is used for connecting to servers running Microsoft Windows NT with Service
Pack 3 or earlier. NTLMv1 uses 56-bit encryption to secure the protocol.
■
NTLM version 2
This is the most secure form of challenge-response authentication.
This version includes a secure channel to protect the authentication process. It is
used for connecting to servers running Windows 2000, Windows XP, and Windows
NT with Service Pack 4 or higher. NTLMv2 uses 128-bit encryption to secure the
protocol.
Domain controllers running Windows Server 2008 can accept all types of authentication
protocols, including LM, NTLMv1 and NTLMv2, and Kerberos, to ensure compatibility with
earlier operating systems. To ensure that computers in your organization accept only the
most secure authentication protocols, you can configure Group Policy to support only the
more secure protocols, such as NTLMv2 and Kerberos.
Windows Server 2008 provides the following two options for enhancing authentication
security by using Group Policy. Both of these options are available in the Computer
Configuration\Policies\Windows Settings\Security Settings\Local Policies\Security
Options section.
■
By
default, this option is enabled in a Windows Server 2008 domain and is enforced by the
default domain policy. This means that the policy applies to all member servers as well
as domain controllers. When this option is enabled, the server will not create a copy of
the LAN Manager password hash the next time a user changes their password.
Network Security: Do Not Store LAN Manager Hash Value On Next Password Change
Security Alert
If you store LAN Manager password hash values, anyone gaining
access to the AD DS data store file will be able to extract the user passwords from the file.
As a best practice, you should never disable this option in a Windows Server 2008
domain. If you have this option disabled, identify if there are any applications or client
operating systems that require this option to be disabled. If there are specific servers that
require this option, move the servers to a separate OU and disable the option for just
that OU. If you change this setting from disabled to enabled, you should force all users
to change their passwords so that all LAN Manager hashes are deleted from the AD DS
data store.
■
This setting specifies the
minimum level of authentication that must be supported by all clients on the network.
The configuration options are listed in Table 8-2.
Network Security: LAN Manager Authentication Level
Chapter 8:
Table 8-2
Active Directory Domain Services Security
305
LAN Manager Authentication Settings
Level
Setting
Result
0
Send LM & NTLM
responses
Clients use LM and NTLM authentication and never use
NTLMv2 session security; domain controllers accept LM,
NTLM, and NTLMv2 authentication.
1
Send LM & NTLM—use
NTLMv2 session security
if negotiated
Clients use LM and NTLM authentication and use NTLMv2
session security if the server supports it; domain controllers
accept LM, NTLM, and NTLMv2 authentication.
2
Send NTLM response only Clients use NTLM authentication only and use NTLMv2
session security if the server supports it; domain controllers
accept LM, NTLM, and NTLMv2 authentication.
3
Send NTLMv2 response
only
Clients use NTLMv2 authentication only and use NTLMv2
session security if the server supports it; domain controllers
accept LM, NTLM, and NTLMv2 authentication.
4
Send NTLMv2 response
only/refuse LM
Clients use NTLMv2 authentication only and use NTLMv2
session security if the server supports it. Domain controllers
refuse LM and accept only NTLM and NTLMv2 authentication.
5
Send NTLMv2 response
only/refuse LM & NTLM
Clients use NTLMv2 authentication only and use NTLMv2
session security if the server supports it; domain controllers
refuse LM and NTLM (they accept only NTLMv2 authentication).
By default, this setting is configured at Level 3, Send NTLMv2 response only for the Default
Domain Controller Policy in Windows Server 2008. It is recommended that you set the
authentication level to Level 4 or higher to ensure that the domain controller will not accept
LM authentication. Doing so might cause some applications that rely on earlier authentication
methods to fail.
More Info
For a detailed explanation of the issues you may experience if you increase the
security settings for LM authentication, as well as other security settings, see “Client, Service,
and Program Incompatibilities That May Occur When You Modify Security Settings and User
Rights Assignments” at http://support.microsoft.com/kb/823659/en-us.
Implementing Security for Domain Controllers
In addition to configuring AD DS security by configuring the authentication settings, you
should also take additional steps to secure your domain controllers. Because the domain
controllers store all of the AD DS data, securing your domain controllers is a critical step in
increasing the security of your AD DS deployment.
Note
Two key components when planning domain security are configuring secure domain
boundaries and planning for the physical security of your domain controllers. See Chapter 5,
“Designing the Active Directory Domain Services Structure,” for details on designing administrative isolation and autonomy, and for planning considerations for deploying read only domain
controllers in locations where you cannot ensure the physical security of the domain controllers.
306
Part III:
Administering Windows Server 2008 Active Directory
Decrease the Domain Controller Attack Surface
The first step in securing domain controllers is to reduce the attack surface on the domain
controller. When you reduce the attack surface, you are reducing the number of options available to an attacker to gain access to the domain controller. Usually this means that you remove
all applications and disable all services that are not required on the domain controller.
One of the best tools available for reducing the attack surface of a domain controller is the
Security Configuration Wizard (SCW). When you run the SCW, the SCW examines the actual
configuration for the target server. Based on the information gathered during the examination, the SCW identifies which server roles, client features, and other components are
installed and enabled on the computer. The SCW then uses a security configuration database
to identify which services and settings need to be enabled on the server. The SCW uses this
information and the decisions that you make when you create an SCW policy to:
■
Disable services that are not required. The SCW policy will disable any services that
are not required on the server based on the server roles installed. You can also configure
the SCW to disable or not modify the service startup settings for any services not
included in the Security Configuration Database.
■
Configure Windows Firewall. When you apply an SCW policy, it will block access to
the server for all ports other than those ports required to provide the server role
functionality. You can also configure the policy to apply further address or security
restrictions for ports that are left open. For example, you can configure Windows Firewall to only accept connections from a local subnet, or only accept connections for
certain protocols when the connection is secured by IPSec.
■
Prohibit unnecessary IIS Web extensions. If IIS is installed on the server, the SCW policy
can be used to disable IIS Web extensions that are not required.
■
Reduce protocol exposure to server message block (SMB), LanMan, and Lightweight
Directory Access Protocol (LDAP).
■
When you run the SCW, you can choose which types of clients and servers you have on
your network. Based on the decisions you make, the SCW can configure the servers
to only accept encrypted SMB or LDAP connections and to disable LAN Manager
connections.
■
Configure an audit policy. When you run the SCW, you can also configure an audit
policy for the server.
SCW guides you through the process of creating, editing, applying, or rolling back a security
policy based on the selected roles of the server. The SCW is made up of three components:
■
The SCW guides you through the process of creating a security
policy, based on the roles performed by a given server. After a policy is created, it can be
SCW user interface
Chapter 8:
Active Directory Domain Services Security
307
edited or applied to one or more similarly configured servers. Applied policies can be
rolled back in order to undo changes that have caused problems.
■
Scwcmd command-line tool SCW includes the Scwcmd.exe command-line tool. You
can use Scwcmd for the following tasks:
❑
Configure one or many servers with an SCW-generated policy.
❑
Analyze one or many servers with an SCW-generated policy.
❑
View analysis results in HTML format.
❑
Roll back SCW policies.
❑
Transform an SCW-generated policy into native files that are supported by Group
Policy.
❑
Register a Security Configuration Database extension with SCW.
Note
When you use Scwcmd to configure, analyze, or roll back a policy on a remote
server, SCW is required to be installed on the remote server.
■
Security Configuration Database The Security Configuration Database consists of a set
of XML documents that list services and ports that are required for each server role that
is supported by SCW. These files are installed in %Systemroot%\Security\Msscw\KBs.
When you run the SCW, it uses the Security Configuration Database to determine:
❑
Which roles are installed on the server
❑
Which roles are likely being performed by the server
❑
Which services are installed but are not part of the Security Configuration
Database
❑
The IP addresses and subnets that are configured for the server
SCW combines this server-specific information into a single XML file named Main.XML. The
Security Configuration Wizard displays Main.XML if you click View Security Configuration
Database on the Processing Security Configuration Database page. Figure 8-8 shows the
information that is displayed for the domain controller role on a server running Windows
Server 2008.
On the Disc
For an example of an SCW policy configured for a domain controller, see the
SampleDC_SCWPolicy.xml file on the CD. You can open this file in Internet Explorer, or open
it in SCW.
308
Part III:
Administering Windows Server 2008 Active Directory
Figure 8-8
SCW domain controller services and firewall rules.
After configuring an SCW policy, you can apply the policy to the server where you configured
the policy. You can also apply that SCW policy to other computers with the same configuration by running use the Scwcmd tool to either directly apply the policy or to transform the
policy into a Group Policy Object that can then be linked to the Domain Controllers OU. For
details on how to do this, see Chapter 13.
Caution Be careful when applying an SCW policy that was configured on one computer to
other computers. The SCW policy is specific to the computer where it was created, so if the
other computers have a different configuration (for example, they are running other server
roles or applications), the SCW policy may disable services or block firewall ports. Ensure that
all servers have the same configuration before applying the SCW policy.
Configuring the Default Domain Controllers Policy
In addition to reducing the domain controller attack surface, you can also use Group Policy to
increase the security of your domain controller deployment. When you deploy a Windows
Server 2008 domain, the following two default GPOs are created and applied to the domain
and to the Domain Controllers OU:
■
Default Domain Policy, which is linked to the domain object and affects all users
and computers in the domain (including computers that are domain controllers)
through policy inheritance.
Chapter 8:
■
Active Directory Domain Services Security
309
Default Domain Controllers Policy, which is linked to the Domain Controllers OU.
This policy generally affects only domain controllers, because by default, computer
accounts for domain controllers are kept in the Domain Controllers OU.
You can configure security policies using both the Default Domain Policy and the Default
Domain Controller Policy. By default, all polices defined at the domain level are inherited by
OUs in the domain unless the policy inheritance is blocked or a policy linked to the OU
contains settings that override the domain policies. By applying domain controllers specific
security settings in the Default Domain Controller Policy, or in another GPO linked to the
Domain Controllers OU, you can apply security policy settings that are specific to domain
controllers, but not to all users, groups, and computers in the domain.
Note
This chapter is primarily concerned with domain controller security, so this chapter will
focus on settings available in the Default Domain Controllers Policy. For details on configuring
the security settings in the Default Domain Policy, see Chapter 13. For details on configuring
Group Policy, including configuring Group Policy links and inheritance, see Chapter 11,
“Introduction to Group Policy.”
Configuring Domain Controller Audit Policy Settings
One of the key components in a domain controller security policy is auditing changes made
on the domain controllers. By auditing changes made on domain controllers, you can identify
who is responsible for directory changes and when the changes were made.
Windows Server 2008 introduces some important changes to the auditing on domain controllers.
In Windows 2000 Server and Windows Server 2003, there was one audit policy, Audit
Directory Service Access, that controlled whether auditing for directory service events was
enabled or disabled. In Windows Server 2008, this policy is divided into four subcategories:
■
Directory Service Access
■
Directory Service Changes
■
Directory Service Replication
■
Detailed Directory Service Replication
Note
These subcategories are not visible through Group Policy Management Editor.
To view and configure the subcategories, use the Auditpol.exe command-line tool.
To view the current directory service access audit settings, type Auditpol /get
/category:“ds access”.
310
Part III:
Administering Windows Server 2008 Active Directory
From a security auditing perspective, the most important new feature is the Directory Service
Changes subcategory. This new subcategory adds the following functionality:
■
When you change an attribute on an object, AD DS logs the previous and current values
of the attribute. If the attribute has more than one value, only the values that change
as a result of the modify operation are logged.
■
When you create a new object, values of the attributes that are populated at the time of
creation are logged. If the user adds attributes during the create operation, those new
attribute values are logged. In most cases, AD DS assigns default values to attributes
(such as samAccountName). The values of such system attributes are not logged.
■
If an object is moved, the previous and new location (distinguished name) is logged
for moves within the domain. When an object is moved to a different domain, a create
event is generated on the domain controller in the target domain.
■
If an object is undeleted, the location where the object is moved to is logged. In addition,
if the user adds, modifies, or deletes attributes while performing an undelete operation,
the values of those attributes are logged.
By default, the Audit directory service access audit category is not enabled in the Default
Domain Controllers OU, but the Directory Service Access subcategory is enabled. This audit
policy logs when administrators access objects in AD DS, but the changes to those objects
are not logged. To enable the Directory Services Changes auditing, you can choose to enable
the Audit directory service access option in the Default Domain Controllers Policy audit
policy. When you enable this option, all subcategories are also enabled.
To enable just the Directory Service Changes subcategory, you must use the Auditpol.exe
command-line tool and run the following command:
auditpol /set /subcategory:"directory service changes" /success:enable
Windows Server 2008 also introduces subcategories under the other audit categories. The
categories, subcategories, and default settings for AD DS specific audit settings are listed in
Table 8-3. To view these audit settings, type Auditpol /get /category:* at a command prompt.
Table 8-3
Configuring Domain Controller Audit Policy Settings
Category
Subcategory
Default Setting
Audit logon events
Logon
Success and Failure
Audit logon events
Logoff
Success
Account Lockout
Success
Audit logon events
IPSec Main Mode, IPSec Extended Mode, IPSec
Quick Mode
No Auditing
Audit logon events
Special Logon
Success
Audit logon events
Other Logon/Logoff events
No Auditing
Audit logon events
Network Policy Server
Success and Failure
Chapter 8:
Table 8-3
Active Directory Domain Services Security
311
Configuring Domain Controller Audit Policy Settings (continued)
Category
Subcategory
Default Setting
Audit policy change
Audit Policy Change
Success
Audit policy change
Authentication Policy Change
Success
Audit policy change
Authorization Policy Change, MPSSVC Rule-Level No Auditing
Policy Change, Filtering Platform Policy Change,
Other Policy Change Events
Audit account
management
User Account Management
Success
Audit account
management
Computer Account Management
Success
Audit account
management
Security Group Management
Success
Audit account
management
Distribution Group Management, Application
Group Management, Other Account
Management Events
No Auditing
Audit account logon
events
Kerberos Service Ticket Operations
Success
Audit account logon
events
Other Account Logon Events
No Auditing
Audit account logon
events
Kerberos Authentication Service
Success
Audit account logon
events
Credential Validation
Success
In most cases, if the goal of your audit policy is to audit administrator activity in AD DS, you
should accept the default domain controller audit settings. If you are using the audit policy
for other purposes, such as intrusion detection, you may want to also audit the failure of
events such as logon events or account management events. By default, if you enable auditing
for any of the categories, auditing will also be enabled for all subcategories.
Note Configuring the audit policy is only the first step in enabling AD DS auditing. After
configuring the audit policy, you must configure the System Access Control List (SACL) on each
object to enable auditing. To do this, enable auditing for the domain or OU object in Active
Directory Users and Computers.
Configuring Domain Controller Event Log Policy Settings
When you configure the audit settings for domain controllers, you should also consider
changing the event log settings on the domain controllers. In particular, you should increase
the maximum size of the security log to accommodate the increased number of audited
events that might be generated. Table 8-4 lists the changes that are recommended for the
Event Log settings on the Default Domain Controller Policy.
312
Part III:
Administering Windows Server 2008 Active Directory
Table 8-4
Recommended Domain Controller Event Log Policy Settings
Policy
Default Setting
Recommended
Setting
Comments
Maximum securi- Not defined; by dety log size
fault, maximum log
size is 128 MB
131,072 KB
Increased to accommodate
security auditing that is enabled
in the default domain controller
Audit Policy
Prevent local
guests group
from accessing
application log
Not defined
Enabled
Prevents members of the builtin group Guests from reading
the application log events
Prevent local
guests group
from accessing
security log
Not defined
Enabled
Prevents members of the builtin group Guests from reading
the security log events
Prevent local
guests group
from accessing
system log
Not defined
Enabled
Prevents members of the builtin group Guests from reading
the system log events
Retain security
log
Not defined
(No change)
Specifies the number of days
the events are retained if the
retention method for this log is
By Days
Retain system log Not defined
(No change)
Retention meth- Not defined
od for security log
Overwrite events as
needed
Overwrites the security log
when the maximum log size is
reached to ensure that the
log contains the most recent
security events and to ensure
that logging continues
Retention meth- Not defined
od for system log
Overwrite events as
needed
Overwrites the system log when
the maximum log size is reached
to ensure that the log contains
the most recent security events
and to ensure that logging
continues
Security Alert
To ensure that you retain the audit information, you must archive the
system and security logs regularly, and before they fill up. If you accept the recommended
settings for the retention method, the oldest events will be overwritten when the log files fill
up. If you use a retention method of Do Not Overwrite Events, new events will not be written
to the log file when it has reached its maximum size.
Chapter 8:
Active Directory Domain Services Security
313
Configuring Domain Controller User Rights Assignment Policy Settings
User rights define what types of administrative or operations tasks users can perform on
domain controllers. In order to ensure domain controller security, you should configure the
user rights assignment to limit which users can log on to and perform administrative tasks
on domain controllers.
Important Most of the default settings for the domain controller user rights and security
options are configured for optimal security. Although most of the settings are configured as
Not Defined in the Default Domain Controller Policy, almost all of the settings do have a
default value which meets security requirements. To review the default value, access the setting
properties and click on the Explain tab.
Because the default settings are configured to be secure, you do not necessarily need to enable
or disable most of the settings. However, if you do modify any of these settings at the
domain level, they will be inherited by domain controllers in the Domain Controllers OU.
Before making any changes to the security settings at the domain level, you should configure
the security settings in the Default Domain Controllers Policy to match the default setting
or block policy inheritance at the Domain Controllers OU.
Table 8-5 lists the default and recommended policy settings for domain controller user rights
assignment policies.
Default and Recommended Domain Controller User Rights Assignment
Policy Settings
Table 8-5
Policy
Default Setting
Recommended
Setting
Allow log on
locally
Account Operators
Administrators
Administrators
Backup Operators
Backup Operators
Server Operators
Print Operators
Printers should not be installed
on domain controllers, so Print
Operators should not need to log
on to domain controllers.
Account Operators should have the
administration tools installed on
their workstations rather than
logging on to domain controllers.
Server Operators
Shut down the
system
Comments
Administrators
Administrators
Backup Operators
Backup Operators
Print Operators
Server Operators
See above.
Server Operators
Load and
unload device
drivers
Administrators
Print Operators
Administrators
If no printers are installed on the
domain controller, Print Operators
should not be allowed modify
device driver settings.
314
Part III:
Administering Windows Server 2008 Active Directory
Default and Recommended Domain Controller User Rights Assignment
Policy Settings (continued)
Table 8-5
Policy
Default Setting
Manage
auditing and
security log
Administrators
Recommended
Setting
Depends on company requirements
Comments
In some organizations, users other
than administrators may need to
access and manage the security
logs. Create a group for this specific
purpose and assign this right to
that group.
Configuring Domain Controller Security Options Policy Settings
The Default Domain Controllers Policy includes a large number of security settings that
affect a wide variety of domain controller, network, file system, and user logon security
configuration settings. Although some of these settings will only affect domain controllers,
other settings can also affect network connectivity for client computers.
Important
Like the user rights settings, most of the security settings are configured as
Not Defined in the Default Domain Controller Policy. However, almost all of the settings do
have a default value.
Table 8-6 lists the security setting categories available in the policy.
Table 8-6
Security Setting Categories
Category
Description
Accounts
Use these settings to enable, disable, or rename the Administrator
and Guest accounts, or to restrict access to the local accounts
with blank passwords.
Audit
Use to configure global audit settings. This category contains two
settings that require some consideration:
DCOM
■
Force audit policy subcategory settings (Windows Vista or
later). If you enable this option, you force all audit settings
to be made at the subcategory level rather than have the
subcategory inherit the category settings.
■
Shut down system immediately if unable to log security
audits. Enabling this option means that the domain
controller will be shut down if a security audit cannot be
logged. In most cases, you should disable this setting to
avoid domain controller shut downs.
Use to enable or disable users from launching DCOM
applications remotely or locally.
Chapter 8:
Table 8-6
Active Directory Domain Services Security
315
Security Setting Categories (continued)
Category
Description
Devices
Use to configure access to devices such as CD-ROMs or floppy
disks or to restrict users from installing print drivers on print servers.
Domain controller
Use to set restrictions on server operators scheduling tasks using
the AT command, configure LDAP signing, and configure the
domain controller to refuse password changes from member
computers.
Domain member
Use to configure network security settings and configure settings
for setting computer passwords.
Interactive logon
Use to set restrictions on the interactive logon process on the
domain controllers. Options include:
■
Clearing the last user logon name
■
Configuring logon messages when users log on to the
domain
■
Configuring smart card requirements
Microsoft network client
Use to configure requirements for digitally signing network
communications for client computers.
Microsoft network server
Use to configure settings for digitally signing network communications and for disconnecting users when their logon hours expire.
Network access
Use to configure a wide variety of network access settings including
whether to allow anonymous enumeration of SAM accounts
and configuring options for connecting to shares.
Recovery console
Use to define who can access the recovery console, and if floppy
drives and other drives are accessible from the recovery console.
Shutdown
Use to configure if users can shutdown the computer without
logging on and if the virtual memory pagefile should be cleared
at shut down.
System cryptography
Use to enforce security requirements for keys stored on computers,
and for algorithms used to create secure keys.
System objects
Use to set security requirements for Windows system objects.
System settings
Use to configure additional subsystems, such as POSIX, and to
enable certificate rules for software restriction policies.
User Account Control
Use to configure how user account control settings will be
applied to Windows Vista client computers.
More Info For details on all of the security settings available in Windows Server 2008,
download the Group Policy Settings Reference Windows Vista spreadsheet located at
http://www.microsoft.com/downloads/details.aspx?FamilyID=41dc179b-3328-4350-ade1c0d9289f09ef&displaylang=en.
316
Part III:
Administering Windows Server 2008 Active Directory
Implementing SMB Signing
Windows Server 2008 supports SMB signing as a means to ensure that all file share access on
domain controllers is encrypted. Computers in the same domain as the domain controller
access file shares during the user logon process to access logon scripts and profiles in the
Netlogon share. Group Policy objects are accessed through the SYSVOL share. For these
reasons, all domain controllers should take advantage of SMB signing to improve security.
Table 8-7 describes the Security Options policy settings for SMB signing.
Table 8-7
Security Options Policy Settings for SMB Packet Signing
SMB Setting
Explanation
Microsoft network client:
Digitally sign communications
(always)
The domain controller requires SMB signing when initiating
SMB requests with other domain controllers, member servers,
or workstations. The domain controller refuses to communicate
with other systems that do not support SMB signing. For
enhanced security, enable this Group Policy setting.
Microsoft network client:
Digitally sign communications
(if server agrees)
The domain controller negotiates SMB signing when initiating
SMB requests with other domain controllers, member servers,
or workstations. The domain controller requests SMB signing,
but it will communicate with other systems that do not support
SMB signing. Enable this option only if you have Windows 95
and earlier operating systems.
Microsoft network server:
Digitally sign communications
(always)
The domain controller requires SMB signing when receiving
SMB requests from other domain controllers, member servers,
or workstations. The domain controller refuses to communicate
with other systems that do not support SMB signing. For enhanced security, enable this Group Policy setting. This option is
enabled by default in the Default Domain Controllers Policy.
Microsoft network server:
Digitally sign communications
(if client agrees)
The domain controller negotiates SMB signing when receiving
SMB requests with other domain controllers, member servers,
or workstations. The domain controller requests SMB signing,
but it will communicate with other systems that do not support
SMB signing. This option is enabled by default in the Default
Domain Controllers Policy.
Note
You can also enforce these options by applying an SCW policy to the domain
controllers. When you run the SCW, you have the option of configuring registry settings on
the server to enforce SMB security. Figure 8-9 shows the interface. If you select both options,
SMB signing will be enforced on the server.
Chapter 8:
Figure 8-9
Active Directory Domain Services Security
317
Configuring SMB signing by using the SCW.
Configuring SYSKEY
By default, the AD DS data store is encrypted when it is stored on the domain controller
hard disk. This provides a level of security if an attacker gains access to the physical hard disk
on which the data store is located. The data is encrypted by using the system key (SYSKEY)
in Windows Server 2008.
You can use the SYSKEY tool to provide an extra level of security when domain controllers
start up. SYSKEY gives you three options for configuring the startup key:
■
Store Startup Key Locally This option creates a machine-generated random key stored
on the local system by using a complex encryption algorithm. This is the default
configuration of Syskey.exe, and it provides strong encryption of password information
in the registry. Because the System Key is stored on the local system, this method allows
for unattended system restarts.
■
Password Startup This option requires an administrator-chosen password to derive
the System Key. If you select this option, an administrator must enter System Key
password during system startup.
■
Store Startup Key on Floppy Disk This option creates a machine-generated random
key that stored on a floppy disk. The floppy disk with the System Key must be inserted
into the floppy drive to start the domain controller.
Configuring SYSKEY to use a password or floppy disk to start may provide an additional level
of security for domain controllers that are not physically secure. However, this option also
requires that an administrator who knows the password be present or that the floppy disk be
318
Part III:
Administering Windows Server 2008 Active Directory
available when the domain controller is restarted. If you do store the SYSKEY on a floppy disk
and the disk is lost, you will not be able to restart the domain controller.
Note
Consider using an RODC in situations where the domain controller cannot be
physically secured, rather than implementing SYSKEY security settings.
Designing Secure Administrative Practices
One of the most important components in designing AD DS security is designing secure
administrative practices. Because administrators have full control of the AD DS environment,
they can circumvent or modify even the best security design. When creating your administrative practices, consider the following suggestions:
■
Limit the number of enterprise and domain administrator accounts to highly trusted
personnel. This is particularly important for service administrator accounts. Keep the
membership of service administrator accounts to the absolute minimum and assign
only reliable, trusted users who fully understand the implications of any changes made
to the directory. Do not use service administrator accounts for day-to-day administrative
tasks.
■
Implement a change control process. All changes made in an AD DS environment
should be subject to a change control process. This is particularly important for changes
that have an impact on the entire directory service environment. For example, schema
changes should be implemented only after careful planning and testing and after
approval from the forest owners.
■
Limit the Schema Admins group to temporary members. Most organizations will change
the schema very rarely, so no one needs to be logged on as a schema administrator
on a regular basis. To secure the schema change process, keep the membership of
the Schema Admins group empty. Add a trusted user to the group only when an administrative task must be performed on the schema. Remove that user after the task is
completed.
■
Use a Restricted Group policy to restrict the membership for the critical domain and
forest accounts. When you implement a Restricted Group policy, the group membership
is monitored by the domain controllers and any users that are not included in the
Restricted Group Policy are automatically removed.
■
Ensure that administrators have and use two different accounts. For users who fill
administrative roles, create two accounts: one regular user account to be used for
normal, day-to-day tasks and one administrative account to be used only for performing
administrative tasks. The administrative account should not be mail-enabled or used
for running applications that are used every day, such as Microsoft Office, or for
browsing the Internet.
Chapter 8:
Active Directory Domain Services Security
319
■
Apply the principal of least privileges for all administrative groups. Carefully define the
permissions that are actually required for each administrative group and then assign
only those permissions. For example, if an administrator needs to manage only specific
users accounts or computer accounts, or manage only some settings for these accounts,
create an OU to contain these accounts, and then delegate permissions to the administrative account. Also avoid using the Account Operators group to assign permission to
configure user and group accounts. The default directory permissions give this group
the ability to modify the computer accounts of domain controllers, including deleting
them. By default, there are no members of the Account Operators group, and its
membership should be left empty.
■
Hide the domain administrator account. Every installation of AD DS has an account
named Administrator in each domain. This is the default administrative account, which
is created during domain setup, that you use to access and administer the directory
service. This is a special account that the system protects to help ensure that it is available when needed. This account cannot be disabled or locked out. You should rename it
to something other than Administrator. When you rename the account, make sure that
you also change the text in the Description for the account. In addition, you should
create a decoy user account called Administrator that has no special permissions or user
rights and monitor for event IDs 528, 529, and 534 in connection with both the
renamed and decoy accounts.
■
Never share administrator accounts. In some organizations, all senior administrators
know the password for the default Administrator account, and all of them use this
account to perform administrative tasks. Sharing administrator accounts makes it
impossible to accurately audit who made the changes to the directory, so this practice is
strongly discouraged. Sharing administrator accounts and passwords can also create a
security problem as administrators leave the team or company.
■
Secure the Administrative logon process. To minimize the chances of someone misusing
or compromising an administrator account, consider taking these steps to enforce
strong administrative credentials:
❑
Require smart cards for administrative logon. Have service administrators use
smart cards for their interactive logons. In addition to forcing the administrative
users to have physical possession of the cards to log on, smart cards also ensure
the use of randomly generated, cryptographically strong passwords on the user
accounts. These strong passwords help to protect against the theft of weak
passwords to gain administrative access. You can enforce the use of smart cards
by enabling the Interactive logon: Require smart card security option for each
administrative account.
❑
Split the logon credentials for sensitive administrative accounts. For each account
that is a member of the Enterprise Admins and Domain Admins groups in the
forest root domain, assign two users to share that account, so that both users
must be present to log on successfully with that account. You can split the logon
320
Part III:
Administering Windows Server 2008 Active Directory
credentials by using either split passwords (where each administrator only knows
part of the password) or split smart cards plus personal identification numbers
(PINs).
■
■
■
Secure service administrator workstations. In addition to configuring administrator
account security, you should also ensure the security of the administrator workstations.
To do this, consider implementing the following processes:
❑
Restrict which workstations service administrators can log on to. Each administrative account can be restricted so that it is allowed to log on only to specific workstations. If one of your administrative accounts is compromised, limiting the
possible workstations limits the number of locations where that account can be
used.
❑
Apply a special security policy to the administrator workstations. Consider
moving all of the service administrator workstations into a dedicated OU and then
apply a highly secure policy for the workstations. For example, you might limit
the Allow Log On Locally user right to the service administrator accounts.
❑
Ensure that administrative workstations have all security updates installed and
the antivirus software on the workstations is current.
❑
Encourage administrators to use Remote Desktop to perform administrative tasks.
You can enable Remote Desktop on any Windows Server 2008 server and
configure the security settings so that only specified administrators can connect to
the server through Remote Desktop. If you install the Remote Desktop 6 client
on Windows XP clients or use a Windows Vista client, you can enforce network
encryption for all Remote Desktop connections.
Secure backup media. When you back up the domain controllers in your organization,
the entire directory store is copied to the backup media. Although the data is encrypted,
an attacker who gains access to the tapes will have unlimited time to decrypt and gain
access to the data. You can help prevent unauthorized users from gaining physical
access to backup media by doing the following:
❑
Store backup media that is used on-site in a secure location where access is
audited.
❑
Store archival backup media securely off-site.
❑
Establish secure processes for transporting backup media.
Set object ownership quotas. On domain controllers that are running Windows
Server 2008, you can set quotas that limit the number of objects that a security principal
(user, group, computer, or service) can own in a domain, configuration, or application
directory partition. By default, the security principal that creates an object is the object
owner, although ownership can be transferred. AD DS quotas eliminate the ability to
create unlimited numbers of objects in a directory partition, which can be used for
denial-of-service attacks. By default, quotas are not set; therefore, there are no limits to
Chapter 8:
Active Directory Domain Services Security
321
the number of objects that any security principal can own. To set quotas, use the Dsmod
Quota command.
Summary
This chapter provided a brief overview of the basic concepts of Windows Server 2008 AD DS
security, including the security principals, access control lists, authentication, and authorization. The first part of this chapter focused on the primary means of providing authentication
and authorization in AD DS through the Kerberos protocol. Kerberos provides a secure
mechanism for users to authenticate to AD DS and to gain access to network resources.
The second component to providing AD DS security is to secure domain controllers and
implement secure administrative practices. The second part of this chapter provided details
on how to implement this type of security.
Best Practices
■
If possible, upgrade all servers and workstations to at least Windows Server 2000 with
the latest service packs. By doing this, you can ensure that Kerberos is used for all
authentication requests, and you can configure security features like SMB signing on
domain controllers.
■
Implement dedicated domain controllers. In other words, do not run applications or
services that are not required on domain controllers. Doing so makes it easier to reduce
the attack surface of the domain controllers and also makes it easier to create one SCW
policy that can be applied to all domain controllers.
■
Implement a complex password policy and encourage administrators to configure
extremely complex passwords. Suggest that administrators use pass phrases rather than
just passwords.
■
Assign the least permissions possible to all administrator accounts. Ensure that all
administrators only have permission to perform the tasks required for their jobs.
Additional Resources
These resources contain additional information related to this topic:
Related Information
■
Chapter 5, “Designing the Active Directory Domain Services Structure,” goes into detail
on designing secure AD DS boundaries.
■
Chapter 9, “Delegating the Administration of Active Directory Domain Services,”
explains how to delegate administrative permissions within AD DS. This is useful when
applying the least permission standard.
322
Part III:
Administering Windows Server 2008 Active Directory
■
Chapter 11, “Introduction to Group Policy,” goes into detail about how to configure
Group Policy, including how to enable and block Group Policy inheritance. You may
want to block Group Policy inheritance at the Domain Controllers OU to prevent
domain level security settings from being applied to domain controllers.
■
Chapter 13, “Using Group Policy to Manage Security,” provides information on
additional Group Policy settings that are available to configure security.
■
“The Kerberos Network Authentication Service (V5),” available at http://www.ietf.org/
rfc/rfc1510.txt, describes the current Kerberos standard.
■
“Kerberos Authentication Technical Reference,” available at http://technet2.microsoft.com/
windowsserver/en/library/74d58697-970a-45db-9139-ebcd3db051181033.mspx?mfr=true
■
“Authorization and Access Control Technologies,” available at http://
technet2.microsoft.com/windowsserver/en/library/74d58697-970a-45db-9139ebcd3db051181033.mspx?mfr=true
■
“Troubleshooting Kerberos,” available at http://technet2.microsoft.com/windowsserver/
en/library/26ce2e7f-52d6-4425-88cc-1573bc5e646d1033.mspx?mfr=true
■
“Troubleshooting Kerberos Errors,” available at http://www.microsoft.com/technet/
prodtechnol/windowsserver2003/technologies/security/tkerberr.mspx
Related Tools
Windows Server 2008 provides several tools that can be used when troubleshooting Kerberos
authentication. Table 8-8 lists some of these tools and when you would use each of the tools.
Table 8-8
Kerberos Troubleshooting Tools
Tool Name
Description and Use
Klist.exe: Kerberos List
This tool is installed on Windows Server 2008 domain controllers and is
available for download as part of the Windows Server 2003 Resource Kit
tools.
Kerberos List is a command-line tool that is used to view and delete
Kerberos tickets granted to the current logon session. To use Kerberos
List to view tickets, you must run the tool on a computer that is a
member of a Kerberos realm.
Kerbtray.exe: Kerberos
Tray
Kerberos Tray is available for download as part of the Windows Server
2003 Resource Kit tools.
Kerberos Tray is a graphical user interface tool that displays ticket
information for a computer running Microsoft’s implementation of
the Kerberos version 5 authentication protocol. You can view and purge
the ticket cache by using the Kerberos Tray tool icon located in the
notification area of the desktop. By positioning the cursor over the icon,
you can view the time left until the initial TGT expires. The icon also
changes in the hour before the Local Security Authority (LSA) renews the
ticket.
Chapter 8:
Table 8-8
Active Directory Domain Services Security
323
Kerberos Troubleshooting Tools (continued)
Tool Name
Description and Use
Tokensz.exe
Kerberos Token Size is available for download from the Microsoft
download center.
Kerberos Token Size
You can use Kerberos Token Size to verify if the source of the Kerberos
errors stems from a maximum token size issue. The tool will simulate
an authentication request and report the size of the resulting Kerberos
token. The tool will also report the maximum supported size for the token.
Setspn.exe
The Setspn utility is installed on Windows Server 2008 domain controllers and is included in the Windows Server 2003 Support Tools.
The Setspn utility allows you to read, modify, and delete the Service
Principal Names (SPN) directory property for an Active Directory service
account. Because SPNs are security-sensitive, you can only set SPNs for
service accounts if you have domain administrator privileges.
Ksetup.exe
The Ksetup utility is installed on Windows Server 2008 domain
controllers and is included in the Windows Server 2003 Support Tools.
The Ksetup utility configures a client connected to a server running
Windows Server 2008 to use a server running Kerberos V5. The client
then uses a Kerberos V5 realm instead of a Windows Server 2008 domain.
Ktpass.exe
The Ktpass utility is installed on Windows Server 2008 domain controllers
and is included in the Windows Server 2003 Support Tools.
The Ktpass utility is used to configure a non–Windows Server Kerberos
service as a security principal in the Windows Server 2008 AD DS.
W32tm.exe: Windows
Time
This tool is included in Microsoft Windows server and client operating
systems.
W32tm.exe is used to configure Windows Time service settings. It can
also be used to diagnose problems with the time service.
Resources on the CD
■
SampleDC_SCWPolicy.xml. This is a sample Security Configuration Wizard file that
configures the services, Windows Firewall, and registry settings for a Windows Server
2008 domain controller.
Related Help Topics
■
Security Configuration Wizard help
Chapter 9
Delegating the Administration
of Active Directory Domain
Services
In this chapter:
Active Directory Administration Tasks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 326
Accessing Active Directory Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 327
Active Directory Object Permissions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 329
Delegating Administrative Tasks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 345
Auditing the Use of Administrative Permissions. . . . . . . . . . . . . . . . . . . . . . . . . . . 348
Tools for Delegated Administration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 352
Planning for the Delegation of Administration . . . . . . . . . . . . . . . . . . . . . . . . . . . 354
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 355
Additional Resources. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 356
Active Directory Domain Services (AD DS) is typically deployed as a common directory
service shared between various business divisions within an organization. Using a common
directory service helps reduce the costs associated with maintaining the infrastructure, but
introduces a number of other considerations:
■
How to manage users and resources independently between divisions when
decentralized administration is required
■
Ensuring that administrators or users can only perform permitted tasks within their
own business division
■
Ensuring that specific objects or information stored within the directory is only
available to administrators with the appropriate permissions
These considerations can be addressed by a thorough understanding of how to delegate
administrative tasks. Delegation involves a higher-level administrator granting permissions to
other users to perform specific administrative tasks within the Active Directory structure.
The Active Directory structure provides a hierarchical view of the directory service: first at the
site and domain level, and then at the organizational unit (OU) level within a domain. This
hierarchy provides powerful options for managing permissions and delegating administrative
tasks at various levels throughout the logical infrastructure.
325
326
Part III:
Administering Windows Server 2008 Active Directory
This chapter describes administrative delegation, starting with a discussion of the various
types of tasks that might be delegated within an enterprise. Then it describes object access,
the types of permissions that can be assigned to objects residing within the directory, and
how to use these permissions for delegation of administration. Finally, the chapter provides
information about auditing changes to objects residing within AD DS.
Active Directory Administration Tasks
Active Directory administration tasks typically fall into one of two categories—data management or service management. Data management tasks relate to the management of content
that is stored within the Active Directory database. Service management tasks relate to the
management of all aspects that are required to ensure a reliable and efficient delivery of the
directory service throughout the enterprise.
Table 9-1 describes some of the tasks that are related to each of these categories.
Table 9-1
Active Directory Administration
Category
Data management
Service management
Tasks
■
Account management—includes creating, maintaining, and
removing user accounts
■
Security group management—includes creating security
groups, provisioning security groups to grant access to network
resources, managing memberships of security groups, and
removing security groups
■
Resource management—includes all aspects of managing
network resources such as end-user workstations, servers, and
resources hosted on servers such as file shares or applications
■
Group Policy management—includes all aspects of creating,
assigning, and removing Group Policy objects within the Active
Directory structure
■
Application-specific data management—includes all
aspects of managing Active Directory-integrated or enabled
applications such as Microsoft Exchange Server
■
Installation and trust management—includes aspects such
as the creation and deletion of domains, the deployment of
domain controllers, and the configuration of appropriate Active
Directory functional levels
■
Domain controller and directory database management—
includes aspects related to the management of domain controller hardware, database maintenance, and the application of
service packs and security updates
■
Schema management—includes the extension or modification
of the schema to support the deployment of Active Directoryenabled applications
Chapter 9:
Table 9-1
Category
Delegating the Administration of Active Directory Domain Services
327
Active Directory Administration (continued)
Tasks
■
Operations master roles management—includes tasks that
ensure the proper assignment and configuration of operations
master roles
■
Backup and restore management—includes all tasks related
to performing regular backups of the directory database and
restore procedures when required
■
Replication management—includes all tasks related to the
creation, maintenance, and monitoring of the replication topology
■
Security policy management—includes all tasks related to
the management of the default domain controller security policy
and managing the password, account lockout, and Kerberos
account policies
More Info For more information about the tasks related to data management and service
management, refer to “Best Practices for Delegating Active Directory Administration” found
at http://www.microsoft.com/technet/prodtechnol/windowsserver2003/technologies/directory/
activedirectory/actdid1.mspx.
Delegating data and service management tasks within an organization requires an understanding of the administrative needs of all business units. This understanding ensures
the most effective delegation model used to provide a more effective, efficient, and secure
networking environment. To deploy the delegation model, you need to understand
Active Directory object permissions, delegation methods, and auditing. These concepts are
discussed in the next few sections.
Accessing Active Directory Objects
To effectively delegate administrative tasks, you need to know how Active Directory controls
access to objects stored within the directory service. Access control involves the following:
■
Credentials of the security principle attempting to perform the task or access the
resource
■
Authorization data used to protect the resource or authorize the task being performed
■
An access check that compares the credentials against the authorization data to determine if the security principle is permitted to access the resource or perform the task
When a user logs on to an AD DS domain, authentication takes place and the user receives an
access token. An access token includes the security identifier (SID) for the user account,
SIDs for each security group of which the user is a member, and a list of privileges held by the
user and the user’s security groups. The access token helps to provide the security context
328
Part III:
Administering Windows Server 2008 Active Directory
and credentials needed to manage network resources, perform administrative tasks, or access
objects residing in Active Directory.
Security is applied to a network resource or an Active Directory object by authorization data
that is stored in the Security Descriptor of each object. The Security Descriptor consists of
the following components:
■
Object owner The SID for the current owner of the object. The owner is typically the
creator of the object or a security principal that has taken over ownership of an object.
■
Primary group
■
Discretionary access control list (DACL) A list of access control entries (ACEs) that
define the permissions each security principle has to an object. Each security principal
that is added to the access control list obtains a set of permissions that specify the extent
to which that user or group can manipulate the object. If a user does not appear in an
ACE, either individually or as a member of a group, that user has no access to the object.
■
System access control list (SACL)
The SID for current owner’s primary group. This information is only
used by the Portable Operating System Interface for UNIX (POSIX) subsystem.
Defines the audit setting on an object including which
security principle is to be audited and the operations that are to be audited.
Figure 9-1 illustrates the architecture of a user’s access token and an object’s security descriptor. When a user tries to access a network resource or an Active Directory object, an access
check is performed and each ACE is examined until a User or Group SID match is found.
Access is then determined by the permissions configured on the ACE.
User
Access Token
Object
Security Descriptor
Owner’s SID
User SID
Primary Group SID
SACL
Group SIDs
ACE
ACE
List of privileges
and other access
information
DACL
Access
check
ACE
ACE
ACE
ACE
Figure 9-1
Access check between a user’s access token and an object’s security descriptor.
Chapter 9:
Delegating the Administration of Active Directory Domain Services
329
Evaluating Deny and Allow ACEs in a DACL
ACEs are listed within a DACL in a specific order, which has a direct affect on the outcome of
the access check. During an access check, ACEs are evaluated in sequence. The evaluation
sequence is listed as follows:
■
ACEs that have been explicitly assigned are evaluated before inherited ACEs.
■
For each set of explicit or inherited ACEs, Deny ACEs are always evaluated before Allow
ACEs.
Figure 9-2 illustrates how Allow and Deny permissions are evaluated for both explicit and
inherited ACEs.
Object
Security Descriptor
DACL
Deny ACE 1 (Explicit)
Deny ACE 2 (Explicit)
Allow ACE 1 (Explicit)
Allow ACE 2 (Explicit)
Deny ACE 1 (Inherited)
Deny ACE 2 (Inherited)
Allow ACE 1 (Inherited)
Allow ACE 2 (Inherited)
Figure 9-2
Evaluating Allow and Deny ACEs.
Active Directory Object Permissions
Every object in Active Directory has an access control list (ACL), which means that you can
modify the permissions on that object. This includes objects visible through the Active Directory Users And Computers administrative console as well as objects visible through the Active
Directory Sites and Services administrative console, ADSI Edit, or Ldp.exe. The most common
tool used to modify Active Directory object access is Active Directory Users And Computers.
However, each of the previously mentioned tools can be used to perform the common task of
managing object access within the directory service.
Access control permissions on an Active Directory object are separated into two categories:
standard permissions and special permissions. Special permissions are granular options that can
be applied to an object. A standard permission is made up of a group of special permissions
to allow or deny a specific function. For example, the Read standard permission is made up of
the Read permissions, List contents, and Read all properties special permission entries.
330
Part III:
Administering Windows Server 2008 Active Directory
Standard Permissions
To view the standard permissions for any Active Directory object in the domain directory partition, access the Security page for that object’s Properties sheet in the Active Directory Users
And Computers administrative console.
Note
If the Security page is not visible, select Advanced Features on the View menu and
then reselect the object and open its Properties sheet.
The Security page displays the group or user names that are assigned permissions to the
object. As you select a group or user entry, the associated allow or deny permissions for that
entry are shown. Figure 9-3 illustrates the permissions for the Domain Admins group on the
Sales organizational unit. Notice that, by default, the Allow box is checked for each permission
to provide the Domain Admins group full control over the Sales OU.
Figure 9-3
Viewing the Security page on an Organizational Unit object.
Depending on the type of object being secured, you will notice that different permissions may
be visible on the security page. For example, the following standard permissions are common
with all objects:
■
Full control
■
Read
■
Write
■
Create all child objects
■
Delete all child objects
Chapter 9:
Delegating the Administration of Active Directory Domain Services
331
Some Active Directory objects also have standard permissions that are applied to grouped sets
of properties. For example, a user object has several read-and-write property sets such as General Information, Personal Information, Phone And Mail Options, and Web Information. Each
of these property sets refers to a set of object attributes, so granting access to a single property
set provides access to a set of attributes. For example, the Personal Information property set
includes attributes such as homePhone, homePostalAddress, and streetAddress. Using the property sets to assign access to groups of attributes simplifies the process of assigning permissions without having to modify at the granular attribute level.
Note
The Active Directory schema defines which attributes are part of each property set by
using the rightsGuid value for the property category (in the Configuration directory partition)
and the attributeSecurityGUID for the schema object. For example, the rightsGuid value for
cn=Personal-Information, cn=Extended-Rights, cn=configuration, dc=forestname is equivalent to the attributeSecurityGUID for cn=Telephone-Number, cn=Schema, cn=Configuration,
dc=forestname. This means that the telephone number is included in the Personal Information
property set.
In addition to the standard permissions, the Security page may also show extended rights
related to the object being secured. Depending on the object, these rights include options
such as Allowed To Authenticate, Generate Resultant Set Of Policy, Receive As, Send As, Send
To, Change Password, and Reset Password.
Special Permissions
One of the entries in the permissions list on the Security page is Special Permissions. In addition to being able to grant standard permissions, you can also grant special permissions to
Active Directory objects.
Note
You can determine if special permissions are applied to an object by viewing the Allow
or Deny check boxes located next to the Special Permissions entry. If a check mark is visible,
special permissions have been assigned.
As mentioned previously, special permissions are much more granular and specific than
standard permissions. To simplify management, you would typically use standard permissions on an object; however, there may be specific needs that require you to modify the special
permission entries.
To get access to special permissions, click Advanced on the Security page and then ensure that
the Permissions page is selected. Figure 9-4 shows the interface. Table 9-2 explains the
options available on the Permissions page.
332
Part III:
Administering Windows Server 2008 Active Directory
Figure 9-4
Table 9-2
Viewing the Advanced Security Settings for an object.
Special Permissions Configuration
Option
Explanation
Type
This value is set to either Allow or Deny. Normally, the interface sorts
the permissions so that all Deny permissions are listed first, but the
sort order can be changed by clicking any column header. Regardless
of the order of appearance in this column, the Deny permissions are
always evaluated first.
Name
This is the name of the security principal to which each ACE applies.
Permission
This column lists the level of permission granted for the security
principal. Levels of permission can be standard rights, such as Full
Control; special permissions such as Create/Delete User Objects; or
just Special. The types of permissions available depend on the type of
object and how granular the permission entry is.
Inherited From
This column lists the location where this permission is set and if the
permission is inherited from a parent container.
Apply To
This column specifies the depth to which this permission applies. It
has a variety of settings, including This Object Only, This Object
And All Descendant Objects, All Descendant Objects, as well as many
others.
Include Inheritable Permissions From This Object’s
Parent
This option allows you to specify if parent permission entries are to be
applied to the object.
Add/Edit/Remove buttons
These buttons allow you to add new ACEs, remove existing ACEs, or
edit a specific ACE to provide more granular permission settings.
Chapter 9:
Delegating the Administration of Active Directory Domain Services
333
Note The Restore Defaults button on the Permissions page resets the permissions on the
object to the default permission settings as indicated in the Default Security settings of the
object class in the Active Directory Schema.
In many cases, the same security principals may be listed in multiple ACEs. For example, the
Account Operators group has multiple Create/Delete entries for Computer objects, Group
objects, User objects, Printer objects, and InetOrgPerson objects in separate ACEs. This
happens whenever you specify a combination of permissions that cannot be stored within
a single ACE. In this example, each ACE can only contain focus on one type of object
(Computer, User, etc.), and cannot be combined into a single ACE.
If you add or edit the permissions granted to a security principal, you are provided two
different options for applying permissions. Figure 9-5 shows the first option, which is applying permissions to the object.
Figure 9-5
Assigning special permissions to Active Directory objects.
The Object tab is used to apply permissions to various object scopes:
■
This object only Permissions only apply to the object being secured or modified.
■
This object and all descendant objects Permissions will apply to both the object being
secured and all child objects within the object.
■
All descendant objects Permissions will only apply to child objects within the object
being modified.
334
Part III:
■
Administering Windows Server 2008 Active Directory
Individual descendant objects Windows Server 2008 provides a large selection of
individual descendant objects that can be granularly secured. For example, if you are
assigning permissions at the OU level, you may choose to only apply permissions to
computer objects within the Sales OU. These options provide the capability to delegate
permissions at a granular object level.
The second option for applying permissions is to control access to the object properties.
Figure 9-6 shows the interface.
The Properties page is used to apply permissions for the security principal listed in the Name
field to the individual properties for the object. For example, if you are applying permissions
to a user object, you are given the option of assigning Read and Write permissions to each
attribute available on the object class, such as general information, group membership, and
personal information.
Figure 9-6
Configuring an object’s property permissions.
How It Works: Viewing the ACE Using Ldp.exe
Ldp.exe is a graphical user interface (GUI) tool that is used to perform operations such
as connect, bind, search, modify, add, or delete against any LDAP-compatible directory
service. LDP can be used to view advanced Active Directory metadata such as security
descriptors and replication metadata.
To view the ACL using Ldp.exe:
1. Open the Run dialog box, type ldp, and then press Enter.
2. Click the Connection menu and then click Connect.
Chapter 9:
Delegating the Administration of Active Directory Domain Services
335
If you leave the server box empty, the server will connect to the local computer.
You can also type in the server name.
3. After you are connected to the server, click the Connection menu and then click
Bind. If you are not logged in with a user account that has administrative rights,
type in alternate credentials. Otherwise, leave the logon information blank.
4. After binding to the domain, click the View menu and then click Tree.
5. To view the entire domain, click OK. The domain OU structure will be listed in the
left pane.
To view the ACL for any object, locate the object in the tree view in the left pane. Rightclick the object, point to Advanced, click Security Descriptor, and finally, click OK.
As shown in Figure 9-7, a number of advanced options are available such as modifying
DACL and SACL rights and modifying the security descriptor controls such as DACL
and SACL protection.
Figure 9-7
Using Ldp.exe to modify the security descriptor.
When you add or edit an ACE using Ldp.exe, you are able to modify specific permissions and ACE flags on various object types and specify object inheritance. Figure 9-8
shows an illustration of the ACE editor provided with Ldp.exe.
336
Part III:
Administering Windows Server 2008 Active Directory
Figure 9-8
Modifying an ACE using Ldp.exe.
Permissions Inheritance
AD DS uses a static permissions inheritance model. That is, when permissions are changed on
a container object in the Active Directory structure, the changes are calculated and applied
to the security descriptor for all objects in that container. Consequently, if permissions are
changed higher in the Active Directory structure and these permissions are applied to all
descendant objects, calculating the new ACL for each object can be a processor-intensive
process. However, this initial effort means that the permissions do not need to be recalculated
when a user or process tries to access the object.
There are two primary methods that are used to control inheritance of permissions:
■
By default, when an object is created
in Active Directory, inheritable permissions are included from the object’s parent. You
can determine if a permission entry is inherited by looking to see whether the check box
on the Security page is shaded or not, or by viewing the Inherited From column of the
Advanced Security Settings box.
■
Configuring the scope of how permissions are applied
Configuring inheritable permissions on the object
As described previously, another
way to control inheritance is to specify how permissions apply to descendant objects
when security is applied to an object. By default, when a new group or user name is
manually added to the ACE, the entry has permissions that apply to this object only. To
force inheritance to a child object, you need to modify the scope to apply to descendant
objects in addition to the current object.
Note If you use the Delegation Of Control Wizard, inheritance will automatically be
set to This Object And All Descendant Objects. More information about the Delegation
Of Control Wizard is provided in the “Delegating Administrative Tasks” section later in
this chapter.
Chapter 9:
Delegating the Administration of Active Directory Domain Services
337
If you have designed your OU structure with the goal of delegated administration, you will
have created an OU structure in which top-level administrators that require permissions to
all Active Directory objects are granted permissions high in the hierarchy with delegated
permissions to all descendant objects. As you move further down the hierarchy, you may be
delegating permissions to other administrators who should only have control over a smaller
part of the domain. For example, Figure 9-9 shows the Sales OU. Within the Sales OU are
two child OUs called Eastern Sales and Western Sales. The manager who is in charge of the
entire Sales division may be delegated permissions to the entire Sales OU object and all
descendant objects, whereas the Eastern Sales or Western Sales managers may be delegated
permissions to their own specific OU only.
Figure 9-9
Delegating management of the Sales OU.
In some cases, however, you may want to block higher-level administrators from having
any administrative permissions to a specific child OU. For example, if you create a child
OU for a branch office in your company, you may assign a local administrative group full
control of the OU. However, you may not want those local administrators to have access to
any executive user accounts in the OU. To limit their access, you can create an Executives OU
within the branch office OU and then remove the option to include inheritable permissions
from the object’s parent. This, in effect, blocks permissions inheritance at the Executives
OU level.
To block the inheritance of permissions on an Active Directory object, access the Advanced
Security Settings dialog box for the object (shown in Figure 9-4). Then clear the Include Inheritable Permissions From This Object’s Parent option. When you clear this option, you are
presented with the choice to copy the existing permissions or remove all permissions before
explicitly assigning new permissions, as shown in Figure 9-10.
338
Part III:
Administering Windows Server 2008 Active Directory
Figure 9-10 Selecting the option to copy or remove permissions when blocking permissions
inheritance.
Blocking inheritance has the following implications:
■
The permissions are blocked for the object and any descendant objects. This means that
you cannot block the permissions inheritance at a container level and then reapply
the inheritance from a higher container at a lower level.
■
Even if you decide to copy the permissions before modification, permissions inheritance
begins where you block the permissions. If you modify the permissions at a higher
level, the permissions will not be inherited past the blocked permissions.
■
You cannot be selective about which permissions are blocked. When you block permissions, all inherited permissions are blocked. Permissions that have been explicitly
assigned to the object or child objects are not blocked.
Note
One of the possible concerns with blocking inherited permissions is that you
might create an orphaned object where no one has any permissions. For example, you
can create an OU, block all permissions inheritance to that OU, and assign the permissions to only one administrative group. You can even remove the Domain Admins group
from the ACL of the OU so that the Domain Admins does not have any permissions
under normal circumstances. If that administrative group gets deleted, the OU would
have no group with administrative control. In this case, the Domain Admins group would
have to take ownership of the object and reassign permissions.
Direct from the Source: Delegating Control of an OU Model
There are many schools of thought on how one should design an OU model and
perform delegation within the model. The most common OU model starting points are
based on business function, geography, or a hybrid of the two. A delegation model
can be centralized, decentralized, or centralized with decentralized execution, but
ultimately its design is a result of how a customer wants to provide operational support.
Anyone considering delegation is at one of two points in the Active Directory life cycle—
either he or she is considering migrating to Active Directory, or else he or she has
migrated to Active Directory and has the opportunity to revisit earlier decisions to
provide a more effective and efficient environment.
Chapter 9:
Delegating the Administration of Active Directory Domain Services
339
For those considering migrating to Active Directory, the lesson learned is to engage early
and often in discussions with the customers. Understanding how customers run
their business is critical in developing an infrastructure that will work for them. If you
are an employee of a company and have been tasked with migrating the environment to
Active Directory, the same advice stands—talk early and often to upper management to
gain a better understanding of how they want to run the business. When deciding on
how to architect the solution, keep in mind that Active Directory can provide infinite
granularity (depth) as well as infinite scope (breadth) because of the flexible nature of
the product. One could conceivably define groups for every imaginable role (depth) and
groups to cover every scope (breadth), resulting in an environment that would be
difficult to manage and maintain. There is balance point between depth and breadth,
and that point may be different for every customer. Factors such as number of sites and
support personnel are critical in designing an effective delegation model. This is why
it is critical, as an architect, to have thorough planning and design sessions with the
customer or upper management from the beginning of the design process, so that there
is a clear understanding of how operational support will be provided.
For those who already have an established Active Directory environment and have the
ability to revisit the existing delegation model, I would recommend looking at the
way you are currently maintaining operational support. You may be able to streamline
your operations by scaling back the depth and breadth of your current model. It has
been my experience that sometimes less is more when dealing with operational support.
Finally, communication is critical to be truly effective and meet customer or upper
management expectations. I have been involved in many customer discussions in which
IT professionals are discussing a topic such as delegation within Active Directory with
the customer or upper management, and the terminology used has caused frustration
for both sides. Before engaging in technical discussions, you should consider the
following topics:
■
Who is my audience? Your audience may differ depending on whether it is a
meeting or if you are writing a white paper or proposal.
■
How do I make my audience more knowledgeable? Take a few minutes to go
through your delivery strategy. Are there words, phrases, or topics that may have a
different meaning or connotation, depending on your audience?
■
Using
analogies is a great method for removing the technical nature from a discussion
and placing the subject in a context that most non-IT professionals can understand.
Consider developing two or three different strategies for discussion.
Barry Hartman
Senior Consultant
Microsoft Consulting Services
340
Part III:
Administering Windows Server 2008 Active Directory
Effective Permissions
As discussed so far in this chapter, a user can obtain permissions to a specific object in Active
Directory in several ways:
■
The user account may be granted explicit permissions to an object.
■
One or more groups that the user belongs to may be granted explicit permissions to an
object.
■
The user account or one or more groups that the user belongs to may be given permissions at a container-object level and permissions inherited by lower-level objects.
All of these permissions are cumulative; that is, the user is granted the highest level of permissions from any of these configurations. For example, if a user is explicitly given Read
permission to an object, the user belongs to a group that is explicitly given Modify permissions, and the user belongs to a group that is given Full Control at the container level, the
user will have Full Control. When a user attempts to access an object, the security subsystem
examines all of the ACEs that are attached to the object. All of the ACEs that apply to the
security principal (based on user account or group SIDs) are evaluated and the highest level
of permission is set. However, in addition to ACEs that grant permissions, Active Directory
also supports Deny permissions. Deny permissions can be applied at two levels:
■
The user object or one or more of the groups that the user belongs to may be explicitly
denied permission to an object.
■
The user object or one or more groups that the user belongs to may be denied
permissions at a container level, and this denial of permission may be inherited to
lower-level objects.
Deny permissions almost always override Allow permissions. For example, if a user is a
member of a group that is given Modify permissions to an Active Directory object, and the
user is explicitly denied Modify permissions to the object, the user will not be able to modify
the object. This is because the ACEs that deny permissions are evaluated before the ACEs that
allow permissions. If one of the ACEs denies permission to the security principal, no other
ACEs are evaluated for the object.
The one situation in which Allow permissions do override Deny permissions is when the
Deny permissions are inherited and the Allow permissions are explicitly assigned. For
example, you can deny a user the permission to modify any user accounts in a container. But,
if you explicitly allow Modify permissions to an object within the container, the user account
will have Modify permissions on that object.
Chapter 9:
Delegating the Administration of Active Directory Domain Services
341
Deny Permissions: Use Carefully
Using the Deny option to deny permissions can make your Active Directory security
design very difficult to manage. There are a number of different scenarios in which you
may think about using the Deny permission. One is a situation in which you may
want to use the Deny option to remove some permissions that are being inherited. For
example, you may grant Modify permissions at a container level but may want to change
that to Read-Only farther down the hierarchy. In this case, you could deny the Write
permission on any objects or properties farther down the hierarchy.
Another scenario in which you may think of using the Deny option is when you want to
create a container that requires higher security. For example, you may have a container
for all of the executives, and you may want to make sure that a normal user cannot
read the executive account properties. You may choose to deny Read permissions on the
container using the Domain Users group. Unfortunately, this denies everyone the right
to read the directory objects, including all administrators. Because of the complications
that can result from using the Deny option, you should use it with care.
In most cases, rather than denying permissions, you can just ensure that a user or group
has not been given permissions. If a user has not been granted any permissions and is
not a member of any group that has been granted permissions, the user will not have
any access and will be implicitly denied. You do not need to explicitly apply the Deny
permission to prevent users from accessing objects in Active Directory.
One of the few scenarios in which it can be beneficial to use the Deny option is if you
have a case where a group should be given permissions, but one or more users in the
same group should have a lower level of permissions. For example, you may have a
group called Account Admins that is responsible for managing all user accounts in the
domain. Some members of this group may be temporary employees who need to be able
to manage all user accounts in the domain, but who should not be able to modify any
properties on executive accounts. In this case, you could assign the Account Admins
group permission to manage all user accounts in the domain. Next, create an OU for the
executive accounts, and create a group for the temporary members of the Account
Admins group. Then, deny the temporary users the right to modify any user accounts in
the Executive OU.
As you can see, configuring security on Active Directory objects can involve managing a large
number of interrelated variables. Many companies may start out with a fairly simple security
design in which a small group of administrators are given all the permissions in Active
Directory. Most of the time, the initial Active Directory security configuration is clearly
documented. However, as time goes by, this simple initial configuration often becomes much
342
Part III:
Administering Windows Server 2008 Active Directory
messier. Sometimes another group of administrators is given a set of permissions for a specific
task and for a specific period of time. Granting the permissions is easy to do, but often the
permissions are never removed. Often these security modifications made after the initial
deployment are also not clearly documented.
For any Active Directory structure that has been deployed for some time, the current security
configuration is likely more complex than was initially designed. Sometimes this results in
users having more permissions than they should have. Fortunately, Windows Server 2008
provides a tool that can be used to easily determine the effective permissions a security
principal has to any object in Active Directory.
To determine the effective permissions that a security principal has on an Active Directory
object, access that object’s properties through the appropriate Active Directory administrative
tool. Click the Security page, click Advanced, and then click the Effective Permissions page. To
determine the effective permissions for a specific user or group account, click Select and then
search for the user or group name. After you have selected the name, click OK. The Effective
Permissions page displays all of the permissions the security principal has to the Active
Directory object. Figure 9-11 shows the interface for the Active Directory Users And Computers administrative tool. Notice that the Effective Permissions page for the Sales OU displays
the overall permissions assigned to the Don Hall user object.
Note This tool has some limitations that may affect the effective permissions displayed. The
tool determines the effective permissions based on inherited and explicitly defined permissions
for the user account and the user’s group memberships. However, the user may also get
some permissions based on how the user logs on and connects to the object. For example, in
Windows Server 2008, you can assign permissions to the interactive group (that is, anyone
logged on to the computer) or the network login group (that is, anyone accessing the
information across the network). This Active Directory administrative tool cannot determine
the permissions granted to a user based on these types of groups. Also, the tool can only
determine permissions by using the permissions of the person running the tool. For example,
if the user running the tool does not have permission to read the membership of some of the
groups that the evaluated user object belongs to, the tool will not be able to determine the
permissions accurately.
Chapter 9:
Delegating the Administration of Active Directory Domain Services
343
Figure 9-11 Displaying the effective permissions for an Active Directory object.
Ownership of Active Directory Objects
Every object in Active Directory has an owner. By default, the user who created an object is the
owner. The owner of an object has the right to modify permissions on the object, which
means that, even if the owner does not have full control of an object, the owner can always
modify the permissions on the object. In most cases, the owner of an object is a specific user
account rather than a group account. One exception to this is when an object is created by a
member of the Domain Admins group; the ownership of the object is then assigned to the
Domain Admins group. If the owner of the object is a member of the local Administrators
group but not a part of the Domain Admins group, the ownership of the object is assigned to
the Administrators group.
To determine the owner of an Active Directory object, access that object’s properties using the
appropriate Active Directory administrative tool. Select the Security page, click Advanced, and
then select the Owner page. Figure 9-12 shows the interface for the Active Directory Users
And Computers administrative tool.
If you have the Modify owner permission to the object, you can use this interface to modify
the owner of the object. You can chose either to take ownership for your own account or to
assign the ownership to another user or group. This last option is unique in Windows Server
2003 And Windows Server 2008 Active Directory. In Microsoft Windows 2000 Active Directory, you could only take ownership of an object; you could not assign the ownership to
another security principal.
344
Part III:
Administering Windows Server 2008 Active Directory
Figure 9-12 Viewing the ownership of an Active Directory object.
Administrative Privileges
The administrative permissions discussed so far have to do with specific permissions
on Active Directory objects and define what actions the administrator can perform on
those objects. In addition to these permissions, a user may also be able to perform some
tasks in Active Directory because of the privileges assigned to him or her. The permissions discussed so far are based on the ACLs that are attached to each Active Directory
object. User privileges are different because user privileges are applied to user accounts.
User privileges are something that the user has because of who he or she is, not because
he or she has permission to modify a particular Active Directory object. For example,
there are two ways that you can give a user or group the right to add workstations to
the domain. One option is to give the user or group permission to Create Computer
Objects either at an OU level or at the Computers container level. This allows the user to
add as many workstations as needed to the domain in the specified container.
Another way to allow a user to add workstations to the domain is to ensure that the
user has the Add workstations to domain privilege. This user right is a part of the
Default Domain Controllers Policy. Any user who has this privilege can add up to 10
workstations to the domain. By default, the Authenticated Users group is granted this
permission.
Chapter 9:
Delegating the Administration of Active Directory Domain Services
345
Delegating Administrative Tasks
This chapter has thus far discussed how to ensure the security of Active Directory objects.
This has been in preparation for this section, which applies the security options to delegate
administrative tasks. Because every object in Active Directory has an ACL, you can control
administrative access down to any property on any object. This means that you can grant
other Active Directory administrators very precise permissions so that they can perform only
the tasks they need to do.
Although you can get extremely specific about delegating administrative permissions, you
should maintain a balance between keeping things as simple as possible and meeting your
security requirements. In most cases, delegating administrative permissions in Active
Directory falls under one of the following scenarios:
■
Assigning full control of one OU This is a fairly common scenario when a company
has multiple offices with local administrators in each office who need to manage all
objects in the local office. This option also may be used for companies that have merged
multiple resource domains into OUs in a single Active Directory domain. The former
resource domain administrators can be given full control of all objects in their specific
OU. Using this option means that you can almost completely decentralize the administration of your organization while still maintaining a single domain.
■
Assigning full control of specific objects in an OU This is a variation on the first
scenario. In some cases, a company may have multiple offices, but local administrators
should have permission to manage only specific objects in the office OU. For example,
you may want to allow a local administrator to manage all user and group objects,
but not computer objects. In a situation in which resource domains have become OUs,
you may want OU administrators to manage all computer accounts and domain-local
groups in their OU, but not to manage any user objects.
■
Assigning full control of specific objects in the entire domain Some companies have
highly centralized user and group administration, in which only one group has
permission to add and delete user and group accounts. In this scenario, this group can
be given full control of user and group objects regardless of where the objects are
located within the domain. This is also a fairly common scenario for a company with a
centralized desktop and server administration group. The desktop team may be given
full control of all computer objects in the domain.
■
Assigning rights to modify only some properties for objects In some cases, you may
want to give an administrative group permission to manage a subset of properties on an
object. For example, you may want to give an administrative group permission to reset
passwords on all user accounts, but not to have any other administrative permissions.
Or the Human Resources department may be given permission to modify the personal
and public information on all user accounts in the domain, but not permission to create
or delete user accounts.
346
Part III:
Administering Windows Server 2008 Active Directory
It is possible to use all of these options, and any combination of these options, with Windows
Server 2008 AD DS. As mentioned previously, one way to configure delegated permissions is
by directly accessing the ACL for an object and configuring the permissions. The problem
with this option is that it can get quite complex because of the number of options available
and the real possibility of making a mistake.
Direct from the Source: Delegating Control
When delegating control to create users and groups, it is imperative to maintain a
tracking system for changes that are made. This will make not only daily administration
easier, but will be of great use when troubleshooting access issues.
Greg Robb
Microsoft Premier Field Engineer
To make this task easier, AD DS includes the Delegation Of Control Wizard. To use the
Delegation Of Control Wizard, follow these steps:
1. Open the Active Directory Users And Computers administrative console and identify
the parent object where you want to delegate control. In most cases, you will be
delegating control at an OU level, but you can also delegate control at the domain or
container level (for example, the Computers or Users container). Right-click the parent
object and click Delegate Control. Click Next.
2. On the Users Or Groups page, add the users or groups to which you want to delegate
control. Click Add to search Active Directory for the appropriate users or groups.
3. Next, select the tasks that you want to delegate. The interface (shown in Figure 9-13)
enables you to select from a list of common tasks or to create a custom task to delegate.
Figure 9-13 Using the Delegation Of Control Wizard to select a common task or create a
custom task to delegate.
Chapter 9:
Delegating the Administration of Active Directory Domain Services
347
4. If you choose to create a custom task, you can choose the type or types of objects
to which you want to delegate administrative permissions. (Figure 9-14 shows
the interface.)
Figure 9-14 Selecting the type of object or objects to which permissions will be delegated.
5. After you have selected the type of object to which to delegate permissions, you can
choose what levels of permissions you want to apply to the object. You can choose
full control over the object, or you can delegate permissions to specific properties.
(The interface is shown in Figure 9-15.)
Figure 9-15 Selecting the specific permissions to delegate.
The Delegation Of Control Wizard makes it much easier to delegate control in a consistent
manner than when configuring permissions through the ACL. However, the effect of either
method is the same; that is, the ACL on the objects is modified to provide the appropriate
level of access.
348
Part III:
Administering Windows Server 2008 Active Directory
Direct from the Source: The Delegation Of Control Wizard
You are able to use the Delegation Of Control Wizard to delegate many common tasks
by giving control to individual users or to groups. These tasks can be set to certain
predefined items such as Create, Delete, And Manage User Accounts and Reset User
Passwords And Force Password Change At Next Logon. In addition to the predefined
items, it is possible to delegate custom tasks using very granular choices, such as
account objects, computer objects, or group objects. This makes the Delegation Of
Control Wizard a very powerful tool for enabling the share of control throughout Active
Directory.
Greg Robb
Microsoft Premier Field Engineer
Auditing the Use of Administrative Permissions
Delegating administrative tasks in AD DS results in the need to be able to monitor and audit
the use of administrative permissions throughout the directory structure. Auditing serves at
least two primary purposes. First of all, it provides evidence for changes that have been made
to the directory. If a change has been made to the directory, you may need to track down who
has made the change. This is especially important if an incorrect or malicious change has been
made to the domain information. A second purpose for auditing is to provide an additional
check on the administrative permissions being exercised throughout the domain. By examining audit logs occasionally, you can determine if someone who should not have administrative
rights is in fact exercising such rights.
When AD DS events are audited, entries are written to the Security log on the domain controller. You can then use the Event Viewer to view events that Windows Server 2008 logs in the
Security log. You can also save events to an event file that can be used to archive and track
trends over time.
There are two steps involved in enabling auditing of changes made to Active Directory
objects—configuring the audit policy for domain controllers and configuring the SACL on specific Active Directory objects which are to be audited. These two steps are discussed in the following sections.
Configuring the Audit Policy for the Domain Controllers
Your first step for enabling auditing is to configure the audit policy for the domain controllers.
This can be configured on the Default Domain Controllers Policy found within the Group
Policy Management console. When you open the Group Policy Management console,
browse to the Group Policy Objects container. In the details pane, you can right-click Default
Chapter 9:
Delegating the Administration of Active Directory Domain Services
349
Domain Controllers Policy and then click Edit to open the Group Policy Management Editor.
From the Group Policy Management Editor, you can browse to Computer Configuration\
Policies\Windows Settings\Security Settings\Local Policies and then click Audit Policy.
Figure 9-16 shows the default auditing configuration in Windows Server 2008 AD DS.
Figure 9-16 Configuring auditing on the Default Domain Controllers OU.
To audit changes to Active Directory objects, you need to enable and configure the Audit
Directory Service Access policy. When this policy is enabled and configured, all modifications
made to Active Directory objects are reported in the Security log. You can audit both successful changes to Active Directory objects and failed attempts at modifying Active Directory
objects.
In Windows 2000 Server and Windows Server 2003, the Audit Directory Service Access
policy was the primary option used to audit directory service events. Windows Server 2008
divides this policy into four subcategories:
■
Directory Service Access
■
Directory Service Changes
■
Directory Service Replication
■
Detailed Directory Service Replication
Dividing the Audit Directory Service Access policy into four subcategories provides more
granular control on what is or is not audited in relation to directory service events. Enabling
350
Part III:
Administering Windows Server 2008 Active Directory
the Audit Directory Service Access policy enables all the directory service policy subcategories.
To modify the subcategories, you cannot use the Group Policy Object Editor. You can only
view and modify the subcategories with the command-line tool Auditpol.exe. For example, if
you want to view all of the possible categories and subcategories, type the following line at
the command prompt, and then press Enter:
auditpol /list /subcategory:*
Note
For a list of commands that can be used with Auditpol.exe, open a command prompt
and type the following: Auditpol.exe /?
Auditing Changes to Objects Using the Directory Service Changes
Subcategory
The Directory Services Changes subcategory provides the ability to audit changes to
objects in AD DS. This subcategory audits the following types of changes:
■
When a modify operation is successfully performed on an attribute, AD DS logs
both the previous and current values of the attribute.
■
When a new object is created, all values of the attributes that are populated during
the creation are logged. Note that any default values to attributes that are assigned
by AD DS are not logged.
■
When an object is moved within the domain, both the previous and new location
is logged.
■
If you undelete an object, the location where the object is moved to is logged as
well as any additions or modifications to attributes while performing the undelete
operation.
To enable the Directory Service Changes audit subcategory, you can type the following
line at the command prompt, and then press Enter:
auditpol /set /subcategory:"directory service changes" /success:enable
When you enable the Directory Services Changes audit subcategory, AD DS logs various
types of events in the Security event log, as shown in Table 9-3.
Table 9-3
Event ID
Directory Services Changes Events
Type
Description
5136
Modify
Logged when a modification is made to an attribute in AD DS.
5137
Create
Logged when a new object is created in AD DS.
5138
Undelete
Logged when an object is undeleted in AD DS.
5139
Move
Logged when an object is moved within the domain.
Chapter 9:
Delegating the Administration of Active Directory Domain Services
351
Configuring Auditing on Active Directory Objects
The second step to configuring Active Directory object auditing is to enable auditing
directly on the SACL of each Active Directory object to be audited. To enable Active Directory
object auditing, access the object’s Properties sheet through the appropriate Active Directory
administrative tool. Then, click the Security page, click Advanced, and click the Auditing
page. Figure 9-17 shows the interface for the Active Directory Users And Computers administrative console and the default audit setting for an OU in Active Directory.
To add additional auditing entries, click Add and select which users or groups and what
actions you want to audit. In most cases, you should select the Everyone group so that
modifications made by anyone can be audited. Then you can select which activities you
want to audit. You can audit all modifications made to any object in the container, to
specific types of objects, or to specific properties. You can enable the auditing of all successful modifications, of all failed attempts to make modifications, or both. If you audit all
successful modifications, you will have an audit trail for all changes made to the directory.
If you enable failed attempts, you will be able to monitor any illicit attempts to modify
directory information. After auditing is enabled, all of the audit events are recorded in the
Security log accessible through the Event Viewer.
Figure 9-17 Configuring auditing on Active Directory objects.
Enabling auditing is easy. Managing auditing is much more difficult. If you enable the auditing
of all directory modifications at the domain controller OU level, the Security log will grow
very rapidly. Almost all of the events will be legitimate changes and thus of no interest to you
except as an audit trail. However, interspersed among the legitimate changes may be a small
number of changes that you need to be aware of. The problem is finding the few interesting
352
Part III:
Administering Windows Server 2008 Active Directory
audit events among the large number of routine events. In some companies, one administrator may be given the task of reviewing the event logs every day. A better way to deal with
this is to create some automated way of centralizing and analyzing the event logs. Another
way is to use a tool such as Microsoft System Center Operations Manager (a separate product
available for purchase) to filter the events and raise alerts only on the interesting events.
More Info
If you want to find out more about Microsoft System Center Operations
Manager, you can go to the following Web site: http://www.microsoft.com/systemcenter/
opsmgr/default.mspx. Operations Manager provides a great deal of functionality that goes far
beyond just monitoring Security logs.
Direct from the Source: Consider Event Log Settings Carefully
Always think through the ramifications of enabling an option that will increase the
amount of information being sent to the event logs. Many customers will customize the
event logs to meet their specific security requirements but never revisit the settings to
determine if the additional logging will cause them problems. I have seen many
instances in which auditing was enabled and the policy setting Audit: Shut Down
System Immediately If Unable To Log Security Audits was also enabled, resulting in a
denial of service attack. Another setting that many IT professionals change is the
maximum log size. Before changing event log sizes to high values, do some preliminary
analysis to determine if the system on which you are enabling this setting has enough
memory available. Information about the event log and memory constraint can be
found at http://support.microsoft.com/kb/183097.
Barry Hartman
Senior Consultant
Microsoft Consulting Services
Tools for Delegated Administration
AD DS provides powerful options for delegating administrative tasks and assigning only the
precise permissions that users need to have to perform specific tasks. To complement this
delegation, Windows Server 2008 also makes it easy to develop administrative tools that fit
the user’s task. For example, if you delegate the right to reset passwords for a single OU, you
can also provide a very simple administrative tool that can only be used to reset passwords
in the specified OU. Windows Server 2008 provides the ability to create a customized view of
the Microsoft Management Console (MMC) administrative snap-in in order to allow delegated
administrators effective tools to complete their tasks.
Chapter 9:
Delegating the Administration of Active Directory Domain Services
353
Direct from the Source: Working with Third-Party Delegation
Tools
Many customers use third-party products to perform delegation. These products usually
provide a Web interface and allow administrators to develop custom Web views for
daily administrative functions versus creating customized MMCs. When working with
customers dealing with branch office scenarios, make sure you understand the business
and branch office operational requirements in the event of an extended communications outage. If a customer has highly reliable communication links to the branch office,
then this topic isn’t as much of a concern; however, for those customers who don’t have
highly reliable communications, it is a subject that needs to be addressed.
In the event of a communications outage, you must understand what the branch office
requires to continue to function. In the case of delegation, if the branch office needs to
continue to function and system administrative actions still need to occur, but the
Web interface required to perform some of these functions is unavailable because it is
hosted from headquarters, how will the people at the branch office perform their jobs?
If the third-party product instantiated the delegation model natively into Active
Directory Users and Computers, then the same restrictions that applied through the
Web interface would apply when using native tools. It is important that you, the trusted
advisor, have an understanding of how third-party products interface and interact with
Active Directory. Having this type of knowledge will allow you to advise and prepare
your customers so they are still able to maintain operations when situations such as a
communications outage occur.
Barry Hartman
Senior Consultant
Microsoft Consulting Services
Customizing the Microsoft Management Console
One option for developing an administrative tool is to create a customized MMC using one of
the default snap-ins and then modify what the user can see in the MMC.
Caution
Simply creating the customized MMC does not grant or limit the user’s rights to
perform administrative tasks. Before creating the customized administrative interface, you
must first delegate the correct level of permissions. For example, if you give a user the right to
create user accounts at a domain level, and then you create an MMC that only allows the user
to view one OU, the user can still create user accounts in any OU in the domain. If the user
loads the regular Active Directory Users And Computers administrative tool or sits down at
another desk with a different MMC, the user will be able to create the account anywhere.
354
Part III:
Administering Windows Server 2008 Active Directory
To create the customized MMC, open the Run dialog box and type mmc. This opens an empty
MMC. From the File menu, add the appropriate Active Directory administrative tool snap-in.
If you create a custom MMC using the Active Directory Users And Computers snap-in, you
would then expand the domain and locate the container object where you have delegated
permissions. In the left pane, right-click on the container object and select New Window
From Here.
This opens a new window with just the container object and all child objects visible. You can
then switch back to the window that displays the entire domain and close the window.
Finally, save the administrative tool and provide it to the users, who will administer only the
part of the domain that is visible in the MMC. The MMC can be provided to the user in a
number of ways. For example, you may install the MMC on his or her desktop, or you may
create a shortcut to the administrative tool on a network share.
To make sure that the administrators do not modify the custom MMC after you have given
it to them, you can modify the MMC options by selecting Options from the File menu. You
can configure the MMC to be saved in User Mode and modify the permissions on the MMC
so that the end user cannot save any changes to the MMC. Figure 9-18 shows the interface. For
full details on how to create customized MMCs, see Windows Help And Support.
Figure 9-18 Configuring a custom MMC to prevent changes to the MMC.
Planning for the Delegation of Administration
As shown in this chapter, Windows Server 2008 AD DS provides the tools you need to
delegate administrative permissions in your domain. However, with all of the positive things
you can do in delegating permissions, you also take the risk of assigning incorrect permissions. Incorrect permissions may result in allowing users to do things in Active Directory that
Chapter 9:
Delegating the Administration of Active Directory Domain Services
355
they should not be able to do. Incorrect permissions can also mean assigning too few permissions, so that users cannot do the work they need to do. Creating a delegation structure that
will provide users with the precise permissions they need requires a significant amount of
planning. The following are several suggestions to help with your administrative delegation
planning:
■
Carefully document the administrative requirements for all potential administrators. In
most companies, you will find that there are various users and groups that need some
administrative permissions in the domain. Many of these users could be members of the
Domain Admins group. As you document the administrative tasks that users need to
perform, you will usually find that they really need a much lower level of access. Often
the only way to document the level of administrative permissions each group needs is to
document all of the administrative work they do every day. By documenting the activities they have to perform, you can design the precise permissions they need to have.
■
Before making any changes to the production environment, test all security modifications in a test environment. Making a wrong security configuration can have serious
implications for your network. Use the test lab to ensure that the modifications meet the
permission requirements but do not give any additional permissions that are not
needed.
■
Use the Effective Permissions page in the Advanced Security Settings window to
monitor and test the users’ permissions. The Effective Permissions page can be used
to determine the precise permissions a user or group has in AD DS. Use the tool in the
test environment to ensure that your configuration is accurate and use it again in the
production environment to make sure that your implementation followed the plan.
■
Document all the permissions that you assign. Of all the tasks assigned to network
administrators, documenting changes made to the network appears to be the most
disliked because it can be very tedious and not seem important. As a result, documentation is often incomplete or out of date. The only way to effectively manage the security
configuration on your network is to document the initial configuration and then to
make a commitment to keep the documentation updated whenever one of the original
settings is modified.
Summary
The option to delegate administrative permissions in Windows Server 2008 AD DS provides
a great deal of flexibility in how your domain can be administered. The delegation of
administrative rights is based on the Active Directory security model, in which every object
and every attribute on every object has an ACL that controls what permissions security
principals have to a specific object. According to the security model, all permissions are, by
default, inherited from container objects to objects within the container. These two basic
features of the security model mean that you can assign almost any level of permission to any
Active Directory object. This flexibility can also mean a great deal of complexity if the security
356
Part III:
Administering Windows Server 2008 Active Directory
for Active Directory is not kept as simple as possible. This chapter provided an overview
of security permissions, Active Directory object access, delegation of administration, and
auditing changes made in Active Directory.
Additional Resources
The following resources contain additional information and tools related to this chapter.
Related Information
■
Chapter 5, “Designing the Active Directory Domain Services Structure,” provides details
on planning the structure of Active Directory such as site, domain, organizational unit,
and forest designs.
■
Chapter 6, “Installing Active Directory Domain Services,” provides details on delegating
administration for Read-Only Domain Controllers.
■
Chapter 8, “Active Directory Domain Services Security,” provides additional details on
Active Directory security basics and authentication.
■
“Best Practices for Delegating Active Directory Administration” located at
http://www.microsoft.com/technet/prodtechnol/windowsserver2003/technologies/
directory/activedirectory/actdid1.mspx.
■
“Best Practices for Delegating Active Directory Administration Appendices” located at
http://www.microsoft.com/downloads/details.aspx?FamilyID=29dbae88-a216-45f9-9739cb1fb22a0642&DisplayLang=en.
■
“Delegating Authority in Active Directory” located at http://www.microsoft.com/technet/
technetmag/issues/2007/02/ActiveDirectory/default.aspx.
■
“Using Scripts to Manage Active Directory Security” located at http://
www.microsoft.com/technet/scriptcenter/topics/security/exrights.mspx.
■
“Sample Scripts to Manage Active Directory Delegation and Security” located at
http://www.microsoft.com/technet/scriptcenter/scripts/security/ad/default.mspx?mfr=true.
■
“Step-by-Step Guide to Using the Delegation Of Control Wizard” located at
http://www.microsoft.com/technet/prodtechnol/windowsserver2003/technologies/
directory/activedirectory/stepbystep/ctrlwiz.mspx.
■
“Default Security Concerns in Active Directory Delegation” located at
http://support.microsoft.com/?kbid=235531.
Chapter 10
Managing Active Directory
Objects
In this chapter:
Managing Users . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 357
Managing Groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 366
Managing Computers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 377
Managing Printer Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 379
Managing Published Shared Folders . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 384
Automating Active Directory Object Management . . . . . . . . . . . . . . . . . . . . . . . . 386
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 395
Best Practices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 395
Additional Resources. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 396
The most common tasks that you will perform using Windows Server 2008 Active Directory
Domain Services (AD DS) will involve the management of Active Directory objects such as
users and groups. Most companies create an Active Directory design and implement it once.
After the deployment, few changes are made to most Active Directory objects. However, user
objects and group objects are a significant exception to this rule. As employees join or leave
the company, the administrator spends time managing users and groups. Printer objects,
computer objects, and shared folder objects are other Active Directory objects that may
require frequent administration.
This chapter discusses the concepts and procedures that you will use to manage Active Directory objects. It discusses the types of objects that can be stored in Active Directory and
explains how to manage those objects. This chapter specifically covers tools that you can use
to manage Active Directory objects, including using VBScript and Windows PowerShell to
automate changes.
Managing Users
Windows Server 2008 Active Directory makes available three different objects that are used to
represent individual users in the directory. Two of these, the user object and the inetOrgPerson
object, are security principals that can be used to assign access to resources on your network.
The third object, the contact object, is not a security principal and is used primarily for e-mail.
357
358
Part III:
Administering Windows Server 2008 Active Directory
User Objects
One of the most common objects in any Active Directory database is a user object. A user
object, like any other Active Directory class object, is a collection of attributes. A user object
can have over 250 attributes created by the system and even more created by your organization. In this way, Windows Server 2008 Active Directory is very different than the more
limited local security databases found on member servers, Windows workstations, and some
Linux computers. In local security databases, user objects have very few attributes, such as
password and home directory. Because Active Directory can provide additional attributes for
objects, Active Directory is useful as a directory service in addition to simply being a database
for storing authentication information. For example, Active Directory can become the primary
location for most user information in your company. The directory can become the place
where all user information, such as telephone numbers, addresses, and organizational information is stored. When users learn how to search Active Directory, they will be able to find
almost any information about other users that they are given permission to view.
When you create a user object, some attributes are mandatory and others are optional. As
shown in Figure 10-1, only six attributes are mandatory. These six must be configured
when you create a user account. Of these six, the cn and the sAMAccountName attributes are
configured based directly on the data you provide when you create the account by using
Active Directory Users And Computers. All other mandatory attributes, including the security
identifier (SID), are automatically populated. When users are created programmatically with
scripts and the sAMAccountName attribute is not provided, it will also be randomly generated.
Figure 10-1 Mandatory attributes for a user account viewed in Adsiedit.msc.
When you create a user account, you can assign a value to many of the other user object
attributes. Some of these attributes are not visible through the user interface (UI) in any of the
Chapter 10:
Managing Active Directory Objects
359
standard administrative tools, such as Active Directory Users And Computers. For example,
each user object has an attribute called Assistant that is not visible through a UI. You can
still populate this attribute by using a script or a tool like Adsiedit.msc that directly accesses
the attribute. You can also populate attributes unavailable in a GUI during a bulk import of
directory information using either the Csvde or the Ldifde command-line utility (covered later
in this chapter).
Attributes that are not visible in a UI can be used by applications to store additional user
information. In most cases, hidden attributes are available through the Find dialog box in
Active Directory Users And Computers. For example, in the Active Directory Users And
Computers administrative tool, to search for all users that have the same Assistant attribute,
use the Advanced tab on the Find dialog box to create a query based on the Assistant attribute.
Figure 10-2 shows the Advanced tab in the Find dialog box. In this interface, click Field, select
User, and then select the attribute you want to search for. Many of the hidden attributes can be
found from this interface.
Figure 10-2 Searching for a user account based on an attribute that is not visible in the UI.
Note
You can view and modify any attribute on a user object using a tool like Adsiedit.msc
or Ldp.exe. If you need to modify many objects, a more efficient way to modify these attributes
is to use scripts. Active Directory is written to allow and encourage the use of scripts. You will
find more information about using scripts to automate Active Directory management tasks
later in this chapter.
360
Part III:
Administering Windows Server 2008 Active Directory
You can manage most regular user administration tasks by using the Active Directory Users
And Computers administrative tool. To create a user object in the Active Directory Users
And Computers administrative tool, locate the container where you want to create the object,
right-click, point to New, and click User. When you create the user, you must provide at least
the user’s Full Name and User Logon Name. The Full Name data is used to populate the cn
attribute for the user, whereas the User Logon Name data becomes the sAMAccountName value.
After you have created the user, you can access the object properties to fill in additional
attributes for the user. Most of the attributes for the user object are easy to understand. The
most important tab for administering a user account is the Account tab (shown in Figure 10-3).
The user settings available on the Account tab are described in Table 10-1.
Figure 10-3 The Account tab for a user object.
Table 10-1 Account Properties for a User Object
Account Setting
Explanation
User Logon Name
Identifies the user principal name (UPN) for this user.
User Logon Name (pre-Windows
2000)
Identifies the pre-Microsoft Windows 2000 logon name
using the domain\username format.
Logon Hours
Defines the hours when a user can log on to the domain.
By default users are disconnected when their logon hours
expire. Behavior can be configured in Group Policy by using
the Computer Configuration\Windows Settings\Security
Settings\Local Policies\Security Options\Network security:
Force logoff when hours expire setting.
Chapter 10:
Managing Active Directory Objects
361
Table 10-1 Account Properties for a User Object (continued)
Account Setting
Explanation
Log On To
Lists the computers where the user is allowed to log on. These
can be NetBIOS or DNS names.
Unlock Account
Used to unlock the account (allow logon) when the account
has been locked out after too many failed logon attempts.
This is different from enabling and disabling a user account
that is controlled by an administrator.
Account Options
Provides several options for settings, such as password
policies and authentication requirements.
Account Expires
Specifies when the account will expire. Typically used when a
user requires temporary access to domain resources.
Sometimes it is useful to know when a user has last logged on to the network. The Windows
Server 2003 domain functional level introduced the lastLogonTimestamp attribute for users
that shows when a user last logged on to the network. However, this attribute is not visible in
Active Directory Users And Computers. You must use scripting to access it. If the domain is
at the Windows Server 2008 functional level, then the Last Interactive Logon Information is
enhanced to include the time of the last successful interactive logon, the workstation used for
logon, and the number of failed logon attempts since the last logon.
Naming User Objects in Active Directory
Although every object in Active Directory must have a unique name, this simple concept
can become quite complicated when discussing user objects, because a user object
actually has a number of names that can be used for identification. Table 10-2 lists all of
the names that can be associated with a user name and the scope within which that
name must be unique.
Table 10-2 User Name Uniqueness Requirements
User Name
Uniqueness Requirement
First name, initials, last name
No uniqueness requirement
Display name—The Display name is shown in
most Active Directory administrative tools
such as Active Directory Users And Computers.
By default, the Display name is generated by
using the First name, Initials, and Last name
fields in the New Object–User dialog box.
No uniqueness requirement
Full name—The Full name is used to populate
the cn attribute on the user account. This value
is set equal to the Display name. However,
the Full name and Display can be edited
independently after creation.
Must be unique within the container that
the user is located in
362
Part III:
Administering Windows Server 2008 Active Directory
Table 10-2 User Name Uniqueness Requirements (continued)
User Name
Uniqueness Requirement
User principal name (UPN)—The UPN is made
up of the logon name and the domain DNS
name, or an alternative UPN if additional UPN
suffixes have been configured for the forest.
Must be unique within the forest
User logon name (pre-Windows 2000)
Must be unique within the domain
Modifying the Default Display Name
During user creation, the default Display name is generated by using the First name,
Initials, and Last name fields in the New Object–User dialog box. You can override the
default by typing in an alternate Display name. You can also modify how the default
Display name is generated by using Adsiedit.msc:
1. Open Adsiedit.msc and open the Configuration Container naming context.
2. Browse to CN=409,CN=DisplaySpecifiers,CN=Configuration,DomainName, where
DomainName is the name of your domain.
Note that the 409 Locale ID is for U.S. English. If you are using other languages,
you may need to edit additional code pages. For more information about code
pages, see the International Telecommunication Union (ITU) and International
Organization for Standardization Web sites.
3. Open the properties of CN=user-Display.
4. Edit the attribute createDialog. The value of this attribute can include text and the
variables %<sn>, %<givenName>, and %<initials>. The names of these variables
are case-sensitive.
The most common reason to modify the Display name format is to control the format
of names listed in the Exchange Server global address lists. It is common to change the
default Display name to Last name, First name. This is done by setting the value of the
createDialog attribute to %<sn>, %<givenName>.
Changing the value of the createDialog attribute does not affect existing users. It only
affects the default Display name created for new users created by using Active Directory
Users And Computers. In most cases, you will use a script, Csvde, or Ldifde to modify
batches of existing users rather than editing each user with a tool such as Adsiedit.msc.
User Principal Names
The UPN can simplify the logon process for a user. A user can go to any domain in the
forest and log on using his or her UPN rather than selecting his or her home domain
when logging on. By default, the UPN suffix is the Domain Name System (DNS) name
for the domain. However, you can modify the UPN suffix. For example, you may be
using a different DNS name internally than the one that is visible to the external
Chapter 10:
Managing Active Directory Objects
363
Internet. In most cases, the Simple Mail Transfer Protocol (SMTP) e-mail address for all
users would match the external DNS name. Your users may want to be able to log on
to the domain using their SMTP addresses. You can enable this option by adding an
alternative UPN suffix to the forest and then assigning this suffix to all user accounts. To
create an additional UPN suffix, open the Active Directory Domains And Trusts administrative tool, right-click the Active Directory Domains And Trusts entry at the top of
the left pane, and select Properties. Figure 10-4 shows the interface. Type in any alternative UPN suffixes that you want to use.
Figure 10-4 Adding alternative UPN suffixes to your forest.
inetOrgPerson Objects
One of the new objects available starting in Windows Server 2003 Active Directory is the
inetOrgPerson object. This object is the primary user account used by other Lightweight
Directory Access Protocol (LDAP) and X.500 directories that are Request for Comments
(RFC) 2798-compliant. By enabling the inetOrgPerson object, Microsoft has made it easier to
integrate Active Directory with other directories. This will also simplify migration from other
directories to Active Directory.
Note
If you are upgrading a Windows 2000 forest to Windows Server 2008, the inetOrgPerson object is created in the schema when you run the Adprep.exe command with the
/forestprep switch. Adprep.exe is found in the \sources\adprep folder on the Windows Server
2008 DVD.
364
Part III:
Administering Windows Server 2008 Active Directory
The inetOrgPerson object can be created using the Active Directory Users And Computers
administrative tool. To create an inetOrgPerson object in the Active Directory Users And
Computers administrative tool, locate the container where you want to create the object, rightclick, point to New, and click InetOrgPerson. You must provide at least the user logon name
and the full name when creating the inetOrgPerson object. The inetOrgPerson object is a
subclass of the user object, which means that it has all of the characteristics of the user class,
including acting as a security principal. The inetOrgPerson objects can be managed and used
in all ways that you would use any user object.
The domain functional level of at least Windows Server 2003 is required to allow the userPassword attribute to be used as an effective password for authentication for inetOrgPerson objects
and user objects. This is useful for programmers using Active Directory as an LDAP directory.
The forest functional level of at least Windows Server 2003 is required to convert an inetOrgPerson object into a user object, or the reverse.
Contact Objects
The third type of object that can be used to represent users in Active Directory is the contact
object. Contact objects are different from user objects and inetOrgPerson objects in that
contact objects cannot be security principals. Usually, contact objects are used for informational purposes only. To create a contact object in the Active Directory Users And Computers
administrative tool, locate the container where you want to create the object, right-click, point
to New, and click Contact. You must provide at least the full name when creating the contact
object. In addition, when you create a contact object, you can populate a number of attributes
for the object, including telephone numbers and addresses.
Note
You can modify the default Display name for contacts by using Adsiedit.msc, just as
you can for user objects. For contacts, modify the createDialog attribute of the CN=contactDisplay object instead of the CN=user-Display object.
Contacts are useful in several scenarios. One way you can use contacts is if you have a user
who cannot be a security principal in your domain, but whose contact information needs to
be accessible. For example, you may have consultants working in your office who cannot log
on to the network, but whose contact information must be stored where it is easily located by
anyone in the company. You can also use contacts to share information between forests. Your
company may have merged with another company that has already deployed Active Directory.
You can create cross-forest trusts between the two forests so that you can share network
resources, but the global catalog (GC) in each forest will still only contain accounts for that
single forest. You may want all or some of the accounts from both forests to be visible to the
users. To enable this, you can use a tool like Microsoft Identity Integration Server (MIIS) 2003
or Microsoft Identity Lifecycle Manager (ILM) 2007 to create a contact object for every user
account from the other forest and populate the contact object with the appropriate contact
information.
Chapter 10:
Managing Active Directory Objects
365
More Info For more information about ILM 2007, see the Microsoft Identity Lifecycle
Manager 2007 Web page at http://www.microsoft.com/windowsserver/ilm2007/default.mspx.
The most common use for contact objects is integration into the global address list of
Microsoft Exchange Server. When you mail-enable a contact object, you assign an e-mail
address to the account. The assigned e-mail address is for an external e-mail system, such as
an Internet service provider or another organization. This mail-enabled contact is visible in
the Exchange Server global address list. When you send mail to the contact, the mail is
delivered to the e-mail address specified in the contact.
Service Accounts
Services are computer programs that run in the background on Windows servers. Because
services are designed to run without a user interface and without any users being logged on at
the console, a logon account must be provided for the service. When the service starts, it
authenticates as the logon account and has the same rights to resources as the logon account.
When specifying a logon account on a domain controller (DC), you can specify a specific user
account in Active Directory or a local user. You would then assign the necessary rights to
the specified user account for the service to run properly.
Windows Server 2008 includes some local accounts that are designed to be used specifically
for running services. These accounts have the most commonly required sets of rights that
services need to run. Passwords cannot be configured for these accounts. Table 10-3 lists
commonly used service accounts.
Table 10-3 Commonly Used Service Accounts
Local Account Name
Description
SYSTEM
This account has full access to the computer and can
access network resources with the rights of the computer
account. On a DC, this account has access to the
entire domain. Use of this account should be avoided
whenever possible.
LOCAL SERVICE
This account has the same level of access as the built-in
Users group. Access to network resources is performed
as a null session (anonymous). This is the preferred
account for running services when possible because it
has limited rights.
NETWORK SERVICE
This account has the same access to local resources as
the LOCAL SERVICE account. However, for accessing
network resources, the permissions of the computer
account determine which resources can be accessed.
366
Part III:
Administering Windows Server 2008 Active Directory
Managing Groups
One of the primary functions of a directory service like Active Directory is to provide
authorization for access to network resources. Ultimately, all access to network resources is
based on the individual user accounts. However, in most cases, you do not want to administer
access to resources by using individual user accounts. In a large company, this would result in
a great deal of administrative effort. Also, the access control lists (ACLs) on network resources
would soon be unmanageable if you assigned permissions using individual user accounts.
Because managing access to network resources using individual user accounts is unmanageable, you create group objects to manage large collections of users at one time.
Group Types
Windows Server 2008 provides four different types of groups. Distribution groups and security
groups are the group types typically used by administrators. Application basic groups and LDAP
query groups are used by Authorization Manager applications. When you create a new group
object by using Active Directory Users And Computers, you are given the choice of creating a
distribution group or a security group. Figure 10-5 shows the interface.
Figure 10-5 Creating a new group in the Active Directory Users And Computers administrative tool.
The most commonly used type of group in Active Directory is the security group. A security
group is a security principal and can be used to assign permissions to network resources.
A distribution group cannot be a security principal. Because it cannot be used to assign access
to resources, the distribution group has a very limited usefulness. It is most commonly
used when Microsoft Exchange Server is installed and users need to be grouped so that e-mail
can be sent to the entire group. If you have installed Microsoft Exchange Server, you can mailenable a distribution group and then add mail-enabled users and contacts to the group. You
can then send mail to the whole group of users at one time.
Chapter 10:
Managing Active Directory Objects
367
You can convert distribution groups to security groups and back as long as your domain is
running at least Windows 2000 native functional level. The membership of a group is
maintained after conversion.
Authorization Manager Application Groups
Authorization Manager was introduced in Windows Server 2003 as a new way to grant rolebased authorization within applications. This system is used by application developers to
control access to application data and functionality. It is not used by network administrators
to control access to network resources. Authorization Manager supports the use of Active
Directory, Active Directory Lightweight Directory Server, or XML files for data storage. To use
Active Directory as the storage location for Authorization Manager, the domain must be at
the Windows Server 2003 functional level. The two types of Authorization manager groups
are application basic groups and LDAP query groups.
Applications basic groups are a collection of security principals with a member list and a
nonmember list. The nonmember list is used as an alternative to deny permissions. Verification of membership for application basic groups is performed when the resource is accessed
rather than when the user logs on. This results in higher load on the server, but allows group
membership changes to take effect without logging off.
LDAP query groups have a dynamic membership list based on an LDAP query. The query
can be based on any user attribute available in Active Directory. This provides the benefit of
automatically updating the membership of the group when user characteristics change. Verification of membership for LDAP query groups is performed when the resource is accessed.
More Info For more information about Authorization Manager, see “Role-Based
Access Control for Multi-tier Applications Using Authorization Manager” at
http://technet2.microsoft.com/windowsserver/en/library/72b55950-86cc-4c7f-8fbf3063276cd0b61033.mspx.
Note
Because distribution groups have limited use in Active Directory, the rest of this
chapter will focus on security groups.
Group Scope
In Windows Server 2008 Active Directory, you can create groups with three different scopes:
domain local, global, and universal. Table 10-4 lists the characteristics of each group scope.
368
Part III:
Administering Windows Server 2008 Active Directory
Note
Universal groups are available only if the domain is set to at least Windows 2000
native functional level. Nested groups are groups that are members of other groups. The
options for nesting groups depend on the domain functional level. For example, you can nest
a global group in a domain local group at any functional level, but you can nest a global group
inside another global group only if the domain functional level is Windows 2000 native or
higher.
Domain local groups are fully functional only when the domain has been elevated to at least
the Windows 2000 native functional level. If the domain is running in a Windows 2000
mixed functional level, domain local groups operate just like local groups on domain controllers in Windows NT 4. The group can be used to assign permissions to resources on the
domain controllers but not on any other computers in the domain. If the domain has been
switched to at least Windows 2000 native functional level, domain local groups can be used to
grant permissions to resources on any Windows server in the domain.
Table 10-4 Active Directory Group Scopes
Group Scope
Domain local
Global
Group Membership Can
Include
■
User accounts from any
domain in the forest
■
Global groups or
universal groups from
any domain in the forest
■
User accounts or global
or universal groups from
any domain in a trusted
forest
■
Nested domain local
groups from the local
domain
■
User accounts from the
domain where the group
is created
■
Nested global groups
from the same domain
Can Be Used
■
To assign access to
resources only in the local
domain
■
On all servers in the
domain running
Windows 2000, Windows
Server 2003, or Windows
Server 2008
■
To assign access to
resources in all domains
in the forest, or between
trusted forests
■
On any member server
running Windows,
including member
servers running
Windows NT
Chapter 10:
Managing Active Directory Objects
369
Table 10-4 Active Directory Group Scopes (continued)
Group Scope
Universal
Group Membership Can
Include
■
User accounts from any
domain in the forest
■
Global groups from any
domain in the forest
■
Nested universal groups
from any domain in the
forest
Can Be Used
■
To assign access to
resources in all domains
in the forest or between
trusted forests
■
On all servers in the
domain running
Windows 2000, Windows
Server 2003, or Windows
Server 2008
Note
How you use groups will vary depending on what servers you have deployed in your
environment. If your domain contains only servers running Windows 2000 and Windows
Server 2003, you can use domain local groups to assign permissions to all resources on these
servers. However, you can also still use local groups on the member servers. Note that you will
still have to use local groups on servers running Windows NT. In either case, the local groups
can contain global groups from any domain in the forest. If you create the local groups on a
server running Windows 2000 or Windows Server 2003, the groups can also contain universal
groups from any domain in the forest or trusted forest.
Global group functionality has remained consistent in Windows Server 2008 Active
Directory from Windows 2000 Active Directory. If the domain has been switched to at least
Windows 2000 native functional level, you can nest global groups from the same domain
inside other global groups. Nesting groups is useful for avoiding multiple group memberships. For example, your company may have several unique business units, each with a
group of managers and executives. You may decide to create a Managers global group for
each business unit and then nest these global groups in a company-wide Managers group.
Note
If your domain is still at the Windows 2000 native or Windows 2000 mixed mode
functional level, you should limit group membership to 5,000 users or less to avoid potential
replication issues. Nesting of groups can be used to alleviate this problem. This problem is
resolved by an updated process for linked value replication when the domain is raised to
Windows Server 2003 functional level.
Universal groups are the most flexible groups in Active Directory, but this flexibility comes
with a cost. Universal groups can contain members from any domain in the forest and can
be used to assign permissions to resources in any domain in the forest. To make this possible,
the membership list for all universal groups is stored in the global catalog (GC). The membership list is stored as a single attribute in the GC. This means that if your domain is running at
the Windows 2000 native functional level, every time a member is added to the universal
group, the entire membership list must be replicated to all other global catalog servers. If the
370
Part III:
Administering Windows Server 2008 Active Directory
universal group contains thousands of members, this can result in a great deal of replication.
This problem is resolved by linked-value replication if the domain has been switched to at
least the Windows Server 2003 functional level.
Linked-value replication reduces the replication traffic for multivalued linked attributes.
Group membership lists are an example of a multivalued linked attribute. Each member of the
group is a value in the member attribute for the group. When linked-value replication is used,
only changes to a multivalued linked attribute are replicated. In the case of group membership
changes, this means that only updates to the group membership are replicated, rather than
the entire group membership list.
Universal Groups also affect the logon process if the domain is at the Windows 2000 native
mode or higher. During authentication, the DC performing authentication communicates
with a global catalog server to confirm user membership in universal groups. This is required
because a DC does not hold the membership list of universal groups located in other
domains. If the DC is running Windows 2000 Server and cannot contact a GC, then the DC
will not authenticate the user and cached credentials from the workstation are used. If there
are no cached credentials on the workstation, the user is unable to log on to the domain.
If a DC is running Windows Server 2008 or Windows Server 2003, then the DC can perform
Universal Group Membership Caching. When Universal Group Membership Caching is
enabled, the DC caches universal group SIDs and global group SIDs in the msDS-CachedMembership attribute of user and computer objects. Caching occurs the first time the user logs
on. After the initial logon, cached information is used during authentication and no lookup on
a GC is performed. If a GC is unavailable, the logon process is unaffected. If a user has not
logged on to the domain previously and a GC is unavailable, then the user is unable to log on
to the domain.
Note Universal Group Membership Caching is not dependent on a specific domain
functional level. However, this feature must be enabled for each Active Directory site by using
the Active Directory Sites and Services tool.
Cached group membership information is refreshed every eight hours by default. Consequently, changes to universal or global group membership may not be effective for up to eight
hours. For an individual user, you can force cache information to be updated at next logon by
using ADSI edit to clear the msDS-Cached-Membership and msDS-Cached-Membership-Timestamp attributes.
Caution
If the Universal Group Membership cache information cannot be refreshed for
seven days, then the cached information is considered stale and will not be used. In such a
case, the logon process proceeds as if there is no information cached, and a GC is required
during the logon process.
Chapter 10:
Managing Active Directory Objects
371
Rebooting a domain controller forces the cache to restart the cache refresh interval and
refreshes all cached group memberships. However, this can affect a variety of services on your
network and should be avoided whenever possible. To refresh the cached group membership
information without rebooting a domain controller, you can set the updateCachedmemberships
operational attribute on the rootDSE object to a value of 1 by using Ldp.exe. Both of these
methods must be performed on all domain controllers in an Active Directory site to get
consistent results.
More Info
For more information about Universal Group Membership Caching, including
registry entries that can be used to modify default refresh behavior, see “How the Global
Catalog Works” at http://technet2.microsoft.com/windowsserver/en/library/440e44ab-ea054bd8-a68c-12cf8fb1af501033.mspx?mfr=true.
Default Groups in Active Directory
Windows Server 2003 Active Directory contains a large number of default groups, both in the
Users container and in the Builtin container. These groups have a wide variety of purposes
and default permissions within the domain. Groups in the Builtin container are equivalent to
the local builtin groups that exist on member servers. On member servers, these groups give
members rights to the local server. In Active Directory, these groups give members right to all
domain controllers in the domain. Table 10-5 lists the built-in groups for Active Directory.
Table 10-5 Active Directory Built-in Groups
Group
Description
Account Operators
Members can administer domain user, group, and
computer accounts in the domain. However, they cannot
modify the Administrators or Domain Admins groups,
the Administrator account, or computer accounts in the
domain controllers OU.
Administrators
Members have unrestricted access to the domain.
Backup Operators
Members are able to backup and restore files on DCs
regardless of their security permissions.
Certificate Service DCOM Access
Members can connect to Certification Authorities in the
domain.
Cryptographic Operators
Members can perform cryptographic operations.
Distributed COM Users
Members can launch, use, and activate DCOM objects on
DCs in the domain.
Event Log Readers
Members can read event logs on DCs in the domain.
Guests
Members have equivalent access to the users groups.
However, the Guest account is limited by being a
member of the Everyone group but not the Authenticated
users group.
IIS_IUSRS
Used by IIS to apply permissions for anonymous access.
372
Part III:
Administering Windows Server 2008 Active Directory
Table 10-5 Active Directory Built-in Groups (continued)
Group
Description
Incoming Forest Trust Builders
Members can create incoming one-way forest trusts for
this forest.
Network Configuration Operators
Members can configure some networking features on
DCs in the domain.
Performance Log Users
Members can log data from performance counters,
enable trace providers, and collect event traces on DCs in
the domain.
Performance Monitor Users
Members can view performance counter data on DCs in
the domain.
Pre-Windows 2000 Compatible Access
Members have read access to all users and groups in the
domain. Used for backward compatibility with Windows
NT servers.
Print Operators
Members can administer printers on DCs in the domain.
Remote Desktop Users
Members can log on to DCs in the domain by using
Remote Desktop.
Replicator
Used to support file replication in the domain.
Server Operators
Members can administer DCs in the domain.
Terminal Server License Servers
Used to support tracking of Terminal Server Per User CAL
usage.
Users
Members can run most applications, but cannot perform
most system-wide changes on DCs in the domain.
Windows Authorization Access Group
Members have access to the tokenGroupsGlobalAndUniversal attribute on user objects.
The default groups in the Users container are used to assign rights and permissions to
Active Directory and domain resources. The default groups in the Users container are listed
in Table 10-6.
Table 10-6 Active Directory Default Groups in the Users Container
Group
Description
Allowed RODC Password Replication Group
Members can have their passwords replicated to
read-only DCs.
Cert Publishers
Members can publish certificates in Active
Directory.
Denied RODC Password Replication Group
Members do not have their passwords replicated
to read-only DCs.
DnsAdmins
Members can administer DNS objects in the
domain.
DnsUpdateProxy
Members can perform dynamic DNS updates on
behalf of other clients. Members are typically
DHCP servers.
Chapter 10:
Managing Active Directory Objects
373
Table 10-6 Active Directory Default Groups in the Users Container (continued)
Group
Description
Domain Admins
Members can administer domain objects in
Active Directory and can manage all DCs and
computers joined to the domain. This group is a
member of all local Administrators groups in the
domain.
Domain Computers
All workstations and member servers in the
domain.
Domain Controllers
All DCs in the domain.
Domain Guests
This group is a member of all local Guests groups
in the domain.
Domain Users
This group is a member of all local Users groups
in the domain.
Enterprise Admins
Members have administrative rights to the entire
Active Directory forest.
Enterprise Read-Only Domain Controllers
All Read-Only DCs in the forest.
Group Policy Creator Owners
Members can create and modify Group Policy
objects in the domain.
RAS and IAS Servers
Servers in this group can read the remote access
properties of users.
Read-Only Domain Controllers
All Read-Only DCs in the domain.
Schema Admins
Members can make changes to the schema for
the forest.
There are very few groups that contain any users when you create a new domain. The domain
Administrator account is a member of the Administrators domain local group and the
Domain Admins global group. If the domain is the first domain in the forest, the Administrator
account is also added to the Enterprise Admins global group and the Schema Admins global
group. The Guest account is disabled, but it is a member of the Domain Guests global group.
All new users are automatically added to the Domain Users group.
More Info For a detailed list of the user rights granted to each default group, see “Default
Groups” at http://technet2.microsoft.com/windowsserver/en/library/1631acad-ef34-4f779c2e-94a62f8846cf1033.mspx?mfr=true.
Special Identities
Special identities are groups with dynamic membership based on the circumstances of the
user. Membership in these groups is maintained automatically by the system and you cannot
modify them. You can assign rights and permission to these groups. The concept of group
scope does not apply to special identities. Some of the special identities are listed in Table 10-7.
374
Part III:
Administering Windows Server 2008 Active Directory
Table 10-7 Special Identities
Special Identity
Definition
ANONYMOUS LOGON
Users or services that are not logged on with an account
name
Authenticated Users
All users from the local domain and remote domains,
except the guest account
Everyone
All users from the local domain, other domains, and
guests; does not include members of ANONYMOUS
LOGON
NETWORK
All users that are accessing the computer over the
network
INTERACTIVE
All users that are logged on locally to the computer
TERMINAL SERVER USER
All users that are logged on over the network by using
Remote Desktop
Creating a Security Group Design
One of the detailed design components for Active Directory implementation is the security
group design. Creating a security group design can be very detailed and painstaking work,
especially in a large organization. This section will provide general principles for creating the
security group design for your organization.
The first step in creating the security group design is to determine which of the group scopes
to use. In many companies, there is a great deal of discussion about how to use the various
groups. The use of groups in Active Directory is very flexible. For example, in a single domain,
users can be added to a group of any scope in the domain, and the groups can be used to
assign permissions to any resource in the domain. In a multidomain environment, there are
several options for using universal groups, global groups, and domain local groups.
For most companies, the best way to use the various group scopes is to implement the
following steps:
1. Add users to global or universal groups.
2. Add the global or universal groups to domain local groups.
3. Assign access to resources using the domain local groups.
In some companies, there is significant resistance to creating both a domain local group and
a global or universal group when one group will do, but there are also important reasons
why using two groups is the best approach.
If the approach of using global or universal groups and domain local groups is followed,
global or universal groups can be created based on the need to collect users who have something in common. In most cases, global or universal groups are based on a business department or on a functional purpose. For example, all members of the Sales department usually
Chapter 10:
Managing Active Directory Objects
375
have more in common with each other than they do with members of other departments.
Users may all require access to the same resources, or they may all need the same software
installed. Group membership is also frequently organized on a functional basis. All managers
may need to be grouped together, regardless of which business unit they are part of. All members of a project team will likely need access to the same project resources.
Domain local groups are usually used to assign permissions to resources. In many cases, the
permissions may be closely linked to business departments or functions. For example, all
members of the Sales department may require access to the same Sales shared folder. All
project team members usually require access to the same project information. In other cases,
access to resources may cross the regular business or functional boundaries. For example,
the company may use a shared folder to which everyone in the company has Read-Only
access. Or several departments and project teams may require access to the same shared
folder. By creating a domain local group that is specific to a particular resource, you can easily
manage access to the resource. You can then add the appropriate global or universal groups to
the domain local group.
Often, users require different levels of access to shared folders. For example, a company might
have a Human Resource shared folder where all employee policy information is stored. All
users may need to be able to read the information in the folders, but only members of the
Human Resources department should be able to modify the information in the folder. In this
case, you would create two domain local groups for the shared folder. One group can be given
Read-Only permission, while the other group is given Full Control or Modify permissions.
The Human Resources global group can then be added to the domain local group that has
been assigned Full Control, and all other global groups that only need Read-Only access can
be added to the Read-Only domain local group.
Using global groups and domain local groups in this way means that you can split the ownership of the global groups and domain local groups. An important security concern in any
large corporation is ensuring that only the right users have access to any shared information.
One step to ensuring this is to make sure that every group has an owner, also known as an
authorizer. Only the owner can authorize any modification to the group configuration. The
owner of the global group is usually a department administrator. The owner of a project-based
global group is probably the project manager. These owners are the only people who can
authorize any change to the membership list.
The owner of a domain local group is usually the data, or resource, owner. If every resource in
your company has an owner who is the only person who can authorize any modifications
to permissions to the shared resource, that person also becomes the owner of the domain
local group that is associated with the resource. Before any global or universal group can be
added to the domain local group, this owner must approve the modification.
Using the two levels of groups is particularly important in scenarios where you have multiple
domains and users from each domain need access to a shared resource in one domain. As
376
Part III:
Administering Windows Server 2008 Active Directory
illustrated in Figure 10-6, you can create a global group in each domain and then add that
global group to a domain local group in the domain where the resource is located.
Global Group
Adatum.com
Global Group
Global Group
NA.Adatum.com
Shared
Folder
Shared
Folder
Global
Group
Asia.Adatum.com
Figure 10-6 Configuring resource access using global groups and domain local groups with
multiple domains.
Note
Windows NT uses global groups and local groups, but does not have the option of
using domain local groups. If you have Windows NT member servers in your domain, you
will still need to use local groups on each server. If you have servers running Windows 2000,
Windows Server 2003, or Windows Server 2008, and your domain is running in at least
Windows 2000 native functional level, you should use domain local groups whenever possible.
If you do, you can use the domain local groups across multiple servers. In addition, if you use
domain local groups rather than local groups, you can move a resource between servers and
use the same domain local group to assign permissions.
One of the questions that must be asked when creating the security group design is when to
use global groups and when to use universal groups. In some cases, you do not have any
option. For example, mail-enabled groups for Exchange 2000 Server and Exchange Server
2003 that contain members from multiple domains cannot be properly processed unless they
are universal groups. Exchange Server 2007 creates all new mail-enabled groups as universal
groups.
In most cases, the best practice when creating the universal group design in Windows 2000
Active Directory was to minimize the use of universal groups, especially if you had any
sites that were separated by slow network connections. This was because of replication issues
with the GC. This recommendation is still valid if your forest is running in Windows 2000
functional level. However, if your forest has been switched to the Windows Server 2003 or
Chapter 10:
Managing Active Directory Objects
377
Windows Server 2003 interim functional level, this replication issue is no longer relevant
because linked-value replication has been implemented. Also, the option to enable Universal
Group Membership Caching reduces the need to deploy a GC server in every site. Because
of these enhancements, the decision of when to use universal groups or global groups is not
so critical in Windows Server 2008 Active Directory. In most cases, you will be able to use
global groups and universal groups almost interchangeably.
Managing Computers
Another type of object in Active Directory is the computer object. Computer objects are used
to represent domain controllers, member servers, and workstations. Computers authenticate
to the domain by using the computer object just as users authenticate to the domain by using
user objects. Computer accounts automatically change their password every 30 days as a
background process.
Note
All computers running Windows NT, Windows 2000, Microsoft Windows XP
Professional, Windows Server 2003, Windows Vista, and Windows Server 2008 must have a
computer account in the domain. Computers running Microsoft Windows 95 or Microsoft
Windows 98 cannot have accounts in the domain.
You will rarely manage the computer objects in Active Directory directly. If you right-click a
computer account in Active Directory, you will see that there are very few management
options. One option available is to reset the computer account. Use this option with caution,
because when you reset a computer account, you break that computer’s connection to the
domain, and the computer must then be rejoined to the domain. Verify that the computer
account is not disabled before resetting the computer account. When a computer account is
disabled, the computer will not be able to log on to the domain.
The option to reset a computer account is useful when a computer is unable to properly
communicate with the domain. This occurs if the computer account and computer do not
have the same password. This can occur because of communication errors or after disaster
recovery. If you reset the computer account and then rejoin the computer to the domain, the
password is synchronized again. This process is not valid for DCs because DCs cannot rejoin
a domain. A simpler process that works for member servers and DCs is to use the Netdom.exe
utility. The Netdom.exe utility can reset the password on the local computer and on the
computer object at the same time. This avoids the need to rejoin the domain. For a domain
controller, the Kerberos Key Distribution Center service must be stopped first. Then, at a
command line, enter netdom resetpwd /s:DomainController /ud:domainname\Administrator /pd:*. When resetting a domain controller computer account, the domain controller used
by Netdom must be another domain controller in the same domain. When prompted, enter
the password for the Administrator account. After you run the command, the computer must
be restarted.
378
Part III:
Administering Windows Server 2008 Active Directory
More Info
For more information about using Netdom.exe to reset the password of a
computer account, see “How to Use Netdom.exe to Reset Machine Account Passwords of a
Windows Server 2003 Domain Controller” at http://support.microsoft.com/kb/325850.
An option that is very useful from an administrative point of view is the option to access
the Computer Management application for any computer from Active Directory. Locate a
computer in the Active Directory Users And Computers administrative tool, right-click the
icon for the workstation or server you want, and choose Manage. The Computer Management
Microsoft Management Console (MMC) opens focused on the workstation or server that
you selected.
In most cases, computer objects are created when the computer joins the domain. The
computer objects for member servers and workstations are created in the Computers
container. When a member server is promoted to a domain controller, the computer object
for the domain controller is moved to the Domain Controllers OU.
Caution You can move the computer objects for domain controllers out of the Domain
Controllers OU, but this is not recommended. Many of the domain controller security settings
are configured on the Domain Controllers OU, and moving the computer object for a domain
controller out of this container will effectively modify the security settings for any moved
domain controllers.
In most cases, you will move the computer objects from the Computers container into specific
OUs. The reason for doing this is so you can manage the computers differently. For example,
you will probably want to manage the member servers in your company differently from the
workstations, so you will need to create two separate OUs. Often, workstations can be split up
into smaller groupings. All the workstations in the Sales department will require different
applications than the workstations in the Engineering department, for example. By creating
two OUs and moving the workstations into the appropriate OUs, you can manage the two
types of workstations differently.
Note
Group Policy cannot be applied directly to the Computers container because it is not
an OU.
You can redirect the default location for computer objects during creation when joining the
domain. If your domain is at least at the Windows Server 2003 functional level, then you
can use the Redircmp.exe utility to set a new location. Open a command prompt and then
enter redircmp ou=OUforComputers,dc=DomainName,dc=com.
Chapter 10:
Note
Managing Active Directory Objects
379
The Rediruser.exe command can be used to change the default location for new user
objects.
To avoid moving computer objects after creation, you can create computer objects in the
desired OU before the computers join the domain. If a computer object already exists that
matches the name of the computer, it will use the existing computer object. This also avoids
the need to delegate administrative rights to join computers to the domain.
The Authenticated Users group is assigned the Add Workstations To A Domain right. This
allows all users to add workstations to a domain and create up to 10 computer accounts. If
users need to create more than 10 computer accounts, then the users can be delegated the
Create Computer Objects permission in Active Directory. This permission can be delegated
for only specific OUs if desired. Alternatively, users can be given the Add Workstations To A
Domain right in a Group Policy that will allow users to create computer objects in the domain.
In addition, members of the Account Operators group, Domain Admins group, and Enterprise Admins group can create computer objects. Account operators cannot create computer
objects in the Domain Controllers OU.
When creating new computer objects, you can use command-line tools to script the process.
The Dsadd.exe utility allows you to specify the specific location of a computer object
during creation. The Netdom.exe utility can also be used to join a computer to the domain
and specify the OU for the new computer object.
Note
The fact that you will not likely perform a great deal of administration on the
computer objects in Active Directory certainly does not mean that you will not be using Active
Directory to manage computers. Chapter 11, “Introduction to Group Policy”; Chapter 12,
“Using Group Policy to Manage User Desktops”; and Chapter 13, “Using Group Policy to Manage
Security,” deal with Group Policy, which provides powerful tools for managing computers.
Managing Printer Objects
A third group of objects in Active Directory consists of printer objects. You can create a printer
object by publishing the printer in Active Directory. When you publish a printer in Active
Directory, a printer object is created that stores printer attributes, such as printer location,
but also printer features such as printing speed, color printing capabilities, and other printerspecific functionality. The primary reason for publishing printer objects in Active Directory is
to make it easier for users to locate and connect to network printers.
380
Part III:
Administering Windows Server 2008 Active Directory
Publishing Printers in Active Directory
By default, any printer that is installed and shared on a computer running Windows 2000
Server and Windows Server 2003 in an Active Directory domain is automatically published
in Active Directory. If you want a shared printer on a computer running Windows Server 2008
to be automatically published in Active Directory, you can select the option List in the
directory on the Sharing tab in the properties of the printer.
Note
Printer objects that are added to Active Directory automatically are stored under the
computer object. To view these objects by using Active Directory Users And Computers,
you must enable the option Users, Groups, And Computers As Containers in the View menu.
If a shared printer is located on a server running Windows NT or another non–Windowsbased server operating system, you must manually publish the printer in Active Directory.
To do so, locate the container object where you want to publish the printer object, and then
right-click, point to New, and click Printer. Then type the Universal Naming Convention
(UNC) path to the shared computer. Printer objects that are added to Active Directory
manually are not automatically updated with changes to printer information and appear in
the container where you create them.
Windows Server 2008 includes the script Pubprn.vbs to automatically add shared printers
from Windows NT to Active Directory. This script is not used for printers shared on computers running Windows 2000 Server, Windows Server 2003, or Windows Server 2008. The
Pubprn.vbs script is located in %WINDIR%\System32\Printing_Admin_Scripts\<language>.
More Info For detailed information about the syntax for Pubprn.vbs, see the Pubprn.vbs
Web page in the Windows Server 2008 Technical Library at http://technet2.microsoft.com/
windowsserver2008/en/library/0bc7f7e3-84e1-4359-b477-7b1a1a0bd6391033.mspx?mfr=true.
Publishing a printer in Active Directory allows users to search Active Directory for printer
objects. When a printer is published in Active Directory, information about the printer is
populated in the printer object. This can be very useful information for a user who is looking
for a specific printer. For example, the user may be looking for a color printer that also
prints at least six pages per minute. If this information is stored in Active Directory, the client
can use Find Printers dialog box to locate any printers that meet these requirements.
Figure 10-7 shows the interface on a Windows Vista workstation. After the network printer
has been located, the user can right-click on the printer and select Connect to install the
printer on the client machine.
If the printer objects are published in Active Directory, you can use Group Policy to manage
the printer objects. Figure 10-8 shows the options for managing printer settings.
Chapter 10:
Managing Active Directory Objects
381
Figure 10-7 Searching for printers in Active Directory.
Figure 10-8 Configuring printer settings using the Group Policy Object Editor.
Some of the options that you can configure using Group Policy manage printer pruning. The
pruning service on a domain controller automatically deletes printer objects from Active
Directory if the printer objects become obsolete. For example, if a printer is removed from a
print server, or if the printer is no longer shared on the server, printer pruning will remove
the printer object. By default, the pruning service on one of the Active Directory domain
controllers tries to contact each print server every eight hours to confirm the validity of the
printer information. If the print server does not respond, the printer object is deleted from
Active Directory. Each time a print server running Windows 2000 or later restarts, it
382
Part III:
Administering Windows Server 2008 Active Directory
automatically republishes the shared printers on the server in Active Directory. You can
configure the printer pruning parameters by using the Group Policy Object Editor. Table 10-8
describes Group Policy settings for managing printer objects.
Table 10-8 Printer Object Management GPO Settings
GPO Setting
Description
Automatically publish new printers in Active
Directory
When this option is enabled, shared printers are
automatically published in Active Directory.
Allow pruning of published printers
When this option is enabled, printer objects in
Active Directory are removed by the pruning
service on a domain controller when the
computer that published the printer does not
respond to contact requests.
Prune printers that are not automatically
republished
This option applies only to printers that were not
created automatically (published), such as those
created with Pubprn.vbs or manually created by
using Active Directory Users And Computers.
This can be configured for Never, Only if print
server is found, or Whenever printer is not found.
Directory pruning interval
Specifies how often the pruning service on a
domain controller verifies that printers are
operational. This option is only relevant if
pruning of printers is enabled. The default
pruning interval is eight hours.
Directory pruning priority
Specifies the priority of the thread that performs
directory pruning on domain controllers. The
default priority is normal.
Directory pruning retry
Specifies how many additional attempts are
made to contact a printer before it is pruned. The
default value is two retries.
Log directory pruning retry events
When this option is enabled, attempts to contact
printers by the pruning thread are recorded in
the event log.
Allow printers to be published
When this option is enabled, the option List in
directory is available on the Sharing tab in a
printer’s properties. When this option is disabled,
then the computer cannot publish printers. This
setting overrides Automatically publish new
printers in Active Directory.
Check published state
Specifies how often a computer verifies that its
published printers are in Active Directory. By
default, printers are checked only at startup.
Chapter 10:
Managing Active Directory Objects
383
Printer Location Tracking
One of the most interesting options in Active Directory for managing printer objects is the
option to automatically pre-populate the printer location setting for users when they browse
for a printer. Many companies with multiple locations have employees who travel between
company locations. Most companies have meeting rooms that are in different parts of the
building. Whenever users move from one part of the company to another, they usually need to
be able to print, regardless of their location. If users are unfamiliar with where the printers are
in their current location, it can often take some time to find the closest printer.
You can simplify this search for printers by assigning each printer a location in Active
Directory and then using the user’s location to present a list of printers that are close to
the user. This functionality is based on the site configuration in Active Directory.
To enable printer location tracking, perform the following steps:
1. Open the Active Directory Sites And Services administrative tool and locate the subnet
object where you will enable printer tracking. Right-click the subnet object and select
Properties. Click the Location tab and enter the location value for this subnet. The
location entry should be in the location/sublocation format (for example, HeadOffice/
3rdFloor).
2. Use the Group Policy Object Editor to enable the Pre-Populate Printer Search Location
Text policy for a selected container. In most cases, you will do this at the domain level.
3. On your print server, access the Properties sheet for each printer. On the General tab,
you can fill in the printer location. If you have completed the first two steps of this
procedure, you can click Browse to locate the printer location. You can add more
details to the printer location so that the printer location is more specific (for example,
HeadOffice/3rdFloor/Outside Meeting Room 5).
After you have enabled printer location tracking, users can easily locate the printer closest to
them. When the user starts the Add Printer Wizard and searches for a printer in Active
Directory, the Location attribute is filled in based on the user’s current subnet. Figure 10-9
shows the interface on a Windows Vista client. The user can then click Browse for a more
specific printer location.
384
Part III:
Administering Windows Server 2008 Active Directory
Figure 10-9 Searching for printer objects in Active Directory using the Location attribute.
You can configure printer location tracking parameters by using the Group Policy Object
Editor. Table 10-9 describes Group Policy settings for managing printer location tracking.
Table 10-9 Printer Location Tracking GPO Settings
GPO Setting
Description
Computer location
Used to override the default location value used
when searching for printers. The default value is
defined in the subnet object for the site in Active
Directory.
Pre-populate printer search location text
Configures the Add Printer Wizard to search
for printers based on the location defined in the
local Active Directory subnet object. Users are
also able to browse for printers by location. By
default, the Add Printer Wizard locates printers
based on IP address and subnet mask of the
client.
Managing Published Shared Folders
Another object that you can publish to Active Directory is a shared folder object. To publish a
shared folder on Active Directory, locate the Active Directory container where you want to
publish the shared folder. Right-click the container, point to New, and click Shared Folder.
Then type a name for the Active Directory object as well as the UNC for the shared folder.
After you create the shared folder object in Active Directory, users can browse for the shared
Chapter 10:
Managing Active Directory Objects
385
folder or search Active Directory for the object. After the users locate the object in Active Directory, they can right-click on the object and map a drive to the shared folder.
The primary advantage of publishing a shared folder to Active Directory is so that users can
search for shares in Active Directory based on a variety of properties. When you create a
shared folder object, you can provide a description for the shared folder. Figure 10-10 shows
the interface. After creating the shared folder, you can open its Properties sheet to provide
keywords associated with the shared folder. When clients need to locate the shared folder,
they can search Active Directory using an argument based on the object name, keywords, or
description.
Figure 10-10 Publishing a shared folder in Active Directory.
The most significant limitation with publishing shared folders in Active Directory is that if
you ever move the shared folder to another server, any client with a drive permanently
mapped to that shared folder will find that the mapping no longer works. This is because
when you map a drive to a shared folder in Active Directory, the drive mapping on the client
is still based on the UNC path to the share. For example, you may create and publish a shared
folder called SalesInfo that points to \\SEA-SRV1\SalesInfo. When a user browses to that
shared folder in Active Directory and maps a drive, the drive mapping uses the \\SEASRV1\SalesInfo syntax. If you ever move the folder to another server, the drive mapping will
fail even if you change the Active Directory object to point to the new location.
This limitation of publishing shared folders can be overcome if you use Distributed File
System (DFS). DFS can provide a namespace (UNC path) that is fault tolerant and allows data
to be moved from server to server without clients losing connectivity.
386
Part III:
Administering Windows Server 2008 Active Directory
Automating Active Directory Object Management
Windows Server 2008 includes graphical utilities, such as Active Directory Users And
Computers, for managing Active Directory objects. Graphical utilities make it easy to create
and edit Active Directory objects by providing wizards and structure for object creation. For
example, when creating a new user object by using Active Directory Users And Computers,
the wizard asks you for all the necessary information such as full first name, last name, and user
logon name. This avoids the need for you to remember details such as the property names.
Graphical utilities have limited support for making bulk changes to Active Directory objects.
For example, you can modify only a few user properties when multiple users are selected
in Active Directory Users And Computers. As well, graphical utilities typically do not have the
ability to automate management of Active Directory objects. For example, an application
cannot use Active Directory Users And Computers to create new user objects.
To make bulk changes to Active Directory objects and automate management of Active
Directory objects, you must use tools that are designed for that purpose. The tools included in
Windows Server 2008 include command-line tools, LDIFDE, CSVDE, VBScript support,
and Windows PowerShell.
Command-Line Tools for Active Directory Management
The Windows Support tools for Windows 2000 Server and Windows Server 2003 included a
number of command-line tools for managing Active Directory objects. In Windows Server
2008, these tools are installed when the AD DS role is added rather than as a separate downloadable component.
Command-line tools for managing Active Directory are most useful in batch files. A batch file
is a text file with the BAT file extension (.bat). Each line in the batch file is a command.
The contents of the batch file are interpreted by Cmd.exe. Consequently, you can use any
command in a batch file that you could at a command prompt. Batch files also offer the ability
to do more complex processing such as displaying menus.
You can use batch files to automate processes that are performed on many objects at a time.
For example, you could create a batch file that modifies the address information for all users
in an OU when the department changes locations. You can also automate tasks that need to
be performed on a regular basis by running the batch file as a scheduled task. Table 10-10
lists the command line tools available for managing Active Directory objects in Windows
Server 2008.
Chapter 10:
Table 10-10
Managing Active Directory Objects
387
Command-Line Tools for Active Directory Management
Tool
Description
Dsadd
Used to add objects to Active Directory. You can add computer objects, contacts,
groups, OUs, and users. You can also add a quota specification to an Active
Directory partition. A quota specification limits the number of objects a security
principal, such as a user, can own in the partition.
Dsmod
Used to modify objects in Active Directory. You can modify computer objects,
contacts, groups, OUs, users, and quota specifications. You can also modify the
properties of a domain controller or Active Directory partition. You can pipe output
from the Dsquery command as input to this command.
Dsmove
Used to move and rename objects in Active Directory. This utility can only move
objects within a domain.
Dsrm
Used to remove objects from Active Directory. In addition to removing individual
objects, you can remove a container and its contents.
Dsquery
Used to find objects in Active Directory with specific properties. For commonly used
object types, there are options you can use at a command line for certain properties.
Dsquery can also be used to perform LDAP queries, which allow you to find any
object type and any object attribute. The results of a Dsquery command can be
piped to other commands, such as Dsmod, Dsget, Dsmove, and Dsrm.
Dsget
Used to view the properties of an object in Active Directory. By default, the
properties are displayed on screen, but they can be redirected to a file for further
evaluation.
Note
Use the /? option with each command-line tool to view additional information about
how to use each tool and the syntax for each tool.
Using LDIFDE and CSVDE
Windows Server 2008 includes LDIFDE and CSVDE to perform bulk imports and exports
of information from Active Directory. Each tool reads information from a data file and then
creates or modifies Active Directory objects as dictated by the data file. The main difference
between the two tools is the format of the data. CSVDE uses data in a comma-separated values
(CSV) file, whereas LDIFDE uses data in LDAP directory interchange format (LDIF).
The tool you select to use will be based on the format of your data. For example, if an organization has a human resources application that exports data about new hires in LDIF format,
then LDIFDE should be used. However, if a school has a list of new students in a Microsoft
Office Excel spreadsheet that can be easily saved as a CSV file, then CSVDE should be used to
create the new students.
388
Part III:
Administering Windows Server 2008 Active Directory
LDIFDE
LDIF is a proposed standard data format as defined in RFC 2849. It is commonly used
for importing and exporting data from directories, including Active Directory and other
Lightweight Directory Access Protocol (LDAP) directories.
The data in an LDIF file contains multiple entries separated by a blank line. Each entry has
multiple lines with specific information. Dn is used to specify the object being modified.
Changetype is used to specify the action being taken. Valid values for changetype are add,
modify, and delete. A “-” is used to separate multiple attributes for a single object and is also
required at the end of each entry when the changetype is set to modify. The following LDIF file
modifies two attributes of the Paul West user object:
dn: CN=Paul West,OU=Accounting,DC=Adatum,DC=com
changetype: modify
replace: physicalDeliveryOfficeName
physicalDeliveryOfficeName: 315
replace: title
title: HR Manager
-
LDIFDE can be useful in a number of scenarios:
■
Bulk modification of user accounts To do this, export the selected user accounts to an
LDIF file, modify the LDIF as necessary for importing, and then import the LDIF file.
Modification of the LDIF file after export requires more than a simple search and
replace of the attribute value you want to modify. The changetype value is set to add
during an export, and this must be modified to change after the export is complete and
before the import is performed. The attribute values must also be modified to the format
necessary for import.
■
Moving user accounts to a new domain
■
In addition to the dn and changetype lines, the minimum
attributes that must be provided when creating a new user are cn=displayname and
objectClass=user. The samAccountName=logonname attribute should also be included,
but will be randomly generated if not included. Newly created users are disabled. You
can also set a password for new users with the unicodePwd attribute if your connection to
the server is encrypted by using SSL.
User accounts in one domain can be exported
to an LDIF file and then imported into a new domain. The users will not maintain
existing security identifiers (SIDs). However, users can be added to appropriate groups
as part of the import process.
Bulk creation of new users
You should limit the export of user information to only those objects and attributes you want
to modify. For example, if the accounting department has moved to a new location, export
only user objects in the Accounting OU and only the address attributes that are being
modified. As part of the export process, you can define a filter that lets you limit the Active
Chapter 10:
Managing Active Directory Objects
389
Directory objects that are exported to certain objects classes and objects with specific
attribute values. You can also specify a RootDN that defines which OU the LDAP query
applies to. Only objects within the RootDN will be returned. A scope defines how many levels
within the RootDN are searched.
More Info For more information about using LDIFDE to perform bulk operations, see the
“Step-by-Step Guide to Bulk Import and Export to Active Directory” on the Technet Web site at
http://technet.microsoft.com/en-us/library/Bb727091.aspx.
CSVDE
CSVDE is useful in cases in which data is not readily available in LDIF format. Many applications are able to export data as a CSV file, but not as an LDIF file. Each line in the CSV file
used by CSVDE is an individual entry that will be processed by CSVDE. This line is a list of the
attribute values to be added or modified. No action is defined in the file, since unlike LDIFDE,
CSVDE always creates a new object for each line in the CSV file. The first line in the CSV file
is a header that defines which attribute corresponds with each value in the lines below.
When using CSVDE to export data, the same options for filtering data exist as for LDIFDE.
You can filter output based on object class and attributes. You can perform an export without
any filtering of attributes to create a CSV file that shows you the proper names for all of the
attributes in the header of the CSV file. CSVDE will export only attributes that have a value in
at least one object.
More Info For more information about CSVDE syntax and options, see “CSVDE” on the
Technet Web site at http://technet2.microsoft.com/windowsserver/en/library/1050686f-346441af-b7e4-016ab0c4db261033.mspx?mfr=true or use the /? option to view CSVDE help.
Using VBScript to Manage Active Directory Objects
Batch files are a simple implementation of scripting that can be used in Windows Server 2008.
However, if you create scripts using a scripting language such as VBScript, then you can
perform much more complex tasks. Some benefits of using scripting to manage Active
Directory objects are:
■
Running a script is typically faster than performing the same task in a graphical tool.
■
Scripts are reusable. The initial development of a script takes longer than a graphical
tool, but after the script is completed, it can be reused many times with slight modifications to suit new circumstances.
■
Scripts can reduce or eliminate human error. By reusing a single tested script, you can
avoid errors that may be introduced when repetitive processes are performed manually.
Scripts can also validate information that is entered.
390
Part III:
Administering Windows Server 2008 Active Directory
■
Scripts can manipulate all available object attributes. Graphical tools allow you to
modify only certain object attributes. A script has no such limitations.
■
Scripts can be scheduled. Scheduling a script to run is useful for performing routine
maintenance. For example, you can move all disabled user accounts to a specific
OU each week.
Active Directory Scripting Components
Scripting in Windows Server 2008 is supported by Windows Script Host (WSH). There
are two run-time environments for WSH: Wscript.exe is a Windows-based run time for
graphical applications and Cscript.exe is a command-line based run time that writes output to
a command prompt. Wscript.exe is the default run time used when you double-click a script.
Windows Script Host supports using both VBScript and JScript as scripting languages. In
most cases, those with less scripting experience prefer to use VBScript. Most scripting
examples available on the Microsoft Web site also use VBScript. VBScripts typically end in the
.vbs file extension. However, the .vbe file extension is also used for VBScripts. Files with
the .wsf file extension are a generic Windows Script Host file that can contain a combination
of VBScript and JScript.
A scripting interface is an abstract layer that allows you to access information from a data
source. Active Directory Service Interfaces (ADSI) is the most commonly used scripting
interface to access Active Directory objects. By using ADSI, you can create, modify, and delete
Active Directory objects. ActiveX Data Objects (ADO) can also be used to access Active
Directory objects. However, ADO can only be used to query Active Directory objects, not
modify them. When performing a query, the primary difference between ADSI and ADO is
that the result set from an ADO query is flat. A list of users is returned as a single list rather
than hierarchically organized by domain or OU.
Windows Management Instrumentation (WMI) is a scripting interface that is the Microsoft
implementation of Web-Based Enterprise Management (WBEM) initiative, which is a standardized way to manage network and computer resources. In addition to manipulating Active
Directory objects, WMI enables you to query, change, and monitor configuration settings
on desktop and server systems, applications, networks, and other enterprise components.
Creating and Running a VBScript
When you create a VBScript, only a simple text editor such as Notepad is required. The only
requirement is to save the script with the .vbs or .vbe file extension. However, there are script
editors that can simplify the process of creating a script. A script editor is able to verify syntax
in the script so that you can correct errors during the writing process instead of having to
address errors only after you run the script. Script editors also typically provide code completion and syntax coloring.
Chapter 10:
Managing Active Directory Objects
391
Binding to an Object The first step for manipulating an Active Directory object in a
VBScript is binding to an Active Directory object. “Binding to an object” is another way of
saying connecting to an object. If you are creating a new object, you bind to the container the
object will be created in. If you are modifying an existing object, you bind to the object you
are modifying. When you bind to an object, it is stored in a local cache on the computer where
the script is running.
VBScript is an object-based scripting language. This allows you to work with objects in Active
Directory as a single unit and perform actions on an entire object as well as on object
properties. When you bind to an Active Directory object, that object is placed into a variable
that represents the object. You then manipulate the variable rather than the object.
The following code is an example of binding to an Active Directory OU. The variable acctOU
is set as an in-memory instance of the Accounting OU. Notice that the Accounting OU is
defined by an LDAP path:
Set acctOU = GetObject("LDAP://OU=Accounting,dc=adatum,dc=com")
Creating an Object Creating a new object requires that a new variable be created with the
information about the new object. The new object is created by using the Create method
on the variable for the container. Methods are actions that an object can perform. Table 10-11
lists some commonly used methods available for Active Directory objects through the
ADSI interface.
Table 10-11
VBScript Methods for Managing Active Directory Objects
Method
Description
Create
Used to create new objects.
Get
Used to retrieve the value of an object attribute.
GetEx
Used to retrieve values as an array. Typically used for multivalued attributes.
Put
Used to place a new value in an object attribute.
PutEx
Use to place a new value in an object attribute with advanced options. This method
allows you to manage the values of a multivalued attribute.
SetInfo
Used to save the changes to a new or modified object.
The following code is an example of creating a new user in the Accounting OU. The variable
newUser is set equal to the new user object Paul West. Then the sAMAccountName attribute of
the newUser variable is set to be Paul:
Set newUser = acctOU.create("User","cn=Paul West")
newUser.Put "sAMAccountName","Paul"
When you create a new object, you must define all of the mandatory attributes for that object
class. In this case, defining cn and sAMAccountName are sufficient to create a new user object.
Other necessary attributes such as the SID are generated automatically by the system.
392
Part III:
Administering Windows Server 2008 Active Directory
Saving Changes When you manipulate objects by using a script, the changes are made
only to the locally cached version of that object. These changes must be saved to Active
Directory by using the following code:
newUser.SetInfo
The SetInfo method saves changes only for a single object. If you have modified multiple
objects in your script, then you must use the SetInfo method for each object. In some cases,
you must use SetInfo for one object before modifying another. For example, you use SetInfo
for a newly created user before you can add that user to a group, because the user does
not exist in the directory and therefore cannot be referenced by the group until SetInfo is used
to create the user in Active Directory.
Modifying an Existing Object The following code demonstrates how to modify the
properties of a user account. The variable modUser is set equal to the Paul West user object and
then the givenName, sn, and displayName attributes of the objects are modified. Finally, the
modifications in cache are saved to Active Directory.
Set modUser = GetObject("LDAP://cn=Paul West,OU=Accounting,DC=Adatum,DC=com")
modUser.Put "givenName","Paul"
modUser.Put "sn","West"
modUser.Put "displayName","Paul West"
modUser.SetInfo
More Info For more information about using VBScript to manage Active Directory objects,
visit the Getting Started page of the TechNet Script Center at http://www.microsoft.com/
technet/scriptcenter/hubs/start.mspx. For more examples of VBScripts that can be used to
manage Active Directory objects, visit the Active Directory page of the Script Repository at
http://www.microsoft.com/technet/scriptcenter/scripts/default.mspx?mfr=true.
Using Windows PowerShell to Manage Active Directory Objects
Windows PowerShell is a new scripting and command-line environment included in
Windows Server 2008 that you can use for administering Windows systems. You must
install Windows PowerShell as a feature; it is not installed by default. Windows PowerShell
can also be downloaded for Windows XP SP2, Windows Vista, and Windows Server 2003.
The Windows PowerShell commands can be used directly from a command prompt or in a
script. The command shell PowerShell.exe provides the environment for running Windows
PowerShell commands in the same way that Cmd.exe provides the environment for running
traditional command-line utilities. Windows PowerShell scripts are text files with Windows
PowerShell commands in the same way that batch files are text files with commands that can
be run from a command line. Windows PowerShell scripts have the .ps1 file extension.
Chapter 10:
Managing Active Directory Objects
393
Some Microsoft Management Console (MMC) snap-ins use Windows PowerShell to perform
tasks. For example, the Exchange Management Console for managing Microsoft Exchange
Server 2007 requires Windows PowerShell.
More Info
For more information about Windows PowerShell, visit the Windows PowerShell
page on the Microsoft Web site at http://www.microsoft.com/windowsserver2003/technologies/management/powershell/default.mspx.
Cmdlet Syntax
A cmdlet is a command used in Windows PowerShell. Each cmdlet is composed of a verb-noun
pair separated by a dash. The verb describes the action to be taken and the noun describes
what the action is to be taken on. Some of the common verbs used in cmdlets are Get, Set,
New, and Remove. In most cases, additional parameters are added to the cmdlet to provide
additional information. The parameters are preceded by a dash. The following example shows
the syntax for using a cmdlet:
Verb-noun –parametername parametervalue –parametername
The following example shows a command that uses the Get-Help cmdlet to display help
information for the Get-Service cmdlet. The -Name parameter is used to indicate the name
of the cmdlet that information is desired for. The -Detailed parameter is used to indicate that
a detailed listing of information is desired rather than a summary:
Get-Help –Name Get-Service -Detailed
Accessing Active Directory Objects
Windows PowerShell does not include any cmdlets that are specific to managing Active
Directory objects. However, there are two interfaces that can be used to access Active
Directory objects for manipulation. System.DirectoryServices.DirectoryEntry is a class object
in the Microsoft .Net Framework that can be used to access all possible Active Directory
functions from within Windows PowerShell. [ADSI] is a type accelerator to System.DirectoryServices.DirectoryEntry that simplifies access to Active Directory. The use of [ADSI] is similar
to how Active Directory objects are accessed and modified by using VBScript. Both of these
methods can be used in combination. For example, you can connect to an object by using
[ADSI] and then use DirectoryEntry commands to manipulate it. The remainder of this
section will use [ADSI] because it is simpler to use and understand.
More Info For more information about using the DirectoryEntry object and how it
compares to [ADSI], see “Benp’s Basic Guide to Managing Active Directory Objects with
PowerShell” on the Technet Blogs Web site at http://blogs.technet.com/benp/archive/2007/03/
05/benp-s-basic-guide-to-managing-active-directory-objects-with-powershell.aspx.
394
Part III:
Administering Windows Server 2008 Active Directory
The process for accessing Active Directory objects in Windows PowerShell is approximately
the same as when using VBScript, but with slightly different syntax. First, you must bind the
selected Active Directory objects, make the changes you desire, and then commit the changes.
The most common methods used by [ADSI] are Create(), Get() Put(), Delete(), and SetInfo().
The following example creates a new user in the Accounting OU. The variable $acctOU is used
to create a binding with the Accounting OU. The $newUser variable is used to create the
new user Paul West. Notice that the SetInfo method must be used to commit the new user
before the sAMAccoutName attribute is defined and committed. This is different than the
process used in the VBScript example.
$acctOU = [ADSI] 'LDAP://OU=Accounting,DC=Adatum,DC=com'
$newUser = $acctOU.create('User','CN=Paul West')
$newUser.setinfo()
$newUser.sAMAccountName = 'Paul'
$newUser.setinfo()
Using CSV Files
You can use the Import-Csv cmdlet to load data from CSV file into a variable. The most likely
scenario for using this is the bulk creation of objects in Active Directory. The CSV file must
have a header row that describes each column of data, but unlike a data file for the CSVDE
utility, the header row descriptions do not need to match the name of the object attributes
exactly. The header row descriptions are used only to reference the data that is imported. For
example, the header row could use the description LoginName for the data that is eventually
used as the sAMAccountName attribute.
If you do not want to use all data in a CSV file, you can filter the data by using the WhereObject cmdlet. This cmdlet allows you to specify a filter based on the data in the CSV file. The
following example filters the contents of Users.csv to use only rows where the department
is Accounting. More complex queries can be created by adding additional criteria to the filter.
After the specified rows are stored in the $users variable, then the data can be used to create
new users or further manipulated.
$users = Import-Csv C:\Users.csv | Where-Object {$_.department –eq "Accounting"}
Exchange Management Shell Commands
The Exchange Management Shell is an extension to Windows PowerShell that is included
with Microsoft Exchange Server 2007. It includes some cmdlets that can be used to manage
Active Directory users and groups. Some of the cmdlets for managing Active Directory objects
are listed in Table 10-12. There are additional cmdlets that are specific to mailbox-enabled
users, mail-enabled users, mail-enabled contacts, and distribution groups. For example, the
New-Mailbox cmdlet can be used to create new users with an Exchange mailbox.
Chapter 10:
Table 10-12
Managing Active Directory Objects
395
Exchange Management Shell Cmdlets
Cmdlet
Description
Get-User
Retrieves a list of users matching specified criteria. Several parameters
are included for filtering users based on organizational unit, company
name, or department. There is also a generic filter parameter that allows
you to use a wide variety of other user attributes as filters.
Set-User
Modifies characteristics of the specified user. Lists of users retrieved by
the Get-User cmdlet can be piped to this cmdlet.
Get-Group
Retrieves a list of groups matching specified criteria.
Set-Group
Modifies a limited number of characteristics for the specified group.
Get-Contact
Retrieves a list of contacts matching specified criteria.
Set-Contact
Modifies characteristics of the specified contacts. Lists of contacts
retrieved by the Get-Contact cmdlet can be piped to this cmdlet.
Summary
This chapter provided an overview of the most common Windows Server 2008 Active
Directory objects and procedures for administering Active Directory objects. A great deal of
your administrative effort will be spent administering these objects. In particular, you will
be administering group and user accounts as employees join and leave your company, or as
you create new groups to secure network resources. Determining an effective strategy for
group types and scopes is essential. You will also spend your time administering objects such
as computer objects, printer objects, or shared folder objects.
Windows Server 2008 provides many opportunities to automate the management of Active
Directory objects. These include command-line tools, CSVDE, and LDIFDE. For more
advanced tasks, you can use either VBScript or Windows PowerShell.
Best Practices
■
Use Ldp.exe and Adsiedit.msc to modify object attributes that are not visible standard
administrative tools such as Active Directory Users And Computers. Use caution when
directly editing objects.
■
Use UPNs to simplify logon in multidomain environments. Users can log on at any
computer without selecting the appropriate domain in the logon box.
■
When selecting a service account, use the account with the least permissions possible.
The LOCAL SERVICE account has the least permissions. The NETWORK SERVICE can
access network resources as the local computer account. SYSTEM has full access to the
local computer and can access network resources as the local computer account.
396
Part III:
Administering Windows Server 2008 Active Directory
■
Organize groups into a hierarchy for easier application. Add users to global or universal
groups to organize them. Assign domain local groups permissions to resources and then
make the appropriate global and universal groups members of the domain local groups.
■
When organizing groups between trusted forests, users should be placed into global
groups, which are then placed into universal groups in the same forest. Domain local
groups should be assigned permissions to resources and then make the appropriate
universal groups members of the domain local groups.
■
Use Netdom.exe to reset the password on a computer account to avoid the need to
rejoin a domain when the trust between a computer account and the domain is broken.
■
Use printer location tracking and publish printer objects in Active Directory to make it
easier for users to locate printers.
■
Use command-line tools and scripting when performing bulk actions on Active
Directory objects. Initial testing may take longer, but implementation is much faster,
particularly if the task is performed regularly.
■
Use LDIFDE to modify objects rather than CSVDE. CSVDE cannot modify existing
objects; it can only create new objects.
■
In Windows PowerShell, use System.DirectoryServices.DirectoryEntry to access Active
Directory objects when [ADSI] does not provide the functionality that you require.
■
Remember to use SetInfo in both VBScripts and PowerShell scripts to save changes from
the local cache to Active Directory.
■
Use Exchange Management Shell commands when possible to provide a simple way to
perform basic creation and manipulation of user and group objects.
Additional Resources
The following resources contain additional information and tools related to this chapter.
Related Information
■
“Microsoft Identity Lifecycle Manager 2007” Web page at http://www.microsoft.com/
windowsserver/ilm2007/default.mspx
■
“Role-Based Access Control for Multi-tier Applications Using Authorization Manager” at
http://technet2.microsoft.com/windowsserver/en/library/72b55950-86cc-4c7f-8fbf3063276cd0b61033.mspx
■
“How the Global Catalog Works” at http://technet2.microsoft.com/windowsserver/en/
library/440e44ab-ea05-4bd8-a68c-12cf8fb1af501033.mspx?mfr=true
■
“Default Groups” at http://technet2.microsoft.com/windowsserver/en/library/
1631acad-ef34-4f77-9c2e-94a62f8846cf1033.mspx?mfr=true
Chapter 10:
Managing Active Directory Objects
397
■
“How to Use Netdom.exe to Reset Machine Account Passwords of a Windows Server
2003 Domain Controller” at http://support.microsoft.com/kb/325850.
■
“Pubprn.vbs” at http://technet2.microsoft.com/windowsserver2008/en/library/
0bc7f7e3-84e1-4359-b477-7b1a1a0bd6391033.mspx?mfr=true
■
“Step-by-Step Guide to Bulk Import and Export to Active Directory” on the Technet Web
site at http://technet.microsoft.com/en-us/library/Bb727091.aspx
■
“CSVDE” on the Technet Web site at http://technet2.microsoft.com/windowsserver/en/
library/1050686f-3464-41af-b7e4-016ab0c4db261033.mspx?mfr=true
■
The Getting Started page of the TechNet Script Center at http://www.microsoft.com/
technet/scriptcenter/hubs/start.mspx
■
The Active Directory page of the Script Repository at http://www.microsoft.com/technet/
scriptcenter/scripts/default.mspx?mfr=true
■
The PowerShell page on the Microsoft Web site at http://www.microsoft.com/
windowsserver2003/technologies/management/powershell/d