D30. Windows 2003 Active Directory Security Baselines
D30. Windows 2003 Active Directory Security Baselines
D30. Windows 2003 Active Directory Security Baselines
0)
INTERNAL USE
PETRONAS
Windows 2003 Active
Directory Security
Baseline
INTERNAL USE
DOCUMENT OWNER
Group Information Security and Risk Management
DOCUMENT CONTROL
Page No
Version /
Issue Date
INTERNAL USE
Nature of Amendments/Change
INTERNAL USE
Contents
1.
Introduction ......................................................................................... 5
2.
4.
5.
4.1.
4.2.
4.3.
4.4.
5.2.
5.3.
6.
7.
8.
Page 4 of 35
INTERNAL USE
1. Introduction
This document describes the security baselines for Microsoft Windows Server
2003 Active Directory. The baselines consist of security standards and
configuration settings necessary to provides data security protection by
(1) Identifying and verifying users entering the system,
(2) Restricting access to protected resources to authorized users,
(3) Restricting the capabilities of authorized users, once they gain access to
protected resources, and
(4) Logging and reporting security-related events.
Purpose
The purpose of this document is to provide a common basis for security
management of Microsoft Windows Server 2003 at PETRONAS and does not leave
its interpretation to users.
Definitions
Microsoft Windows Server 2003
Windows Server 2003 is a server operating system produced by Microsoft.
Windows Server 2003 comes in a number of editions, each targeted towards a
particular size and type of business. In general, all variants of Windows Server
have the ability to share files and printers, act as an application server, and host
message queues, provide email services, authenticate users, act as an X.509
certificate server, provide LDAP directory services, serve streaming media, and to
perform other server-oriented functions.
The key words MUST, MUST NOT, SHOULD, and SHOULD NOT in this
document are to be interpreted as below:
MUST - This word, mean that the definition is an absolute requirement of
the specification.
MUST NOT - This phrase, mean that the definition is an absolute
prohibition of the specification.
PETRONAS Windows 2003 Active Directory Security Baseline
Page 5 of 35
INTERNAL USE
SHOULD - This word, mean that there may exist valid reasons in particular
circumstances to ignore a particular item, but the full implications must be
understood and carefully weighed before choosing a different course.
SHOULD NOT - This phrase, mean that there may exist valid reasons in
particular circumstances when the particular behavior is acceptable or
even useful, but the full implications should be understood and the case
carefully weighed before implementing any behavior described with this
label.
References
This baseline complements a set of existing corporate IT security policies that are
listed below:
PETRONAS Information Security Policy
The abovementioned security policies might override this baseline; in that case,
pointers to the relevant policies are provided.
Page 6 of 35
INTERNAL USE
Page 7 of 35
INTERNAL USE
Page 8 of 35
INTERNAL USE
3.2.
Page 9 of 35
INTERNAL USE
3.3.
Page 10 of 35
INTERNAL USE
3.4.
Page 11 of 35
INTERNAL USE
If the actual permissions for any AD site object are not at least as restrictive as
those in the appendix, then this is a Finding.
Note: An AD instance may have no AD site Group Policies defined.
B. Group Policy Object Procedures - Default Domain & OU Policies
Start the Active Directory Users and Computers console (Start, Run,
dsa.msc). Ensure that the Advanced Features item on the View menu is
enabled.
Select the left pane item that matches the name of the domain being reviewed.
- Right-click the domain name and select the Properties item.
- On the domain Properties window, select the Group Policy tab and then
the
Properties button.
- On the Default Domain Policy Properties window, select the Security tab.
- Compare the ACL of the Default Domain Group Policy to the
specifications for
Group Policy Objects in Checklist appendix A.3.
If the actual permissions for the Default Domain Policy Group Policy object are
not at least as restrictive as those in the appendix, then this is a Finding.
Return to the initial console view.
For each OU that is defined (folder in folder icon):
- Right-click the OU and select the Properties item.
- On the OU Properties window, select the Group Policy tab.
- For *each* Group Policy Object Link:
-- Select the Group Policy Object Link item
-- Select the Properties button.
-- On the OU Group Policy Properties window, select the Security tab.
-- Compare the ACL of the OU Group Policy to the specifications for Group
Policy Objects in Checklist appendix A.3.
If the actual permissions for any OU Group Policy object are not at least as
restrictive as those in the appendix, then this is a Finding.
Note: Each domain has at least one OU that has a Group Policy. This will be the
Domain Controllers OU.
C. Organizational Unit Object Procedures
Start the Active Directory Users and Computers console (Start, Run,
dsa.msc). Ensure that the Advanced Features item on the View menu is enabled.
For each OU that is defined (folder in folder icon):
- Right-click the OU and select the Properties item.
- On the OU Properties window, select the Security tab.
- Compare the ACL of the OU to the specifications for Organizational Unit
Objects in Checklist appendix A.3.
If the actual permissions for any OU object are not at least as restrictive as
those
in the appendix, then this is a Finding.
b.
The Synchronize Directory Service Data user right has been assigned to an
account.
Checks:
PETRONAS Windows 2003 Active Directory Security Baseline
Page 12 of 35
INTERNAL USE
Trust Relationships
The checks in this section address the AD trust relationships that are manually
created by Administrators. This includes external, forest, and realm trusts.
http://technet.microsoft.com/en-us/library/cc755321(WS.10).aspx
a. DS10.0100 Trust Relationship Documentation
Appropriate documentation is not maintained for each external, forest, and realm
AD trust relationship.
Checks:
Start the Active Directory Domains and Trusts console (Start, Run,
domain.msc).
Select the left pane item that matches the name of the domain being reviewed.
- Right-click the domain name and select the Properties item.
- On the domain object Properties window, select the Trusts tab.
- For *each* outgoing and incoming external, forest, and realm trust,
record the
name of the other party (domain name), the trust type, transitivity, and
the trust
direction.
[Retain this trust information for use in subsequent checks.]
Compare the list of actual trusts with the local documentation maintained by
the
Administrator. [See note below.] For each trust the documentation must contain
type
(external, forest, or realm), name of the other party, trust direction (incoming
and\or outgoing), transitivity, status of the Selective Authentication option, and
status of the SID filtering option.
If an actual trust is not listed in the documentation or if any of the required items are
not documented, then this is a Finding.
PETRONAS Windows 2003 Active Directory Security Baseline
Page 13 of 35
INTERNAL USE
Page 14 of 35
INTERNAL USE
4.2.
Checks:
Start the Active Directory Users and Computers console (Start, Run,
dsa.msc).
Select and expand the left pane item that matches the name of the domain
being
reviewed.
- Select the Builtin item
- Double-click the Pre-Windows 2000 Compatible Access group and select
the
Members tab.
If the Anonymous Logon group or Everyone group is a member of the PreWindows 2000 Compatible group, then this is a Finding.
b. DS10.0240 Privileged Group Membership - Intra-Forest
The number of accounts is excessive or documentation does not exist for the
accounts that are members of the Domain Admins, Enterprise Admins, Schema
Admins, Group Policy Creator Owners, or Incoming Forest Trust Builders
groups.
Checks:
Start the Active Directory Users and Computers console (Start, Run,
dsa.msc).
Select and expand the left pane item that matches the name of the domain
being
reviewed.
Select the Builtin container
- If the Incoming Forest Trust Builders group is defined:
PETRONAS Windows 2003 Active Directory Security Baseline
Page 15 of 35
INTERNAL USE
Page 16 of 35
INTERNAL USE
Note: It is possible to move the highly privileged AD security groups out of the
AD Users container. If the Domain Admins, Enterprise Admins, Schema Admins,
or Group Policy Creator Owners groups are not in the AD User container, ask the
SA for the new location and use that location for this check.
4.3.
Checks:
Determine the MAC level information for the AD Domain asset.
If the MAC level of the AD Domain is III, this check is Not Applicable.
Start the Active Directory Users and Computers console (Start, Run,
dsa.msc).
Select and expand the left pane item that matches the name of the domain
being
reviewed.
Select the Domain Controllers [OU] item in the left pane.
Count the number of computers (objects) in the Domain Controllers OU.
If there is only one domain controller for a MAC I or II level domain, then this is
a Finding.
* *Note:
What does MAC stand for and what is it?
MAC stands for Mission Assurance Category. There are essentially three MAC levels
(MAC I, II, and III) that can be assigned to a particular resource (that resource being: a
network, system, data, or any combination thereof) or control mechanism. The type and
amount of controls put in place to secure a resource depend on the MAC Level assigned
or designated, by the "owner" of that resource. The MAC levels determine the criticality
of a particular resource. MAC I is the highest level and it is the most critical. MAC I data,
systems and networks must have the proper controls implemented in order for those
resources to be recovered/restored within a matter of minutes and hours, as opposed to
MAC III resources which are considered less critical or Mission Essential and are allowed
several days to recover or restore operations during experienced
Page 17 of 35
INTERNAL USE
Page 18 of 35
INTERNAL USE
SETTINGS
12 invalid logon
attempts
15 minutes
15 minutes
6 passwords
remembered
90 days
1 day
8 characters
Enabled
Disabled
Page 19 of 35
INTERNAL USE
Type
Access
Allow
Allow
Full Control
Full Control
Deny on Full
Control
[None
file]
on
Allow
Local Service*
Log files and
log reserve
files
\edb*.log,
\res1.log
\res2.log
Administrators
SYSTEM
Allow
Allow
Create
Folders /
Append Data
Full Control
Full Control
CREATOR
OWNER*
Deny on Full
Control
[None
file]
on
Allow
Local Service*
Work files
\temp.edb
\edb.chk
Administrators
SYSTEM
Allow
Allow
Create
Folders /
Append Data
Full Control
Full Control
CREATOR
OWNER*
Deny on Full
Control
[None
file]
on
Allow
Local Service*
Create
Folders /
Append Data
Page 20 of 35
INTERNAL USE
The permissions for the account names with an asterisk in the table are only
needed for Windows Server 2003.
FRS Directory
Component
FRS
directory
Object
\Ntfrs
\SYSVOL
Account
Name
Administrators
SYSTEM
Account
Name
Administrators
Authenticated
Users
CREATOR
OWNER
Type
Access
Allow
Allow
Full Control
Full Control
Type
Access
Allow
Allow
Full Control
Read, Read
&
Execute, List
Folder
Contents
Deny on Full
Control
[None
dir.]
on
Allow
Server
Operators
Allow
SYSTEM
GPT
policies
directory
\SYSVOL\
domain\Policies
Administrators
Authenticated
Users
CREATOR
OWNER
Allow
Allow
Deny on Full
Control
Allow
Group Policy
Creator
Owners
Allow
Server
Operators
SYSTEM
Allow
Read, Read
&
Execute, List
Folder
Contents
Full Control
Full Control
Read, Read
&
Execute, List
Folder
Contents
[None
dir.]
on
Read, Read
&
Execute, List
Folder
Contents,
Modify, Write
Read, Read
&
Execute, List
Folder
Contents
Full Control
Page 21 of 35
INTERNAL USE
Account Name
Administrators
SYSTEM
Type
Allow
Allow
Access
Full Control
Full Control
[Other SA
groups]
Allow
Read, Execute
With
propagation
Type
Allow
Allow
Allow
Allow
Access
Full Control
Full Control
Full Control
Read
Allow
Read
Apply Group
Policy
Page 22 of 35
INTERNAL USE
Account Name
Administrators
Creator Owner
SYSTEM
Authenticated
Users
[or other user
groups]
Type
Allow
Allow
Allow
Allow
Access
Full Control
Full Control
Full Control
Read
Note:
Other User
Groups in this
context mean
supporting group
such as Helpdesk
Accounts or
Service Accounts
that fall under
same category.
If an SA-approved distributed administration model [help desk or other user
support staff] is implemented, permissions above Read may be allowed for
groups documented by the SA.
A.4 AD Object Audit Settings
The audit settings in this section refer to the settings of the specified AD
database objects.
Notes: It is generally acceptable for an objects audit settings to be more
inclusive than the settings specified in this document.
Group Policy Objects [Includes Site, Default Domain, and OU GPOs]
Type
Account
Access
Scope
Fail
Everyone
[All
access Object and all child
types]
objects
Success Everyone
Modify
groupPolicyContainer
Permissions
objects
Write
All
Properties
Note: The best method of applying audit settings for all the Group Policy
Objects is by configuring the settings on the Policies container (within the
domains System container) and specifying inheritance.
Domain Object
Type
Account
Fail
Everyone
Success
Everyone
Access
[All
access
types]
Write
All
Properties
Modify
Scope
Domain
only
Domain
only
object
object
Page 23 of 35
Success
Administrators
Success
Domain Users
Infrastructure Object
Type
Account
Fail
Everyone
Success
Everyone
AdminSDHolder Object
Type
Account
Fail
Everyone
Success
Everyone
Everyone
INTERNAL USE
Permissions
Modify Owner
All
Extended
Rights
All
Extended
Rights
Everyone
Success
Everyone
object
object
Access
[All
access
types]
All
Extended
Rights
Write
All
Properties
Scope
Infrastructure
object only
Infrastructure
object only
Access
[All
access
types]
Modify
Permissions
Modify Owner
Write
All
Properties
Scope
AdminSDHolder
object only
AdminSDHolder
object only
Access
[All
types]
Scope
RID
Manager$ object
only
RID
Manager$ object
only
access
All
Extended
Rights
Write
All
Properties
Domain
only
Domain
only
access
Modify
Permissions
Modify Owner
Create All Child
Objects
Delete
Delete All Child
Objects
Delete Subtree
Write
All
Properties
Scope
Domain
Controllers OU
and all child
objects
Domain
Controllers OU
only
Domain
Controllers OU
and all child
objects
Page 24 of 35
INTERNAL USE
Page 25 of 35
INTERNAL USE
Method 2: Script
a. Create a script file (optionally named dir\AD_List_DomNames.vbs) with the
following
contents:
Page 26 of 35
INTERNAL USE
wscript.echo strAD_objdata
Page 27 of 35
INTERNAL USE
f. Start the Active Directory Domains and Trusts console (Start, Run,
domain.msc).
g. Right-click the Active Directory Domains and Trusts item in the left pane.
h. Select the Operations Master menu item.
i. The fully qualified host name of the domain controller holding the Domain
Naming Master
FSMO role is displayed in the Domain naming operations master text box.
j. Select the Close button to terminate the Operations Master dialog.
k. Start a management console that is configured with the Active Directory
Schema snap-in.
(Start, Run, console-name.msc).
Note: This console must be manually configured and might only be configured
on one server
in the forest.
l. Right-click the Active Directory Schema item in the left pane.
m. Select the Operations Master menu item.
n. The fully qualified host name of the domain controller holding the Schema
Master FSMO
role is displayed in the Current schema master (2003) or Current operations
master
(2000) text box.
o. Select the Close (2003) or Cancel (2000) button to terminate the Schema
Master dialog.
Method 2: Script
a. Create a script file (optionally named dir\AD_List_FSMOInfo.vbs) with the
following
contents:
Page 28 of 35
INTERNAL USE
strDefNC = objRootDSE.Get("defaultNamingContext")
Set objDefNC = GetObject("LDAP://" & strDefNC)
strDefCont = objDefNC.Get("fsmoRoleOwner")
Set objNTDS = GetObject("LDAP://" & strDefCont)
Set objServer = GetObject(objNTDS.Parent)
strPDCE_FSMO = objServer.Get("dnsHostName")
'
' Get RID Master
Set objRIDC = GetObject("LDAP://CN=RID Manager$,CN=System," &
strDefNC)
strRIDCont = objRIDC.Get("fsmoRoleOwner")
Set objNTDS = GetObject("LDAP://" & strRIDCont)
Set objServer = GetObject(objNTDS.Parent)
strRID_FSMO = objServer.Get("dnsHostName")
'
' Get Infrastructure Master
Set objInfC = GetObject("LDAP://CN=Infrastructure," & strDefNC)
strInfCont = objInfC.Get("fsmoRoleOwner")
Set objNTDS = GetObject("LDAP://" & strInfCont)
Set objServer = GetObject(objNTDS.Parent)
strInf_FSMO = objServer.Get("dnsHostName")
'
'Display all FSMOs
strAD_objdata = "FSMO Role Holder Data: "
strAD_objdata = strAD_objdata & vbcrlf & "- Schema Master:" & vbtab & vbtab
& strSch_FSMO
strAD_objdata = strAD_objdata & vbcrlf & "- Domain Naming Master:" & vbtab
& strDN_FSMO
strAD_objdata = strAD_objdata & vbcrlf & "- PDC Emulator:" & vbtab & vbtab
& strPDCE_FSMO
strAD_objdata = strAD_objdata & vbcrlf & "- RID Master:" & vbtab & vbtab &
strRID_FSMO
strAD_objdata = strAD_objdata & vbcrlf & "- Infrastructure Master:" & vbtab &
strInf_FSMO
'
wscript.echo strAD_objdata
Page 29 of 35
INTERNAL USE
BASELINE CHECKLIST
No.
Baseline Setting
Value/Conditions
a)\ntds.dit
The settings only applicable to the 4 user group or individual with similar access
rights. Apply the setting to the user(s)/group(s) that available.
b)\edb*.log,
\res1.log
\res2.log
DS00.0120 Directory Data File Access Permissions
4.1a
The settings only applicable to the 4 user group or individual with similar access
rights. Apply the setting to the user(s)/group(s) that available.
c)\temp.edb
\edb.chk
The settings only applicable to the 4 user group or individual with similar access
rights. Apply the setting to the user(s)/group(s) that available.
Page 30 of 35
Comply
(Y/N)
Remarks
(if not comply)
No.
4.2a
Baseline Setting
DS10.0120 Support Tools Access Permissions
4.1b
INTERNAL USE
Value/Conditions
\%ProgramFiles%\Support Tools\
4.2b
4.3a
If the SA has demonstrated that an alternate time synchronization tool is being used,
check to see if the tool can log time source changes. [Review the available
configuration options and logs.] If the tool has that capability and it is not enabled,
then this is a non-comply.
Active Directory / LSA = Automatic
Computer Browser = Automatic
Distributed File System = Automatic
File Replication Service = Automatic
Kerberos Key Distribution Center = Automatic
Net Logon = Automatic
Remote Procedure Call (RPC) = Automatic
Server = Automatic
Windows Time = Automatic
Page 31 of 35
Comply
(Y/N)
Remarks
(if not comply)
No.
INTERNAL USE
Baseline Setting
Value/Conditions
Group Policy : Default Domain
Administrators = Full Control
Creator Owner = Full Control
SYSTEM = Full Control
ENTERPRISE DOMAIN CONTROLLERS* = Read
Authenticated Users[or other user groups] = Read & Apply Group Policy
4.4a
4.4b
5.1a
5.1b
Notes: Groups containing authenticated users (such as the Authenticated Users group),
other locally created user groups, and individual users *may* have the Read and
Apply Group Policy permissions set to Allow or Deny.
Open MMC
Select and expand the Security Configuration and Analysis item in the left
pane.
Select and expand the Local Policies item in the left pane.
Select the User Rights Assignment item in the left pane.
Scroll down to the Synchronize Directory Service Data Right item in the right
pane.
Note the values indicated in the Computer Setting column.
Remove any accounts (including groups) are assigned the Synchronize Directory
Service Data Right. (default: NONE)
Compare the list of actual trusts with the local documentation maintained by the
Administrator.
Supporting document available for an external, forest, or realm AD trust relationship
is defined where access requirements support the need.
Page 32 of 35
Comply
(Y/N)
Remarks
(if not comply)
No.
5.1c
INTERNAL USE
Baseline Setting
Value/Conditions
Start the Active Directory Domains and Trusts console (Start, Run,
domain.msc).
Select the left pane item that matches the name of the domain being reviewed.
- Right-click the domain name and select the Properties item.
- On the domain object Properties window, select the Trusts tab.
- For *each* outgoing external and forest trust:
-- At a command line prompt enter
netdom trust trusting-domain /D:trusted-domain /quarantine
where trusting-domain is the domain being reviewed
and trusted-domain is the other party to the trust.
5.2a
DS10.0220 Pre-Windows
Membership
2000
Compatible
Access
5.2b
5.2c
5.3a
5.3b
For the Enterprise Admins, Schema Admins, Group Policy Creator Owners, and
Incoming Forest Trust Builders groups : between zero (0) and five (5).
Supporting Documents for the accounts that are members of the Domain Admins,
Enterprise Admins, Schema Admins, Group Policy Creator Owners, or Incoming
Forest Trust Builders groups.
Windows built-in administrative groups and the other forest is under the control of
the same organization or subject to the same security policies, should not have
accounts from another AD forest.
At least one Backup Domain Controller supports an current AD domain. The If the
MAC level of the AD Domain is MAC I or MAC II
The dsHeuristics option is configured to prevent anonymous access to AD.
dsHeuristics attribute defined should not has a 2 in the seventh character
Page 33 of 35
Comply
(Y/N)
Remarks
(if not comply)
No.
INTERNAL USE
Baseline Setting
Value/Conditions
The domain controller holding the forest authoritative time source is configured to
use authorized external time source or reliable source.
5.3c
HKLM\System\CurrentControlSet\Services\W32Time\TimeProviders\NtpClient.
The value for Enabled should set to 1
HKLM\System\CurrentControlSet\Services\W32Time\Parameters.
The value for Type should set to NTP
6.0
SETTINGS
12 invalid logon attempts
15 minutes
15 minutes
6 passwords remembered
90 days
1 day
8 characters
Enabled
Disabled
Page 34 of 35
Comply
(Y/N)
Remarks
(if not comply)
INTERNAL USE
Task Details:
Date:
Server/Workstation/Device Details:
IP Address:
Hostname:
Remarks:
Implemented
By:
Verified By:
Signature:
Signature:
Name:
Name:
Date:
Date:
Page 35 of 35