Archive

Archive for the ‘Active Directory’ Category

List of Active Directory Domain and Forest Functional Levels and Supported Features

December 26, 2011 Leave a comment

Server 2008 R2: Active Directory Functional Levels

MJP | Oct 06, 2009 | 8 comments

Windows Server 2008 R2 was released in August, and it introduced new functional levels for Active Directory. This article takes a look back at the different functional levels of the past and what is new in the latest release of the server operating system for Active Directory (yes, a recycle bin for AD objects!).

Functional levels were first introduced when Active Directory made its appearance in Windows 2000 Server. They allowed you to run different versions of domain controllers in your environment, and when all the domain controllers were brought up to a certain version of Windows, you could raise the functional levels to gain the added features of that operating system version. Now that Windows 2008 R2 is released, it is unlikely that you will mass deploy this new operating system to your entire forest or domain. Instead, you’ll deploy a single domain controller and kick the tires, so to speak. The time will eventually come when you’ve upgraded every domain controller to R2, and at that point you can raise the functional level to 2008 R2 to take advantage of the new features.

Functional levels can be raised in domains or, as of Windows 2003 Server, in the forest, providing different features in each. They are differentiated by labeling them Domain Functional Level and Forest Functional Level.

What’s new in 2008 R2

Domain Functional Level

There are two features added when raising the domain functional level to 2008 R2. They are Authentication Mechanism Assurance and Automatic SPN Management.

Authentication mechanism assurance is meant for domains that utilize federation services (ADFS) or certificate-based authentication methods, such as smart card or token-based authentication. This mechanism adds information to the user’s kerberos token on the type of authentication used. This allows administrators to modify group membership based on how the user authenticates. For example, a user can have access to different resources if they log in with a certificate versus when they log in with just their username and password.

Automatic SPN management provides a method for managing service accounts for applications such as Exchange, SQL and IIS. In the past, regular domain accounts were used for these purposes, adding management headaches in terms of password management and service principle names (SPNs). This new feature provides the following benefits:

  • A class of domain accounts can be used to manage and maintain services on local computers.
  • Passwords for these accounts will be reset automatically.
  • Do not have to complete complex SPN management tasks to use managed service accounts.
  • Administrative tasks for managed service accounts can be delegated to non-administrators.

Forest Functional Level

There is one new feature in raising the forest functional level to Server 2008 R2, and it is long overdue. It is the Active Directory recycle bin. In the days of old, when an IT administrator or help desk operator accidentally deleted an OU filled with user or computer objects (this has happened more times than you would think), there would be a scramble to perform a restore. The delete replicates to all domain controllers, so an authoritative restore in Active Directory restore mode from a good backup using NTDSutil would be in order. With 2008 R2 forest functional level, a powershell cmd-let will undo this instantly.

Note that this feature is not enabled automatically when raising forest functional level. Additionally, you must run the following command in the Active Directory Module for Powershell.

Enable-ADOptionalFeature –Identity ‘CN=Recycle Bin Feature,CN=Optional Features,CN=Directory

Service,CN=Windows NT,CN=Services,CN=Configuration, DC=mydomain,DC=com’

–Scope ForestOrConfigurationSet –Target ‘mydomain.com’

Functional levels of previous version

The following are the previous functional levels and what features they added, as documented in Technet.


Domain Functional Levels:

Windows 2000 Native:

  • Universal groups are enabled for both distribution groups and security groups.
  • Group nesting.
  • Group conversion is enabled, which makes conversion between security groups and distribution groups possible.
  • Security identifier (SID) history.

Windows Server 2003

  • The availability of the domain management tool, Netdom.exe, to prepare for domain controller rename.
  • Update of the logon time stamp. The lastLogonTimestamp attribute will be 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/group accounts: namely, cn=Computers, and cn=Users,. This feature makes possible the definition of a new well-known location for these accounts.
  • Makes it possible for Authorization Manager to store its authorization policies in Active Directory Domain Services (AD DS).
  • Includes constrained delegation so that applications can take advantage of the secure delegation of user credentials by means of the Kerberos authentication protocol. Delegation can be configured to be allowed only to specific destination services.
  • Supports 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.

Windows Server 2008

  • Distributed File System (DFS) Replication support for SYSVOL, which provides more robust and detailed replication of SYSVOL contents.
  • Advanced Encryption Services (AES 128 and 256) support for the Kerberos authentication 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 (FGPP), which make it possible for password and account lockout policies to be specified for users and global security groups in a domain.

Forest Functional Levels:

Windows 2000:

There were no forest functional levels, just domain.

Windows Server 2003:

  • Forest trust.
  • Domain rename.
  • Linked-value replication (changes in group membership store and replicate values for individual members instead of replicating the entire membership as a single unit). This change results in lower network bandwidth and processor usage during replication and eliminates the possibility of lost updates when different members are added or removed concurrently at different domain controllers.
  • The ability to deploy a read-only domain controller (RODC) that runs Windows Server 2008.
  • Improved Knowledge Consistency Checker (KCC) algorithms and scalability. The Intersite Topology Generator (ISTG) uses improved algorithms that scale to support forests with a greater number of sites than can be supported at the Windows 2000 forest functional level. The improved ISTG election algorithm is a less intrusive mechanism for choosing the ISTG at the Windows 2000 forest functional level.
  • An improved ISTG algorithm (better scaling of the algorithm that the ISTG uses to connect all sites in the forest).
  • 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.
  • The ability to create instances of the new group types, called application basic groups and Lightweight Directory Access Protocol (LDAP) query groups, to support role-based authorization.
  • Deactivation and redefinition of attributes and classes in the schema.

Windows Server 2008:

No forest functional level changes occurred from Windows 2003 to Windows 2008.

 

 

Source: Server 2008 R2: Active Directory Functional Levels : Praetorian Prefect

Categories: Active Directory

Windows Active Directory: Understanding AD DS Functional Levels

December 26, 2011 Leave a comment

Applies To: Windows Server 2008, Windows Server 2008 R2

Functional levels determine the available Active Directory Domain Services (AD DS) domain or forest capabilities. They also determine which Windows Server operating systems you can run on domain controllers in the domain or forest. However, functional levels do not affect which operating systems you can run on workstations and member servers that are joined to the domain or forest.

When you deploy AD DS, 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. For example, if you are sure that you will never add domain controllers that run Windows Server 2003 to the domain or forest, select the Windows Server 2008 functional level during the deployment process. However, if you might retain or add domain controllers that run Windows Server 2003, select the Windows Server 2003 functional level.

When you deploy a new forest, you are prompted to set the forest functional level and then set the domain functional level. You cannot set the domain functional level to a value that is lower than the forest functional level. For example, if you set the forest functional level to Windows Server 2008, you can set the domain functional level only to Windows Server 2008. The Windows 2000 native and Windows Server 2003 domain functional level values are not available on the Set domain functional level page of the Active Directory Domain Services Installation Wizard. In addition, all domains that you subsequently add to that forest have the Windows Server 2008 domain functional level by default.

You can set the domain functional level to a value that is higher than the forest functional level. For example, if the forest functional level is Windows Server 2003, you can set the domain functional level to Windows Server 2003, Windows Server 2008, or Windows Server 2008 R2.

The following sections describe the features that are available at the different functional levels.

Features that are available at domain functional levels

The following table shows the features that are available at each domain functional level.

Domain functional level

Available features

Supported domain controller operating systems

Windows 2000 native

All of the default AD DS features and the following directory features are available:

· Universal groups for both distribution and security groups.

· Group nesting

· Group conversion, which allows conversion between security and distribution groups

· Security identifier (SID) history

clip_image001Note

In Windows Server 2008 R2, the Personal Virtual Desktop feature was introduced. It requires the Windows 2000 native domain functional level.

· Windows 2000

· Windows Server 2003

· Windows Server 2008

· Windows Server 2008 R2

Windows Server 2003

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

· Windows Server 2003

· Windows Server 2008

· Windows Server 2008 R2

Windows Server 2008

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.

· Domain-based DFS namespaces running in Windows Server 2008 Mode, which includes support for access-based enumeration and increased scalability. Domain-based namespaces in Windows Server 2008 mode also require the forest to use the Windows Server 2003 forest functional level. For more information, see Choose a Namespace Type (http://go.microsoft.com/fwlink/?LinkId=180400).

· Advanced Encryption Standard (AES 128 and AES 256) support for the Kerberos protocol

· Last Interactive Logon Information
Last Interactive Logon Information displays the following information:

· The total number of failed logon attempts at a domain-joined Windows Server 2008 server or a Windows Vista workstation

· The total number of failed logon attempts after a successful logon to a Windows Server 2008 server or a Windows Vista workstation

· The time of the last failed logon attempt at a Windows Server 2008 or a Windows Vista workstation

· The time of the last successful logon attempt at a Windows Server 2008 server or a Windows Vista workstation

For more information, see Active Directory Domain Services: Last Interactive Logon (http://go.microsoft.com/fwlink/?LinkId=180387).

· 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. For more information, see Step-by-Step Guide for Fine-Grained Password and Account Lockout Policy Configuration (http://go.microsoft.com/fwlink/?LinkID=91477).

· Personal Virtual Desktops
To use the added functionality provided by the Personal Virtual Desktop tab in the User Account Properties dialog box in Active Directory Users and Computers, your AD DS schema must be extended for Windows Server 2008 R2 (schema object version = 47). For more information, see Deploying Personal Virtual Desktops by Using RemoteApp and Desktop Connection Step-by-Step Guide (http://go.microsoft.com/fwlink/?LinkId=183552).

· Windows Server 2008

· Windows Server 2008 R2

Windows Server 2008 R2

All default Active Directory features, all features from the Windows Server 2008 domain functional level, plus the following features:

· Authentication mechanism assurance, which packages information about the type of logon method (smart card or user name/password) that is used to authenticate domain users inside each user’s Kerberos token. When this feature is enabled in a network environment that has deployed a federated identity management infrastructure, such as Active Directory Federation Services (AD FS), the information in the token can then be extracted whenever a user attempts to access any claims-aware application that has been developed to determine authorization based on a user’s logon method.

· Automatic SPN management for services running on a particular computer under the context of a Managed Service Account when the name or DNS host name of the machine account changes. For more information about Managed Service Accounts, see Service Accounts Step-by-Step Guide (http://go.microsoft.com/fwlink/?LinkId=180401).

· Windows Server 2008 R2

Features that are available at forest functional levels

The following table shows the features that are available at each forest functional level.

Forest functional level

Available features

Supported domain controllers

Windows 2000 native

All of the default AD DS features are available.

· Windows Server 2008 R2

· Windows Server 2008

· Windows Server 2003

· Windows 2000

Windows Server 2003

All of the default AD DS features, and the following features, are available:

· Forest trust

· Domain rename

· Linked-value replication
Linked-value replication makes it possible for you to change group membership to store and replicate values for individual members instead of replicating the entire membership as a single unit. Storing and replicating the values of individual members uses less network bandwidth and fewer processor cycles during replication, and prevents you from losing updates when you add or remove multiple members concurrently at different domain controllers.

· The ability to deploy a read-only domain controller (RODC)

· Improved Knowledge Consistency Checker (KCC) algorithms and scalability
The intersite topology generator (ISTG) uses improved algorithms that scale to support forests with a greater number of sites than AD DS can support at the Windows 2000 forest functional level. The improved ISTG election algorithm is a less-intrusive mechanism for choosing the ISTG at the Windows 2000 forest functional level.

· 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.
These types are called application basic groups and LDAP query groups.

· Deactivation and redefinition of attributes and classes in the schema. The following attributes can be reused: ldapDisplayName, schemaIdGuid, OID, and mapiID.

· Domain-based DFS namespaces running in Windows Server 2008 Mode, which includes support for access-based enumeration and increased scalability. For more information, see Choose a Namespace Type (http://go.microsoft.com/fwlink/?LinkId=180400).

· Windows Server 2003

· Windows Server 2008

· Windows Server 2008 R2

Windows Server 2008

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 2008

· Windows Server 2008 R2

Windows Server 2008 R2

All of the features that are available at the Windows Server 2003 forest functional level, plus the following features:

· Active Directory Recycle Bin, which provides the ability to restore deleted objects in their entirety while AD DS is running.

All domains that are subsequently added to the forest will operate at the Windows Server 2008 R2 domain functional level by default.

If you plan to include only domain controllers that run Windows Server 2008 R2 in the entire forest, you might choose this forest functional level for administrative convenience. If you do, you will never have to raise the domain functional level for each domain that you create in the forest.

· Windows Server 2008 R2

Guidelines for raising domain and forest functional levels

The following guidelines apply to raising the domain or forest functional levels:

· You must be a member of the Domain Admins group to raise the domain functional level.

· You must be a member of the Enterprise Admins group to raise the forest functional level.

· You can raise the domain functional level on the primary domain controller (PDC) emulator operations master only. The AD DS administrative tools that you use to raise the domain functional level (the Active Directory Domains and Trusts snap-in and the Active Directory Users and Computers snap-in) automatically target the PDC emulator when you raise the domain functional level.

· You can raise the forest functional level on the schema operations master only. Active Directory Domains and Trusts automatically targets the schema operations master when you raise the forest functional level.

· You can raise the functional level of a domain only if all domain controllers in the domain run the version or versions of Windows that the new functional level supports.

· You can raise the functional level of a forest only if all domain controllers in the forest run the version or versions of Windows Server operating system that the new functional level supports.

· You cannot set the domain functional level to a value that is lower than the forest functional level, but you can set it to a value that is equal to or higher than the forest functional level.

· With versions of Windows Server that are earlier than Windows Server 2008 R2, you cannot roll back or lower a functional level under any circumstances. If you have to revert to a lower functional level with a version of Windows Server that is earlier than Windows Server 2008 R2, you must rebuild the domain or forest or restore it from a backup copy.

· After you set the domain functional level to a certain value in Windows Server 2008 R2, you cannot roll back or lower the domain functional level, with one exception: when you raise the domain functional level to Windows Server 2008 R2 and if the forest functional level is Windows Server 2008 or lower, you have the option of rolling the domain functional level back to Windows Server 2008. You can lower the domain functional level only from Windows Server 2008 R2 to Windows Server 2008. If the domain functional level is set to Windows Server 2008 R2, it cannot be rolled back, for example, to Windows Server 2003.

· After you set the forest functional level to a certain value in Windows Server 2008 R2, you cannot roll back or lower the forest functional level, with one exception: when you raise the forest functional level to Windows Server 2008 R2 and if the Active Directory Recycle Bin is not enabled, you have the option of rolling the forest functional level back to Windows Server 2008. For more information about the Active Directory Recycle Bin, see What’s New in AD DS: Active Directory Recycle Bin (http://go.microsoft.com/fwlink/?LinkId=141392). You can lower the forest functional level only from Windows Server 2008 R2 to Windows Server 2008. If the forest functional level is set to Windows Server 2008 R2, it cannot be rolled back to Windows Server 2003, for example.

 

Source: Understanding AD DS Functional Levels

Categories: Active Directory

Windows Domain and Forest Functionality

December 26, 2011 Leave a comment

Applies To: Windows Server 2003, Windows Server 2003 R2, Windows Server 2003 with SP1, Windows Server 2003 with SP2

Domain and forest functionality

Domain and forest functionality, introduced in Windows Server 2003 Active Directory, provides a way to enable domain- or forest-wide Active Directory features within your network environment. Different levels of domain functionality and forest functionality are available depending on your environment.

If all domain controllers in your domain or forest are running Windows Server 2003 and the functional level is set to Windows Server 2003, all domain- and forest-wide features are available. When Windows NT 4.0 or Windows 2000 domain controllers are included in your domain or forest with domain controllers running Windows Server 2003, Active Directory features are limited. For more information about how to enable domain- or forest-wide features, see Raising domain and forest functional levels.

The concept of enabling additional functionality in Active Directory exists in Windows 2000 with mixed and native modes. Mixed-mode domains can contain Windows NT 4.0 backup domain controllers and cannot use Universal security groups, group nesting, and security ID (SID) history capabilities. When the domain is set to native mode, Universal security groups, group nesting, and SID history capabilities are available. Domain controllers running Windows 2000 Server are not aware of domain and forest functionality.

Domain functionality

Domain functionality enables features that will affect the entire domain and that domain only. Four domain functional levels are available: Windows 2000 mixed (default), Windows 2000 native, Windows Server 2003 interim, and Windows Server 2003. By default, domains operate at the Windows 2000 mixed functional level.

The following table lists the domain functional levels and their corresponding supported domain controllers.

Domain functional level

Domain controllers supported

Windows 2000 mixed (default)

Windows NT 4.0

Windows 2000

Windows Server 2003 family

Windows 2000 native

Windows 2000

Windows Server 2003 family

Windows Server 2003 interim

Windows NT 4.0

Windows Server 2003 family

Windows Server 2003

Windows Server 2003 family

Once the domain functional level has been raised, domain controllers running earlier operating systems cannot be introduced into the domain. For example, if you raise the domain functional level to Windows Server 2003, domain controllers running Windows 2000 Server cannot be added to that domain.

The following table describes the domain-wide features that are enabled for three of the domain functional levels. For information about the Windows Server 2003 interim functional level, see Upgrading from a Windows NT domain.

Domain feature

Windows 2000 mixed

Windows 2000 native

Windows Server 2003

Domain controller rename tool

For more information, see Renaming domain controllers.

Disabled

Disabled

Enabled

Different location option for user and computer accounts

For more information about how to redirect the default location for user and computer accounts, see Redirect the Users and Computers Containers.

Disabled

Disabled

Enabled

Update logon timestamp

For more information about the lastLogonTimestamp attribute, see User and computer accounts.

Disabled

Disabled

Enabled

User password on InetOrgPerson object

For more information about InetOrgPerson objects, see User and computer accounts.

Disabled

Disabled

Enabled

Universal Groups

For more information, see Group types and Group scope.

Enabled for distribution groups.

Disabled for security groups.

Enabled

Allows both security and distribution groups.

Enabled

Allows both security and distribution groups.

Group Nesting

For more information, see Nesting groups.

Enabled for distribution groups.

Disabled for security groups, except for domain local security groups that can have global groups as members.

Enabled

Allows full group nesting.

Enabled

Allows full group nesting.

Converting Groups

For more information, see Converting groups.

Disabled

No group conversions allowed.

Enabled

Allows conversion between security groups and distribution groups.

Enabled

Allows conversion between security groups and distribution groups.

SID history

Disabled

Enabled

Allows migration of security principals from one domain to another.

Enabled

Allows migration of security principals from one domain to another.

Forest functionality

Forest functionality enables features across all the domains within your forest. Three forest functional levels are available: Windows 2000 (default), Windows Server 2003 interim, and Windows Server 2003 . By default, forests operate at the Windows 2000 functional level. You can raise the forest functional level to Windows Server 2003 .

The following table lists the forest functional levels and their corresponding supported domain controllers:

Forest functional level

Domain controllers supported

Windows 2000 (default)

Windows NT 4.0

Windows 2000

Windows Server 2003 family

Windows Server 2003interim

Windows NT 4.0

Windows Server 2003 family

Windows Server 2003

Windows Server 2003 family

Once the forest functional level has been raised, domain controllers running earlier operating systems cannot be introduced into the forest. For example, if you raise the forest functional level to Windows Server 2003, domain controllers running Windows 2000 Server cannot be added to the forest.

If you are upgrading your first Windows NT 4.0 domain so that it becomes the first domain in a new Windows Server 2003 forest, you can set the domain functional level to Windows Server 2003 interim. For more information, see Upgrading from a Windows NT domain.

The following table describes the forest-wide features that are enabled for the Windows 2000 and Windows Server 2003 forest functional levels.

Forest feature

Windows 2000

Windows Server 2003

Global catalog replication improvements

For more information, see Global catalog replication.

Enabled if both replication partners are running Windows Server 2003.

Otherwise, disabled.

Enabled

Defunct schema objects

For more information, see Deactivating a class or attribute.

Disabled

Enabled

Forest trusts

For more information, see Forest trusts.

Disabled

Enabled

Linked value replication

For more information, see How replication works.

Disabled

Enabled

Domain rename

For more information, see Renaming domains.

Disabled

Enabled

Improved Active Directory replication algorithms

For more information, see Replication overview.

Disabled

Enabled

Dynamic auxiliary classes.

For more information, see New features for Active Directory.

Disabled

Enabled

InetOrgPerson objectClass change

For more information about InetOrgPerson objects, see User and computer accounts.

Disabled

Enabled

 

Source: Domain and forest functionality

Categories: Active Directory

The Dcgpofix tool does not restore security settings in the Default Domain Controller Policy to their original state

December 25, 2011 Leave a comment

The documentation for the Dcgpofix.exe tool incorrectly indicates that the Dcgpofix tool will restore security settings in the Default Domain Controller Policy to the same state that they were in immediately after Dcpromo successfully completed. This is not the case.
It is best to use the Dcgpofix tool only in disaster recovery scenarios. The Dcpromo operation modifies the security of the domain in an incremental manner, based on the existing security settings on that server. Therefore, after you run Dcpromo, the final set of security settings in the Default Domain Controller Policy depends on both the Dcpromo operation and the security state of the system that existed before you ran Dcpromo. Before you run Dcpromo, the security state of the system can be modified by a number of mechanisms. For example, when you install some server applications, changes may be made to user rights that are granted to local user accounts, such as the SUPPORT_388945a0 account.

Back to the top

CAUSE

The Dcgpofix tool cannot know what state the security settings were in before yo…

The Dcgpofix tool cannot know what state the security settings were in before you run Dcpromo. Therefore, the Dcgpofix tool cannot return the security settings to precisely the original state. Instead, the Dcgpofix tool recreates the two default Group Policy objects (GPOs) and creates the settings based on the operations that are performed only during Dcpromo.
If you have a new installation of Microsoft Windows Server 2003 and no security changes are made to the operating system before you run Dcpromo, the recreated Default Domain Controller Policy that is created by Dcgpofix will be almost the same as the Default Domain Controller Policy just after you run Dcpromo. However, there will be some differences in the settings in the Default Domain Controller Policy in this case.

Back to the top

RESOLUTION

For general backup and restore of the Default Domain Policy and Default Domain C…

For general backup and restore of the Default Domain Policy and Default Domain Controller Policy, and also for other GPOs, Microsoft recommends that you use the Group Policy Management Console (GPMC) to create regular backups of these GPOs. You can then use GPMC in conjunction with these backups to restore the exact security settings that are contained in these GPOs.
For more information about the GPMC, visit the following Microsoft Web site:

http://www.microsoft.com/windowsserver2003/gpmc/default.mspx (http://www.microsoft.com/windowsserver2003/gpmc/default.mspx)

If you are in a disaster recovery scenario and you do not have any backed up versions of the Default Domain Policy or the Default Domain Controller Policy, you may consider using the Dcgpofix tool. If you use the Dcgpofix tool, Microsoft recommends that as soon as you run it, you review the security settings in these GPOs and manually adjust the security settings to suit your requirements. A fix is not scheduled to be released because Microsoft recommends you use GPMC to back up and restore all GPOs in your environment. The Dcgpofix tool is a disaster-recovery tool that will restore your environment to a functional state only. It is best not to use it as a replacement for a backup strategy using GPMC. It is best to use the Dcgpofix tool only when a GPO back up for the Default Domain Policy and Default Domain Controller Policy does not exist.

Back to the top

MORE INFORMATION

The following table lists differences in security settings in the Default Domain…

The following table lists differences in security settings in the Default Domain Controller Policy after you run the Dcgpofix tool and the settings on a new installation of Windows Server 2003 after you run Dcpromo. Microsoft recommends that you adjust these security settings to match the requirements in your environment after you run the Dcgpofix tool.

Collapse this tableExpand this table

Setting in Default Domain Controller Policy
Value after running DCPromo on cleanly installed Windows Server 2003 system
Value after running DCGPOFIX

Audit Settings

Audit Account Management
Success
No Auditing

Audit Directory Service Access
Success
No Auditing

Audit Policy Change
Success
No Auditing

Audit System Events
Success
No Auditing

User Rights

Create Global Objects
Not defined
SERVICE, Administrators

Deny access to computer from network
SUPPORT_388945a0
(Empty)

Deny logon locally
SUPPORT_388945a0
(Empty)

Impersonate a client after authentication
Not defined
SERVICE, Administrators

Load and unload device drivers
Administrators, Print Operators
Administrators

Log on as a batch job
LOCAL SERVICE, SUPPORT_388945a0
(Empty)

Log on as a service
NETWORK SERVICE
(Empty)

Shut down the system
Administrators, Backup Operators, Server Operators, Print Operators
Account Operators, Administrators, Backup Operators, Server Operators, Print Operators

The following settings will change after you run the Dcgpofix tool:

  • AuditAccountManage
  • AuditDSAccess
  • AuditPolicyChange
  • AuditSystemEvents
  • SeCreateGlobalPrivilege
  • SeImpersonatePrivilege
  • SeLoadDriverPrivilege
  • SeShutdownPrivilege

Based on configuration options, the following settings may also change the following:

  • SeBatchLogonRight (only LOCAL SERVICE, not the SUPPORT_388945a0 account)
  • SeServiceLogonRight

Back to the top



APPLIES TO
  • Microsoft Windows Server 2003, Standard Edition (32-bit x86)
  • Microsoft Windows Server 2003, Enterprise Edition (32-bit x86)

 

Source: The Dcgpofix tool does not restore security settings in the Default Domain Controller Policy to their original state

Categories: Active Directory

Restore AD LDS Instance Data

December 25, 2011 Leave a comment

Step 1: Restore AD LDS Instance Data

Applies To: Windows Server 2008

You should back up Active Directory Lightweight Directory Services (AD LDS) data and log files regularly to ensure the continued availability of data to applications and users in the event of a system failure.

By default, each instance of AD LDS running on an AD LDS server stores its database file, Adamntds.dit, and the associated log files in %program files%\Microsoft ADAM\instance_name\data, where instance_name is the AD LDS instance name. Include these files as part of the regular backup plan of your organization. You back up data for an AD LDS instance by backing up these files.

In the following sections, you back up your AD LDS instance data using the following tools:

· Windows Server Backup

· Dsdbutil.exe

For more information about installing Windows Server Backup, see Installing Windows Server Backup (http://go.microsoft.com/fwlink/?LinkId=96495).

For general information about Windows Server 2008 Windows Server Backup, you can view the Help on your server. To display Help, open Windows Server Backup, and then press F1.

Backing up AD LDS instance data with Windows Server Backup

Membership in the local Backup Operators group, or equivalent, is the minimum required to complete this procedure. Review details about using the appropriate accounts and group memberships at Local and Domain Default Groups (http://go.microsoft.com/fwlink/?LinkId=83477).

clip_image001Important

Before you back up the AD LDS folder of an instance, use the Services snap-in to confirm that the instance is started. To start Services, click Start, click Administrative Tools, and then click Services. Because the instance service must be running when the files are backed up, you must use a backup utility (such as Windows Server Backup) that can back up open files.

To back up an AD LDS instance using Windows Server Backup

1. Click Start, point to Administrative Tools, and then click Windows ServerBackup.

2. On the Action menu, click Backup once.

3. In the Backup Once Wizard, on the Backup options page, click Different options, and then click Next.

4. On the Select backup configuration page, click Custom, and then click Next.

5. Select the volume or volumes that contain the AD LDS database and log files, and then click Next.

clip_image001[1]Note

You can install the AD LDS database and log files on separate volumes.

6. On the Specify destination type page, select Local drives or Remote shared folder, depending on whether you want your backup to be stored locally or remotely.

7. On the Select backup destination page, specify the appropriate drive where you want the backup to be stored.

8. Complete the wizard to begin the backup operation.

clip_image002Caution

If you backed up data from an NTFS file system volume, we recommend that you restore the data to an NTFS volume of the same version to prevent loss of data.

Backing up AD LDS instance data with Dsdbutil.exe

With the Dsdbutil.exe tool, you can create installation media that corresponds only to the AD LDS instance that you want to back up, as opposed to backing up entire volumes that contain the AD LDS instance.

Membership in the local Backup Operators group, or equivalent, is the minimum required to complete this procedure. Review details about using the appropriate accounts and group memberships at Local and Domain Default Groups (http://go.microsoft.com/fwlink/?LinkId=83477).

To create AD LDS installation media with Dsdbutil.exe

1. Click Start, right-click Command Prompt, and then click Run as administrator to open an elevated command prompt.

2. Type the following command, and then press ENTER:

Copy

dsdbutil

3. At the dsdbutil: prompt, type the following command, and then press ENTER:

Copy

activate instance <instance_name>

where <instance_name> is the name of the AD LDS instance that you want to create the installation media for.

Example:

Copy

activate instance instance1

At the dsdbutil: prompt, type the following command, and then press ENTER:

Copy

ifm

4. At the ifm: prompt, type the command for the type of installation media that you want to create, and then press ENTER:

Copy

create full <location>

where <location> is the path to the folder where you want the installation media to be created. You can save the installation media to a network shared folder or to any other type of removable media.

Example:

Copy

create full C:\Backup\instance1

5. To exit dsdbutil:

a. At the ifm: prompt, type quit, and then press ENTER.

b. At the dsdbutil: prompt, type quit, and then press ENTER.

Source: Step 1: Back Up AD LDS Instance Data

 

Step 2: Restore AD LDS Instance Data

Applies To: Windows Server 2008

To restore your Active Directory Lightweight Directory Services (AD LDS) instance data, select a procedure that is most appropriate for your AD LDS restore scenario:

· Restore an existing AD LDS instance

· Restore a retired AD LDS instance

· Authoritatively restore an AD LDS instance

· Install an AD LDS replica from media

Restore an existing AD LDS instance

You can restore an existing AD LDS instance to its state at the time when its backup was created. When you restore a database for an existing AD LDS instance, you must stop the AD LDS instance before you run the restore operation. In addition, we recommend that you move (or delete) the existing database and log files from the AD LDS instance before you begin the restore operation.

If you restore an AD LDS backup over a running AD LDS instance, Windows Server Backup leaves the restored files in a pending state, and it does not write the files to disk until the computer reboots. In this situation, any directory changes that are made to the running AD LDS instance after Windows Server Backup is run are lost.

Membership in Administrators, or equivalent, is the minimum required to complete this procedure. Review details about using the appropriate accounts and group memberships at Local and Domain Default Groups (http://go.microsoft.com/fwlink/?LinkId=83477).

To restore an existing AD LDS instance

1. Stop the AD LDS instance that you just created, as follows:

a. Click Start, point to Administrative Tools, and then click Services.

b. In Services, right-click the AD LDS instance, and then click Stop.

clip_image001[6]Note

If you accidentally start a restore of an AD LDS instance over a currently running AD LDS instance, we recommend that you immediately restart the computer, stop the AD LDS instance, and then perform the restoration again.

2. Click Start, click Administrative Tools, and then click Windows ServerBackup.

3. On the Action menu, click Recover.

4. Follow the steps in the Recovery Wizard to specify the location of the source backup data and identify the specific backup from which you want to recover instance data:

a. In Select recovery type, click Files and folders, and then click Next.

b. In Select items to recover, browse to and select the folder that contains the instance data files. By default, AD LDS database and log files are located in %ProgramFiles%\Microsoft ADAM\instance_name\data, where instance_name is the AD LDS instance name.

c. In Specify recovery options, click Original location and Overwrite existing files with recovered files, and then click Next.

5. To complete the restore, click Recover.

6. After the restore is complete, close Windows Server Backup.

7. Start the AD LDS instance as follows:

a. Click Start, point to Administrative Tools, and then click Services.

b. In Services, right-click the AD LDS instance, and then click Start.

clip_image001[7]Note

You cannot use Windows Server Backup to restore an existing AD LDS instance with a backup that was created with the Dsdbutil.exe tool. To restore your existing AD LDS instance with a backup that was created with Dsdbutil.exe, see Appendix B: Restore an AD LDS Instance with a Backup Taken with Dsdbutil.exe.

Restore a retired AD LDS instance

To restore a retired AD LDS instance (or to move a specific AD LDS instance from one server to another), you must begin the recovery process by creating a new AD LDS instance using the same settings that were specified during the installation of the AD LDS instance that you want to recover or move.

Membership in Administrators, or equivalent, is the minimum required to complete this procedure. Review details about using the appropriate accounts and group memberships at Local and Domain Default Groups (http://go.microsoft.com/fwlink/?LinkId=83477).

To restore a retired AD LDS instance

1. Using the Active Directory Lightweight Directory Services Setup Wizard, create an AD LDS instance, specifying the same settings that you used during your original (uninstalled) AD LDS installation. However, do not create an application directory partition during setup. For more information about creating AD LDS instances, see the Step-by-Step Guide for Getting Started with Active Directory Lightweight Directory Services (http://go.microsoft.com/fwlink/?LinkId=98679).

2. Stop the AD LDS instance that you just created, as follows:

a. Click Start, point to Administrative Tools, and then click Services.

b. In Services, right-click the AD LDS instance, and then click Stop.

clip_image001[8]Note

If you accidentally start a restore of an AD LDS instance over a currently running AD LDS instance, we recommend that you immediately restart the computer, stop the AD LDS instance, and then perform the restoration again.

3. Click Start, click Administrative Tools, and then click Windows ServerBackup.

4. On the Action menu, click Recover.

5. Follow the steps in the Recovery Wizard to specify the location of the source backup data and identify the specific backup from which you want to recover instance data.

6. In Select recovery type, click Files and folders, and then click Next.

7. In Select items to recover, browse to and select the folder that contains the instance data files. By default, AD LDS database and log files are located in %ProgramFiles%\Microsoft ADAM\instance_name\data, where instance_name is the AD LDS instance name.

8. In Specify recovery options, click Original locations and Overwrite existing files with recovered files, and then click Next.

9. To complete the restore, click Recover.

10. After the restore is complete, close Windows Server Backup.

11. Start the AD LDS instance that you just created, as follows:

a. Click Start, click Administrative Tools, and then click Services.

b. In Services, right-click the AD LDS instance, and then click Start.

clip_image001[9]Important

Backing up an ADAM instance on a computer running Windows Server 2003 and restoring it onto an AD LDS instance on a computer running Windows Server 2008 or Windows Server 2008 R2 is not supported.

clip_image001[10]Note

You cannot use Windows Server Backup to restore a retired AD LDS instance with a backup that was created with Dsdbutil.exe. To restore your existing AD LDS instance with a backup that was created with Dsdbutil.exe, see Appendix B: Restore an AD LDS Instance with a Backup Taken with Dsdbutil.exe.

clip_image001[11]Note

If you no longer have access to the retired AD LDS instance that you want to restore, (for example, the administrative account from the server that originally hosted the retired AD LDS instance is gone), you can take ownership and grant selected users permissions to the application, configuration, or schema partitions of this AD LDS instance. For more information, see article 958973 in the Microsoft Knowledge Base (http://go.microsoft.com/fwlink/?LinkId=149116).

Authoritatively restore an AD LDS instance

If objects in the directory are inadvertently deleted or modified, and if those objects are replicated in a configuration set, you must authoritatively restore those objects so that the correct version of the objects is replicated.

To authoritatively restore directory data, run the dsdbutil tool after you restore the data but before you restart the AD LDS instance. With dsdbutil, you can mark directory objects for authoritative restore. When an object is marked for authoritative restore, its update sequence number is changed so that the number is higher than any other update sequence number in the configuration set. This ensures that any data you restore is properly replicated throughout the configuration set.

Membership in Administrators, or equivalent, is the minimum required to complete this procedure. Review details about using the appropriate accounts and group memberships at Local and Domain Default Groups (http://go.microsoft.com/fwlink/?LinkId=83477).

To authoritatively restore an AD LDS instance

1. If it is running, stop the AD LDS instance for which data will be restored:

a. Click Start, point to Administrative Tools, and then click Services.

b. In Services, right-click the AD LDS instance, and then click Stop.

clip_image001[12]Note

If you accidentally start a restore of an AD LDS instance over a currently running AD LDS instance, we recommend that you immediately restart the computer, stop the AD LDS instance, and then perform the restoration again.

2. Click Start, click Administrative Tools, and then click Windows ServerBackup.

3. On the Action menu, click Recover.

4. Follow the steps in the Recovery Wizard to specify the location of the source backup data and to identify the specific backup from which you want to recover instance data.

5. In Select recovery type, click Files and folders, and then click Next.

6. In Select items to recover, browse to and select the folder that contains the instance data files. By default, AD LDS database and log files are located in %ProgramFiles%\Microsoft ADAM\instance_name\data, where instance_name is the AD LDS instance name.

7. In Specify recovery options, click Original locations and Overwrite existing files with recovered files, and then click Next.

8. To complete the restore, click Recover.

9. After the restore is complete, close Windows Server Backup.

10. Click Start, right-click Command Prompt, and then click Run as administrator.

11. At the command prompt, type the following command, and then press ENTER:

Copy

dsdbutil

12. At the dsdbutil: prompt, type the following command, and then press ENTER:

Copy

activate instance <instance_name>

where <instance_name> represents the service name of the AD LDS instance on which you want to restore data.

13. At the dsdbutil: prompt, type the following command, and then press ENTER:

Copy

authoritative restore

14. At the authoritative restore: prompt, type one of the commands in the following table.

Command

Description

restore object dn

Performs authoritative restore of the directory object whose distinguished name is represented by dn.

restore subtree dn

Performs authoritative restore of the directory subtree whose distinguished name is represented by dn.

15. To view the complete syntax for this command, and for information about the authoritative restore command in dsdbutil, at the authoritative restore: prompt, type:

16. Copy

17. ?

18. To exit dsdbutil:

a. At the authoritative restore: prompt, type quit, and then press ENTER.

b. At the dsdbutil: prompt, type quit, and then press ENTER.

19. Start the AD LDS instance as follows:

a. Click Start, click Administrative Tools, and then click Services.

b. In Services, right-click the AD LDS instance, and then click Start.

clip_image001[13]Note

You cannot use Windows Server Backup to restore an AD LDS instance with a backup that was created with Dsdbutil.exe. To restore your existing AD LDS instance with a backup that was created with Dsdbutil.exe, see Appendix B: Restore an AD LDS Instance with a Backup Taken with Dsdbutil.exe.

Install an AD LDS replica from media

When you install an AD LDS replica from media, you restore a backup of another AD LDS instance from the same configuration set, rather than performing a simple AD LDS replica installation.

Membership in Administrators, or equivalent, is the minimum required to complete this procedure. Review details about using the appropriate accounts and group memberships at Local and Domain Default Groups (http://go.microsoft.com/fwlink/?LinkId=83477).

clip_image001[14]Note

If Dsdbutil.exe was used to create the installation media (backup) of your AD LDS instance data, skip Steps 1 through 7 and begin this procedure with Step 8.

To install an AD LDS replica from media

1. Click Start, point to Administrative Tools, and then click Windows ServerBackup.

2. On the Action menu, click Recover.

3. Follow the steps in the Recovery Wizard to specify the location of the source backup data and identify the specific backup from which you want to recover instance data.

4. In Select recovery type, click Files and folders, and then click Next.

5. In Select items to recover, browse to and select the folder that contains the instance data files. By default, AD LDS database and log files are located in %ProgramFiles%\Microsoft ADAM\instance_name\data where instance_name is the AD LDS instance name.

6. In Specify recovery options, click Another location, specify a temporary location for the recovered files, and then click Next.

7. To complete the restore, click Recover.

8. At a command prompt, type the following command, and then press ENTER:

Copy

%windir%\adam\adaminstall /adv

9. Follow the steps in the Active Directory Lightweight Directory Services Setup Wizard:

a. On the Select Options page, click A replica of an existing instance, and then click Next.

b. On the Joining a Configuration Set page, type the host name or Domain Name System (DNS) name of the computer where one of the remaining AD LDS instances of the configuration set is installed. Then, type the Lightweight Directory Access Protocol (LDAP) port number in use by that AD LDS instance, and then click Next.

c. On the Administrative Credentials for the Configuration Set page, click the account that is used as the AD LDS administrator for your first AD LDS instance.

d. On the Copying Application Information page, select From the restored backup files in these folders, specify the correct location of the installation media files in the Restored data folder field, leave the Restored data recovery folder field empty, and then click Next.

e. On the Copy Application Partition page, select the application directory partitions that you want to replicate to the new AD LDS instance.

f. Accept the default values on the remaining Active Directory Lightweight Directory Services Setup Wizard pages by clicking Next on each page, and then click Finish on the Completing the Active Directory Lightweight Directory Services Setup Wizard page.

clip_image001[15]Important

You can also use this procedure to restore a retired AD LDS replica from media. However, we recommend that you first perform a metadata cleanup of any retired AD LDS replica that you plan to restore from media. For more information about metadata cleanup, see Appendix A: Metadata Cleanup for the Retired AD LDS Instances.

 

Source: Step 2: Restore AD LDS Instance Data

Categories: Active Directory

Securing Critical and Service Accounts

December 25, 2011 Leave a comment
On This Page

Introduction
Definition
Challenges
Solutions
Summary
Appendix A: Common Services

Introduction

The first step towards securing a midsize business network is to understand what vulnerabilities an attacker is likely to exploit. The primary task of an attacker who has infiltrated a network is to initiate escalation of privileges, which is how an attacker attempts to gain more access from the established foothold that they have created. After an escalation of privileges has occurred, there is little left to stop an intruder from whatever intent that attacker has. Attackers can use many different mechanisms to achieve an escalation of privileges, but primarily they involve compromising existing accounts, especially those with administrator equivalent privileges.

Midsize business networks often employ some measure of security control over standard user accounts, but often do not exert much control over service accounts, thereby making such accounts vulnerable and popular targets for attackers. After an attacker has compromised a network to the point where a critical account with high privileges is compromised, the entire network can never be considered as completely trustworthy again unless it is flattened and completely recreated. Therefore the level of security for all manner of accounts is a very important aspect of any network security initiative.

Aside from the risks that external threats pose to a midsize business network, internal threats also have the potential to cause a great deal of harm. Internal threats embody not only malicious users but also those who might cause unintentional harm. The seemingly innocuous attempts to circumvent security measures by users that seek access to resources are but one example. All too often, users and services are granted access to greater privileges than necessary for reasons of convenience. Although this approach guarantees users have access to the resources they need to do their jobs, it also increases the risk of a successful attack upon the network.

Executive Summary

As the introduction has established, the matter of managing the security for all account types in a network is very important to managing risk for a midsize business network. Internal and external threats must be taken into account, and the solution to these threats must balance the need for security with the functionality a midsize business demands from their network resources.

This document will help midsize businesses understand the risks associated with administrative, service, application-related, and default accounts. This information will then provide a background from which steps that midsize businesses can take to mitigate those risks can be developed and deployed. To do this, it is necessary to discuss the nature of these accounts, how to identify them, how to determine the appropriate permissions that they require to function, and how to mitigate the risks inherent in elevated service accounts and administrator level accounts.

As part of the Microsoft Trustworthy Computing initiative, the default settings in Microsoft® Windows Server™ 2003 have been designed to secure the Active Directory® directory service against many different threats, but some settings for administrative accounts can still be further strengthened to increase the level of security in a midsize business network environment. Also, the services that are not provided with the Windows Server 2003 operating system that are installed by other applications need to be secured as well. This document will discuss methods to secure those accounts and services in addition to best practices for controlling how administrative privileges are deployed and managed.

Overview

This document consists of four main sections that provide information about securing administrator and service accounts in a midsize business environment. The first section is the "Introduction," which you are currently reading. The rest of the document is structured as follows:

  • Definition. This section provides some background details and some descriptions of the terminology contained in this document.

  • Challenges. This section describes some of the common issues that midsize businesses contend with when determining why there is a need to secure accounts and some of the problems associated with securing administrator and service accounts.

  • Solutions. This section is divided into three subsections to provide the reader with information about the phases of approaches that can secure the critical and service accounts in a midsize business. These subsections include:

    • Assessment. This subsection describes the basic considerations for securing critical and service accounts and lays the groundwork for solution planning.

    • Development. This subsection uses information discussed in the "Assessment" subsection to provide solutions that will help the reader develop plans that will enhance the security of critical and service accounts.

    • Deployment and Management. This subsection describes recommended methods to implement secured administrator and service accounts in a midsize business environment.

Who Should Read This Document

This technical document is intended to provide assistance to technology professionals and technical managers that have concerns about the security of service, application, and administrator level accounts in a Microsoft network. Although a non-technical audience may gain some insight about secure account management principles from this document, an understanding of Microsoft Windows® and Active Directory account management concepts and procedures is required to gain the most benefit from the information contained in this document.

Top Of Page

Definition

This section defines a number of terms that are used in this document and that may need some clarification.

  • Services. Services are executables that run at startup or can be triggered by other events or scheduled instances. Services often run in the background without much user prompting or interaction.

  • Service accounts. Simply put, a service account is often described as any account that does not correspond to an actual person. These are often built-in accounts that services use to access resources they need to perform their activities. However, some services require actual user accounts to perform certain functions, and many businesses still employ the practice of using domain accounts to run services as well.

  • Administrative account. Although there is a default Administrator account created on any new installation of Microsoft Windows or Active Directory domain, the term administrator account is often used in a general sense to describe any account that has been granted administrator level privileges. This document will make distinctions between the two for the sake of clarity.

  • Administrative groups. These groups can vary depending on the services that have been installed, yet can include those created automatically in the Builtin and Users containers. Such groups also include any that are created and granted administrative privileges.

  • Critical accounts. This document uses the term “critical account” to describe default accounts that are considered high risk because they have high-level privileges or present elevated risks due to their ubiquitous use.

  • Limited account. A limited account is any account that is not a member of any administrative group and that does not have any elevated privileges that are equal to that of a local or domain administrator account. Typically, a limited account would be a member of the Domain Users group or the local Users group.

  • Principle of least privilege. The Department of Defense Trusted Computer System Evaluation Criteria, (DOD-5200.28-STD), or Orange Book, is an accepted standard for computer security. This publication defines least privilege as a principle that “requires that each subject in a system be granted the most restrictive set of privileges (or lowest clearance) needed for the performance of authorized tasks. The application of this principle limits the damage that can result from accident, error, or unauthorized use.”

Top Of Page

Challenges

As explained in the previous section, unsecured administrator level accounts and service accounts present significant risks to the security of a midsize business network. Given the complexity of network environments and rapid rates of growth most business networks experience, it is fairly common to find account management practices that have significant vulnerabilities. These factors are why securing the critical accounts and the services that run on a network ends up being such a daunting task.

Some of the more common problems that midsize businesses have when considering how to approach such security concerns include the following:

  • How to protect against internal and external threats related to account management and employee work-around attempts.

  • How to identify all service and application accounts in use on the network and local computers.

  • How to secure sensitive service, administrator, and application-related accounts.

  • How to determine what accounts are associated with services and applications.

  • How to isolate service accounts from user account password policies.

Top Of Page

Solutions

The solutions provided in this document follow the principle of least privilege and the least-privileged user account (LUA) approach of managing services, administrative, and critical accounts.

Most security-related training and documentation will mention the principle of least privilege. Although this principle is relatively easy to understand, it is also one that will greatly improve the security profile of any business that implements it. Simply put, this principle states that all accounts should have the absolute minimum set of privileges that are necessary to complete the current tasks and nothing more. This principle applies not only to users, but also for computers and the services that run on them.

Following such a principle not only helps protect against malicious attackers and malware, but also improves the security profile of a company by forcing technology professionals to do extensive research to determine what access privileges are needed by users, computers, and applications. Understanding this information provides insight as to what processes or settings may be insecure and require more protection, and therefore is an essential step to any successful security initiative.

For example, according to the principle of least privilege a person who has the role of domain administrator should only use an account that has the domain admin level privilege when performing tasks that require that level of access. Otherwise, when not performing tasks that require a higher level privilege, an administrator should use an account with standard access rights. Such a practice would reduce security threats that originate from human error and reduce the amount of damage done should an administrative workstation be infected by malware.

Assessment

To secure critical and service accounts, it is necessary to identify what those accounts are along with the threats associated with those accounts. However, it is also important to ensure that the consequences associated with changing these accounts are understood to ensure that the impact on business is reduced to acceptable levels.

Administrator and Critical Account Management

To secure administrative and critical accounts and associated groups, it is necessary to know what accounts and groups meet that criterion. It is also important to understand the scope of administrative level privileges and what systems they affect, especially when they govern domain controllers.

Therefore, it is important that the reader of this document have a detailed understanding of the administrative level accounts in their environment along with knowledge of all domain controllers and the accounts that manage them.

Administrative Accounts and Groups

The administrative level accounts in an Active Directory network include:

  • The default Administrator account, which is created when Active Directory is installed on the first domain controller in a domain. This account is the most powerful account in a domain, and a password must be established for it when it is created.

  • Any accounts created later that are either granted administrative privileges directly or by placement in an administrative group.

Administrative groups in an Active Directory domain will vary, depending on the services that have been installed in that domain. A basic Active Directory domain will include the following:

  • Administrative groups that are automatically created in the Builtin container.

  • Administrative groups that are automatically created in the Users container.

  • Any groups created later that are either placed within groups that have administrative privilege or that have administrative privileges assigned to them.

Service Administrators and Data Administrators

There are two different types of administrative privileges in a Windows Server 2003 Active Directory environment: service administrators and data administrators.

  • Service administrator accounts govern the maintenance and delivery of directory services, which includes the management of domain controllers and Active Directory.

  • Data administrator accounts govern the data that is stored in the directory service, on domain member servers, and workstations in the domain.

Although individuals may perform both roles in any given environment, it is still important to understand the default accounts and groups that are service administrators in scope. Service administrator accounts have a great deal of power in a network environment and therefore require the most protection. These accounts are responsible for directory-wide settings, the installation and maintenance of software, and the application of operating system service packs and updates on domain controllers.

Table 1. Default Service Administrator Groups and Accounts

Name

Container

Description

Administrators

Builtin

This group has full access to all domain controllers and all directory content stored in a domain. This group is the most powerful service administrator group and can change the membership of all other administrative groups.

Enterprise Admins

Users

This group is automatically added to the Administrators group in every domain and has complete access to the configuration for all domain controllers.

Domain Admins

Users

This group is automatically added to the Administrators group in every domain in a forest. Therefore, the Domain Admins have rights to all domain controllers and data stored in the directory of a domain and can modify the membership of any administrative group.

Schema Admins

Users

This group has full administrative privileges to the Active Directory schema.

Account Operators

Builtin

This group can create and manage accounts and groups in the domain but cannot manage service administrator accounts. This group has no members by default and, as a best practice, should not be used for any administrative delegation.

Backup Operators

Builtin

This group grants privileges to perform backup and restore tasks on domain controllers and has no members by default.

Server Operators

Builtin

This group can perform maintenance tasks on domain controllers and has no members by default.

DS Restore Mode Administrator

Not stored in Active Directory

This account is created during the Active Directory installation process. This account is used to start the domain controller in Directory Services Restore Mode, and although it is not the same as the Administrator account it does have full access to the domain controller whenever it is in Directory Services Restore Mode.

The service administrator groups and accounts listed in the preceding table are protected by a background process that periodically checks and applies a specific security descriptor that contains security information associated with that protected object. This process extends to any member of a service administrator group, and ensures that any successful unauthorized attempt to modify that descriptor on an administrative group member will be overwritten with the protected settings contained in the security descriptor data structure.

This security descriptor data structure exists in the AdminSDHolder object. Therefore, to modify the permissions on any of the service administrator groups or any of their member accounts the security descriptor on the AdminSDHolder object must be modified so that the changes will be applied in a consistent manner. Changes made to the security descriptor are changes applied to the default settings applied to all protected administrative accounts, so care must be taken when modifying permissions in this manner.

For more information about modifying permissions on service administrator accounts, see the Best Practice Guide for Securing Active Directory Installations, which is available for download at http://go.microsoft.com/fwlink/?LinkId=22342.

Service and Application Account Management

Services are executables that are often run without user interaction and launched automatically when an operating systems starts up, which is why services and service accounts are often overlooked as a unique security risk in a business network. Even when the security risks are understood, service account management can be a rather complex ordeal, considering that a simple password change may require several other changes to prevent outages.

Although Windows Server 2003 has default services and service accounts that are secure against threats, many third-party services and even other additional Microsoft services need to be secured because they require service accounts to run successfully. This requirement is especially true for enterprise management tools, such as Microsoft Systems Management Server or IBM Tivoli, because they often require the use of an account that has rights to the entire domain and even other domains with trust relationships.

In addition, the use of domain accounts to run services is still a common practice because it has been easier to manage services across the domain instead of at individual servers, despite the security risks associated with this practice. Services store the user account and password information that they use in the registry, whether they use local or domain accounts. Therefore, when a single computer is compromised this information can be used to escalate privileges for the attacker if those services use domain accounts. If a service uses an administrative level domain account, such a scenario could pose a threat to the entire network.

Service Account Vulnerability Scenarios

The practice of configuring services to use domain accounts for authentication leads to potential security exposure. The degree of risk exposure is dependent on various factors, including:

  • The number of servers that have services that are configured to use service accounts. The vulnerability profile of a network increases for every server that has domain account authenticated services that run on that server. The existence of each such server increases the odds that an attacker might compromise that server, which can be used to escalate privileges to other resources on a network.

  • The scope of privileges for any given domain account that services use. The larger the scope of privileges that a service account has, the greater the number of resources that can be compromised by that account. Domain administrator level privileges are a particularly high risk, because the scope of vulnerability for such accounts includes any computer on the network, including the domain controllers. Because such accounts have administrative privileges to all member servers, the compromise of such an account would be severe and all computers and data in the domain would be suspect.

  • The number of services configured to use domain accounts on any given server. Some services have unique vulnerabilities, which make them somewhat more susceptible to attacks. Attackers will usually attempt to exploit known vulnerabilities first. Use of a domain account by a vulnerable service presents an escalated risk to other systems, which could have otherwise been isolated to a single server.

  • The number of domain accounts that are used to run services in a domain. Monitoring and managing the security of service accounts requires more diligence than ordinary user accounts, and each additional domain account in use by services only complicates administration of those accounts. Given that administrators and security administrators need to know where each service account is used to detect suspicious activity highlights the need to minimize the number of those accounts.

The preceding factors lead to several possible vulnerability scenarios that can exist, each with a different level of potential security risk. The following diagram and table describe these scenarios.

For these examples it is assumed that the service accounts are domain accounts and each account has at least one service on each server using it for authentication. The following information describes the domain accounts shown in the following figure.

  • Account A has Administrator-equivalent privileges to more than one domain controller.

  • Account B has administrator-equivalent privileges on all member servers.

  • Account C has Administrator-equivalent privileges on servers 2 and 3.

  • Account D has Administrator-equivalent privileges on servers 4 and 5.

  • Account E has Administrator-equivalent privileges on a single member server only.

    Figure 1. Domain service account vulnerability scenarios

    Figure 1. Domain service account vulnerability scenarios

The following table describes the scenarios detailed in the preceding figure and text and ranks them by the degree of vulnerability they present.

Table 2. Ranking Security Vulnerability Scenarios

Scenario

Description

Risk level

1

Account A is used by a service on Server 1. After Server 1 is compromised, the authentication information for Account A is discovered. When this occurs the attacker has access to the DC1 domain controller, from which all resources on the domain and information contained therein becomes vulnerable.

This situation presents a critical risk scenario. Domain accounts with administrator-equivalent privileges to the domain or a domain controller should never be used to run services on a member server.

Critical

2

Account B is used by a service on Server 2. Account B also has privileges on Server 1 where Account A is running a service. When Account B has been compromised on Server 2 the attacker as achieved the same access provided by Scenario 1, thus exposing the domain controller and the entire domain to an attack.

Account C also exposes the network to the same level of risk, because it could be used to compromise Server 2 from an attack launched on Server 3, which then can expose Account A to discovery, which then exposes the entire domain.

These represent high risk scenarios but they can be resolved when the potential threats presented by Scenario 1 have been addressed.

High

3

Account D is used by a service running on Server 4 and Server 5. If Account D is compromised, an attacker will have access to all servers where Account D has privileges. If those servers do not include services that use accounts with a higher set or scope of privileges, this scenario will present a medium priority risk because the transitive vulnerability of Scenario 2 does not exist.

Medium

4

Account E is used by a service on a single server, Server 5, and does not have any other privileges or service associations. This scenario would be a low threat because it does not allow for an escalation of privileges beyond the single server.

Low

The risk levels in the preceding scenarios can be best explained as follows:

  • Critical Risk Level. This risk would immediately jeopardize the security of the entire network and business.

  • High Risk Level. This risk has the potential to compromise the security of the entire network but is not as immediate as a critical risk.

  • Medium Risk Level. This risk is important to address and could affect multiple servers, but does not expose a critical server to the vulnerability.

  • Low Risk Level. This risk could result in the compromise of a single server but does not jeopardize critical servers.

System Accounts

Services require accounts to access resources and objects that are managed by the operating system on which they run. If the account that a service uses does not have sufficient privileges to log on, the Microsoft Management Console (MMC) Services snap-in will automatically grant that account the required “Log on as a Service” user right on the computer that is being managed.

Windows Server 2003 includes the following three built-in local accounts that are used as logon accounts for various system services:

  • Local System. The Local System account, which appears as DOMAIN\<computer name>$ on the network and NT AUTHORITY\System locally, is a predefined local account that can start services and provide the security context for that service. This powerful account has full access to the local computer, including directory services when used on domain controllers. Although some services are configured to use this account by default on Windows Server 2003, it should not be used otherwise because it presents an obvious security risk, especially on domain controllers.

  • Local Service. The Local Service account (NT AUTHORITY\LocalService) is a built-in account that has reduced privileges that are similar to an authenticated local user account. This reduced access acts as a safeguard in case the service or process using it is compromised. Services that run as the Local Service account access network resources as a null session; in other words, they use anonymous credentials.

  • Network Service. The Network Service account (NT AUTHORITY\NetworkService) is a built-in account that also has reduced privileges similar to the Local Services account. However, instead of using anonymous credentials, the services and processes that use this account access network resources using the credentials of the computer account.

Note Changing the default service settings may prevent key services from running correctly. Caution should be used when changing the Startup type and Log on as settings for services that are set to start automatically by default.

Default Security Settings for Windows Server 2003 Services

Prior to Windows XP and Windows Server 2003, almost all services created by the operating system used the Local System account by default. This functionality caused some obvious security risks because such services were granted unlimited rights to the local computer. The default settings were changed with the development of Windows Server 2003 to improve the inherent security of the operating system. As a result, many of the same services now use the Local Service or Network Service accounts by default, which presents a lower vulnerability profile.

There are still some services that require use of the Local System account, including Automatic Updates, Computer Browser, Messenger, and the Windows Installer service. The services that still use Local System for authentication should not be changed to use other accounts. Doing so may cause serious problems and can potentially prevent such services from running correctly.

The following table lists service accounts that no longer use the Local System account in Windows Server 2003 along with the account type that they now use:

Table 3. Windows Server 2003 New Service Account Settings

Service

Log on as

Alerter

Local Service

Application Layer Gateway Service

Local Service

Remote Registry

Local Service

Smart Card

Local Service

TCP/IP NetBIOS Helper

Local Service

Telnet

Local Service

Uninterruptible Power Supply

Local Service

WebClient

Local Service

Windows Image Acquisition

Local Service

Windows Time

Local Service

WinHTTP Web Proxy Auto-Discovery Service

Local Service

DHCP Client

Network Service

Distributed Transaction Coordinator

Network Service

DNS Client

Network Service

License Logging

Network Service

Performance Logging

Network Service

Remote Procedure Call (RPC) Locator

Network Service

Development

To develop a plan to secure administrative and sensitive accounts, it is important to understand the fundamental elements that all best practices are based upon. Any step taken to secure accounts and services involves the same basic principles, and those principles are also a part of all best practice processes and procedures. This section will review these principles and key considerations.

Administrator and Critical Account Management

Best practice guidelines for securing administrative accounts in Windows Server 2003 are based on applying the principles of least privilege and the use of a limited user account approach. The first step in this process is to develop a thorough understanding of the current environment. The following three fundamental issues are key to developing an effective plan for improving the security of administrator and critical accounts:

  • Understanding and documenting the environment

  • Using the principle of least privilege

  • Using the least-privileged user account approach

Understanding and Documenting the Environment

Although seemingly self-evident, this first and most important step towards improving security with regard to administrator equivalent accounts can sometimes be the most difficult step in this process. If a company has not restricted and documented use of administrator level privileges, then it can be quite difficult to determine where administrator level privileges are in effect, especially where local accounts are concerned.

In terms of administrator level and other sensitive accounts, the understanding and documentation of a network environment involves information about who, why, what, and where. That is, who has authorization to use administrator accounts, why do those people have access to administrative accounts, what tasks are appropriate for the use of administrative credentials, and where are those credentials safe to be used.

The most significant aspect of documenting this information is the establishment of processes and procedures that audit where administrative accounts are used, why they are used, who used them, and what was done when they were in use. This information is best recorded proactively by provisioning, change control, and incident management processes that require any activity to be authorized and recorded before a task is completed. Such processes enable the careful auditing of administrative privilege usage, which also makes it much easier to spot suspicious activity.

As will be seen later in this document, understanding and documenting a network environment is the most significant step towards improving the security of critical accounts. Establishing best practice processes and procedures for the use and issuance of sensitive accounts is a fundamental part of this process and should occur prior to the implementation of any other guidance contained in this document.

Using the Principle of Least Privilege

Following the principle of least privilege is likely one of the most significant steps a company can take towards improving the security of their network environment. Although granting administrative level privileges is often the easiest and fastest way to resolve complex privilege or rights related issues, it is also the most risky. Also, while it is much easier for systems administrators to use an account with administrator level privileges all the time, such practices also elevate the risk profile of the network for which they are responsible.

The most basic application of this principle is as follows; administrator level privileges should be restricted for use by authorized personnel only when the task at hand demands the power inherent in those elevated privileges. Although it may seem onerous to implement practices that incorporate this concept, the level of exposure a company accepts by not adhering to this principle is too great to ignore.

The level of exposure to the most common vulnerabilities that networks can face is reduced by the application of this principle. Examples of these vulnerabilities include the following:

  • Kernel-mode rootkits

  • System-level key logging programs

  • Password interception attempts

  • Spyware and adware incidents

  • Unauthorized access to data

  • Trojan horse installations

  • Event log manipulation

When the use of administrative level accounts is reduced, the ability to use the elevated privileges inherent in those accounts for malicious activity is also reduced, thereby enhancing the security profile of the network. Also, by removing the ability to make major changes to the operating system, the ability of malware and spyware to install and run is also reduced. For these reasons, application of the principle of least privilege can have such a profound effect on network security.

Using the Least-Privileged User Account Approach

Users are regularly granted administrative privileges to their own computers in many business environments, especially portable computers. Although there may be some valid reasons for granting such expansive privileges, such arrangements expose the company to greater risk levels.

Using a least-privileged user account (LUA) approach combines best practice recommendations that enable companies to use non-administrative accounts to operate Windows XP–based computers. The result of these practices is a practical application of the principle of least privilege as applied to Windows XP client devices.

Because this document examines the issue of administrative accounts from a high level and pays particular attention to network level privileges, it is also important to consider the ramifications of the local user accounts on workstations. Although this type of focused approach is beyond the scope of this document, more detailed discussions of LUA are available on the Microsoft Web site. For more information, see the "Applying the Principle of Least Privilege to User Accounts on Windows XP" white paper at http://go.microsoft.com/fwlink/?LinkId=58445 or the article "Using a Least-Privileged User Account" at www.microsoft.com/technet/security/secnews/articles/lpuseacc.mspx.

Service Account Management

As with the management of administrator and critical accounts, there are three fundamental issues that are key to establishing a successful plan that can increase the security of services in a midsize business environment. It is important that the following three issues be addressed during development phases and incorporated into security policy procedures:

  • Understanding and documenting the environment

  • Using the principle of least privilege

  • Using the principle of least service

Understanding and Documenting the Environment

This recommended step may seem self-evident, yet many companies are not fully aware of all the roles and services that exist in their network environment. This lack of awareness and documentation can have any number of causes, but usually stems from rapid growth of network environments and a lack of time and resources to devote adequate attention to the need for documentation.

To understand whether computers are secure, it is necessary to understand what services run on those computers and what their properties might entail. This information is critical for securing servers and their services, along with the accounts that those services might require. For this task it is usually helpful to create a table of services, service properties, and the computers on which those services are used. The creation of such a table may be daunting, but the results are worth the effort. Also, keeping the table current is relatively easy after it is created and made a part of the server build and application deployment process.

There are several tools that can assist with the documentation of services and their properties on the network. Some of these tools include:

  • Service Controller Tool (sc.exe). This command-line utility is included with Windows Server 2003 and Windows XP. This tool provides an easy way to communicate with the Service Control Manager component from a command line to query and set service properties.

  • Service Controller List Tool (sclist.exe). The Windows 2000 Server Resource Kit comes with a tool that can list the running and stopped services on local or remote computers. Sclist.exe can be used to identify services that are run on remote servers that don’t have monitors or are geographically separated from the administrator.

  • Windows Management Instrumentation (WMI). This component is included with Windows Server 2003 and Windows XP and provides management information and control in enterprise environments. Administrators can use WMI to query and set information on computers, networks, applications, and services. In addition to providing the ability to use scripts for administrative task management, WMI allows administrators to identify the dependencies of services and any services upon which those services may depend.

  • Windows Management Instrumentation Command Line (WMIC). WMI also includes a command-line tool, WMIC, which provides a simple command-line interface to the WMI for queries and remote computer management. WMIC query outputs can be formatted to easily read HTML tables viewable with a browser, such as Internet Explorer.

Following the Principle of Least Privilege

Microsoft understands the importance of security and how the principle of least privilege plays a significant role in securing networked environments. Microsoft applied the principle of least privilege to the development of Windows Server 2003 to ensure that core operating system services are already using the least privileged account, and therefore these services should not require any further configuration. The focus of this approach should be on securing services that are not a part of the operating system, such as those that are supplied as components of other products like Microsoft SQL Server, Microsoft Operations Manager, or other third-party software products.

Accordingly, the principle of least privilege should be used when running any other services as well, even though it is often easier to just grant a higher level of privileges when implementing new products. For example, services should use the Local Service account whenever possible to restrict any successful attack to the local computer and not the entire domain. Services that require authenticated network access should use the Network Service whenever possible. Services that require broad privileges should use the Local System account. Finally, if a service requires the use of a domain-level administrator account, then the server or servers on which that service runs should be regarded as high security systems that are protected in the same manner as other sensitive or critical network resources and domain controllers.

Group Policy can also be used to control specific services that are allowed to run on computers. Several properties can be controlled by browsing to Computer Configuration\Windows Settings\Security Settings\System Services and opening the Properties page for that service. Settings such as the startup mode and the permissions for which accounts may be used to carry out particular operations on that service (starting or stopping, for example) can be modified.

Implementing the principle of least privilege depends on understanding the systems in the environment. By combining these two core concepts, it is possible to assess which services are running on computers, their status, and the credentials that are used for each service and server. Only then can it be possible to effectively and methodically reduce each service to use the least privileges necessary for continued functionality via proper change control processes, which also add ease to the continued documentation of the environment.

Following the Principle of Least Service

Finally, the principle of least service states that the operating system and network protocols available on any network resource should run only the exact services and protocols that are required to support the business. For example, if a server is not required to host any Web applications, then the World Wide Web service should be disabled or removed.

Most operating systems and programs install many more services and protocols in a default configuration than are actually required for common usage scenarios. Therefore, a custom install process should be used whenever possible to control what services and protocols are enabled or installed during an application process. This approach makes it possible to document what processes are created during an installation in case it is later determined that a service created during installation is no longer needed.

When deploying new servers or developing server images, it is a best practice to include steps in which the systems administrator shuts down all but the essential services required by that operating system. The disabled services can later be enabled as needed for whatever application that server may be required to run. For example, it was common practice to disable the Alerter and Messenger services on Windows operating systems prior to Windows Server 2003, because such services were not generally required. Disabling them increased the security profile of the server being deployed without harming functionality.

Ensuring the proper placement of services is also an important part of this principle. For example, the Routing and Remote Access Service or the Internet Information Service should never be placed on domain controllers, because these background services increase the vulnerability profile on domain controllers. If compromised, a domain controller could grant unlimited access to the rest of the domain. Therefore, Microsoft best practices recommend that no additional services, other than those absolutely required to operate a domain controller successfully, should be deployed on a domain controller.

Deployment and Management

After key considerations and basic principles have been discussed, a number of specific recommendations based on these concepts can be considered. Undertaking any of these individual actions can improve the security of a business network, but when combined they become part of a comprehensive security framework that can greatly reduce the vulnerability of a midsize business network.

Administrator and Critical Account Management

A number of best practice approaches can be implemented to secure administrative accounts in a Microsoft Windows network. The following methods have been proven to help reduce the vulnerability associated with such accounts and are commonly used in midsize business networks.

Separating Domain Administrator and Enterprise Administrator Roles

The Enterprise Administrator role is the most powerful role in an Active Directory forest. Steps must be taken to ensure that this type of account is secured and its use carefully regulated. There are two approaches to managing this type of account:

  • Controlled Single Account. The first approach is to limit this role to a single account that is closely monitored and controlled to ensure that its use only coincides with authorized change control requests for tasks that would require its use. Any monitored event that occur in this account’s name would require immediate investigation and must be accompanied by some form of authorized change request event.

  • Temporary Account. Another approach would be to never set up such an account until it was needed to accomplish an authorized task. When an authorized need did occur, a temporary account could be created, used to complete the task, and then deleted. Because the need for such a powerful account is rare, such steps would not be a significant addition to administrative overhead.

Separating User and Administrator Accounts

Accounts are generally associated with users. When using the principle of least privilege, accounts can be associated with tasks instead of just roles, especially when administrative functions are considered. For each person who performs an administrator role there should be two accounts, one for day-to-day usage that is a typical user account and another with administrative privileges that should only be used while completing administrative tasks at an administrative workstation.

Administrative accounts should be limited to administrative tasks and to administrative workstations that are part of a trusted network similar to domain controllers. Administrative accounts and their associated workstations should not have access to e-mail or the Internet, and should not be logged on when not in use. Administrators should have different passwords for their standard use accounts and administrator accounts, and administrator password strength should be the highest possible on the network.

These simple precautions significantly reduce the vulnerability exposure that such accounts present by reducing their exposure to the outside world and limiting the amount of time they are in use.

Using the Secondary Logon Service

It is possible to execute programs under an account other than the one currently logged on when using the Microsoft Windows 2000 Run as service. With Windows Server 2003 and Windows XP Professional this same functionality was renamed as the Secondary Logon service.

Secondary Logon allows administrators to log on to a computer with a non-administrative account and perform administrative tasks by running trusted administrative tasks with administrator credentials without having to log off. This functionality reduces the risks associated with use of administrator credentials by employing a form of the separation of user and administrator accounts concept mentioned earlier.

Running Separate Terminal Services Sessions for Administration

Terminal Services and Remote Desktop connections are commonly used to manage servers without the need to physically access the server console. This approach is not only efficient but also more secure than using an administrator account to interactively log on to the server, especially when not using an administrator level account on the computer from where the connection was established. When an administrative task is completed, the administrator account should log off and the session will disconnect.

Renaming the Default Administrator Accounts

Renaming the default administrator account remains a common practice in many midsize businesses, and it does help somewhat to reduce the vulnerability profile of that account. However, this approach only hinders a handful of attack types because many tools and techniques exist that can help attackers determine which account is the built-in Administrator account. Although renaming the default account can be somewhat helpful, it is actually more effective to create secondary administrator accounts and then to disable the original built-in accounts, as discussed later in this document.

Creating Decoy Administrator Accounts

When used in tandem with an intrusion defense mechanism that can detect and send alerts about specific account activity, the use of a decoy Administrator account can function as an effective additional layer of defense against attempted attacks on a network. Even by itself, this technique can slow some attackers down when granted more account lockout tries than typical accounts and given strong passwords. Decoy administrator accounts should not be members of any privileged security groups and should be monitored for any activity. Any attempt to use such an account should trigger an immediate investigation.

Creating Secondary Administrator Accounts and Disabling Built-in Accounts

If each person in an administrative role is not given a unique administrator equivalent account to use for administrative tasks—and even if Terminal Services is not used for server administration—it is still best practice to create a secondary administrator account. A secondary administrator account acts as a failsafe against the compromise of a primary administrator account and should be created before disabling the built-in administrator account.

Note It is important to make certain that another account with appropriate administrator privileges has been created before disabling the built-in Administrator account. Disabling the built-in administrator account without ensuring that another equivalent account exists could cause a loss of administrative control over the domain and may require a system restore or reinstall to correct.

Enabling Account Lockout for Remote Administrator Logons

Although the built-in administrator account cannot be locked out, it is possible to lock out remote logons that use the administrator account. To accomplish this task, the Microsoft Windows 2000 Server Resource Kit contains a command-line program called Passprop.exe that can enable account lockout for remote logins. When this command-line tool is used with the /ADMINLOCKOUT switch, it makes both interactive and remote login use of the administrator account subject to existing lockout policies on Windows 2000 Server.

Note Using Passprop.exe /ADMINLOCKOUT on Windows Server 2003 will affect remote login and interactive login use of the administrator account. Care should be taken when using this functionality because use of the administrator account for server administration will be impossible while it is in a locked-out state.

Creating Strong Administrator Passwords

Using a strong password for any administrator equivalent account as well as the built-in administrator account is another best practice. Strong passwords reduce the likelihood of an attacker using a brute force attack to escalate privileges. Strong passwords typically consist of the following:

  • 15 or more characters

  • Never contain account names, real names, or the company name in any form

  • Never contain a complete word, slang term, or other readily searchable term

  • Is significantly different in content from previous passwords and not incremented

  • Makes use of at least three of the following character types:

    • Uppercase Letters (A, B, C…)

    • Lowercase Letters (a, b, c…)

    • Numerals (0, 1, 2…)

    • Non-alphanumeric Symbols (@, &, $…)

    • Unicode Characters (€, ƒ, ?…)

Detecting Weak Passwords Automatically

There are two basic approaches that password scanning tools use when checking for weak or blank password usage. These approaches are:

  • Online password scanning. Online scanning involves multiple attempts to log on using common password flaws, such as use of the word “password” as a password, or even the use of blank passwords. The Microsoft Baseline Security Analyzer (MBSA) is an example of a tool that uses this method.

  • Offline password scanning. Offline scanning involves various mechanisms that use cached credentials to test, and even rank, the password strength of different accounts. Tools that use this approach have some advantages over the previous method but involve the use of third-party software.

Although third-party tools are available to scan for weak passwords, Microsoft provides the Microsoft Baseline Security Analyzer (MBSA) as a free download. The MBSA can provide notification of any disabled or locked accounts that are discovered while enumerating all user accounts to check for the following password flaws:

  • Blank passwords

  • Use of user names for passwords

  • Use of computer names for passwords

  • Use of the words “password,” “admin,” or “administrator” for passwords

For more information, please refer to the Microsoft Baseline Security Analyzer Web page at www.microsoft.com/technet/security/tools/mbsahome.mspx.

Restricting Administrative Tasks to Trusted Computers

Administrator credentials are a very tempting target for would-be intruders, and the methods used to gain access to those credentials can be very difficult to detect. Keystroke loggers and screen scrapers are some of the typical tools that are used to obtain this sensitive information by capturing every keystroke made and character entered on a compromised computer. These forms of malware can be very stealthy and difficult to detect, let alone remove, after they are installed on a computer.

Therefore it is a best practice to ensure that administrator equivalent accounts are limited to using as few computers as possible to reduce the vulnerability to such threats. Also, when limiting the resources on which administrative accounts should be used, it is important to ensure that such systems are trusted and well protected. There are many techniques available to protect sensitive assets, such as network isolation using IPsec, that impose greater security for certain devices while not impacting the usability of the network itself.

For more information about using IPsec to isolate domains and servers, see the Server and Domain Isolation technology center at www.microsoft.com/technet/itsolutions/network/sdiso/default.mspx.

Auditing Accounts and Passwords

Auditing accounts on a regular basis helps to ensure the integrity of domain security against attacks that involve the escalation of privileges. If attackers gain access to an administrative level account, they can introduce vulnerabilities and bypass security measures. For example, attackers that gain access to an administrator equivalent account can create proxy user accounts, change account memberships, and even modify event logs to cover their tracks.

All domain-level administrative users and groups as well as all local administrator accounts and groups on sensitive servers should be audited on a regular basis. Use of such administrative credentials needs to be audited to ensure that they are only used within the guidelines set by internal policies and in concordance with any established and well-documented internal processes, such as change control procedures. Use of regular account audits ensures that proper procedures have been carried out in the course of administrative tasks and even check that policies regarding password strength are being followed.

Event Viewer can be a useful tool in the auditing process if steps have been taken to secure event logs from tampering. For information about using event logs to monitor network security and on how to secure event log data, see The Security Monitoring and Attack Detection Planning Guide at http://go.microsoft.com/fwlink/?LinkId=41309.

Prohibiting Account Delegation

Delegated authentication occurs when a network service accepts a request from a user and assumes the identity of that user to initiate a new connection to other network services. Delegated authentication has several useful applications for multi-tier applications that use single sign-on capabilities on the network. Microsoft Outlook Web Access (OWA) uses this mechanism to provide an interface with databases on other computers.

Administrator accounts should be designated as "Account is sensitive and cannot be delegated." This approach helps protect administrator equivalent credentials from impersonation via servers marked as trusted for delegation. Computer accounts in Active Directory that correspond to computers that are not physically secured should be denied the right to participate in delegated authentication. Also, domain administrator accounts should be denied the right to participate in delegated authentication because they have access to sensitive information and resources on a network.

For more information about account delegation, see Enabling Delegated Authentication at http://technet2.microsoft.com/WindowsServer/en/Library/72612d01-622c-46b7-ab4a-69955d0687c81033.mspx?mfr=true.

Enforce Multi-Factor Authentication for Administrator Accounts

The Administrators, Enterprise Admins, and Domain Admins groups contain the most powerful accounts on a business network. Accordingly, these accounts should also be the most protected as well.

Multi-factor authentication methods improve the security of the logon process by requiring additional identifying information from authorized users, which increases the amount of information an attacker would need to acquire in order to compromise the account. As the name implies, a multi-factor authentication method requires multiple pieces of identifying information. This method might typically require the following:

  • Something the user has, such as a smart card.

  • Something that the user knows, such as a personal identification number (PIN).

  • Something that the user is (typically referred to as biometrics). Can be as simple as the use of a fingerprint scanner for authentication.

The use of multi-factor authentication removes the vulnerabilities associated with clear-text user name and password–based authentication methods by using a smart card that contains a randomly generated code that identifies the account holder. Each card contains a unique private key that guarantees the singularity of authentication information.

Furthermore, use of a smart card requires use of a smart card PIN, which is another encrypted code that the card owner sets and then stores on the card. This PIN makes the private key held in the card available for use during authentication; otherwise the key remains encrypted and unusable.

For more information about multi-factor authentication methods and smart cards, please refer to The Secure Access Using Smart Cards Planning Guide at http://go.microsoft.com/fwlink/?LinkID=41313.

Service and Application Account Management

There are also a number of best practice–based methods that can increase the security of services and service accounts. This section will describe the methods that have been proven to improve the security of services in real world network environments. Although the use of all these methods combined can greatly improve the security of midsize business networks, it is best to evaluate each to determine the best combination of approaches for each unique business environment.

Auditing Services for Essential Properties

As mentioned earlier, the first step in developing a plan to secure services in a given environment is to gain a thorough understanding of those services, where they occur, and why they are used. Although this sounds like a relatively straight-forward task, it can be surprisingly difficult to identify what services run on each computer and what degree of management those services require.

Each server in an environment should be documented and audited to determine all services that are running on it and which logon credentials each service uses for authentication. There are a number of tools available to assist administrators with this task, including:

  • System information in Microsoft Windows Server 2003. System information can provide a comprehensive list of properties for all services running on a local computer. However, this tool does not provide a very efficient way to audit a large number of servers.

  • Services Management Console. In the Services administration console, the Log On tab of a service’s Properties page can be used to determine what account a service uses for authentication. The Dependencies tab can also be used to determine what services that service depends on and what services depend on the service being viewed. Unfortunately this method is also inefficient for auditing a large number of servers.

  • Windows Management Instrumentation (WMI). WMI can be used to obtain information about the services that run on all servers in a network. When used with scripts or other programming tools, it is possible to use WMI to obtain configuration details regarding most aspects of a network’s computers as well as make changes to those computers.

  • Windows Management Instrumentation Command Line (WMIC). WMIC provides the same functionality as WMI in the form of a command-line tool that is capable of interoperating with existing shells and other utility commands that can be extended with scripts or other applications.

    With the WMIC service, it is possible to obtain a variety of information about the services running in a network, including:

    • Description

    • DisplayName

    • ErrorControl

    • InstallDate

    • PathName

    • ProcessId

    • StartMode

    • StartName

    • Status

    • Scripts

      As mentioned earlier, WMIC can be leveraged to automate the management of remote and local computers by using scripts.

  • Other enterprise management tools. There are several other management tools that can be used to assist with the auditing of server services, including:

    • Microsoft Systems Management Server (SMS)

    • IBM Tivoli

    • HP OpenView

    • Lieberman Software Service Account Manager

Determining Which Services are Necessary

Windows Server 2003 creates several default services when it is first installed and configures those services to run on computer startup. These default services provide application compatibility, client compatibility, or facilitate systems management. However, not all environments require the use of all these services. All services should be examined to determine whether or not any of them may be disabled, thus reducing the vulnerability profile of the server on which they run.

Defining which services are required and which may be disabled can be a complicated process. Some services present obvious answers, but others may not present such clear-cut options. When determining which services can be disabled there are two main criteria that can be used:

  • If there is no reason to use a specific service it may be disabled.

  • If there might be a need to use the service in the future, but not currently, then that service may be disabled until needed.

The services that are needed on any particular server depend primarily on that specific server’s role. For example, the Internet Information Services (IIS) service should only be used on a Web server or an application server that uses a Web-based distribution mechanism. If that server does not utilize Telnet services or remote access services, they should be disabled on that server.

When software is installed on a server it may also its own set of services. For example, Microsoft Systems Management Services will install the Wuser32 Remote Control Agent service to supply the remote client functionality for software updates or remote management. It is important to understand what services a software package might install or rely upon for functionality when determining what services should be disabled.

Using the Security Configuration Wizard

The Security Configuration Wizard (SCW) that is provided with Windows Server 2003 Service Pack 1 (SP1) can be used to quickly configure servers based on functional requirements, such as Web server or domain controller, while allowing administrators to author security policies to minimize vulnerabilities. The SCW can be used to help discover what services are running on servers in the network and the dependencies those services have.

To install the SCW on a Windows Server 2003 server

  1. Open Control Panel.

  2. Double-click Add or Remove Programs.

  3. Click Add/Remove Windows Components.

  4. Select the Security Configuration Wizard check box under Components on the Windows Components screen.

  5. Click Next.

  6. Click Finish when the installation process is complete.

The SCW can be used to help reduce the attack surface of computers that run Windows Server 2003 with SP1. The wizard guides administrators through the process of creating security policies based on the roles performed by any given server. The term server role defines the main function that a computer performs within a network and the required services, inbound ports, and settings will vary depending on what role a server performs. After policies are created, they can be applied to servers based on configuration.

Eliminating the Use of Domain Administrator Accounts for Services

When a server audit is completed, there should be sufficient information about the environment to identify and eliminate all possible instances of domain administrator accounts that are used for service authentication. Whenever possible, services should be redeployed using the Local Service, Network Service, or Local System accounts.

Efforts to correct usage of administrator equivalent accounts by services should be particularly focused on the following situations:

  • User accounts with administrator equivalent privileges that log on as a service.

  • Built-in administrator accounts that log on as a service.

  • Domain administrator accounts that log on as a service on low-security computers.

Using Least-Privilege Hierarchies for Service Deployment

As stated earlier in this document, services should always use the account with the least possible privileges required to run that service. Any services that have a greater level of privileges than required should be redeployed using accounts with lesser privileges.

A least-privilege hierarchy would consider accounts for service usage in the following order, from most preferred to least preferred:

  • Local Service

  • Network Service

  • Unique local user account

  • Unique domain user account

  • Local System

  • Local administrator account

  • Domain administrator account

Creating High-Security Server Groups for Exceptions

High-security servers are basically servers that hold resources or supply services that the business depends upon or pose an elevated security risk. Generally, servers that meet such criteria include:

  • Domain controllers.

  • Servers using services that must authenticate with a domain administrator account to run.

  • Servers trusted for delegation in a forest.

  • Servers used by sensitive business groups or that hold critical business data, such as a human resources server with salary information.

  • Servers that run services which have been trusted for delegation within a forest using constrained delegation in Windows Server 2003.

The creation of a high-security server group generally involves the following activities:

  1. Identify servers that should be designated as high-security servers.

  2. Create a High Security Servers universal security group in each forest.

  3. Place the designated servers’ computer accounts into the new universal groups.

  4. Create a Domain Admin Accounts local group in each domain.

  5. Place all domain administrator equivalent user accounts into the new local group.

  6. Create a Group Policy object in each domain that restricts the use of domain-level administrator accounts for services on all computers by assigning the Deny Log on as a service and Deny log on as a batch job user rights and applying the Allow-Read and Allow-Apply permissions on the GPO to the Domain Admin Accounts domain local group that was created.

  7. Use Group Policy filtering for the High Security Servers group on each GPO so that members of that group are still allowed to use domain administrator accounts for services. This functionality can be accomplished by applying Allow-Read and Deny-Apply permissions on the GPO for the High Security Servers group.

The management of the High Security Servers group membership should use an internal workflow process that evaluates requests for additions to the group. This process should include steps that validate the requests and assess the associated security risks if a server is added to the group. The basis of this process can range from the simple, such as e-mail requests to a specified account, to a detailed automated process using any number of provisioning tools, such as Zero Touch Provisioning (ZTP).

ZTP is beyond the scope of this document because it is a tool geared towards larger enterprise environments. However, more information about ZTP and other similar tools is available on the Microsoft Desktop Deployment Center Web site at www.microsoft.com/technet/desktopdeployment/default.mspx.

Managing Service Account Password Changes

When accounts are assigned to a service, the Service Control Manager (SCM) requires the correct password for that account before it can make that assignment. If an incorrect password is supplied the assignment will be rejected by the SCM. Configuring services to use the Local System, Local Service, or Network Service accounts negates the need to manage account passwords because the operating system manages them instead.

For other service accounts, the SCM stores account passwords in the services database. After passwords are assigned, the SCM does not verify the passwords stored in that database and the password assigned to a user account in Active Directory will continue to match. This can cause problems when situations such as the following occur:

  1. A service is configured to use a specific user account.

  2. The service starts by using that account with the current password.

  3. The password for that user account is changed while the service continues to run.

  4. The service continues to run until it is stopped. After it is stopped, the service cannot restart because the SCM is still trying to use the old password. Password changes in Active Directory do not synchronize with passwords stored in the services database.

Any service that uses a standard domain or local user account must be updated with new authentication information every time that user account password is changed. This can take a significant amount of time and effort if services and the accounts they use are not properly documented.

Of course, the existence of a document that stored account information for all services used on all servers presents its own unique security risk—so steps should be taken to secure such a document. Larger organizations can record this information in an encrypted file, which is taken offline and stored in a secure location. Smaller organizations may simply record such information on paper in a binder that is locked in a safe or other secured location.

Some applications may also use service account passwords, such as Exchange Server or SQL Server™, so care should be taken to change relevant passwords at the application interface in such situations.

For information about how to write tools to automate the process of changing service account passwords, see the article "Changing the Password on a Service’s User Account" at http://msdn.microsoft.com/library/default.asp?url=/library/en-us/ad/ad/changing_the_password_on_a_serviceampaposs_user_account.asp.

Enforcing the Use of Strong Passwords

As mentioned in the corresponding section for administrator accounts, the use of strong password policies should be strictly enforced on all administrator equivalent accounts as well as all service accounts. To enforce such rules, Group Policy can be used to enforce password expiration dates, minimum length restrictions, and other strong password rules.

For more information about strong password policies, see the "Account Passwords and Policies" white paper at http://www.microsoft.com/technet/prodtechnol/windowsserver2003/technologies/security/bpactlck.mspx

For more information about how to enforce the use of strong passwords, see the Windows Server 2003 Security Guide at http://go.microsoft.com/fwlink/?linkid=14845.

Weak passwords represent one of the most common vulnerabilities on a network, and when used with administrator equivalent accounts they are one of the easiest ways an attacker can gain access to network resources. The use of automated testing tools to detect administrator equivalent accounts that use weak passwords should be a regularly scheduled task for those responsible for the security or administration of a network.

To accomplish this task, the Microsoft Baseline Security Analyzer (MBSA) tool can scan every computer on the network in search of weak passwords. The MBSA can enumerate all user accounts and check for the following password-related vulnerabilities:

  • Blank passwords.

  • Passwords that match user account names.

  • Passwords that match computer names.

  • Passwords that use the word “password,” “admin,” or “administrator.”

When used, the MBSA will attempt to use each of the listed vulnerabilities to change an account’s password. When a weak password is discovered the password will not be changed, but the MBSA will report that password as being a security risk. The MBSA will also report any disabled accounts or accounts that are locked out.

Although the MBSA does detect the most common poor password practices, it does not provide full-featured password auditing capabilities. For these needs there are some third-party offline scanning tools and applications available on the market.

For more information about the MBSA or to download this tool, see the Microsoft Baseline Security Analyzer Web page at www.microsoft.com/technet/security/tools/mbsahome.mspx.

Note The MBSA will reset any account lockout policies detected on a computer to prevent locking any accounts during the scanning process. Also, the MBSA will not perform password scans on computers designated as domain controllers.

Top Of Page

Summary

Obviously, a great number of steps can be taken to enhance the security of critical and service accounts in a midsize business network. Fundamentally, all of these approaches are based on a few key concepts, such as the establishment of well-documented processes and employing practices that follow the principle of least privilege. Simply understanding and using these few key concepts as a basis for account management will help greatly enhance the security of any network.

Any number of these best practice techniques described in this document can be used in a midsize business environment if they are deemed a suitable fit with business requirements. Although all of these practices combined would undoubtedly improve the security of any network, it is best to analyze the potential impact that each could have on a business network to determine the most compatible combination of approaches.

Top Of Page

Appendix A: Common Services

The following table lists and describes the common Windows Server 2003 and Windows XP services in alphabetical order. Although this list includes both default services and services that can be added to a computer, it is not a complete list of all the possible services that could be installed on a computer because it does not include services that could be installed by third-party software packages.

Table A.1 Windows XP and Windows Server 2003 Service Descriptions

Service

Service name

Log on as

Description

6to4

IP Version 6 Helper Service

Local System

Enables IPv6 connectivity over IPv4 networks.

AELookupSvc

Application Experience Lookup Service

Processes application compatibility lookup requests for applications as they are started. Must be active for application compatibility software updates to occur.

Alerter

Alerter

Local Service

This service notifies selected users and computers of administrative alerts and relies on the Messenger service on client computers for delivery.

ALG

Application Layer Gateway Service

Local Service

Provides support for plug-ins that allow network protocols to pass through the firewall and work behind ICS.

AppMgmt

Application Management

Local System

Provides software installation services such as Assign, Publish, and Remove. If disabled, applications cannot be installed through Active Directory services, such as IntelliMirror®.

AppMgr

Remote Server Manager

Local System

Acts as a WMI instance provider for Remote Administration Alert Objects and a WMI method provider for Remote Administration Tasks.

aspnet_state

ASP.NET State Service

Network Service

Provides support for ASP.NET out-of-process session states.

AudioSrv

Windows Audio

Local System

Manages audio devices for Windows-based programs.

BINLSVC

Remote Installation

Local System

This is the primary component of the Remote Installation Server (RIS), which answers PXE requests for remote boot-enabled computers.

BITS

Background Intelligent Transfer Service

Network Service

Supplies a background file transfer mechanism for queue manager. When this service stops, the computer will not be able to use Automatic Update features.

Browser

Computer Browser

Local System

Maintains an up-to-date list of computers on the network.

CertSvc

Certificate Services

Local System

Part of the core operating system that issues and manages digital certificates.

cisvc

Indexing Service

Local System

Provides rapid access to files through a querying language by indexing the contents and properties of files.

ClipSrv

ClipBook

Local System

Enables the ClipBook viewer to create and share pages for data for review by remote users.

ClusSvc

Cluster Services

Domain Account

Controls server cluster operations and manages the cluster database.

COMSysApp

COM+ System Application

Local System

Manages the configuration and tracking of COM+ based components. COM+ components will not function correctly if this service is disabled.

CORRTSvc

.NET Framework Support Service

Notifies subscriber clients when specified processes initialize the Client Runtime Service.

CryptSvc

Cryptographic Services

Local System

Provides cryptographic key management services for Windows-based computers.

DcomLaunch

DCOM Server Process Launcher

Local System

Provides part of the RPC services that require Local System privileges in combination with the RPCSS service.

Dfs

Distributed File System

Local System

Integrates disparate file shares located across the network into a single logical namespace. Required to advertise the SYSVOL share.

DFSR

Distributed File System Replication

Automatically copies updates to files and folders between computers that are participating in a common replication group (added in Windows Server 2003 R2).

Dhcp

DHCP Client

Network Service

Manages DHCP network configuration information by registering and updating IP addresses.

DHCPServer

DHCP Server

Local System

This service manages DHCP and allocates IP addresses to client computers.

dmadmin

Logical Disk Manager Administrative Service

Local System

Performs administrative services for disk management requests and configures disks and volumes. This service only runs during such configuration processes.

dmserver

Logical Disk Manager

Local System

Detects and monitors new disk drives and sends volume information to the dmadmin service. Do not disable if dynamic disks are in use.

DNS

DNS Server

Local System

Enables DNS name resolution by answering queries and updating requests for DNS names.

Dnscache

DNS Client

Network Service

Resolves and caches DNS names and must run on any computer that performs DNS name resolution.

ERSvc

Error Reporting Service

Local System

Collects, stores, and reports on unexpected application errors or closures.

Eventlog

Event Log

Local System

Writes events sent by programs, services, and the operating system to event logs.

EventSystem

COM+ Event System

Local System

Provides automatic distribution of events to subscribing COM components.

FastUser Switching Compatibility

Fast User Switching Compatibility

Local System

Provides management for applications that require assistance in multiple user environments.

Fax

Fax Service

Local System

TAPI-compliant provider of fax capabilities.

Groveler

Single Instance Storage Groveler

Local System

An integral part of the Remote Installation Service (RIS) that finds duplicate files and copies the original into the Single Instance Storage.

helpsvc

Help and Support

Local System

Provides access to stores and services that contain metadata and information about help topics for the Help and Support Center application.

HidServ

Human Interface Device Access

Local System

Enables generic input access to USB devices such as keyboards and mice.

HTTPFilter

HTTP SSL

Local System

Enables IIS to perform SSL functions.

IAS

Internet Authentication Service

Local System

Performs centralized authentication, authorization, auditing, and accounting of users connecting to a network.

IASJet

IAS Jet Database Access

Local System

Provides authentication, authorization, and accounting services via the RADIUS protocol.

IISADMIN

IIS Admin Service

Allows administration of IIS components such as FTP and Web service extensions.

ImapiService

IMAPI CD-Burning COM Service

Local System

Manages the creation of CDs through the IMAPI COM interface and performs CD-R writes when requested.

Irmon

Infrared Monitor

Local System

Enables file sharing via infrared connections.

IsmServ

Intersite Messaging

Local System

Enables message exchanges between computers that run Windows Server.

kdc

Kerberos Key Distribution Center

Local System

Allows users to log on by using Kerberos authentication protocol. If this service is stopped, clients cannot log on to a domain.

lanmanserver

Server

Local System

Provides RPC support and file, print, and name pipe sharing over the network.

Lanman workstation

Workstation

Local System

Provides network connections and communications for client services.

LicenseService

License Logging

Network Service

Originally designed to manage CALs introduced with Windows NT® Server 3.51. Should only be enabled by users of Microsoft Small Business Server.

LMHosts

TCP/IP NetBIOS Helper Service

Local Service

Provides support for NetBIOS over TCP/IP and NetBIOS name resolution for clients.

LPDSVC

TCP/IP Print Server

Local System

Enables TCP/IP-based printing by using the LPD protocol for document reception from LPD utilities running on UNIX–based platforms.

LSASS

Local Security Authority

Local System

Provides an interface for managing local security, domain authentication, and Active Directory processes.

MacFile

File Server for Macintosh

Local System

Allows Macintosh users to store and access files on Windows Server 2003.

MacPrint

Print Server for Macintosh

Local System

Allows Macintosh users to use Windows Server 2003 print services.

MDM

Machine Debug Manager

Manages local and remote debugging for applications.

Messenger

Messenger

Local System

Sends messages to or receives messages from the Alerter service. This is not related to Windows Messenger and if disabled will prevent use of the net send and net name commands.

mnmsrvc

NetMeeting Remote Desktop Sharing

Local System

Allows authorized users remote access to the Windows Desktop from other computers via Windows NetMeeting® services.

mqds

Message Queuing Down Level Clients

Local System

Provides Active Directory access for older versions of Windows that use Message Queuing service.

Mqtgsvc

Message Queuing Triggers

Local System

Provides a rule-based system to monitor messages that arrive in a Message Queuing service queue and invokes message processing services.

MSDTC

Distributed Transaction Coordinator

Network Service

Coordinates transactions distributed across multiple computers, databases, file systems, message queues, and other transaction-protected resource managers.

MSExchange MTA

Microsoft Exchange MTA Stacks

Provides backward-compatible message transfer service in a mixed-mode environment.

MSFTPSVC

FTP Publishing Service

Network Service

Provides FTP connectivity and administration through the IIS snap-in.

MSIServer

Windows Installer

Local System

Manages the installation and removal of applications by applying sets of centrally defined setup rules during installation processes.

msmq

Message Queuing

Local System

Acts as a messaging infrastructure and development tool that enables distributed messaging for Windows programs.

MSSQL$UDDI

MSSQL$UDDI

Network Service

Provides Universal Description, Discovery, and Integration (UDDI) services to the SQL Server database engine.

MSSQL SERVER

MS SQL Server

Provides configurable MS SQL Server services.

MSSQLServer ADHelper

MS SQL Server AD Helper

Local System

Enables SQL Server and SQL Server Analysis Services to publish information in Active Directory.

NetDDE

Network DDE

Local System

Provides network transport and security for DDE for programs that run on the same computer or different computers.

NetDDEdsdm

Network DDE DSDM

Local System

Manages DDE network shares.

Netlogon

Netlogon

Local System

Maintains a security channel between client computers and domain controllers for service and user authentication.

Netman

Network Connections

Local System

Manages objects in the Network Connections folder.

Network Connections

Network Connections

Local System

Manages objects in the Network and Dial-up Connections folder, from which viewing network and remote connections is possible.

NLA

Network Location Awareness

Local System

Collects and stores network configuration information and processes location change information.

NntpSvc

Network News Transfer Protocol

Local System

Allows computers to act as NNTP news servers.

NtFrs

File Replication

Local System

Automatically copies updates to files and folders between computers participating in a common FRS replica set.

NtLmSsp

NTLM Security Support Provider

Local System

Responsible for authentication and management of local security policy objects.

NWC Workstation

Client Service for NetWare

Local Service

Provides access to NetWare file and print resources.

nwsapagent

SAP Agent

Local System

Advertises network services on IPX networks using the IPX SAP protocol.

one point

Microsoft Operations Manager 2000 Agent

Microsoft Operations Manager (MOM) 2000 agent.

PlugPlay

Plug and Play

Local System

Enables recognition of hardware changes without user input.

PolicyAgent

IPsec Service

Local System

Manages IPsec policy, starts IKE, and coordinates IPsec policy settings in the IP security driver.

POP3SVC

Microsoft POP3 Service

Local Service

Provides e-mail transfer and retrieval services.

Protected Storage

Protected Storage

Local System

Provides protected storage for sensitive data.

RasAuto

Remote Access Auto Connection Manager

Local System

Creates connections to remote computers whenever programs reference remote DNS or NetBIOS names or addresses.

RasMan

Remote Access Connection Manager

Local System

Manages dial-up and VPN connections to remote networks.

RDSessMgr

Remote Desktop Help Session Manager

Local System

Manages and controls the Remote Assistance feature within the Help and Support Center application.

Remote_

Storage_Server

Remote Storage Server

Local System

Moves and retrieves files from secondary storage media.

Remote_

Storage_User_

Link

Remote Storage Notification

Remote_Storage_User_Link service notifies users when they attempt to read or write files that are only available from secondary storage media sources.

RemoteAccess

Routing and Remote Access

Local System

Provides multiprotocol routing services and provides dial-up and VPN remote access services.

RemoteRegistry

Remote Registry Service

Local Service

Enables remote users to modify registry settings with proper permissions.

RpcLocator

Remote Procedure Call Locator

Network Service

Manages the RPC name service database so RPC clients can locate RPC servers. Disabled by default.

RpcSs

Remote Procedure Call

Local System

Serves as the RPC endpoint mapper and Component Object Model (COM) Service

RSoPProv

Resultant Set of Policy Provider

Local System

Enables connections to Windows domain controllers, access to the WMI database, and simulates RSoP for Group Policy settings.

RSVP

QoS RSVP

Local System

Manages the use of Generic Quality of Service API requests from applications.

Sacsvr

Special Administration Console Helper

Local System

Performs remote management tasks when a Windows Server family operating system stops functioning due to Stop error messages.

SamSs

Security Accounts Manager

Local System

Manages user and group account information.

SCardSvr

Smart Card

Local Service

Manages and controls access to smart cards when inserted into a smart card reader attached to the computer.

Schedule

Task Scheduler

Local System

Allows the performance of automated tasks.

seclogon

Secondary Logon

Local System

Allows the creation of processes in the context of different security principals.

SENS

System Event Notification

Local System

Tracks system and power events and notifies COM+ Event System subscribers of these events.

SharedAccess

Windows Connection Firewall/Internet Connection Sharing

Local System

Provides NAT, addressing, and name resolution services for all computers in a network when Internet Connection Sharing is enabled.

ShellHW

Detection

Shell Hardware Detection

Local System

Provides notifications for AutoPlay hardware events.

SimpTcp

Simple TCP/IP Services

Network Service

Provides simple TCP/IP services such as Echo, Discard, Daytime, Character Generator, and Quote of the Day.

SMTPSVC

Simple Mail Transport Protocol

Local System

Acts as an SMTP submission and relay agent by accepting and queuing e-mail to and from remote destinations.

SNMP

SNMP Service

Local System

Allows incoming SNMP requests to be serviced by the local computer.

SNMPTRAP

SNMP Trap Service

Local Service

Receives SNMP Trap messages generated by local or remote SNMP agents and then forwards those messages to SNMP management servers.

Spooler

Print Spooler

Local System

Manages all local and network print queues and controls all print jobs.

SQLAgent$

WEBDB

SQL Agent$ UDDI or WebDB

SrvcSurg

Remote Administration Service

Local System

Responsible for running Remote Administration tasks on server boot up, including incrementing the server boot count and raising alerts if server date and time have not be set.

StiSvc

Windows Image Acquisition

Local Service

Provides image acquisition services for scanners and cameras.

srservice

System Restore Service

Local System

Monitors changes to the system and application files then creates easily identifiable restore points.

SSDPSRV

SSDP Discovery Service

Local Service

Manages device presence announcements, cache updates, and SSDP notifications.

StiSvc

Windows Image Acquisition (WIA)

Local Service

Provides robust communication between applications and image-capture devices for the efficient transfer of images to the computer.

SwPrv

Microsoft Software Shadow Copy Provider

Local System

Manages software-based shadow copies that are taken by the VSS service.

SysmonLog

Performance Logs and Alerts

Network Service

Collects performance log and alert information, only runs when at least one performance data collection event is scheduled.

TapiSrv

Telephony

Local System

Provides TAPI support for programs that control telephony devices and IP-based voice connections.

TermService

Terminal Services

Local System

Allows multiple client access to virtual Windows desktop sessions running on the server.

TermServ

Licensing

Terminal Services Licensing

Provides licenses to registered clients when they connect to a terminal server and tracks those licenses.

tftpd

Trivial FTP Daemon

Listens and responds to TFTP requests.

Themes

Themes

Local System

Provides rendering support for the Windows XP graphic user interface (GUI).

TlntSvr

Telnet

Local System

Provides Telnet services to Windows users and supports ANSI, VT-100, VT52, and VTNT terminal session types.

TrkSvr

Distributed Link Tracking Server

Local System

Stores information so that files moved between volumes can be tracked to each volume in the domain. Runs on each domain controller.

TrkWks

Distributed Link Tracking Client

Local System

Maintains links between the NTFS file system files on the computer or across the network and ensures that shortcuts and OLE links work after target files are moved or renamed.

Tssdis

Terminal Services Session Directory

Local System

Keeps track of disconnected terminal services sessions on a cluster to ensure that users are reconnected to those sessions.

Uploadmgr

Upload Manager

Local System

Manages the synchronous and asynchronous file transfers between clients and servers on the network.

upnphost

Universal Plug and Play Device Host

Local System

Implements all components required for device registration, control, and the response to events for hosted devices.

UPS

Uninterruptible Power Supply

Local Service

Manages communications with an Uninterruptible Power Supply (UPS) connected to the computer via serial port.

VDS

Virtual Disk Service

Local System

Provides a single interface for managing block storage virtualization whether done in OS software, RAID storage, or other virtualization engines.

VSS

Volume Shadow Copy

Local System

Manages volume snapshots used by backup applications.

W32Time

Windows Time

Local System

Maintains date and time synchronization with NTP.

W3SVC

World Wide Web Publishing Service

Local System

Contains a process and configuration manager to provide Web publishing services.

WebClient

WebClient

Local Service

Allows Win32 applications to access documents on the Internet.

WindowsSystem

Resource

Manager

Windows System Resource Manager

Local System

Provides policy based management of CPU and memory consumption for processes running on a single operating system instance.

WinHttpAutoSvc

WinHTTP Web Proxy Auto-Discovery Service

Local Service

Implements proxy configuration discovery for WinHttp clients.

winmgmt

Windows Management Instrumentation

Local System

Provides system management information through multiple interfaces.

WINS

Windows Internet Name Service

Local System

Enables NetBIOS name resolution and WINS replication.

WmdmPmSN

Portable Media Serial Number

Local System

Allows the WMDM to retrieve serial numbers from portable music devices attached to the computer.

Wmi

Windows Management Instrumentation Driver Extensions

Local System

Monitors all drivers and event trace providers that are configured to publish WMI or event trace information.

WmiApSrv

WMI Performance Adapter

Local System

Transforms performance counters supplied by WMI providers into counters that can be consumed by PDH through the Reverse Adapter Performance Library.

WMServer

Windows Media Services

Network Service

Enables Windows Media Services.

wscsvc

Security Center

Local System

Monitors system security settings and configurations.

wuauserv

Automatic Updates

Local System

Enables the download of updates from the Microsoft Windows Update Web Site.

Wuser32

SMS Remote Control Agent

Local System

Provides remote computer management services, such as remote control and remote file transfer services, for SMS 2003.

WZCSVC

Wireless Zero Configuration

Local System

Enables automatic configuration for IEEE 802.11 wireless adapters for wireless communications.

xmlprov

Network Provisioning Service

Local System

Provides the ability to download and manage XML configuration files from network provisioning services such as the Microsoft Wireless Provisioning Service (WPS).

Top Of Page

Download

Get the Securing Critical and Service Accounts guide

 

Source: Securing Critical and Service Accounts

Categories: Active Directory

Set-ADServiceAccount

December 25, 2011 Leave a comment

Set-ADServiceAccount

Modifies an Active Directory service account.

Syntax

Copy

Set-ADServiceAccount [-Identity] <ADServiceAccount> [-AccountExpirationDate <System.Nullable[System.DateTime]>] [-AccountNotDelegated <System.Nullable[bool]>] [-Add <hashtable>] [-Certificates <string[]>] [-Clear <string[]>] [-Description <string>] [-DisplayName <string>] [-Enabled <System.Nullable[bool]>] [-HomePage <string>] [-Remove <hashtable>] [-Replace <hashtable>] [-SamAccountName <string>] [-ServicePrincipalNames <hashtable>] [-TrustedForDelegation <System.Nullable[bool]>] [-AuthType {<Negotiate> | <Basic>}] [-Credential <PSCredential>] [-Partition <string>] [-PassThru <switch>] [-Server <string>] [-Confirm] [-WhatIf] [<CommonParameters>]

· Identity

· AccountExpirationDate

· AccountNotDelegated

· Add

· Certificates

· Clear

· Description

· DisplayName

· Enabled

· HomePage

· Remove

· Replace

· SamAccountName

· ServicePrincipalNames

· TrustedForDelegation

· AuthType

· Credential

· Partition

· PassThru

· Server

· Confirm

· WhatIf

Copy

Set-ADServiceAccount -Instance <ADServiceAccount> [-AuthType {<Negotiate> | <Basic>}] [-Credential <PSCredential>] [-Partition <string>] [-PassThru <switch>] [-Server <string>] [-Confirm] [-WhatIf] [<CommonParameters>]

· Instance

· AuthType

· Credential

· Partition

· PassThru

· Server

· Confirm

· WhatIf

Detailed Description

The Set-ADServiceAccount cmdlet modifies the properties of an Active Directory service account. You can modify commonly used property values by using the cmdlet parameters. Property values that are not associated with cmdlet parameters can be modified by using the Add, Replace, Clear and Remove parameters.
The Identity parameter specifies the Active Directory service account to modify. You can identify a service account by its distinguished name (DN), GUID, security identifier (SID), or Security Accounts Manager (SAM) account name. You can also set the Identity parameter to an object variable such as $<localServiceAccountObject>, or you can pass an object through the pipeline to the Identity parameter. For example, you can use the Get-ADServiceAccount cmdlet to retrieve a service account object and then pass the object through the pipeline to the Set-ADServiceAccount cmdlet.
The Instance parameter provides a way to update a service account object by applying the changes made to a copy of the object. When you set the Instance parameter to a copy of an Active Directory service account object that has been modified, the Set-ADServiceAccount cmdlet makes the same changes to the original service account object. To get a copy of the object to modify, use the Get-ADServiceAccount object. When you specify the Instance parameter you should not pass the Identity parameter. For more information about the Instance parameter, see the Instance parameter description.
For more information about how the Instance concept is used in Active Directory cmdlets, see about_ActiveDirectory_Instance.
The following examples show how to modify the ServicePrincipalNames property of a service account object by using three methods:
-By specifying the Identity and the ServicePrincipalNames parameters
-By passing a service account object through the pipeline and specifying the ServicePrincipalNames parameter
-By specifying the Instance parameter.
Method 1: Modify the ServicePrincipalNames property for the AccessIndia service account by using the Identity and ServicePrincipalNames parameters.
Set-ADServiceAccount -Identity AccessIndia -ServicePrincipalNames @{Add=ACCESSAPP/india.contoso.com}
Method 2: Modify the ServicePrincipalNames property for the AccessIndia service account by passing the AccessIndia service account through the pipeline and specifying the ServicePrincipalNames parameter.
Get-ADServiceAccount -Identity "AccessIndia" | Set-ADServiceAccount -ServicePrincipalNames @{Add=ACCESSAPP/india.contoso.com}
Method 3: Modify the <property> property for the AccessIndia service account by using the Windows PowerShell command line to modify a local instance of the AccessIndia service account. Then set the Instance parameter to the local instance.
$serviceAccount = Get-ADServiceAccount -Identity "AccessIndia"
$serviceAccount.ServicePrincipalNames = @{Add=ACCESSAPP/india.contoso.com}
Set-ADServiceAccount -Instance $serviceAccount.

Parameters

AccountExpirationDate

Specifies the expiration date for an account. When you set this parameter to 0, the account never expires. This parameter sets the AccountExpirationDate property of an account object. The LDAP Display name (ldapDisplayName) for this property is accountExpires.
Use the DateTime syntax when you specify this parameter. Time is assumed to be local time unless otherwise specified. When a time value is not specified, the time is assumed to 12:00:00 AM local time. When a date is not specified, the date is assumed to be the current date. The following examples show commonly-used syntax to specify a DateTime object.
"4/17/2006"
"Monday, April 17, 2006"
"2:22:45 PM"
"Monday, April 17, 2006 2:22:45 PM"
These examples specify the same date and the time without the seconds.
"4/17/2006 2:22 PM"
"Monday, April 17, 2006 2:22 PM"
"2:22 PM"
The following example shows how to specify a date and time by using the RFC1123 standard. This example defines time by using Greenwich Mean Time (GMT).
"Mon, 17 Apr 2006 21:22:48 GMT"
The following example shows how to specify a round-trip value as Coordinated Universal Time (UTC). This example represents Monday, April 17, 2006 at 2:22:48 PM UTC.
"2006-04-17T14:22:48.0000000"
The following example shows how to set this parameter to the date May 1, 2012 at 5 PM.
-AccountExpirationDate "05/01/2012 5:00:00 PM"

Default Value:

Data Type: System.Nullable[System.DateTime]

Attributes

Name

Value

PSMAML Attribute

Required?

false

required

Variable Length?

false

variableLength

Accept wildcard characters?

false

globbing

Accept Pipeline Input?

false

pipelineInput

Position?

named

position

Value Attributes

Name

Value

PSMAML Attribute

Required?

true

required

Variable Length?

false

variableLength

AccountNotDelegated

Specifies whether the security context of the user is delegated to a service. When this parameter is set to true, the security context of the account is not delegated to a service even when the service account is set as trusted for Kerberos delegation. This parameter sets the AccountNotDelegated property for an Active Directory account. This parameter also sets the ADS_UF_NOT_DELEGATED flag of the Active Directory User Account Control (UAC) attribute. Possible values for this parameter include
$false or 0
$true or 1
The following example shows how to set this parameter so that the security context of the account is not delegated to a service.
-AccountNotDelegated $true

Default Value:

Data Type: System.Nullable[bool]

Attributes

Name

Value

PSMAML Attribute

Required?

false

required

Variable Length?

false

variableLength

Accept wildcard characters?

false

globbing

Accept Pipeline Input?

false

pipelineInput

Position?

named

position

Value Attributes

Name

Value

PSMAML Attribute

Required?

true

required

Variable Length?

false

variableLength

Add

Specifies values to add to an object property. Use this parameter to add one or more values to a property that cannot be modified using a cmdlet parameter. To modify an object property, you must use the LDAP display name. You can specify multiple values to a property by specifying a comma-separated list of values and more than one property by separating them using a semicolon.. The format for this parameter is
-Add @{Attribute1LDAPDisplayName=value1, value2, …; Attribute2LDAPDisplayName=value1, value2, …; AttributeNLDAPDisplayName=value1, value2, …}
For example, if you want to remove the value "555-222-2222" and add the values "555-222-1111" and "555-222-3333" to Phone-Office-Other attribute (LDAP display name ‘otherTelephone’), and add the value "555-222-9999" to Phone-Mobile-Other (LDAP display name ‘otherMobile’), set the Add and Remove parameters as follows.
-Add @{otherTelephone=’555-222-1111′, ’555-222-3333′; otherMobile=’555-222-9999′ } -Remove @{otherTelephone=’555-222-2222′}
When you use the Add, Remove, Replace and Clear parameters together, the operations will be performed in the following order:
..Remove
..Add
..Replace

Default Value:

Data Type: hashtable

Attributes

Name

Value

PSMAML Attribute

Required?

false

required

Variable Length?

false

variableLength

Accept wildcard characters?

false

globbing

Accept Pipeline Input?

false

pipelineInput

Position?

named

position

Value Attributes

Name

Value

PSMAML Attribute

Required?

true

required

Variable Length?

false

variableLength

AuthType

Specifies the authentication method to use. Possible values for this parameter include:
Negotiate or 0
Basic or 1
The default authentication method is Negotiate.
A Secure Sockets Layer (SSL) connection is required for the Basic authentication method.
The following example shows how to set this parameter to Basic.
-AuthType Basic

The following lists the acceptable values for this parameter:

· Negotiate

· Basic

Default Value: Microsoft.ActiveDirectory.Management.AuthType.Negotiate

Data Type: ADAuthType

Attributes

Name

Value

PSMAML Attribute

Required?

false

required

Variable Length?

false

variableLength

Accept wildcard characters?

false

globbing

Accept Pipeline Input?

false

pipelineInput

Position?

named

position

Value Attributes

Name

Value

PSMAML Attribute

Required?

true

required

Variable Length?

false

variableLength

Certificates

Modifies the DER-encoded X.509v3 certificates of the account. These certificates include the public key certificates issued to this account by the Microsoft Certificate Service. This parameter sets the Certificates property of the account object. The LDAP Display Name (ldapDisplayName) for this property is "userCertificate".
Syntax:
To add values:
-Certificates @{Add=value1,value2,…}
To remove values:
-Certificates @{Remove=value3,value4,…}
To replace values:
-Certificates @{Replace=value1,value2,…}
To clear all values:
-Certificates $null
You can specify more than one operation by using a list separated by semicolons. For example, use the following syntax to add and remove Certificate values
-Certificates @{Add=value1,value2,…};@{Remove=value3,value4,…}
The operators will be applied in the following sequence:
..Remove
..Add
..Replace
The following example shows how to create a certificate by using the New-Object cmdlet, and then add it to a user account. When this cmdlet is run, <certificate password> is replaced by the password used to add the certificate.
$cert = New-Object System.Security.Cryptography.X509Certificates.X509Certificate certificate1.cer <certificate password>
Set-ADUser saradavis -Certificates @{Add=$cert}
The following example shows how to add a certificate that is specified as a byte array.
Set-ADUser saradavis -Certificates @{Add= [Byte[]](0xC5,0xEE,0×53,…)}

Default Value:

Data Type: string[]

Attributes

Name

Value

PSMAML Attribute

Required?

false

required

Variable Length?

true

variableLength

Accept wildcard characters?

false

globbing

Accept Pipeline Input?

false

pipelineInput

Position?

named

position

Value Attributes

Name

Value

PSMAML Attribute

Required?

true

required

Variable Length?

true

variableLength

Clear

Specifies an array of object properties that will be cleared in the directory. Use this parameter to clear one or more values of a property that cannot be modified using a cmdlet parameter. To modify an object property, you must use the LDAP display name. You can modify more than one property by specifying a comma-separated list. The format for this parameter is
-Clear Attribute1LDAPDisplayName, Attribute2LDAPDisplayName
For example, if you want to clear the value for the Phone-Office-Other attribute (LDAP display name ‘otherTelephone’) set the Clear parameter as follows.
-Clear otherTelephone
When you use the Add, Remove, Replace and Clear parameters together, the operations will be performed in the following order:
..Remove
..Add
..Replace
..Clear

Default Value:

Data Type: string[]

Attributes

Name

Value

PSMAML Attribute

Required?

false

required

Variable Length?

true

variableLength

Accept wildcard characters?

false

globbing

Accept Pipeline Input?

false

pipelineInput

Position?

named

position

Value Attributes

Name

Value

PSMAML Attribute

Required?

true

required

Variable Length?

true

variableLength

Credential

Specifies the user account credentials to use to perform this task. The default credentials are the credentials of the currently logged on user unless the cmdlet is run from an Active Directory PowerShell provider drive. If the cmdlet is run from such a provider drive, the account associated with the drive is the default.
To specify this parameter, you can type a user name, such as "User1" or "Domain01\User01" or you can specify a PSCredential object. If you specify a user name for this parameter, the cmdlet prompts for a password.
You can also create a PSCredential object by using a script or by using the Get-Credential cmdlet. You can then set the Credential parameter to the PSCredential object The following example shows how to create credentials.
$AdminCredentials = Get-Credential "Domain01\User01"
The following shows how to set the Credential parameter to these credentials.
-Credential $AdminCredentials
If the acting credentials do not have directory-level permission to perform the task, Active Directory PowerShell returns a terminating error.

Default Value:

Data Type: PSCredential

Attributes

Name

Value

PSMAML Attribute

Required?

false

required

Variable Length?

false

variableLength

Accept wildcard characters?

false

globbing

Accept Pipeline Input?

false

pipelineInput

Position?

named

position

Value Attributes

Name

Value

PSMAML Attribute

Required?

true

required

Variable Length?

false

variableLength

Description

Specifies a description of the object. This parameter sets the value of the Description property for the object. The LDAP Display Name (ldapDisplayName) for this property is "description".
The following example shows how to set this parameter to a sample description.
-Description "Description of the object"

Default Value:

Data Type: string

Attributes

Name

Value

PSMAML Attribute

Required?

false

required

Variable Length?

false

variableLength

Accept wildcard characters?

false

globbing

Accept Pipeline Input?

false

pipelineInput

Position?

named

position

Value Attributes

Name

Value

PSMAML Attribute

Required?

true

required

Variable Length?

false

variableLength

DisplayName

Specifies the display name of the object. This parameter sets the DisplayName property of the object. The LDAP Display Name (ldapDisplayName) for this property is "displayName".
The following example shows how to set this parameter.
-DisplayName "Sara Davis Laptop"

Default Value:

Data Type: string

Attributes

Name

Value

PSMAML Attribute

Required?

false

required

Variable Length?

false

variableLength

Accept wildcard characters?

false

globbing

Accept Pipeline Input?

false

pipelineInput

Position?

named

position

Value Attributes

Name

Value

PSMAML Attribute

Required?

true

required

Variable Length?

false

variableLength

Enabled

Specifies if an account is enabled. An enabled account requires a password. This parameter sets the Enabled property for an account object. This parameter also sets the ADS_UF_ACCOUNTDISABLE flag of the Active Directory User Account Control (UAC) attribute. Possible values for this parameter include:
$false or 0
$true or 1
The following example shows how to set this parameter to enable the account.
-Enabled $true

Default Value:

Data Type: System.Nullable[bool]

Attributes

Name

Value

PSMAML Attribute

Required?

false

required

Variable Length?

false

variableLength

Accept wildcard characters?

false

globbing

Accept Pipeline Input?

false

pipelineInput

Position?

named

position

Value Attributes

Name

Value

PSMAML Attribute

Required?

true

required

Variable Length?

false

variableLength

HomePage

Specifies the URL of the home page of the object. This parameter sets the homePage property of an Active Directory object. The LDAP Display Name (ldapDisplayName) for this property is "wWWHomePage".
The following example shows how to set this parameter to a URL.
-HomePage "http://employees.contoso.com/sdavis"

Default Value:

Data Type: string

Attributes

Name

Value

PSMAML Attribute

Required?

false

required

Variable Length?

false

variableLength

Accept wildcard characters?

false

globbing

Accept Pipeline Input?

false

pipelineInput

Position?

named

position

Value Attributes

Name

Value

PSMAML Attribute

Required?

true

required

Variable Length?

false

variableLength

Identity

Specifies an Active Directory account object by providing one of the following property values. The identifier in parentheses is the LDAP display name for the attribute.
Distinguished Name
Example: CN=WebAccount,CN=ManagedServiceAccounts,DC=corp,DC=contoso,DC=com
GUID (objectGUID)
Example: 599c3d2e-f72d-4d20-8a88-030d99495f20
Security Identifier (objectSid)
Example: S-1-5-21-3165297888-301567370-576410423-1103
SAM Account Name (sAMAccountName)
Example: WebAccount$
The cmdlet searches the default naming context or partition to find the object. If two or more objects are found, the cmdlet returns a non-terminating error.
This parameter can also get this object through the pipeline or you can set this parameter to an object instance.
This example shows how to set the parameter to a distinguished name.
-Identity "CN=WebAccount,CN=ManagedServiceAccounts,DC=corp,DC=contoso,DC=com"
This example shows how to set this parameter to an account object instance named "AccountInstance".
-Identity $AccountInstance

Default Value:

Data Type: ADServiceAccount

Attributes

Name

Value

PSMAML Attribute

Required?

true

required

Variable Length?

false

variableLength

Accept wildcard characters?

false

globbing

Accept Pipeline Input?

true (ByValue)

pipelineInput

Position?

1

position

Value Attributes

Name

Value

PSMAML Attribute

Required?

true

required

Variable Length?

false

variableLength

Instance

Specifies a modified copy of a service account object to use to update the actual Active Directory service account object. When this parameter is used, any modifications made to the modified copy of the object are also made to the corresponding Active Directory object. The cmdlet only updates the object properties that have changed.
The Instance parameter can only update service account objects that have been retrieved by using the Get-ADServiceAccount cmdlet. When you specify the Instance parameter, you cannot specify other parameters that set properties on the object.
The following is an example of how to use the Get-ADServiceAccount cmdlet to retrieve an instance of the ADServiceAccount object. The object is modified by using the Windows PowerShell command line. Then the Set-ADServiceAccount cmdlet saves the changes to the Active Directory object.
Step 1: Retrieve a local instance of the object.
$serviceAccountInstance = Get-ADServiceAccount -Identity ADServiceAdmin
Step 2: Modify one or more properties of the object instance.
$serviceAccountInstance.Description = "default"
Step3: Save your changes to ADServiceAdmin.
Set-ADServiceAccount -Instance $serviceAccountInstance

Default Value:

Data Type: ADServiceAccount

Attributes

Name

Value

PSMAML Attribute

Required?

true

required

Variable Length?

false

variableLength

Accept wildcard characters?

false

globbing

Accept Pipeline Input?

false

pipelineInput

Position?

named

position

Value Attributes

Name

Value

PSMAML Attribute

Required?

true

required

Variable Length?

false

variableLength

Partition

Specifies the distinguished name of an Active Directory partition. The distinguished name must be one of the naming contexts on the current directory server. The cmdlet searches this partition to find the object defined by the Identity parameter.
The following two examples show how to specify a value for this parameter.
-Partition "CN=Configuration,DC=EUROPE,DC=TEST,DC=CONTOSO,DC=COM"
-Partition "CN=Schema,CN=Configuration,DC=EUROPE,DC=TEST,DC=CONTOSO,DC=COM"
In many cases, a default value will be used for the Partition parameter if no value is specified. The rules for determining the default value are given below. Note that rules listed first are evaluated first and once a default value can be determined, no further rules will be evaluated.
In AD DS environments, a default value for Partition will be set in the following cases: – If the Identity parameter is set to a distinguished name, the default value of Partition is automatically generated from this distinguished name.
- If running cmdlets from an Active Directory provider drive, the default value of Partition is automatically generated from the current path in the drive.
- If none of the previous cases apply, the default value of Partition will be set to the default partition or naming context of the target domain.
In AD LDS environments, a default value for Partition will be set in the following cases:
- If the Identity parameter is set to a distinguished name, the default value of Partition is automatically generated from this distinguished name.
- If running cmdlets from an Active Directory provider drive, the default value of Partition is automatically generated from the current path in the drive.
- If the target AD LDS instance has a default naming context, the default value of Partition will be set to the default naming context. To specify a default naming context for an AD LDS environment, set the msDS-defaultNamingContext property of the Active Directory directory service agent (DSA) object (nTDSDSA) for the AD LDS instance.
- If none of the previous cases apply, the Partition parameter will not take any default value.

Default Value:

Data Type: string

Attributes

Name

Value

PSMAML Attribute

Required?

false

required

Variable Length?

false

variableLength

Accept wildcard characters?

false

globbing

Accept Pipeline Input?

false

pipelineInput

Position?

named

position

Value Attributes

Name

Value

PSMAML Attribute

Required?

true

required

Variable Length?

false

variableLength

PassThru

Returns the new or modified object. By default (i.e. if -PassThru is not specified), this cmdlet does not generate any output.

Default Value:

Data Type: switch

Attributes

Name

Value

PSMAML Attribute

Required?

false

required

Variable Length?

false

variableLength

Accept wildcard characters?

false

globbing

Accept Pipeline Input?

false

pipelineInput

Position?

named

position

Value Attributes

Name

Value

PSMAML Attribute

Required?

true

required

Variable Length?

false

variableLength

Remove

Specifies that the cmdlet remove values of an object property. Use this parameter to remove one or more values of a property that cannot be modified using a cmdlet parameter. To remove an object property, you must use the LDAP display name. You can remove more than one property by specifying a semicolon-separated list. The format for this parameter is
-Remove @{Attribute1LDAPDisplayName=value[]; Attribute2LDAPDisplayName=value[]}
For example, if you want to add the values blue and green and remove the value pink from a property with a LDAP display name of FavColors, set the Add and Remove parameters as follows.
-Add @{FavColors=Blue,Green} -Remove {FavColors=Pink}
When you use the Add, Remove, Replace and Clear parameters together, the parameters will be applied in the following sequence:
..Remove
..Add
..Replace
..Clear

Default Value:

Data Type: hashtable

Attributes

Name

Value

PSMAML Attribute

Required?

false

required

Variable Length?

false

variableLength

Accept wildcard characters?

false

globbing

Accept Pipeline Input?

false

pipelineInput

Position?

named

position

Value Attributes

Name

Value

PSMAML Attribute

Required?

true

required

Variable Length?

false

variableLength

Replace

Specifies values for an object property that will replace the current values. Use this parameter to replace one or more values of a property that cannot be modified using a cmdlet parameter. To modify an object property, you must use the LDAP display name. You can modify more than one property by specifying a comma-separated list. The format for this parameter is
-Replace @{Attribute1LDAPDisplayName=value[], Attribute2LDAPDisplayName=value[]}
For example, if you want to replace the value "555-222-2222" with the values "555-222-1111" for Phone-Office-Other attribute (LDAP display name ‘otherTelephone’) set the Replace parameter as follows.
-Replace @{otherTelephone=’555-222-2222′, ’555-222-1111′}
When you use the Add, Remove, Replace and Clear parameters together, the operations will be performed in the following order:
..Remove
..Add
..Replace
..Clear

Default Value:

Data Type: hashtable

Attributes

Name

Value

PSMAML Attribute

Required?

false

required

Variable Length?

false

variableLength

Accept wildcard characters?

false

globbing

Accept Pipeline Input?

false

pipelineInput

Position?

named

position

Value Attributes

Name

Value

PSMAML Attribute

Required?

true

required

Variable Length?

false

variableLength

SamAccountName

Specifies the Security Account Manager (SAM) account name of the user, group, computer, or service account. The maximum length of the description is 256 characters. To be compatible with older operating systems, create a SAM account name that is 20 characters or less. This parameter sets the SAMAccountName for an account object. The LDAP display name (ldapDisplayName) for this property is "sAMAccountName".
The following example shows how to specify this parameter.
-SAMAccountName "saradavis"
Note: If the string value provided is not terminated with a ‘$’ character, the system adds one if needed.

Default Value:

Data Type: string

Attributes

Name

Value

PSMAML Attribute

Required?

false

required

Variable Length?

false

variableLength

Accept wildcard characters?

false

globbing

Accept Pipeline Input?

false

pipelineInput

Position?

named

position

Value Attributes

Name

Value

PSMAML Attribute

Required?

true

required

Variable Length?

false

variableLength

Server

Specifies the Active Directory Domain Services instance to connect to, by providing one of the following values for a corresponding domain name or directory server. The service may be any of the following: Active Directory Lightweight Domain Services, Active Directory Domain Services or Active Directory Snapshot instance.
Domain name values:
Fully qualified domain name
Examples: corp.contoso.com
NetBIOS name
Example: CORP
Directory server values:
Fully qualified directory server name
Example: corp-DC12.corp.contoso.com
NetBIOS name
Example: corp-DC12
Fully qualified directory server name and port
Example: corp-DC12.corp.contoso.com:3268
The default value for the Server parameter is determined by one of the following methods in the order that they are listed:
-By using Server value from objects passed through the pipeline.
-By using the server information associated with the Active Directory PowerShell provider drive, when running under that drive.
-By using the domain of the computer running Powershell.
The following example shows how to specify a full qualified domain name as the parameter value.
-Server "corp.contoso.com"

Default Value:

Data Type: string

Attributes

Name

Value

PSMAML Attribute

Required?

false

required

Variable Length?

false

variableLength

Accept wildcard characters?

false

globbing

Accept Pipeline Input?

false

pipelineInput

Position?

named

position

Value Attributes

Name

Value

PSMAML Attribute

Required?

true

required

Variable Length?

false

variableLength

ServicePrincipalNames

Specifies the service principal names for the account. This parameter sets the ServicePrincipalNames property of the account. The LDAP display name (ldapDisplayName) for this property is servicePrincipalName. This parameter uses the following syntax to add remove, replace or clear service principal name values.
Syntax:
To add values:
-ServicePrincipalNames @{Add=value1,value2,…}
To remove values:
-ServicePrincipalNames @{Remove=value3,value4,…}
To replace values:
-ServicePrincipalNames @{Replace=value1,value2,…}
To clear all values:
-ServicePrincipalNames $null
You can specify more than one change by using a list separated by semicolons. For example, use the following syntax to add and remove service principal names.
@{Add=value1,value2,…};@{Remove=value3,value4,…}
The operators will be applied in the following sequence:
..Remove
..Add
..Replace
The following example shows how to add and remove service principal names.
-ServicePrincipalNames-@{Add="SQLservice\accounting.corp.contoso.com:1456"};{Remove="SQLservice\finance.corp.contoso.com:1456"}

Default Value:

Data Type: hashtable

Attributes

Name

Value

PSMAML Attribute

Required?

false

required

Variable Length?

false

variableLength

Accept wildcard characters?

false

globbing

Accept Pipeline Input?

false

pipelineInput

Position?

named

position

Value Attributes

Name

Value

PSMAML Attribute

Required?

true

required

Variable Length?

false

variableLength

TrustedForDelegation

Specifies whether an account is trusted for Kerberos delegation. A service that runs under an account that is trusted for Kerberos delegation can assume the identity of a client requesting the service. This parameter sets the TrustedForDelegation property of an account object. This value also sets the ADS_UF_TRUSTED_FOR_DELEGATION flag of the Active Directory User Account Control attribute. Possible values for this parameter are:
$false or 0
$true or 1
The following example shows how to specify that an account is trusted for Kerberos delegation.
-TrustedForDelegation $true

Default Value:

Data Type: System.Nullable[bool]

Attributes

Name

Value

PSMAML Attribute

Required?

false

required

Variable Length?

false

variableLength

Accept wildcard characters?

false

globbing

Accept Pipeline Input?

false

pipelineInput

Position?

named

position

Value Attributes

Name

Value

PSMAML Attribute

Required?

true

required

Variable Length?

false

variableLength

Confirm

Prompts you for confirmation before executing the command.

Default Value:

Data Type: SwitchParameter

Attributes

Name

Value

PSMAML Attribute

Required?

false

required

Variable Length?

true

variableLength

Accept wildcard characters?

false

globbing

Accept Pipeline Input?

false

pipelineInput

Position?

named

position

Value Attributes

Name

Value

PSMAML Attribute

Required?

false

required

Variable Length?

false

variableLength

WhatIf

Describes what would happen if you executed the command without actually executing the command.

Default Value:

Data Type: SwitchParameter

Attributes

Name

Value

PSMAML Attribute

Required?

false

required

Variable Length?

true

variableLength

Accept wildcard characters?

false

globbing

Accept Pipeline Input?

false

pipelineInput

Position?

named

position

Value Attributes

Name

Value

PSMAML Attribute

Required?

false

required

Variable Length?

false

variableLength

Input Type

None or Microsoft.ActiveDirectory.Management.ADServiceAccount

A service account object is received by the Identity parameter.
A service account object that was retrieved by using the Get-ADServiceAccount cmdlet and then modified is received by the Instance parameter.

Return Type

None or Microsoft.ActiveDirectory.Management.ADServiceAccount

Returns the modified service account object when the PassThru parameter is specified. By default, this cmdlet does not generate any output.

Notes

·
This cmdlet does not work with AD LDS.
This cmdlet does not work with an Active Directory Snapshot.
This cmdlet does not work with a read-only domain controller.

Examples

————————– EXAMPLE 1 ————————–

Command Prompt: C:\PS>

Copy

Set-ADServiceAccount service1 -Description "Secretive Data Server"

Set the description of Service Account ‘service1′ to "Secretive Data Server"

————————– EXAMPLE 2 ————————–

Command Prompt: C:\PS>

Copy

Set-ADServiceAccount Mongol01ADAM -ServicePrincipalNames @{replace="ADAMwdb/a.contoso.com", "ADAMbdb/a.contoso.com"}

Replace the value of property ServicePrincipalNames with "ADAMwdb/a.contoso.com", "ADAMbdb/a.contoso.com"

See Also

Reference

Get-ADServiceAccount
New-ADServiceAccount
Remove-ADServiceAccount
Install-ADServiceAccount
Uninstall-ADServiceAccount

Other Resources

Online version:

 

Source: Set-ADServiceAccount

Managing Service Account Password Changes

December 25, 2011 Leave a comment
Managing Service Account Password Changes

When accounts are assigned to a service, the Service Control Manager (SCM) requires the correct password for that account before it can make that assignment. If an incorrect password is supplied the assignment will be rejected by the SCM. Configuring services to use the Local System, Local Service, or Network Service accounts negates the need to manage account passwords because the operating system manages them instead.

For other service accounts, the SCM stores account passwords in the services database. After passwords are assigned, the SCM does not verify the passwords stored in that database and the password assigned to a user account in Active Directory will continue to match. This can cause problems when situations such as the following occur:

  1. A service is configured to use a specific user account.

  2. The service starts by using that account with the current password.

  3. The password for that user account is changed while the service continues to run.

  4. The service continues to run until it is stopped. After it is stopped, the service cannot restart because the SCM is still trying to use the old password. Password changes in Active Directory do not synchronize with passwords stored in the services database.

Any service that uses a standard domain or local user account must be updated with new authentication information every time that user account password is changed. This can take a significant amount of time and effort if services and the accounts they use are not properly documented.

Of course, the existence of a document that stored account information for all services used on all servers presents its own unique security risk—so steps should be taken to secure such a document. Larger organizations can record this information in an encrypted file, which is taken offline and stored in a secure location. Smaller organizations may simply record such information on paper in a binder that is locked in a safe or other secured location.

Some applications may also use service account passwords, such as Exchange Server or SQL Server™, so care should be taken to change relevant passwords at the application interface in such situations.

For information about how to write tools to automate the process of changing service account passwords, see the article "Changing the Password on a Service’s User Account" at http://msdn.microsoft.com/library/default.asp?url=/library/en-us/ad/ad/changing_the_password_on_a_serviceampaposs_user_account.asp.

Enforcing the Use of Strong Passwords

As mentioned in the corresponding section for administrator accounts, the use of strong password policies should be strictly enforced on all administrator equivalent accounts as well as all service accounts. To enforce such rules, Group Policy can be used to enforce password expiration dates, minimum length restrictions, and other strong password rules.

For more information about strong password policies, see the "Account Passwords and Policies" white paper at http://www.microsoft.com/technet/prodtechnol/windowsserver2003/technologies/security/bpactlck.mspx

For more information about how to enforce the use of strong passwords, see the Windows Server 2003 Security Guide at http://go.microsoft.com/fwlink/?linkid=14845.

Weak passwords represent one of the most common vulnerabilities on a network, and when used with administrator equivalent accounts they are one of the easiest ways an attacker can gain access to network resources. The use of automated testing tools to detect administrator equivalent accounts that use weak passwords should be a regularly scheduled task for those responsible for the security or administration of a network.

To accomplish this task, the Microsoft Baseline Security Analyzer (MBSA) tool can scan every computer on the network in search of weak passwords. The MBSA can enumerate all user accounts and check for the following password-related vulnerabilities:

  • Blank passwords.

  • Passwords that match user account names.

  • Passwords that match computer names.

  • Passwords that use the word “password,” “admin,” or “administrator.”

When used, the MBSA will attempt to use each of the listed vulnerabilities to change an account’s password. When a weak password is discovered the password will not be changed, but the MBSA will report that password as being a security risk. The MBSA will also report any disabled accounts or accounts that are locked out.

Although the MBSA does detect the most common poor password practices, it does not provide full-featured password auditing capabilities. For these needs there are some third-party offline scanning tools and applications available on the market.

For more information about the MBSA or to download this tool, see the Microsoft Baseline Security Analyzer Web page at www.microsoft.com/technet/security/tools/mbsahome.mspx.

Note The MBSA will reset any account lockout policies detected on a computer to prevent locking any accounts during the scanning process. Also, the MBSA will not perform password scans on computers designated as domain controllers.

 

Source: Securing Critical and Service Accounts

Categories: Active Directory

Description of the DNSLint utility

December 25, 2011 Leave a comment

DNSLint is a Microsoft Windows utility that helps you to diagnose common DNS name resolution issues.
The following file is available for download from the Microsoft Download Center:

Collapse this imageExpand this image

Download

Download the Dnslint.exe package now. (http://download.microsoft.com/download/2/7/2/27252452-e530-4455-846a-dd68fc020e16/dnslint.v204.exe)

For additional information about how to download Microsoft Support files, click the following article number to view the article in the Microsoft Knowledge Base:

119591 (http://support.microsoft.com/kb/119591/ ) How to Obtain Microsoft Support Files from Online Services

Microsoft scanned this file for viruses. Microsoft used the most current virus-detection software that was available on the date that the file was posted. The file is stored on security-enhanced servers that help to prevent any unauthorized changes to the file.

Back to the top

MORE INFORMATION

DNSLint has three functions that verify Domain Name System (DNS) records and gen…

DNSLint has three functions that verify Domain Name System (DNS) records and generate an HTML report. The three functions are:

  • dnslint /d: This diagnoses potential causes of "lame delegation" and other related DNS problems.
  • dnslint /ql: This verifies a user-defined set of DNS records on multiple DNS servers.
  • dnslint /ad: This verifies DNS records specifically used for Active Directory replication.

DNSLint is a command-line utility. The syntax is:

dnslint /d domain_name | /ad [LDAP_IP_address] | /ql input_file
[/c [smtp,pop,imap]] [/no_open] [/r report_name]
[/t] [/test_tcp] [/s DNS_IP_address] [/v] [/y]

You must specify either /d, /ad, or /ql when you run DNSLint. Other switches are optional.
You use the /d switch to request domain name tests. This switch is useful when you troubleshoot lame delegation issues.

  • You must specify a domain name to test.
  • You cannot use the /d switch with the /ad switch.

You use the /ad switch to request Active Directory tests.

  • The /ad switch resolves DNS records that are used for AD forest replication.
  • By default, the local system’s LDAP service is used.
  • You can specify a remote LDAP server IP address (optional).
  • Only valid IP addresses are accepted. Names are not accepted.
    Typically, this is an Active Directory domain controller.
  • You must use the /ad switch with the /s option, where /s specifies the IP address of a DNS server that is authoritative for the _msdcs zone in the AD forest root.
  • You cannot use the /ad switch with /d or /c.

You use the /ql switch to request DNS query tests from a list.

  • The /ql switch sends the DNS queries specified in a text input file
  • You must specify the path and name of the input file.
  • the /ql switch supports A, PTR, CNAME, SRV and MX record queries.
  • You create a sample input file by running the following:

    dnslint /ql autocreate

  • You cannot use the /ql switch with /d, /ad, or /c.

NOTES:

  • You cannot use /d, /ad, and /ql together.
  • You cannot use /c together with /ad or /ql.
  • When you use /ad, you must also specify /s.

Back to the top

Optional switches

Use /c to request connectivity tests on e-mail servers.

  • The /c switch tests SMTP, POP, and IMAP ports on e-mail servers found.
  • By default, all three (the SMTP, POP, and IMAP ports) are tested. You can specify one or a combination. To do this, use a comma-separated list: /c pop,imap,smtp.

To prevent report from automatically opening, use /no_open. The /no_open switch is useful in scripts.
Use the /r switch to specify the name of the report file that is created.

  • The .htm file name extension is automatically added to report names.
  • The report is created in HTML format. The default name is Dnslint.htm
  • The default location is the current directory.

Use the /s switch to bypass an InterNIC whois lookup.

  • You can specify DNS server IP address instead of querying InterNIC for one.
  • The /s switch starts checking DNS records by using the supplied IP address.
  • Only valid IP addresses are accepted. Names are not accepted.
  • Use this option to check domain names that are not supported by InterNIC.
  • When you use /ad, you must use /s to specify a DNS server that is authoritative for the _msdcs subdomain in the root domain of the AD forest.
  • When you use /ad, you can run /s localhost to determine whether the local system can resolve records that are found in the AD tests.

Use /t to request output to a text file.

  • The text file shares the same name as the .htm report, but it has a .txt file name extension.
  • The text file created in the same directory as the .htm report file.

Use /test_tcp to request that TCP port 53 be tested.

  • By default, only UDP port 53 is tested.
  • The /test_tcp option checks whether TCP port 53 is responding to queries.
  • The /test_tcp option cannot be used with /ql.

Use /v to request verbose output to the screen.
Use /y to overwrite an existing report file without being prompted. The /y switch is useful in scripts.

Back to the top

Required parameters

To run DNSLint, you must use one of the three following parameters:

  1. Use /d for domain name tests
  2. Use /ad for Active Directory replication tests.
  3. Use /ql for tests specified in a query list.

Use the /d (domain name test) switch to test a particular DNS domain name. Use this switch to help diagnose "lame delegation" issues and other related DNS issues. The domain name that you test can be a name that is registered for use on the Internet or a name that is used in a private namespace. When you test domain names on a private network, or domain names registered on the Internet that are more than two levels deep, you must use the /s option must be used.
Use the /ad (Active Directory test) switch to test the DNS records responsible for Active Directory forest replication. After the /ad switch, specify the IP address of an LDAP server that is used for this test. Typically, this is an Active Directory domain controller. If DNSLint is running on a domain controller, no IP address is necessary because the default value for this switch is 127.0.0.1.
Use the /ql (query list test) switch to test the DNS records specified in a text input file. Specify the full path and name of the text input file immediately after the switch. Run dnslint /ql autocreate to generate a sample text input file called In-dnslint.txt. This file contains an explanation on the required format. You can use this file as a template to create other input files.

Back to the top

More optional switches

The /v (verbose) switch turns "verbose mode" on. With this switch on, DNSLint will output the steps it is taking to collect data to the screen. You can send this output to a file. For example, dnslint /v /d msn.com.
By default, the name of the report that DNSLint generates is Dnslint.htm. With the /r (report) switch, you can specify the name and location of the report file that DNSLint generates. You can give the report file the same name as the domain name or DNS server that was tested. The ".htm" file name extension is appended to the report name automatically because the report is in HTML format.
By default, DNSLint tries to automatically open the report file after it is generated, by using whatever program is associated with the report file’s .htm file. Typically, Microsoft Internet Explorer is associated with the .htm extension. There is no way to change the report format to something other than HTML by using DNSLint.
To define the location to which the report file is written, specify the full path and name of the report file. DNSLint supports both local drives and Universal Naming Convention (UNC) paths. For example, the command dnslint /d msn.com /r c:\reports\reskit creates a report called Reskit.htm in the C:\Reports folder. The command dnslint /d mydom.local /r \\server1\reports\mydom creates a report on the remote system called server1 in the Reports share. The report name is Mydom.htm.
If you specify the /t (text) switch, DNSLint generates a text report and an HTML report. The text report uses the same name as the .htm report except that its file name extension is .txt. The file is created in the same folder as the .htm file. For example, the command dnslint /d msn.com /r c:\reports\reskit /t creates two reports in the C:\Reports folder. One report is called Reskit.htm and the other is called Reskit.txt.
By default, when DNSLint detects that a report file with the same name as the one that it is going to generate already exists in the target folder, DNSLint prompts you to overwrite the file. With the /y option, DNSLint can overwrite an existing report file without prompting you for permission. Both the .htm file and the optional .txt file are overwritten when you use this option.
The command dnslint /y /d msn.com /r c:\reports\reskit /t creates two reports in the C:\Reports folder. One report is called Reskit.htm and the other is called Reskit.txt. Existing report files are overwritten without prompting you.
The /no_open switch prevents DNSLint from automatically opening the report after it is generated. This option is useful when you use DNSLint in scripts when you do not want to review the reports immediately or review the reports from the system that DNSLint was run from. For example, the command dnslint /y /d msn.com /no_open generates a report called Dnslint.htm that overwrites a pre-existing report with the same name, without prompting the user. DNSLint does not automatically open the report when it is completed.
Use the /test_tcp (test TCP port 53) option to request that TCP port 53 be tested when /d is used. Many DNS servers on the Internet today do not accept DNS queries on TCP port 53, to avoid possible attacks on that port. By default, only UDP port 53 is tested when DNSLint is run. Specifying the /test_tcp option will get DNSLint to send a single DNS query by TCP and report whether a response was received.
You can use the /test_tcp option with /d and /ad. However, you cannot use the /test_tcp option with /ql or the /ad /s localhost combination. With the /ql function, TCP port 53 can be tested directly from the input file. The /ad /s localhost function tests whether the locally configured DNS servers can resolve DNS records used for Active Directory Forest replication. You can test TCP port 53 connectivity by using /ad /s ip_addr instead, where ip_addr is the IP address of a DNS server that is authoritative for the _msdcs zone in the root of the Active Directory domain.
For example:

dnslint /d microsoft.com /v /test_tcp

The /c (connectivity test) switch requests that DNSLint test well-known e-mail ports on all of the e-mail servers it finds while inspecting DNS servers for the specified domain name. The Simple Mail Transfer Protocol (SMTP), Post Office Protocol (POP version 3), and Internet Message Access Protocol (IMAP version 4) are supported. By default, when the /c switch is specified, DNSLint tries to connect to all three ports on each e-mail server that it finds. That is, TCP port 25 for SMTP, TCP port 110 for POP, and TCP port 143 for IMAP.
DNSLint reports the state that each port is in: "Listening", "Not Listening", or "No Response." If DNSLint finds that a port is Listening, it also returns the response from the port if any is returned. For example, if an SMTP port is listening, it typically returns a response that is consistent with the SMTP protocol specification, such as the following:
220 mailsrv.reskit.com Microsoft ESMTP MAIL Service, Version: 5.0.2195.3705 ready at Mon, 13 May 2002 17:08:36 -0700
When a port is reported as "Not Listening", this indicates that the e-mail server being queried has responded with a TCP packet with the Reset flag set. This indicates that there is no service or program listening on the port.
"No Response" is reported when the target e-mail server does not respond to the connection attempt. Assuming that the target server is operational and running, this indicates that the port is being filtered on the target server or somewhere between the client that is running DNSLint and target server.
The command dnslint /y /v /c /d msn.com generates a report called Dnslint.htm that overwrites a pre-existing report with the same name, without prompting the user. Because the /c option is specified, an extra section is appended to the bottom of the standard DNSLint report:

Network Connectivity Tests
E-mail server: smtp-gw-4.msn.com
IP address: 207.46.181.13
SMTP response:
220 cpimssmtpa18.msn.com Microsoft ESMTP MAIL Service, Version:
5.0.2195.4905 ready at Tue, 14 May 2002 09:26:06 -0700
POP response: NO RESPONSE (possibly filtered)
IMAP response: NO RESPONSE (possibly filtered)

NOTES:
One or more POP servers did not respond.
One or more IMAP servers did not respond.
When a target e-mail server does not respond to a connection attempt on one of its e-mail ports, DNSLint retries the connection three times. This is standard behavior for a TCP client. Because DNSLint waits for three separate TCP connection attempts to time out before DNSLint indicates that there was "No Response", this process can slow down the completion of the report. To optimize DNSLint operation, you can specify which e-mail port or ports you want to check instead of checking all three all the time.
By default, when the /c option is specified, all three TCP ports (25, 110, 143) are checked. But you can specify which ports to check after the /c option. Specify a comma-delimited list immediately after the /c option. Specify valid ports only: smtp,pop,imap. Any combination of these three ports works. For example, the command dnslint /d reskit.com /c smtp specifies that only the SMTP port (TCP port 25) should be checked.
The command dnslint /d reskit.com /c pop,smtp specifies that only the SMTP port (TCP port 25) and POP port (TCP port 110) should be checked.
The command dnslint /d reskit.com /c imap,pop specifies that only the IMAP port (TCP port 143) and POP port (TCP port 110) should be checked.
You can use the /s (server) switch with the /d and /ad functions. The /s switch has several purposes, but it only takes one type of data, a valid IP address of a DNS server (with one exception).
When you specify /d, the /s option bypasses the InterNIC Whois lookup that DNSLint performs by default. As a result, DNSLint can run tests on private networks and on domain names that are deeper than the second-level domains on the Internet. DNSLint can also test domain names that are not supported by InterNIC. At the time this article was written, InterNIC supported Whois lookups for the following domains: .biz, .com, .coop, .edu, .info, .int, .museum, .net, and .org.
When you use /ad, the /s switch is used to specify the IP address of a DNS server that is authoritative for the subdomain where DNS records used for Active Directory forest replication are registered. Typically, this is the _msdcs subdomain under the root of the Active Directory forest. For example, if the root of the Active Directory forest is called myad.reskit.com, the DNS server that hosts this domain may also be authoritative for the _msdcs.myad.reskit.com zone, where the DNS records used in Active directory replication are registered. Alternatively, the _msdcs.myad.reskit.com zone may be delegated to a different DNS server. However the DNS infrastructure has been designed, the /s option is used to specify a DNS server that is authoritative for the _msdcs.myad.reskit.com zone.
The /s option must specify a valid IP address. The only exception to this rule is the following combination:

dnslint /ad /s localhost

"localhost" is not a valid IP address. When you specify this parameter with the /ad /s combination, DNSLint tests the local system’s (the system that is running DNSLint) ability to resolve the DNS records that are used for Active Directory forest replication. Recursive DNS queries are sent to the local system’s configured DNS server(s) to confirm that the local system can resolve the DNS records used for Active Directory forest replication. This can be useful when troubleshooting Active Directory replication problems on a particular domain controller.
Typically, not all of the local system’s configured DNS servers are queried during this process. Default DNS client resolver behavior is observed, so if the DNS server at the top of the local system’s DNS Server list does not respond, the next server in the list is used.
For additional information, click the following article number to view the article in the Microsoft Knowledge Base:

261968 (http://support.microsoft.com/kb/261968/ ) Explanation of the Server List Management feature in the domain name resolver client

Back to the top



APPLIES TO

 

  • Microsoft Windows 2000 Server
  • Microsoft Windows XP Home Edition
  • Microsoft Windows XP Professional
  • Microsoft Windows Server 2003, Datacenter Edition (32-bit x86)
  • Microsoft Windows Server 2003, Enterprise Edition (32-bit x86)
  • Microsoft Windows Server 2003, Standard Edition (32-bit x86)
  • Microsoft Windows Server 2003, 64-Bit Datacenter Edition
  • Microsoft Windows Server 2003, Enterprise x64 Edition
  • Microsoft Windows Small Business Server 2003 Premium Edition
  • Microsoft Windows Small Business Server 2003 Standard Edition

 

Source: Description of the DNSLint utility

Categories: Active Directory

Password Replication Policy Administration

December 25, 2011 Leave a comment

Applies To: Windows Server 2008

This section provides procedures for the following administrative tasks that are related to Password Replication Policy for an RODC:

· Configure the Password Replication Policy for an RODC

· View Current Credentials That Are Cached on an RODC

· Review Whose Accounts Have Been Authenticated to an RODC

· Prepopulate the password cache for an RODC

· Reset the Current Credentials That Are Cached on an RODC If It Is Stolen

Configure the Password Replication Policy for an RODC

Administrative credentials

To configure the Password Replication Policy for an RODC, you must be a member of the Domain Admins group.

To configure the Password Replication Policy for an RODC

1. Click Start, click Administrative Tools, and then click Active Directory Users and Computers.

2. Ensure that Active Directory Users and Computers points to the writable domain controller that is running Windows Server 2008, and then click Domain Controllers.

3. In the details pane, right-click the RODC computer account, and then click Properties.

4. Click the Password Replication Policy tab, as shown in the following figure.

clip_image001

5. The Password Replication Policy tab lists the accounts that, by default, are defined in the Allowed List and the Denied List on the RODC. To add other groups that should be included in either the Allowed List or the Denied List, click Add. To add other accounts that will not have credentials cached on the RODC, click Deny. To add other accounts that will have credentials cached on the RODC, click Allow.

Accounts that will not have credentials cached on the RODC can still use the RODC for domain logon. The credentials, however, will not be cached for subsequent logon using the RODC.

View current credentials that are cached on an RODC

By default, the only credentials that are cached on an RODC are for the computer account of the RODC itself and a krbtgt account.

Administrative credentials

Any domain user can view current credentials that are cached on an RODC.

To view current credentials that are cached on an RODC

1. Click Start, click Administrative Tools, and then click Active Directory Users and Computers.

2. Ensure that Active Directory Users and Computers points to the writable domain controller that is running Windows Server 2008, and then click Domain Controllers.

3. In the details pane, right-click the RODC computer account, and then click Properties.

4. Click the Password Replication Policy tab.

5. Click Advanced.

6. In the drop-down list, click Accounts whose passwords are stored on this Read-only Domain Controller, as shown in the following illustration.

clip_image002

Review whose accounts have attempted to authenticate to an RODC

Periodically, you should review whose accounts have tried to authenticate to an RODC. This information can help you plan updates that you intend to make to the existing Password Replication Policy. For example, look at which user and computer accounts have tried to authenticate to an RODC so that you can add those accounts to the Allowed List. After their credentials are cached on the RODC, the accounts can be authenticated by the RODC in the branch office when the wide area network (WAN) to the hub site is offline.

You can use the repadmin /prp move command to automatically move accounts that try to authenticate to an RODC to the Allowed List for that RODC. For more information, see Repadmin /prp (http://go.microsoft.com/fwlink/?LinkId=112118).

Administrative credentials

Any domain user can view which user and computer accounts have authenticated to an RODC.

To review the accounts that have been authenticated to an RODC

1. Click Start, click Administrative Tools, and then click Active Directory Users and Computers.

2. Ensure that Active Directory Users and Computers points to the writable domain controller that is running Windows Server 2008, and then click Domain Controllers.

3. In the details pane, right-click the RODC computer account, and then click Properties.

4. Click the Password Replication Policy tab.

5. Click Advanced.

6. In the drop-down list, click Accounts that have been authenticated to this Read-only Domain Controller, as shown in the following illustration.

clip_image003

Prepopulate the password cache for an RODC

You can prepopulate the password cache for an RODC with the passwords of user and computer accounts that you plan to authenticate to it. When you prepopulate the RODC password cache, you trigger the RODC to replicate and cache the passwords for users and computers before the accounts try to log on in the branch office.

Prepopulating the password cache helps ensure that a user can log on to the network in the branch office, even if the WAN link to the data center is offline. For example, suppose that a user who normally works in the data center travels to a branch office and attempts to log on there with a laptop. The RODC contacts the writable domain controller in the data center. If the Password Replication Policy allows it, the RODC caches the password. However, if the WAN link is offline when the user attempts to log on, then the logon attempt fails because the RODC has not yet replicated the password for the account.

To avoid this problem, you can prepopulate the password cache of the RODC in the branch office with the password of the user and the laptop. This eliminates the need for the RODC to replicate the password from the Windows Server 2008 domain controller over the WAN link.

In addition, prepopulating the password cache is a good idea if you build an RODC in a central location, such as in a data center, before you transport the RODC to the branch office. By prepopulating the password cache with the users and computers who will log on in the branch office, the RODC can authenticate those accounts without contacting the Windows Server 2008 domain controller over the WAN link.

You can prepopulate the cache only for accounts that the Password Replication Policy allows to be cached. If you try to prepopulate a password of an account that the Password Replication Policy does not allow to be cached, the operation fails.

You can prepopulate the password cache for an RODC by using Active Directory Users and Computers or by using the Repadmin command-line tool.

Administrative credentials

To prepopulate the password cache for an RODC, you must be a member of the Domain Admins group.

To prepopulate the password cache for an RODC by using Active Directory Users and Computers

1. Click Start, click Administrative Tools, and then click Active Directory Users and Computers.

2. Ensure that Active Directory Users and Computers points to the writable domain controller that is running Windows Server 2008, and then click Domain Controllers.

3. In the details pane, right-click the RODC computer account, and then click Properties.

4. Click the Password Replication Policy tab.

5. Click Advanced.

6. Click Prepopulate Passwords.

7. Type the name of the accounts whose passwords you want to prepopulate in the cache for the RODC, and then click OK.

8. When you are asked if you want to send the passwords for the accounts to the RODC, click Yes.

To prepopulate the password cache for an RODC by using the Repadmin command-line tool

1. Log on to a writable domain controller that is running Windows Server 2008.

2. Click Start, right-click Command Prompt, and then click Run as administrator.

3. If the User Account Control dialog box appears, confirm that the action it displays is what you want, and then click Continue.

4. Type the following command. and then press ENTER:

repadmin /rodcpwdrepl [DSA_List] <Hub DC> <User1 Distinguished Name> [<Computer1 Distinguished Name> <User2 Distinguished Name> …]

In the command, use the values from the following table.

Placeholder

Value

DSA_List

The name of the RODC whose password cache you want to prepopulate.

Hub DC

The name of the writable Windows Server 2008 domain controller that is the replication partner of the RODC.

User1, Computer1, ….

The names of the user and computers whose passwords you want to cache on the RODC. You must add the computer accounts of the users or they cannot log on.

For example, the following command prepopulates the password cache for RODC15 with the passwords for Mike Danseglio and his computer, MikeDanLaptop. The hub domain controller is named HUBDC12.

Repadmin /rodcpwdrepl RODC15 HUBDC12 CN=MikeDan,OU=DatacenterUsers,DC=contoso,DC=com CN= MikeDanLaptop,OU=DatacenterComputers,DC=contoso,DC=com

Reset the current credentials that are cached on an RODC if it is stolen

Administrative credentials

To reset the current credentials that are cached on an RODC, you must be a member of the Domain Admins group.

To reset the current credentials that are cached on an RODC if it is stolen

1. Click Start, click Administrative Tools, and then click Active Directory Users and Computers.

2. Ensure that Active Directory Users and Computers points to the writable domain controller that is running Windows Server 2008, and then click Domain Controllers.

3. In the details pane, right-click the RODC computer account, and then click Delete.

4. To confirm the deletion, click Yes.

5. In the Deleting Active Directory Domain Controller dialog box, select the Reset all passwords for user accounts that were cached on this read-only domain controller check box, as shown in the following figure. As an option, you can also select the Export the list of accounts that were cached on this read-only domain controller to this file check box to create a list of user accounts whose passwords must be reset after the RODC account is deleted. That list of accounts is not available after the RODC account is deleted.

clip_image004

Source: Password Replication Policy Administration

Categories: Active Directory
Follow

Get every new post delivered to your Inbox.

Join 96 other followers