Select any two versions of this STIG to compare the individual requirements
Select any old version/release of this STIG to view the previous requirements
Interview the SA to determine if equipment is located in an access controlled area. Note: Servers will be located in rooms, or locked cabinets, that are accessible only to authorized systems personnel. Authorized user access should be verified at two points (i.e. building access and server room). User workstations containing sensitive data should be in access controlled areas.
Relocate equipment to a controlled access area.
Interview the SA to determine if any shared accounts exist. Any shared account must be documented with the IAO. Documentation should include the reason for the account, who has access to this account, and how the risk of using a shared account (which provides no individual identification and accountability) is mitigated. Note: As an example, a shared account may be permitted for a help desk or a site security personnel machine, if that machine is stand-alone and has no access to the network.
Remove any shared accounts that do not meet the exception requirements listed.
From the menu bar click “Start” and then “Run”. Type “winver.exe” in the dialog box and click OK. If the "About Windows" box displays the following Service Pack(s), then this is a finding. Unsupported Service Packs: Windows 2003 – any prior to SP2
Update the system to a supported service pack. Application of new service packs should be thoroughly tested before deploying in a production environment.
V-19910 has been added as part of the McAfee and Symantec antivirus STIGs for signature files. If the system uses one of these programs, address them with that requirement and mark this one as N/A. If none of the following products are installed and supported at an appropriate maintenance level, this is a finding: Symantec Antivirus at the following level is not installed: Corporate Edition Version 9.0.6 or higher Corporate Edition Version 10.x or higher Endpoint Protection Version 11.0 or higher McAfee’s Antivirus Version 8.0 or higher is not installed. And The antivirus signature file is out of date. If the antivirus program signature file has not been dated within the past 7 days, this is a finding. Note: The version numbers and the date of the signature file can generally be checked by starting the antivirus program from the toolbar icon or from the Start menu. The information may appear in the antivirus window or be available in the Help > About window. The location varies from product to product. Note: E-mail versions of antivirus software are not acceptable as protection for Windows operating systems. However, both the e-mail antivirus software and the operating system antivirus software can coexist and run on the same system. Documentable Explanation: If another recognized antivirus product is installed and has a current signature file, this would still be a finding, but the severity code can be reduced to a Category III.
Configure the system with supported, DoD-approved antivirus software. Ensure the signature file is current.
Analyze the system using the Security Configuration and Analysis snap-in. Expand the Security Configuration and Analysis tree view. Navigate to Local Policies -> Security Options. If the value for “Shutdown: Allow system to be shutdown without having to log on” is not set to “Disabled”, then this is a finding. The policy referenced configures the following registry value: Registry Hive: HKEY_LOCAL_MACHINE Registry Path: \Software\Microsoft\Windows\CurrentVersion\Policies\System\ Value Name: ShutdownWithoutLogon Value Type: REG_DWORD Value: 0
Configure the policy value for Computer Configuration -> Windows Settings -> Security Settings -> Local Policies -> Security Options -> “Shutdown: Allow system to be shutdown without having to log on” to “Disabled”.
Interview the SA to determine if system recovery backup procedures are in place that comply with DoD requirements. Any of the following would be a finding: •The site does not maintain emergency system recovery data. •The emergency system recovery data is not protected from destruction and stored in a locked storage container. •The emergency system recovery data has not been updated following the last system modification.
Implement data backup procedures that comply with DoD requirements.
Verify the permissions for the Windows event logs. If the permissions for these files are not as restrictive as the permissions listed below, this is a finding. The event log files "AppEvent.Evt," "SecEvent.Evt," and "SysEvent.Evt" are found in the "%SystemRoot%\SYSTEM32\CONFIG" directory by default. They may have been moved to another folder. Administrators - Read & Execute "Auditors" group - Full Control SYSTEM - Full Control Note: See V-1137 for the Auditors group requirement.
Configure the access permissions on the event logs to the following: The event log files "AppEvent.Evt," "SecEvent.Evt," and "SysEvent.Evt" are found in the "%SystemRoot%\SYSTEM32\CONFIG" directory by default. They may have been moved to another folder. Administrators - Read & Execute "Auditors" group - Full Control SYSTEM - Full Control
If system-level auditing is not enabled, or if the system and data partitions are not installed on NTFS partitions, then mark this as a finding. Open Windows Explorer and use the file and folder properties function to verify that the audit settings on each partition/drive is configured to audit all "failures" for the "Everyone" group. If any partition/drive is not configured to at least the minimum requirement, then this is a finding.
Configure auditing on each partition/drive to audit all "Failures" for the "Everyone" group.
Open Windows Explorer and use the Properties function on each fixed local partition/drive to examine the File System specified on the General Tab. If the File System does not specify NTFS, then this is a finding. Documentable Explanation: Some hardware vendors create a small FAT partition to store troubleshooting and recovery data. No other files should be stored here. This requirement should be documented with the IAO.
Format all partitions/drives to use NTFS.
Verify system level auditing of object access is properly configured (see V-6850 “Audit object access”). If this is not configured to audit “Failure”, this requirement is a finding. Verify detailed registry auditing is configured. Run “Regedit”. Navigate to the HKEY_LOCAL_MACHINE\SOFTWARE and HKEY_LOCAL_MACHINE\SYSTEM keys. On the menu bar, select “Edit” then “Permissions”. Click on the “Advanced” button. Select the “Auditing” tab. Verify the following is configured: Type - Fail Name - Everyone Access - Full Control Apply to - This key and subkeys If the “Everyone” group, at a minimum is not being audited for all failures, this is a finding.
Configure the HKEY_LOCAL_MACHINE\SOFTWARE and HKEY_LOCAL_MACHINE\SYSTEM keys to audit the Everyone Group for all failures. Audit settings should be propagated to subkeys.
Analyze the system using the Security Configuration and Analysis snap-in. Expand the Security Configuration and Analysis tree view. Navigate to Local Policies -> Security Options. If the value for “Interactive Logon: Message text for users attempting to log on” is not set to the following, then this is a finding. You are accessing a U.S. Government (USG) Information System (IS) that is provided for USG-authorized use only. By using this IS (which includes any device attached to this IS), you consent to the following conditions: -The USG routinely intercepts and monitors communications on this IS for purposes including, but not limited to, penetration testing, COMSEC monitoring, network operations and defense, personnel misconduct (PM), law enforcement (LE), and counterintelligence (CI) investigations. -At any time, the USG may inspect and seize data stored on this IS. -Communications using, or data stored on, this IS are not private, are subject to routine monitoring, interception, and search, and may be disclosed or used for any USG-authorized purpose. -This IS includes security measures (e.g., authentication and access controls) to protect USG interests--not for your personal benefit or privacy. -Notwithstanding the above, using this IS does not constitute consent to PM, LE or CI investigative searching or monitoring of the content of privileged communications, or work product, related to personal representation or services by attorneys, psychotherapists, or clergy, and their assistants. Such communications and work product are private and confidential. See User Agreement for details. Any OS versions that do not support the full text version must state the following: “I've read & consent to terms in IS user agreem't.” Deviations are not permitted except as authorized by the Deputy Assistant Secretary of Defense for Information and Identity Assurance. The policy referenced configures the following registry value: Registry Hive: HKEY_LOCAL_MACHINE Registry Path: \Software\Microsoft\Windows\CurrentVersion\Policies\System\ Value Name: LegalNoticeText Value Type: REG_SZ Value: See message text above
Configure the policy value for Computer Configuration -> Windows Settings -> Security Settings -> Local Policies -> Security Options ->“Interactive Logon: Message text for users attempting to log on” as outlined in the check.
Analyze the system using the Security Configuration and Analysis snap-in. Expand the Security Configuration and Analysis tree view. Navigate to Local Policies -> Security Options. If the value for “Interactive Logon: Number of previous logons to cache (in case Domain Controller is unavailable)” is not set to “2” logons or less, this is a finding. The policy referenced configures the following registry value: Registry Hive: HKEY_LOCAL_MACHINE Registry Path: \Software\Microsoft\Windows NT\CurrentVersion\Winlogon\ Value Name: CachedLogonsCount Value Type: REG_SZ Value: 2
Configure the policy value for Computer Configuration -> Windows Settings -> Security Settings -> Local Policies -> Security Options -> “Interactive Logon: Number of previous logons to cache (in case Domain Controller is not available)” to “2” logons or less.
This check verifies that the site has a documented policy and provable procedures in place to identify, in a timely manner, that a system has stopped writing to the Event logs. The policy and procedures will include instructions for protecting and archiving log data. If a site does not have a documented policy and procedures , then all servers, and machines that a site deems critical, will be required to utilize the CrashOnAuditFail Registry setting to ensure that if an audit failure occurs, the system will halt (see Note below). Analyze the system using the Security Configuration and Analysis snap-in. Expand the Security Configuration and Analysis tree view. Navigate to Local Policies -> Security Options. If the value for “Audit: Shut down system immediately if unable to log security audits” is not set to “Enabled”, then this is a finding. The policy referenced configures the following registry value: Registry Hive: HKEY_LOCAL_MACHINE Registry Path: \System\CurrentControlSet\Control\Lsa Value Name: CrashOnAuditFail Value Type: REG_DWORD Value: 1 Documentable: Yes Documentable Explanation: The site has a documented policy and provable procedures in place to identify, in a timely manner, that a system has stopped writing to the Event logs which is accepted by the IAO. Note: If this is set to “Enabled” and system halts, the value for the following registry value must be changed back from “2” to “1” using the registry editor. HLKM\System\CurrentControlSet\Control\LSA\CrashOnAuditFail
Create site procedures for identifying, in a timely manner, that the system has stopped writing to the event log, and specifying actions to take to preserve Event log information and correct the problem. OR Configure Servers to halt processing if there is an audit failure, or an event log has filled up.
Analyze the system using the Security Configuration and Analysis snap-in. Expand the Security Configuration and Analysis tree view. Navigate to Local Policies -> Security Options. If the value for “Network access: Do not allow anonymous enumeration of SAM accounts” is not set to “Enabled”, then this is a finding. If the value for “Network access: Do not allow anonymous enumeration of SAM accounts and shares” is not set to “Enabled”, then this is a finding. The policies referenced configure the following registry values. Registry Hive: HKEY_LOCAL_MACHINE Registry Path: \System\CurrentControlSet\Control\Lsa\ Value Name: RestrictAnonymousSAM (Sam accounts) And Value Name: RestrictAnonymous (Sam accounts and shares) Value Type: REG_DWORD Value: 1 Note: In domains supporting Exchange 2003 servers and versions of Outlook earlier than Outlook 2003, the setting “Network access: Do not allow anonymous enumeration of SAM accounts and shares” should be set to “Disabled” on the Domain Controller Group Policy, to allow Outlook to anonymously query the global catalog service. Documentable Explanation: If the required settings cannot be used, in order to allow for proper operation in a mixed Windows environment, then this should be documented with the IAO. Exceptions to support the Exchange 2003 server and Outlook 2003 issue should also be documented with the IAO.
Configure the policy values for Computer Configuration -> Windows Settings -> Security Settings -> Local Policies -> Security Options -> “Network access: Do not allow anonymous enumeration of SAM accounts” and “Network access: Do not allow anonymous enumeration of SAM accounts and shares” to “Enabled".
Analyze the system using the Security Configuration and Analysis snap-in. Expand the Security Configuration and Analysis tree view. Navigate to Event Logs -> Settings for Event Logs. If the value for “Prevent local guests group from accessing application log” is not set to “Enabled”, then this is a finding. If the value for “Prevent local guests group from accessing security log” is not set to “Enabled”, then this is a finding. If the value for “Prevent local guests group from accessing system log” is not set to “Enabled”, then this is a finding.
Configure the system to prevent guest access to the Event logs.
Analyze the system using the Security Configuration and Analysis snap-in. Expand the Security Configuration and Analysis tree view. Navigate to Account Policies -> Account Lockout Policy. If the “Account lockout threshold” is "0" or more than three attempts, then this is a finding.
Configure the system to lock out an account after three invalid logon attempts.
Analyze the system using the Security Configuration and Analysis snap-in. Expand the Security Configuration and Analysis tree view. Navigate to Account Policies -> Account Lockout Policy. If the “Reset account lockout counter after” value is less than 60 minutes, then this is a finding.
Configure the system to have the lockout counter reset itself after a minimum of 60 minutes.
Analyze the system using the Security Configuration and Analysis snap-in. Expand the Security Configuration and Analysis tree view. Navigate to Account Policies -> Account Lockout Policy. If the “Account lockout duration” is not set to "0", requiring and administrator to unlock the account, then this is a finding.
Configure the system so that the bad logon lockout duration conforms to DoD requirements.
Analyze the system using the Security Configuration and Analysis snap-in. Expand the Security Configuration and Analysis tree view. Navigate to Local Policies -> User Rights Assignment. If any user accounts, or groups (to include administrators),are granted the right "Act as part of the operating system", then this is a finding. Documentable Explanation: Some applications require this right to function. Any exception needs to be documented with the IAO. Acceptable forms of documentation include vendor published documents and application owner confirmation.
Configure the system to prevent unauthorized users to "Act as part of the operating system".
Analyze the system using the Security Configuration and Analysis snap-in. Expand the Security Configuration and Analysis tree view. Navigate to Local Policies -> User Rights Assignment. Compare the User Rights to the following list. If any groups or accounts are given rights that are not authorized below, this is a finding. Access this computer from the network - Administrators, Authenticated Users, Enterprise Domain Controllers Act as part of the operating system - See separate vulnerability V-1102 Add workstations to domain - Administrators Adjust memory quotas for a process - Administrators, Local Service, Network Service Allow log on locally - Administrators, Backup Operators Allow log on through Terminal Services - (None) Backup files and directories - Administrators, Backup Operators Bypass traverse checking - Authenticated Users Change the system time - Administrators, Local Service Create a pagefile - Administrators Create a token object - (None) Create global objects - Administrators, Service Create permanent shared objects - (None) Debug programs - See separate vulnerability V-18010 Deny access to this computer from the network - See separate vulnerability V-1155 Deny log on as a batch job - See separate vulnerability V-26483 Deny log on as a service - See separate vulnerability V-26484 Deny log on locally - See separate vulnerability V-26485 Deny log on through Terminal Services - See separate vulnerability V-26486 Enable computer and user accounts to be trusted for delegation - Administrators Force shutdown from a remote system - Administrators Generate security audits - Local Service, Network Service Impersonate a client after authentication - Administrators, Service Increase scheduling priority - Administrators Load and unload device drivers - Administrators Lock pages in memory - (None) Log on as a batch job - (None) Log on as a service - Network Service Manage auditing and security log - "Auditor’s" Group (Exchange Enterprise Servers Group on Domain Controllers and Exchange Servers) Modify firmware environment values - Administrators Perform volume maintenance tasks - Administrators Profile single process - Administrators Profile system performance - Administrators Remove computer from docking station - Administrators Replace a process level token - Local Service, Network Service Restore files and directories - Administrators, Backup Operators Shut down the system - Administrators Synchronize directory service data - See separate vulnerability V-12780 Take ownership of files or other objects - Administrators Documentable Explanation: Some applications require one or more of these rights to function. Any exception needs to be documented with the IAO. Acceptable forms of documentation include vendor published documents and application owner confirmation.
Configure User Rights as listed below to prevent groups or accounts from having unauthorized rights. Access this computer from the network - Administrators, Authenticated Users, Enterprise Domain Controllers Act as part of the operating system - See separate vulnerability V-1102 Add workstations to domain - Administrators Adjust memory quotas for a process - Administrators, Local Service, Network Service Allow log on locally - Administrators, Backup Operators Allow log on through Terminal Services - (None) Backup files and directories - Administrators, Backup Operators Bypass traverse checking - Authenticated Users Change the system time - Administrators, Local Service Create a pagefile - Administrators Create a token object - (None) Create global objects - Administrators, Service Create permanent shared objects - (None) Debug programs - See separate vulnerability V-18010 Deny access to this computer from the network - See separate vulnerability V-1155 Deny log on as a batch job - See separate vulnerability V-26483 Deny log on as a service - See separate vulnerability V-26484 Deny log on locally - See separate vulnerability V-26485 Deny log on through Terminal Services - See separate vulnerability V-26486 Enable computer and user accounts to be trusted for delegation - Administrators Force shutdown from a remote system - Administrators Generate security audits - Local Service, Network Service Impersonate a client after authentication - Administrators, Service Increase scheduling priority - Administrators Load and unload device drivers - Administrators Lock pages in memory - (None) Log on as a batch job - (None) Log on as a service - Network Service Manage auditing and security log - "Auditor’s" Group (Exchange Enterprise Servers Group on Domain Controllers and Exchange Servers) Modify firmware environment values - Administrators Perform volume maintenance tasks - Administrators Profile single process - Administrators Profile system performance - Administrators Remove computer from docking station - Administrators Replace a process level token - Local Service, Network Service Restore files and directories - Administrators, Backup Operators Shut down the system - Administrators Synchronize directory service data - See separate vulnerability V-12780 Take ownership of files or other objects - Administrators Document any exceptions with the IAO.
Analyze the system using the Security Configuration and Analysis snap-in. Expand the Security Configuration and Analysis tree view. Navigate to Account Policies -> Password Policy. If the value for the “Maximum password age” is greater than 60 days, then this is a finding. If the value is set to 0 (never expires), then this is a finding.
Configure the Maximum Password Age so that it is not "0" and doesn't exceed 60 days.
Analyze the system using the Security Configuration and Analysis snap-in. Expand the Security Configuration and Analysis tree view. Navigate to Account Policies -> Password Policy. If the value for the “Minimum password age” is less than one day, then this is a finding.
Configure the Minimum Password Age so that it is a minimum of "1".
Analyze the system using the Security Configuration and Analysis snap-in. Expand the Security Configuration and Analysis tree view. Navigate to Account Policies -> Password Policy. If the value for “Enforce password history” is less than 24 passwords, then this is a finding.
Configure the system to remember a minimum of "24" used passwords.
Using the DUMPSEC utility: Select “Dump Users as Table” from the “Report” menu. Select the available fields in the following sequence, and click on the “Add” button for each entry: UserName SID PswdRequired PswdExpires PswdLastSetTime LastLogonTime AcctDisabled Groups If any enabled accounts have not been logged into within the past 35 days, then this is a finding. This can be ascertained by examining the time in the “LastLogonTime” column. The following accounts are exempt from this check: The built-in administrator account The built-in guest account Application accounts The “IUSR”-guest account (used with IIS or Peer Web Services) Accounts that are less than 35 days old Disabled accounts Note: The reviewer should review the list with the SA to determine the finding validity for each account reported. Note: The following command can be used on Windows 2003/2008 Active Directory if DumpSec cannot be run: Open a Command Prompt Enter “Dsquery user -limit 0 -inactive 5 -o rdn” (This command will only work if the domain is at least at a Windows Server 2003 functional level, not Windows 2000 Native). A list of user accounts that have been inactive for 5 weeks will be displayed. Disabled Accounts can be determined by using the following: Enter “Dsquery user -limit 0 -disabled -o rdn”. Documentable Explanation: Dormant accounts that have been reviewed and deemed to be required should be documented with the IAO.
Regularly review accounts to determine if they are still active. Accounts that have not been used in the last 35 days should either be removed or disabled.
Analyze the system using the Security Configuration and Analysis snap-in. Expand the Security Configuration and Analysis tree view. Navigate to Local Policies -> Security Options. If the value for “Accounts: Guest account status” is not set to ” Disabled”, then this is a finding.
Configure the system to disable the built-in guest Account.
Analyze the system using the Security Configuration and Analysis snap-in. Expand the Security Configuration and Analysis tree view. Navigate to Local Policies -> Security Options. If the value for “Accounts: Rename guest account” is not set to a value other than “Guest”, then this is a finding.
Configure the system to rename the built-in guest account
Analyze the system using the Security Configuration and Analysis snap-in. Expand the Security Configuration and Analysis tree view. Navigate to Local Policies -> Security Options. If the value for “Accounts: Rename administrator account” is not set to a value other than “Administrator”, then this is a finding.
Configure the system to rename the built-in administrator account.
Analyze the system using the Security Configuration and Analysis snap-in. Expand the Security Configuration and Analysis tree view. Navigate to Event Log -> Settings for Event logs. If any of the following conditions are true, then this is a finding: For all Server Event logs: if the value for “Retention method for application, security and system logs is not set to “Do not overwrite events (clear log manually)”, then this is a finding. Documentable Explanation: If the machine is configured to write an event log directly to an audit server, the “Retention method for log” for that log does not have to conform to the requirements above. If an alternative auditing methodology is being used to collect and safeguard audit data (e.g. Audit Server), then this check is “Not Applicable”. Document this with the IAO.
Configure the system to properly preserve Event Log information.
Analyze the system using the Security Configuration and Analysis snap-in. Expand the Security Configuration and Analysis tree view. Navigate to Event Log -> Settings for Event Logs. If the value for “Maximum application log size” is not set to a minimum of “16384 kilobytes”, then this is a finding. If the value for “Maximum security log size” is not set to a minimum of “81920 kilobytes”, then this is a finding. If the value for “Maximum system log size” is not set to a minimum of “16384 kilobytes”, then this is a finding. Documentable Explanation: If the machine is configured to write an event log directly to an audit server, the “Maximum log size” for that log does not have to conform to the requirements above. This should be documented with the IAO. Note: Microsoft recommends that the combined size of all the event logs (including DNS logs, Directory Services logs, and Replication logs on Servers or Domain Controllers) should not exceed 300 megabytes. Exceeding the recommended value can impact performance.
Configure the system to have the required minimum Event log sizes.
Open the Control Panel Double-click on the “System” applet. Click on the “Advanced” tab. Click the Startup and Recovery “Settings” button. If the drop-down listbox in System Startup shows any operating system other than the current Windows OS, this may be a finding. If all additional operating systems are STIG compliant, then this is not a finding.
Configure the system to prevent running non-compliant alternate operating systems.
In the “Command Prompt” window, enter the following command, and attempt to logon as the user “anonymous:” C:\>ftp 127.0.0.1 (Connected to ftru014538.ncr.disa.mil. 220 ftru014538 Microsoft FTP Service (Version 2.0).) User: anonymous (331 Anonymous access allowed, send identity (e-mail name) as password.) Password: password (230 Anonymous user logged in.) ftp> If the command response indicates that an anonymous FTP login was permitted, then this is a finding. Severity Override: If accounts with administrator privileges are used to access FTP, then this becomes a Category I finding.
Configure the system to prevent an installed FTP service from allowing prohibited logons.
In the “Command Prompt” window, enter the following command, log on using an authenticated FTP account, and attempt to access the root of the boot drive: X:\>ftp 127.0.0.1 (Connected to ftru065103.ncr.disa.mil. 220 ftru065103 Microsoft FTP Service (Version 2.0).) User: ftpuser (331 Password required for ftpuser.) Password: password (230 User ftpuser logged in.) ftp> dir / If the FTP session indicates access to operating system files like “PAGEFILE.SYS” or “NTLDR,” then this is a finding.
Configure the system to prevent an FTP Service from allowing access to the system drive.
If the any of the registry values don’t exist or are not configured as follows, then this is a finding: Registry Hive: HKEY_CURRENT_USER Subkey: \Software\Policies\Microsoft\Windows\Control Panel\Desktop\ Value Name: ScreenSaveActive Type: REG_SZ Value: 1 Value Name: ScreenSaverIsSecure Type: REG_SZ Value: 1 Value Name: ScreenSaveTimeOut Type: REG_SZ Value: 900 (or less) Documentable Explanation: Terminal servers and applications requiring continuous, real-time screen display (i.e., network management products) require the following and need to be documented with the IAO. -The logon session does not have administrator rights. -The display station (i.e., keyboard, monitor, etc.) is located in a controlled access area.
Configure The policy values for User Configuration -> Administrative Templates -> Control Panel -> Display as follows: “Screen Saver” will be set to “Enabled” (“Activate screen saver” on Windows 2000) “Password protect the screen saver” will be set to “Enabled” “Screen Saver timeout” will be set to “Enabled: 900 seconds” (or less)
If the following registry value doesn’t exist or is not configured as specified this is a finding: Registry Hive: HKEY_CURRENT_USER Subkey: \Software\Microsoft\Windows\CurrentVersion\Policies\Explorer Value Name: NoRecycleFiles Type: REG_DWORD Value: 1 If this is configured in the Recycle Bin Properties instead of through a policy verify the following: Registry Hive: HKEY_LOCAL_MACHINE Subkey: \Software\Microsoft\Windows\CurrentVersion\Explorer\BitBucket Value Name: NukeOnDelete Data Type: REG_DWORD Value Data: 1
Configure the policy value for User Configuration -> Administrative Templates -> Windows Components -> Windows Explorer “Do not move deleted files to the Recycle Bin” to “Enabled”. Or Select “Do not move files to the Recycle Bin. Remove files immediately when deleted.” in the Recycle Bin Properties.
Review the local Administrators group. Only the appropriate administrator groups or accounts responsible for administration of the system may be members of the group. Standard user accounts must not be members of the local administrator group. If prohibited accounts are members of the local administrators group, this is a finding. The built-in Administrator account or other required administrative accounts would not be a finding.
Configure the system to include only administrator groups or accounts that are responsible for the system in the local Administrators group. Remove any standard user accounts.
Verify security configuration tools or equivalent processes are being used to configure Windows systems to meet security requirements. If security configuration tools or equivalent processes are not used, this is a finding. Security configuration tools that are integrated into Windows, such as Group Policies and Security Templates, may be used to configure platforms for security compliance. If an alternate method is used to configure a system (e.g., manually using the DISA Windows Security STIGs, etc.) and the same configured result is achieved, this is acceptable.
Implement a process using security configuration tools or the equivalent to configure Windows systems to meet security requirements.
The default ACL settings are adequate when the Security Option “Network access: Let everyone permissions apply to anonymous users” is set to “Disabled” (V-3377) and Power User Group Membership is restricted. If the default ACLs are maintained, the referenced option is set to “Disabled” and Powers Users are restricted, this check should normally be marked “Not a Finding” Specific System files are an exception to this. The following will be configured with only Administrators and System having Full Permissions: \regedit.exe \System32\arp.exe \System32\at.exe \System32\attrib.exe \System32\cacls.exe \System32\debug.exe \System32\edlin.exe \System32\eventcreate.exe \System32\eventtriggers.exe \System32\ftp.exe \System32\nbtstat.exe \System32\net.exe \System32\net1.exe \System32\netsh.exe \System32\netstat.exe \System32\nslookup.exe \System32\ntbackup.exe \System32\rcp.exe \System32\reg.exe \System32\regedt32.exe \System32\regini.exe \System32\regsvr32.exe \System32\rexec.exe \System32\route.exe \System32\rsh.exe \System32\sc.exe \System32\secedit.exe \System32\subst.exe \System32\Systeminfo.exe \System32\telnet.exe \System32\tftp.exe \System32\tlntsvr.exe Documentable Explanation: If an ACL setting prevents a site’s applications from performing properly, the site can modify that specific setting. Settings should only be changed to the minimum necessary for the application to function. Each exception to the recommended settings should be documented and kept on file by the IAO.
Maintain the default file ACLs, configure the Security Option: “Network access: Let everyone permissions apply to anonymous users” to “Disabled” (V-3377) and restrict the Power Users group to include no members. Configure permissions on the following so that only Administrators and System have Full (no other permissions assigned to other accounts or groups). \regedit.exe \System32\arp.exe \System32\at.exe \System32\attrib.exe \System32\cacls.exe \System32\debug.exe \System32\edlin.exe \System32\eventcreate.exe \System32\eventtriggers.exe \System32\ftp.exe \System32\nbtstat.exe \System32\net.exe \System32\net1.exe \System32\netsh.exe \System32\netstat.exe \System32\nslookup.exe \System32\ntbackup.exe \System32\rcp.exe \System32\reg.exe \System32\regedt32.exe \System32\regini.exe \System32\regsvr32.exe \System32\rexec.exe \System32\route.exe \System32\rsh.exe \System32\sc.exe \System32\secedit.exe \System32\subst.exe \System32\Systeminfo.exe \System32\telnet.exe \System32\tftp.exe \System32\tlntsvr.exe
Verify that password complexity software is installed and enforced that requires a case-sensitive character mix of upper case letters, lower case letters, numbers, and special characters, including at least one of each. The enpasflt password filter is available as an option on the IASE website in the Windows Support Files area (PKI required - http://iase.disa.mil/stigs/os/windows/support_files.html). It should be tested for the particular environment. If it does not function properly or causes issues, the site will be responsible for obtaining other password complexity software to meet the requirements. The current available versions are: Name – Modified Date EnPasFltV2x86.dll – 3/21/2011 EnPasFltV2x64.dll – 3/21/2011 If another product, such as PPE, or a different version of enpasflt is used, the SA should demonstrate that it is configured to enforce the DoD requirements. For the enpasflt password filter to function properly, verify the following: -The appropriate version of the file will be located in %systemroot%\system32. -The Date Modified should be 3/21/2011. -The “Notification Packages” value under registry key “HKLM\System\CurrentControlSet\Control\LSA” must include the file name (e.g., “EnPasFltV2x86”). Severity Override: If no password filter is used, and the security option for “Password must meet complexity requirements” (V0001150/3.028) is set to “Enabled”, then this finding can be downgraded to a Category III, since a less strict complexity algorithm is used. Note: If a password filter is not used, the site is still responsible for requiring full compliance with DoD policy, even though the password complexity setting does not enforce the 4-character type rule.
Install password complexity software and configure it to enforce the required DoD standards of a case sensitive character mix of upper case letters, lower case letters, numbers, and special characters, including at least one of each. If the enpasflt password filter is used: - Copy the appropriate version to %systemroot%\system32. - Add the file name (e.g., “EnPasFltV2x86”) to the “Notification Packages” value under registry key “HKLM\System\CurrentControlSet\Control\LSA”. -Restart the system.
Run Windows Explorer. Select the Control Panel folder. (NT=Printers folder) Select the Printers folder. If there are no locally attached printers, then mark this as “Not Applicable.” Perform this check for each locally attached printer: Right click on a locally-attached printer. Select Sharing from the drop-down menu. Perform this check on each printer that has the “Shared” radio-button selected: Select the Security tab The following table lists the recommended printer share security settings (Allow Permission): Users - Print Administrators, System, Creator Owner - Print, Manage Printers, Manage Documents If there are no shared local printers, then mark this as “Not Applicable.” If the share permissions do not match the above table, then this is a finding.
Configure the permissions on locally shared printers to meet the minimum requirements.
Analyze the system using the Security Configuration and Analysis snap-in. Expand the Security Configuration and Analysis tree view. Navigate to Local Policies -> Security Options. If the value for "Microsoft Network Server: Disconnect Clients When Logon Hours Expire" is not set to "Enabled", this is a finding. The policy referenced configures the following registry value: Registry Hive: HKEY_LOCAL_MACHINE Registry Path: \System\CurrentControlSet\Services\LanManServer\Parameters\ Value Name: EnableForcedLogoff Value Type: REG_DWORD Value: 1
Configure the policy value for Computer Configuration -> Windows Settings -> Security Settings -> Local Policies -> Security Options -> "Microsoft Network Server: Disconnect Clients When Logon Hours Expire" to "Enabled".
Interview the SA to determine if an Auditors group for controlling the Windows Event Logs has been created. NOTE: The administrator(s) responsible for the installation and maintenance of the individual system(s) must be a member(s) of the Auditors group. This will permit the responsible administrator to enable and configure system auditing, and perform maintenance functions related to the logs. Administrators who are not responsible for maintenance on an individual system will not be included in the Auditors group.
Create an Auditors group for controlling the Windows Event Logs and assign the necessary rights and access controls.
Analyze the system using the Security Configuration and Analysis snap-in. Expand the Security Configuration and Analysis tree view. Navigate to Local Policies -> Security Options. If the value for “MSS: (DisableSavePassword) Prevent the dial-up password from being saved (recommended)” is not set to “Enabled”, then this is a finding. The policy referenced configures the following registry value: Registry Hive: HKEY_LOCAL_MACHINE Registry Path: \System\CurrentControlSet\Services\RasMan\Parameters\ Value Name: DisableSavePassword Value Type: REG_DWORD Value: 1
Configure the policy value for Computer Configuration -> Windows Settings -> Security Settings -> Local Policies -> Security Options -> “MSS: (DisableSavePassword) Prevent the dial-up password from being saved (recommended)” to “Enabled”.
Ask the System Administrator (SA) to show the necessary documentation that identifies the members of this privileged group. This check verifies each user with administrative privileges has been assigned a unique account, separate from the built-in “Administrator” account. This check also verifies the default “Administrator” account is not being used. Administrators should be properly trained before being permitted to perform administrator duties. The IAO will maintain a list of all users belonging to the Administrator’s group. If any of the following conditions are true, then this is a finding: •Each SA does not have a unique userid dedicated for administering the system. •Each SA does not have a separate account for normal user tasks. •The built-in administrator account is used to administer the system. •Administrators have not been properly trained. •The IAO does not maintain a list of users belonging to the Administrator’s group.
Create the necessary documentation that identifies the members of this privileged group. Ensure each member has a separate account for user duties and one for his privileged duties and the other requirements outlined in the manual check are met.
Analyze the system using the Security Configuration and Analysis snap-in. Expand the Security Configuration and Analysis tree view. Navigate to Local Policies -> Security Options. If the value for “Microsoft Network Client: Send unencrypted password to connect to third-party SMB servers” is not set to “Disabled”, then this is a finding. The policy referenced configures the following registry value: Registry Hive: HKEY_LOCAL_MACHINE Registry Path: \System\CurrentControlSet\Services\LanmanWorkstation\Parameters\ Value Name: EnablePlainTextPassword Value Type: REG_DWORD Value: 0
Configure the policy value for Computer Configuration -> Windows Settings -> Security Settings -> Local Policies -> Security Options -> “Microsoft Network Client: Send unencrypted password to connect to third-party SMB servers” to “Disabled”.
Analyze the system using the Security Configuration and Analysis snap-in. Expand the Security Configuration and Analysis tree view. Navigate to Local Policies -> Security Options. If the value for "MSS: (AutoAdminLogon) Enable Automatic Logon (not recommended)" is not set to "Disabled", this is a finding. The policy referenced configures the following registry value: Registry Hive: HKEY_LOCAL_MACHINE Registry Path: \Software\Microsoft\Windows NT\CurrentVersion\Winlogon\ Value Name: AutoAdminLogon Type: REG_SZ Value: 0 If DefaultPassword in the same registry path contains a value, this is also a finding.
Configure the policy value for Computer Configuration -> Windows Settings -> Security Settings -> Local Policies -> Security Options -> "MSS: (AutoAdminLogon) Enable Automatic Logon (not recommended)" to "Disabled". Ensure no passwords are stored in the "DefaultPassword" registry value noted below: Registry Hive: HKEY_LOCAL_MACHINE Registry Path: \Software\Microsoft\Windows NT\CurrentVersion\Winlogon\ Value Name: DefaultPassword
Analyze the system using the Security Configuration and Analysis snap-in. Expand the Security Configuration and Analysis tree view. Navigate to Account Policies -> Password Policy. If the value for “Password must meet complexity requirements” is not set to "Enabled", then this is a finding. Note: If the site is using a password filter that requires this setting be set to “Disabled” for the filter code to be used, then this would not be considered a finding. If this setting does not affect the use of an external password filter, it will be enabled for fall-back purposes.
Configure the policy value for Computer Configuration -> Windows Settings -> Security Settings -> Account Policies -> Password Policy -> “Password must meet complexity requirements” to "Enabled".
Analyze the system using the Security Configuration and Analysis snap-in. Expand the Security Configuration and Analysis tree view. Navigate to Local Policies -> Security Options. If the value for “Devices: Prevent users from installing printer drivers” is not set to “Enabled”, then this is a finding. The policy referenced configures the following registry value: Registry Hive: HKEY_LOCAL_MACHINE Registry Path: \System\CurrentControlSet\Control\Print\Providers\LanMan Print Services\Servers Value Name: AddPrinterDrivers Value Type: REG_DWORD Value: 1 Documentable Explanation: If site circumstances require that users be able to install print drivers for locally attached printers (e.g. - Users that telecommute and attach a home printer), this exception can be documented with the site IAO.
Configure the policy value for Computer Configuration -> Windows Settings -> Security Settings -> Local Policies -> Security Options -> “Devices: Prevent users from installing printer drivers” to “Enabled”.
Wiindows XP/2003/Vista/2008 - Using the Registry Editor, navigate to the following Key: MACHINE/System/CurrentControlSet/Control/SecurePipeServers/Winreg If the key does not exist, then this is a finding. If the permissions are not at least as restrictive as those below, then this is a finding. Administrators all Backup Operators read(QENR) Local Service read (Exchange Enterprise Servers group on Domain Controllers and Exchange server all Documentable Explanation: On DCs and Exchange Servers, if permissions are sub-delegated with the Exchange Management console, then additional accounts and groups may appear on the Winreg key. If this has been done then these should be documented with the site IAO and made available for any reviewer.
Configure the system to prevent anonymous users from gaining access to the Registry.
Analyze the system using the Security Configuration and Analysis snap-in. Expand the Security Configuration and Analysis tree view. Navigate to Local Policies -> Security Options. If the value for “Network security: LAN Manager authentication level” is not set to at least “Send NTLMv2 response only\refuse LM” (Level 4), then this is a finding. The policy referenced configures the following registry value: Registry Hive: HKEY_LOCAL_MACHINE Registry Path: \System\CurrentControlSet\Control\Lsa\ Value Name: LmCompatibilityLevel Value Type: REG_DWORD Value: 4 (5 is also acceptable) Documentable Explanation: In a mixed Windows environment, if this setting needs to be loosened due to compatibility issues, then the reasons need to be documented with the IAO.
Configure the policy value for Computer Configuration -> Windows Settings -> Security Settings -> Local Policies -> Security Options -> “Network security: LAN Manager authentication level” to at least “Send NTLMv2 response only\refuse LM”.
Analyze the system using the Security Configuration and Analysis snap-in. Expand the Security Configuration and Analysis tree view. Navigate to Local Policies -> Security Options. If the value for “Interactive Logon: Do not require CTRL+ALT+DEL” is not set to “Disabled”, then this is a finding. The policy referenced configures the following registry value: Registry Hive: HKEY_LOCAL_MACHINE Registry Path: \Software\Microsoft\Windows\CurrentVersion\Policies\System\ Value Name: DisableCAD Value Type: REG_DWORD Value: 0
Configure the policy value for Computer Configuration -> Windows Settings -> Security Settings -> Local Policies -> Security Options -> “Interactive Logon: Do not require CTRL ALT DEL” to “Disabled”.
Analyze the system using the Security Configuration and Analysis snap-in. Expand the Security Configuration and Analysis tree view. Navigate to Local Policies -> User Rights Assignment. If the following accounts or groups are not defined for the "Deny access to this computer from the network" right, this is a finding: Guests Group Anonymous Logon Support_388945a0
Configure the policy value for Computer Configuration -> Windows Settings -> Security Settings -> Local Policies -> User Rights Assignment -> "Deny access to this computer from the network" to include the following. Guests Group Anonymous Logon Support_388945a0
Servers - Analyze the system using the Security Configuration and Analysis snap-in. Expand the Security Configuration and Analysis tree view. Navigate to Local Policies -> Security Options. If the value for “Interactive logon: Smart card removal behavior” is not set to “Lock Workstation”, or “Force Logoff”, then this is a finding. The policy referenced configures the following registry value: Registry Hive: HKEY_LOCAL_MACHINE Registry Path: \Software\Microsoft\Windows NT\CurrentVersion\Winlogon\ Value Name: SCRemoveOption Value Type: REG_SZ Value: 1 (Lock Workstation) or 2 (Force Logoff) Documentable Explanation: If configuring this on servers causes issues such as terminating users’ remote sessions and the site has a policy in place that any other sessions on the servers such as administrative console logons are manually locked or logged off when unattended or not in use, this would be acceptable. This will be documented with the IAO.
Configure the policy value for Computer Configuration -> Windows Settings -> Security Settings -> Local Policies -> Security Options -> “Interactive logon: Smart card removal behavior” to “Lock Workstation” or “Force Logoff”.
Analyze the system using the Security Configuration and Analysis snap-in. Expand the Security Configuration and Analysis tree view. Navigate to Local Policies -> Security Options. If the value for “Recovery Console: Allow floppy copy and access to all drives and folders” is not set to “Disabled”, then this is a finding. The policy referenced configures the following registry value: Registry Hive: HKEY_LOCAL_MACHINE Registry Path: \Software\Microsoft\Windows NT\CurrentVersion\Setup\RecoveryConsole\ Value Name: SetCommand Value Type: REG_DWORD Value: 0
Configure the policy value for Computer Configuration -> Windows Settings -> Security Settings -> Local Policies -> Security Options -> “Recovery Console: Allow floppy copy and access to all drives and folders” to “Disabled”.
Analyze the system using the Security Configuration and Analysis snap-in. Expand the Security Configuration and Analysis tree view. Navigate to Local Policies -> Security Options. If the value for “Recovery Console: Allow automatic administrative logon” is not set to “Disabled”, then this is a finding. The policy referenced configures the following registry value: Registry Hive: HKEY_LOCAL_MACHINE Registry Path: \Software\Microsoft\Windows NT\CurrentVersion\Setup\RecoveryConsole\ Value Name: SecurityLevel Value Type: REG_DWORD Value: 0
Configure the policy value for Computer Configuration -> Windows Settings -> Security Settings -> Local Policies -> Security Options -> “Recovery Console: Allow automatic administrative logon” to “Disabled”.
Analyze the system using the Security Configuration and Analysis snap-in. Expand the Security Configuration and Analysis tree view. Navigate to Local Policies -> Security Options. If the value for “Devices: Unsigned driver installation behavior” is not set to “Warn but allow installation” or “Do not allow installation”, then this is a finding. The policy referenced configures the following registry value: Registry Hive: HKEY_LOCAL_MACHINE Registry Path: \Software\Microsoft\Driver Signing\ Value Name: Policy Value Type: REG_BINARY Value: 1 (Warn but allow installation), 2 (Do not allow installation) Documentable Explanation: If the site is using a Software Update Server (SUS) server to distribute software updates, and the computer is configured to point at that server, then this can be set to "Silently succeed" to allow unattended installation of distributed updates. To determine if an SUS server is used, see if the following registry key value exists and is pointing to an organizational or DOD SUS URL: HKLM\Software\Policies\Microsoft\Windows\WindowsUpdate\WUServer, Reg_SZ: http://…
Configure the policy value for Computer Configuration -> Windows Settings -> Security Settings -> Local Policies -> Security Options -> “Devices: Unsigned driver installation behavior” to “Warn but allow installation” or “Do not allow installation”.
Analyze the system using the Security Configuration and Analysis snap-in. Expand the Security Configuration and Analysis tree view. Navigate to Local Policies -> Security Options. If the value for “Microsoft Network Server: Digitally sign communications (if client agrees)” is not set to “Enabled”, then this is a finding. The policy referenced configures the following registry value: Registry Hive: HKEY_LOCAL_MACHINE Registry Path: \System\CurrentControlSet\Services\LanManServer\Parameters\ Value Name: EnableSecuritySignature Value Type: REG_DWORD Value: 1
Configure the policy value for Computer Configuration -> Windows Settings -> Security Settings -> Local Policies -> Security Options -> “Microsoft Network Server: Digitally sign communications (if Client agrees)” to “Enabled”.
Analyze the system using the Security Configuration and Analysis snap-in. Expand the Security Configuration and Analysis tree view. Navigate to Local Policies -> Security Options. If the value for “Domain Member: Digitally encrypt secure channel data (when possible)” is not set to “Enabled”, then this is a finding. The policy referenced configures the following registry value: Registry Hive: HKEY_LOCAL_MACHINE Registry Path: \System\CurrentControlSet\Services\Netlogon\Parameters\ Value Name: SealSecureChannel Value Type: REG_DWORD Value: 1 Note: If the value for “Domain Member: Digitally encrypt or sign secure channel data (always)” is set to “Enabled”, then this would not be a finding.
Configure the policy value for Computer Configuration -> Windows Settings -> Security Settings -> Local Policies -> Security Options -> “Domain Member: Digitally encrypt secure channel data (when possible)” to “Enabled”.
Analyze the system using the Security Configuration and Analysis snap-in. Expand the Security Configuration and Analysis tree view. Navigate to Local Policies -> Security Options. If the value for “Domain Member: Digitally sign secure channel data (when possible)” is not set to “Enabled”, then this is a finding. The policy referenced configures the following registry value: Registry Hive: HKEY_LOCAL_MACHINE Registry Path: \System\CurrentControlSet\Services\Netlogon\Parameters\ Value Name: SignSecureChannel Value Type: REG_DWORD Value: 1 Note: If the value for “Domain Member: Digitally encrypt or sign secure channel data (always)” is set to “Enabled”, then this would not be a finding.
Configure the policy value for Computer Configuration -> Windows Settings -> Security Settings -> Local Policies -> Security Options -> “Domain Member: Digitally sign secure channel data (when possible)” to “Enabled”.
Analyze the system using the Security Configuration and Analysis snap-in. Expand the Security Configuration and Analysis tree view. Navigate to Local Policies -> Security Options. If the value for “Domain Member: Disable Machine Account Password Changes” is not set to “Disabled”, then this is a finding. The policy referenced configures the following registry value: Registry Hive: HKEY_LOCAL_MACHINE Registry Path: \System\CurrentControlSet\Services\Netlogon\Parameters\ Value Name: DisablePasswordChange Value Type: REG_DWORD Value: 0
Configure the policy value for Computer Configuration -> Windows Settings -> Security Settings -> Local Policies -> Security Options -> “Domain Member: Disable Machine Account Password Changes” to “Disabled”.
Analyze the system using the Security Configuration and Analysis snap-in. Expand the Security Configuration and Analysis tree view. Navigate to Local Policies -> Security Options. If the value for “Microsoft Network Client: Digitally sign communications (if server agrees)” is not set to “Enabled”, then this is a finding. The policy referenced configures the following registry value: Registry Hive: HKEY_LOCAL_MACHINE Registry Path: \System\CurrentControlSet\Services\LanmanWorkstation\Parameters\ Value Name: EnableSecuritySignature Value Type: REG_DWORD Value: 1
Configure the policy value for Computer Configuration -> Windows Settings -> Security Settings -> Local Policies -> Security Options -> “Microsoft Network Client: Digitally sign communications (if server agrees)” to “Enabled”.
Review the Backup Operators group in Computer Management and/or Active Directory Users and Computers. If the group contains no accounts, this is not a finding. If the group does contain any accounts, this must be documented as specified below. Documentable Explanation: Any accounts that are members of the Backup Operators group must be documented with the IAO including application accounts. Each Backup Operator will have a separate user account for backing up the system and for performing normal user tasks.
Ensure that each member has separate accounts for user tasks and for backup operator functions. Create the necessary documentation that identifies the members of the Backup Operators group.
Analyze the system using the Security Configuration and Analysis snap-in. Expand the Security Configuration and Analysis tree view. Navigate to Local Policies -> Security Options. If the value for “Devices: Allowed to Format and Eject Removable Media” is not set to ” Administrators”, then this is a finding. The policy referenced configures the following registry value: Registry Hive: HKEY_LOCAL_MACHINE Registry Path: \Software\Microsoft\Windows NT\CurrentVersion\Winlogon Value Name: AllocateDASD Value Type: REG_SZ Value: 0
Configure the policy value for Computer Configuration -> Windows Settings -> Security Settings -> Local Policies -> Security Options -> “Devices: Allowed to Format and Eject Removable Media” to “Administrators”.
Analyze the system using the Security Configuration and Analysis snap-in. Expand the Security Configuration and Analysis tree view. Navigate to Local Policies -> Security Options. If the value for “Interactive Logon: Prompt user to change password before expiration” is not set to “14" days or more, then this is a finding. The policy referenced configures the following registry value: Registry Hive: HKEY_LOCAL_MACHINE Registry Path: \Software\Microsoft\Windows NT\CurrentVersion\Winlogon\ Value Name: PasswordExpiryWarning Value Type: REG_DWORD Value: 14
Configure the policy value for Computer Configuration -> Windows Settings -> Security Settings -> Local Policies -> Security Options -> “Interactive Logon: Prompt user to change password before expiration” to “14” days or more.
Analyze the system using the Security Configuration and Analysis snap-in. Expand the Security Configuration and Analysis tree view. Navigate to Local Policies -> Security Options. If the value for “System Objects: Strengthen default permissions of internal system objects (e.g. Symbolic links)” is not set to “Enabled”, then this is a finding. The policy referenced configures the following registry value: Registry Hive: HKEY_LOCAL_MACHINE Registry Path: \System\CurrentControlSet\Control\Session Manager\ Value Name: ProtectionMode Value Type: REG_DWORD Value: 1
Configure the policy value for Computer Configuration -> Windows Settings -> Security Settings -> Local Policies -> Security Options -> “System Objects: Strengthen default permissions of internal system objects (e.g. Symbolic links)” to “Enabled”.
Analyze the system using the Security Configuration and Analysis snap-in. Expand the Security Configuration and Analysis tree view. Navigate to Local Policies -> Security Options. If the value for “Microsoft Network Server: Amount of idle time required before suspending a session” is not set to ”15" minutes or less, then this is a finding. The policy referenced configures the following registry value: Registry Hive: HKEY_LOCAL_MACHINE Registry Path: \System\CurrentControlSet\Services\LanManServer\Parameters\ Value Name: AutoDisconnect Value Type: REG_DWORD Value: 15
Configure the policy value for Computer Configuration -> Windows Settings -> Security Settings -> Local Policies -> Security Options -> “Microsoft Network Server: Amount of idle time required before suspending a session” to ”15” minutes or less.
Verifying Group Policy Object Procedures - Site Policies: 1. Start the Active Directory Sites and Services console (“Start”, “Run…”, “dssite.msc”). 2. Select and expand the Sites item in the left pane. 3. For each AD site that is defined (building icon): a. Right-click the AD site and select the Properties item. b. On the site Properties window, select the Group Policy tab. c. For *each* Group Policy Object Link: d. Select the Group Policy Object Link item. e. Select the Properties button. f. On the site Group Policy Properties window, select the Security tab. g. Compare the ACL of each site Group Policy to the specifications for Group Policy Objects below. Group Policy Object Permissions: [Group Policy - e.g., Default Domain] :Administrators, SYSTEM :Full Control (F) :CREATOR OWNER :Full Control (F) :ENTERPRISE DOMAIN CONTROLLERS* :Read :Authenticated Users :Read, Apply Group Policy : [IAO-approved users \ user groups] : Read, Apply Group Policy 4. If the actual permissions for any AD site Group Policy object are not at least as restrictive as those above, then this is a finding. Supplemental Note: An AD instance may have no AD site Group Policies defined. 1. Groups containing authenticated users (such as the Authenticated Users group), other locally created user groups, and individual users may have the Read and Apply Group Policy permissions set to Allow or Deny. 2. The Anonymous Logon, Guests, or any group that contains those groups (in which users are not uniquely identified and authenticated) must not have any access permissions unless the group and justification is explicitly documented with the IAO. 3. Other access permissions that allow the objects to be updated are considered findings unless specifically documented by the IAO.
Configure the access control permissions for the directory service database objects using the required access permissions.
Windows 2003/XP/Vista - Use the "Security Configuration and Analysis" snap-in to analyze the system. Expand the “Security Configuration and Analysis” object in the tree window. Expand the “System Services” object and select each applicable disabled Service. (Disabled Services can be identified using the Control Panel’s Services applet. Right click the Service and select Properties Select ‘View Security’ If the ACLs for applicable disabled Services do not restrict permissions to Administrators, ‘full Control’, System ‘full control’, and Interactive ‘Read’, then this is a finding. Note: These are the Windows default settings.
Create a Custom Security Template using the Security Template MMC Snap-in to set the permissions as required for disabled services. Import the Custom Template into the Security Configuration and Analysis Snap-In and Select Configure Computer Now Or import the Custom Template in to a Group Policy for application. The administrator should have a thorough understanding of these tools before implementing settings with them.
Analyze the system using the Security Configuration and Analysis snap-in. Expand the Security Configuration and Analysis tree view. Navigate to Account Policies -> Password Policy. If the value for “Store password using reversible encryption” is not disabled, then this is a finding.
Configure the system to prevent passwords from being saved using reverse encryption.
1. Analyze the system using the Security Configuration and Analysis snap-in. 2. Expand the Security Configuration and Analysis tree view. 3. Navigate to Local Policies and select Security Options. 4. If the value for “Domain Controller: Allow server operators to schedule tasks” is not set to “Disabled”, then this is a finding.
Set the value for “Domain Controller: Allow server operators to schedule tasks” to “Disabled”. The policy referenced configures the following registry value: Registry Hive: HKEY_LOCAL_MACHINE Registry Path: \System\CurrentControlSet\Control\LSA\ Value Name: SubmitControl Value Type: REG_DWORD Value: 0
If the following registry values don’t exist or are not configured as specified this is a finding: Registry Hive: HKEY_LOCAL_MACHINE Subkey: \SOFTWARE\Microsoft\Windows\CurrentVersion\policies\Explorer\ Value Name: NoDriveTypeAutorun Type: REG_DWORD Value: 0x000000ff (255) Note: If the value for NoDriveTypeAutorun is entered manually, it should be entered as “ff” when Hexadecimal is selected or “255” with Decimal selected. Using the policy specified in the Fix section will enter it correctly. Value Name: HonorAutorunSetting Type: REG_DWORD Value: 1 If the following sample file is not at least at the version listed this is a finding (updated as part of Microsoft patches KB953252 (patch KB950582) or KB967715) Shell32.dll XP SP2 – 6.0.2900.3402 XP SP3 – 6.0.2900.5622 XP SP2 x64 – 6.0.3790.4315 2003 SP2 – 6.0.3790.4315
Configure the policy value for Computer Configuration -> Administrative Templates -> System -> “Turn off AutoPlay” to “Enabled:All Drives”. Note: This was previously configured in the checklist using the Security Option setting “MSS: (NoDriveTypeAutorun) Disable Autorun on all drives” set to “255, disable Autorun for all drives”. This updates the same registry value (NoDriveTypeAutorun) as the Administrative Template setting. In addition to the above, Microsoft has released patches to correct issues with this setting. The patches from either Microsoft’s KB953252 (patch KB950582) or KB967715 must be installed. This will add the HonorAutorunSetting registry value and update the file referenced in the Check section.
1. Analyze the system using the Security Configuration and Analysis tool. 2. Expand the Security Configuration and Analysis tree view. 3. Navigate to Account Policies -> Kerberos Policy. 4. If the “Enforce user logon restrictions” is not set to ‘Enabled’, then this is a finding.
Set the Kerberos policy option “Enforce user logon restrictions” to ‘Enabled’
Analyze the system using the Security Configuration and Analysis snap-in. Expand the Security Configuration and Analysis tree view. Navigate to Account Policies -> Kerberos Policy. If the value for “Maximum lifetime for service ticket” is 0 or greater than 600 minutes, this is a finding.
Configure the Kerberos policy option “Maximum lifetime for service ticket” to a maximum of 600 minutes, but not 0 which equates to “Ticket doesn’t expire”.
Analyze the system using the Security Configuration and Analysis snap-in. Expand the Security Configuration and Analysis tree view. Navigate to Account Policies -> Kerberos Policy. If the value for “Maximum lifetime for user ticket” is 0 or greater than 10 hours, this is a finding.
Set the Kerberos policy option "Maximum lifetime for user ticket" to a maximum of 10 hours, but not 0 which equates to “Ticket doesn’t expire”.
1. Analyze the system using the Security Configuration and Analysis. 2. Expand the Security Configuration and Analysis tree view. 3. Navigate to Account Policies -> Kerberos Policy. 4. If the “Maximum lifetime for user ticket renewal” is greater than ‘7’ days, then this is a finding.
Configure the Kerberos policy option "Maximum lifetime for user ticket renewal" to a maximum of 7 days or less.
1. Analyze the system using the Security Configuration and Analysis tool. 2. Expand the Security Configuration and Analysis tree view. 3. Navigate to Account Policies -> Kerberos Policy. 4. If the “Maximum tolerance for computer clock synchronization” is greater than ‘5’ minutes, then this is a finding.
Configure the Kerberos policy option Maximum tolerance for computer clock synchronization to a maximum of 5 minutes or less.
Interview the SA to determine if the site uses a tool to compare system files (*.exe, *.bat, *.com, *.cmd and *.dll) on servers against a baseline, on a weekly basis. Note: A properly configured HBSS Policy Auditor 5.2 or later, File Integrity Monitor (FIM) module will meet the requirement for file integrity checking. The Asset module within HBSS does not meet this requirement.
The site should use a tool to compare system files (*.exe, *.bat, *.com, *.cmd and *.dll) on servers against a baseline, on a weekly basis.
Interview the IAO to ensure that encryption of userid and password information is required, and data is encrypted according to DoD policy. If the user account used for unencrypted remote access within the enclave (premise router) has administrator privileges, then this is a finding. If userid and password information used for remote access to system services from outside the enclave is not encrypted, then this is a finding.
Encryption of userid and password information is required. Encryption of the user data inside the network firewall is also highly recommended. Encryption of user data coming from or going outside the network firewall is required. Encryption for administrator data is always required. Refer to the Enclave Security STIG section on “FTP and Telnet,” for detailed information on its use.
Run the Computer Management Applet. Expand the “System Tools” object in the Tree window. Expand the “Shared Folders” object. Select the “Shares” object. Right click any user-created shares (ignore “Netlogon”, “Sysvol” and administrative shares; the system will prompt you if Properties are selected for administrative shares). Select Properties. Select the Share Permissions tab. If user-created file shares have not been reconfigured to remove ACL permissions from the “Everyone group”, then this is a finding. Note: On Application Servers, if regular users have write or delete permissions to shares containing application binary files (i.e. .exe, .dll, .cmd, etc.) this is a finding. Documentable: If shares created by applications require the "Everyone" group, this should be documented with the IAO.
Remove permissions from the Everyone group from locally-created file shares and assign them to authorized groups.
Interview the SA to determine if there is a host-based Intrusion Detection System on each server. Severity Override: This finding can be downgraded to a Category III, if there is an active JIDS or Firewall protecting the network. Note: If the HIPS component of HBSS is installed and active on the host and the Alerts of blocked activity are being logged and monitored, this will meet the requirement of this finding. Note: A HID device is not required on a system that has the role as the Network Intrusion Device (NID). However, this exception needs to be documented with the site IAO.
Install a host-based Intrusion Detection System on each server
Analyze the system using the Security Configuration and Analysis snap-in. Expand the Security Configuration and Analysis tree view. Navigate to Local Policies -> Security Options. If the value for “Network access: Allow anonymous SID/Name translation” is not set to “Disabled”, then this is a finding. Documentable Explanation: The default setting for domain controllers is Enabled. Disabling it means that legacy systems may be unable to communicate with Windows Server 2003/2008 – based domains. This requirement should be documented with the IAO.
Configure the system to disable anonymous SID/Name translation.
Analyze the system using the Security Configuration and Analysis snap-in. Expand the Security Configuration and Analysis tree view. Navigate to Local Policies -> Security Options. If the value for “Network access: Named pipes that can be accessed anonymously” contains entries besides “COMNAP, COMNODE, SQL\QUERY, SPOOLSS, LLSRPC, BROWSER, NETLOGON, Lsarpc, samr”, then this is a finding. The policy referenced configures the following registry value: Registry Hive: HKEY_LOCAL_MACHINE Registry Path: \System\CurrentControlSet\Services\LanManServer\Parameters\ Value Name: NullSessionPipes Value Type: REG_MULTI_SZ Value: As defined in the policy above Note: Legitimate applications may add entries to this registry value (i.e. Windows Terminal Server Licensing will add TermServLicensing and HydraLsPipe). If an application requires these entries to function properly and is documented with the IAO this would not be a finding. Documentation should contain supporting information from the vendor's instructions.
Configure the policy value for Computer Configuration -> Windows Settings -> Security Settings -> Local Policies -> Security Options -> “Network access: Named pipes that can be accessed anonymously” as defined in the Check section.
Analyze the system using the Security Configuration and Analysis snap-in. Expand the Security Configuration and Analysis tree view. Navigate to Local Policies -> Security Options. If the value for “Network access: Remotely accessible registry paths” contains entries besides the following, then this is a finding: System\CurrentControlSet\Control\ProductOptions System\CurrentControlSet\Control\Server Applications Software\Microsoft\Windows NT\CurrentVersion The policy referenced configures the following registry value: Registry Hive: HKEY_LOCAL_MACHINE Registry Path: \System\CurrentControlSet\Control\SecurePipeServers\Winreg\AllowedExactPaths\ Value Name: Machine Value Type: REG_MULTI_SZ Value: As defined in policy above Note: Legitimate applications may add entries to this registry value. If an application requires these entries to function properly and is documented with the IAO, this would not be a finding. Documentation should contain supporting information from the vendor's instructions.
Configure the policy value for Computer Configuration -> Windows Settings -> Security Settings -> Local Policies -> Security Options -> “Network access: Remotely accessible registry paths” as defined in the Check section.
Analyze the system using the Security Configuration and Analysis snap-in. Expand the Security Configuration and Analysis tree view. Navigate to Local Policies -> Security Options. If the value for “Network access: Shares that can be accessed anonymously” includes any entries, then this is a finding. The policy referenced configures the following registry value: Registry Hive: HKEY_LOCAL_MACHINE Registry Path: \System\CurrentControlSet\Services\LanManServer\Parameters\ Value Name: NullSessionShares Value Type: REG_MULTI_SZ Value: (Blank)
Configure the policy value for Computer Configuration -> Windows Settings -> Security Settings -> Local Policies -> Security Options -> “Network access: Shares that can be accessed anonymously” to be defined but containing no entries (Blank).
If the following registry value does not exist or is not configured as specified, this is a finding: Registry Hive: HKEY_LOCAL_MACHINE Subkey: \Software\Policies\Microsoft\Windows NT\Terminal Services\ Value Name: Shadow Type: REG_DWORD Value: 0
Configure the system to prevent remote control of the computer by setting the policy value for Computer Configuration -> Administrative Templates -> Windows Components -> Terminal Services, “Sets rules for remote control of Terminal Services user settings” to “Enabled” and the “Options” will be set to “No remote control allowed”.
The policy value for Computer Configuration -> Administrative Templates -> System -> Logon “Always Wait for the Network at Computer Startup and Logon” will be set to “Enabled”. If the following registry value doesn’t exist or its value is not set to 1, then this is a finding: Registry Hive: HKEY_LOCAL_MACHINE Subkey: \Software\Policies\Microsoft\Windows NT\CurrentVersion\Winlogon\ Value Name: SyncForegroundPolicy Type: REG_DWORD Value: 1
Configure the system to wait for complete network initialization before allowing a user to log on. This is done by setting the policy value for Computer Configuration -> Administrative Templates -> System -> Logon “Always Wait for the Network at Computer Startup and Logon” to “Enabled”.
If the following registry value doesn’t exist or is not configured as specified, this is a finding: Registry Hive: HKEY_LOCAL_MACHINE Subkey: \Software\Policies\Microsoft\Windows NT\Terminal Services\ Value Name: fAllowToGetHelp Type: REG_DWORD Value: 0
Configure the system to disable Remote Assistance by setting the policy value for Computer Configuration -> Administrative Templates -> System -> Remote Assistance “Solicited Remote Assistance” to “Disabled”.
Analyze the system using the Security Configuration and Analysis snap-in. Expand the Security Configuration and Analysis tree view. Navigate to Local Policies -> Security Options. If the value for “Accounts: Limit local account use of blank passwords to console logon only” is not set to ” Enabled”, then this is a finding. The policy referenced configures the following registry value: Registry Hive: HKEY_LOCAL_MACHINE Registry Path: \System\CurrentControlSet\Control\Lsa Value Name: LimitBlankPasswordUse Value Type: REG_DWORD Value: 1
Configure the policy value for Computer Configuration -> Windows Settings -> Security Settings -> Local Policies -> Security Options -> “Accounts: Limit local account use of blank passwords to console logon only” to “Enabled”.
If the following registry value doesn’t exist or its value is not set to 1, then this is a finding: Registry Hive: HKEY_LOCAL_MACHINE Subkey: \Software\Policies\Microsoft\Messenger\Client\ Value Name: PreventRun Type: REG_DWORD Value: 1 Documentable Explanation: If the site has a requirement for Windows Messaging and meets the conditions of the Instant Messaging STIG this needs to be documented with the IAO.
Configure the policy value for Computer Configuration -> Administrative Templates -> Windows Components -> Windows Messenger “Do Not Allow Windows Messenger to be Run” to “Enabled”.
If the following registry value doesn’t exist or its value is not set to 1, then this is a finding: Registry Hive: HKEY_LOCAL_MACHINE Subkey: \Software\Policies\Microsoft\Messenger\Client\ Value Name: PreventAutoRun Type: REG_DWORD Value: 1 Documentable Explanation: If the site has a requirement for Windows Messaging and meets the conditions of the Instant Messaging STIG this needs to be documented with the IAO.
Configure the policy value for Computer Configuration -> Administrative Templates -> Windows Components -> Windows Messenger “Do Not Automatically Start Windows Messenger Initially” to “Enabled”.
Using the DUMPSEC utility: Select “Dump Users as Table” from the “Report” menu. Select the available fields in the following sequence, and click on the “Add” button for each entry: UserName SID PswdRequired PswdExpires LastLogonTime AcctDisabled Groups If the HelpAssistant or Support_388945a0 accounts have not been disabled, then this is a finding.
Configure the system to disable restricted accounts such as HelpAssistant or Support_388945a0.
Analyze the system using the Security Configuration and Analysis snap-in. Expand the Security Configuration and Analysis tree view. Navigate to Local Policies -> Security Options. If the value for “Devices: Allow Undock Without Having to Log On” is not set to ” Disabled”, then this is a finding. The policy referenced configures the following registry value: Registry Hive: HKEY_LOCAL_MACHINE Registry Path: \Software\Microsoft\Windows\CurrentVersion\Policies\System Value Name: UndockWithoutLogon Value Type: REG_DWORD Value: 0
Configure the policy value for Computer Configuration -> Windows Settings -> Security Settings -> Local Policies -> Security Options -> “Devices: Allow Undock Without Having to Log On” to “Disabled”.
Analyze the system using the Security Configuration and Analysis snap-in. Expand the Security Configuration and Analysis tree view. Navigate to Local Policies -> Security Options. If the value for “Domain Member: Maximum Machine Account Password Age” is 0 or greater than 30 (30 is the default), this is a finding. The policy referenced configures the following registry value: Registry Hive: HKEY_LOCAL_MACHINE Registry Path: \System\CurrentControlSet\Services\Netlogon\Parameters\ Value Name: MaximumPasswordAge Value Type: REG_DWORD Value: 30
Configure the policy value for Computer Configuration -> Windows Settings -> Security Settings -> Local Policies -> Security Options -> “Domain Member: Maximum Machine Account Password Age” to 30 or less, but not 0.
Analyze the system using the Security Configuration and Analysis snap-in. Expand the Security Configuration and Analysis tree view. Navigate to Local Policies -> Security Options. If the value for “Domain Member: Require Strong (Windows 2000 or Later) Session Key” is not set to “Enabled”, then this is a finding. The policy referenced configures the following registry value: Registry Hive: HKEY_LOCAL_MACHINE Registry Path: \System\CurrentControlSet\Services\Netlogon\Parameters\ Value Name: RequireStrongKey Value Type: REG_DWORD Value: 1 Warning: This setting may prevent a system from being joined to a domain if not configured consistently between systems.
Configure the policy value for Computer Configuration -> Windows Settings -> Security Settings -> Local Policies -> Security Options -> “Domain Member: Require Strong (Windows 2000 or Later) Session Key” to “Enabled”.
Analyze the system using the Security Configuration and Analysis snap-in. Expand the Security Configuration and Analysis tree view. Navigate to Local Policies -> Security Options. If the value for “Interactive logon: Require domain controller authentication to unlock workstation” is not set to “Enabled”, then this is a finding. The policy referenced configures the following registry value: Registry Hive: HKEY_LOCAL_MACHINE Registry Path: \Software\Microsoft\Windows NT\CurrentVersion\Winlogon\ Value Name: ForceUnlockLogon Value Type: REG_DWORD Value: 1
Configure the policy value for Computer Configuration -> Windows Settings -> Security Settings -> Local Policies -> Security Options -> “Interactive logon: Require domain controller authentication to unlock workstation” to “Enabled”.
Analyze the system using the Security Configuration and Analysis snap-in. Expand the Security Configuration and Analysis tree view. Navigate to Local Policies -> Security Options. If the value for “Network access: Do not allow storage of credentials or .NET passports for network authentication” is not set to “Enabled”, then this is a finding. The policy referenced configures the following registry value: Registry Hive: HKEY_LOCAL_MACHINE Registry Path: \System\CurrentControlSet\Control\Lsa\ Value Name: DisableDomainCreds Value Type: REG_DWORD Value: 1
Configure the policy value for Computer Configuration -> Windows Settings -> Security Settings -> Local Policies -> Security Options -> “Network access: Do not allow storage of credentials or .NET passports for network authentication” to “Enabled”.
Analyze the system using the Security Configuration and Analysis snap-in. Expand the Security Configuration and Analysis tree view. Navigate to Local Policies -> Security Options. If the value for “Network access: Let everyone permissions apply to anonymous users” is not set to “Disabled”, then this is a finding. The policy referenced configures the following registry value: Registry Hive: HKEY_LOCAL_MACHINE Registry Path: \System\CurrentControlSet\Control\Lsa\ Value Name: EveryoneIncludesAnonymous Value Type: REG_DWORD Value: 0
Configure the policy value for Computer Configuration -> Windows Settings -> Security Settings -> Local Policies -> Security Options -> “Network access: Let everyone permissions apply to anonymous users” to “Disabled”.
Analyze the system using the Security Configuration and Analysis snap-in. Expand the Security Configuration and Analysis tree view. Navigate to Local Policies -> Security Options. If the value for “Network access: Sharing and security model for local accounts” is not set to “Classic - local users authenticate as themselves”, then this is a finding. The policy referenced configures the following registry value: Registry Hive: HKEY_LOCAL_MACHINE Registry Path: \System\CurrentControlSet\Control\Lsa\ Value Name: ForceGuest Value Type: REG_DWORD Value: 0
Configure the policy value for Computer Configuration -> Windows Settings -> Security Settings -> Local Policies -> Security Options -> “Network access: Sharing and security model for local accounts” to “Classic - local users authenticate as themselves”.
Analyze the system using the Security Configuration and Analysis snap-in. Expand the Security Configuration and Analysis tree view. Navigate to Local Policies -> Security Options. If the value for “Network security: Do not store LAN Manager hash value on next password change” is not set to “Enabled”, then this is a finding. The policy referenced configures the following registry value: Registry Hive: HKEY_LOCAL_MACHINE Registry Path: \System\CurrentControlSet\Control\Lsa\ Value Name: NoLMHash Value Type: REG_DWORD Value: 1
Configure the policy value for Computer Configuration -> Windows Settings -> Security Settings -> Local Policies -> Security Options -> “Network security: Do not store LAN Manager hash value on next password change” to “Enabled”.
Analyze the system using the Security Configuration and Analysis snap-in. Expand the Security Configuration and Analysis tree view. Navigate to Local Policies -> Security Options. If the value for “Network security: Force logoff when logon hours expire” is not set to “Enabled”, then this is a finding.
Configure the system to log off users when their allowed logon hours expire.
Analyze the system using the Security Configuration and Analysis snap-in. Expand the Security Configuration and Analysis tree view. Navigate to Local Policies -> Security Options. If the value for “Network security: LDAP client signing requirements” is not set to at least “Negotiate signing”, then this is a finding. The policy referenced configures the following registry value: Registry Hive: HKEY_LOCAL_MACHINE Registry Path: \System\CurrentControlSet\Services\LDAP\ Value Name: LDAPClientIntegrity Value Type: REG_DWORD Value: 1
Configure the policy value for Computer Configuration -> Windows Settings -> Security Settings -> Local Policies -> Security Options -> “Network security: LDAP client signing requirements” to “Negotiate signing” at a minimum.
Analyze the system using the Security Configuration and Analysis snap-in. Expand the Security Configuration and Analysis tree view. Navigate to Local Policies -> Security Options. If the value for “Network security: Minimum session security for NTLM SSP based (including secure RPC) clients” is not set to “Require NTLMv2 session security”, ”Require 128-bit encryption”, ”Require Message Integrity”, and ”Require Message Confidentiality”, then this is a finding. The policy referenced configures the following registry value: Registry Hive: HKEY_LOCAL_MACHINE Registry Path: \System\CurrentControlSet\Control\Lsa\MSV1_0\ Value Name: NTLMMinClientSec Value Type: REG_DWORD Value: 537395248 Warnings: Microsoft warns that setting these may prevent the client from communicating with legacy servers that do not support them. “Require NTLMv2 session security” will prevent authentication, if the “Network security: LAN Manager Authentication level” is set to permit NTLM or LM authentication. Documentable Explanation: If these settings need to be modified in a mixed Windows environment, the changes should be documented with the IAO.
Configure the policy value for Computer Configuration -> Windows Settings -> Security Settings -> Local Policies -> Security Options -> “Network security: Minimum session security for NTLM SSP based (including secure RPC) clients” to “Require NTLMv2 session security”, ”Require 128-bit encryption”, ”Require Message Integrity”, and ”Require Message Confidentiality” (all options selected).
Analyze the system using the Security Configuration and Analysis snap-in. Expand the Security Configuration and Analysis tree view. Navigate to Local Policies -> Security Options. If the value for “System cryptography: Use FIPS compliant algorithms for encryption, hashing, and signing” is not set to “Enabled”, then this is a finding. The policy referenced configures the following registry value: Registry Hive: HKEY_LOCAL_MACHINE Registry Path: \System\CurrentControlSet\Control\Lsa\ Value Name: FIPSAlgorithmPolicy Value Type: REG_DWORD Value: 1 Warning: Clients with this setting enabled will not be able to communicate via digitally encrypted or signed protocols with servers that do not support these algorithms. Both the browser and web server must be configured to use TLS, or the browser will not be able to connect to a secure site.
Configure the policy value for Computer Configuration -> Windows Settings -> Security Settings -> Local Policies -> Security Options -> “System cryptography: Use FIPS compliant algorithms for encryption, hashing, and signing” to “Enabled”.
Analyze the system using the Security Configuration and Analysis snap-in. Expand the Security Configuration and Analysis tree view. Navigate to Local Policies -> Security Options. If the value for “System objects: Default owner for object created by members of the Administrators group” is not set to “Object creator”, then this is a finding. The policy referenced configures the following registry value: Registry Hive: HKEY_LOCAL_MACHINE Registry Path: \System\CurrentControlSet\Control\Lsa\ Value Name: NoDefaultAdminOwner Value Type: REG_DWORD Value: 1
Configure the policy value for Computer Configuration -> Windows Settings -> Security Settings -> Local Policies -> Security Options -> “System objects: Default owner for object created by members of the Administrators group” to “Object creator”.
Analyze the system using the Security Configuration and Analysis snap-in. Expand the Security Configuration and Analysis tree view. Navigate to Local Policies -> Security Options. If the value for “System Object: Require Case Insensitivity for Non-Windows Subsystems” is not set to “Enabled”, then this is a finding. The policy referenced configures the following registry value: Registry Hive: HKEY_LOCAL_MACHINE Registry Path: \System\CurrentControlSet\Control\Session Manager\Kernel\ Value Name: ObCaseInsensitive Value Type: REG_DWORD Value: 1
Configure the policy value for Computer Configuration -> Windows Settings -> Security Settings -> Local Policies -> Security Options -> “System Object: Require Case Insensitivity for Non-Windows Subsystems” to “Enabled”.
If the following registry value doesn’t exist or its value is not set to 1, then this is a finding: Registry Hive: HKEY_LOCAL_MACHINE Subkey: \Software\Policies\Microsoft\Conferencing\ Value Name: NoRDS Type: REG_DWORD Value: 1
Configure the policy value for Computer Configuration -> Administrative Templates -> Windows Components -> NetMeeting “Disable remote Desktop Sharing” to “Enabled".
If the following registry value doesn’t exist or is not configured as specified, this is a finding: Registry Hive: HKEY_LOCAL_MACHINE Subkey: \Software\Policies\Microsoft\Windows NT\Terminal Services\ Value Name: fSingleSessionPerUser Type: REG_DWORD Value: 1 Documentable Explanation: If the system has the role as a Terminal/Remote Desktop Server or the site is using remote desktop services for remote administration, this requirement needs to be documented with the IAO.
2003 - Configure the policy value for Computer Configuration -> Administrative Templates -> Windows Components -> Terminal Services “Restrict Terminal Server users to a Single Remote Session” to “Enabled”.
If the following registry value doesn’t exist or its value is not set to 1, then this is a finding: Registry Hive: HKEY_LOCAL_MACHINE Subkey: \Software\Policies\Microsoft\Windows NT\Terminal Services\ Value Name: MaxInstanceCount Type: REG_DWORD Value: 1 Documentable Explanation: If the system has the role as a Terminal Server, or the site is using terminal services for remote administration this requirement needs to be documented with the IAO.
Configure the policy value for Computer Configuration -> Administrative Templates -> Windows Components -> Terminal Services “Limit Number of Connections” to “Enabled”, and the value “TS maximum connections allowed” to no more than “1”.
If the following registry value does not exist or is not configured as specified, this is a finding: Registry Hive: HKEY_LOCAL_MACHINE Subkey: \Software\Policies\Microsoft\Windows NT\Terminal Services\ Value Name: MinEncryptionLevel Type: REG_DWORD Value: 3
Configure the policy value for Computer Configuration -> Administrative Templates -> Windows Components -> Terminal Services -> Encryption and Security “Set Client Connection Encryption Level” to “Enabled” and select “High Level” for the “Encryption Level”.
If the following registry value doesn’t exist or is not configured as specified, this is a finding: Registry Hive: HKEY_LOCAL_MACHINE Subkey: \Software\Policies\Microsoft\Windows NT\Terminal Services\ Value Name: PerSessionTempDir Type: REG_DWORD Value: 1
Configure the policy value for Computer Configuration -> Administrative Templates -> Windows Components -> Terminal Services -> Temporary Folders “Do Not Use Temp Folders per Session” to “Disabled”.
If the following registry value doesn’t exist or is not configured as specified, this is a finding: Registry Hive: HKEY_LOCAL_MACHINE Subkey: \Software\Policies\Microsoft\Windows NT\Terminal Services\ Value Name: DeleteTempDirsOnExit Type: REG_DWORD Value: 1
Configure the policy value for Computer Configuration -> Administrative Templates -> Windows Components -> Terminal Services -> Temporary Folders “Do Not Delete Temp Folder upon Exit” to “Disabled”.
If the following registry value does not exist or is not configured as specified, this is a finding: Registry Hive: HKEY_LOCAL_MACHINE Subkey: \Software\Policies\Microsoft\Windows NT\Terminal Services\ Value Name: MaxDisconnectionTime Type: REG_DWORD Value: 0x0000ea60 (60000)
Configure the policy value for Computer Configuration -> Administrative Templates -> Windows Components -> Terminal Services -> Sessions “Set Time Limit for Disconnected Sessions” to “Enabled”, and the “End a disconnected session” to “1 minute".
If the following registry value does not exist or its value is set to 0 or greater than 15 minutes, this is a finding: Registry Hive: HKEY_LOCAL_MACHINE Subkey: \Software\Policies\Microsoft\Windows NT\Terminal Services\ Value Name: MaxIdleTime Type: REG_DWORD Value: 0x000dbba0 (900000) or less but not 0
Configure the policy value for Computer Configuration -> Administrative Templates -> Windows Components -> Terminal Services -> Sessions “Set time limit for active but idle Terminal Services sessions” to “Enabled”, and the “Idle session limit” to 15 minutes or less, excluding 0 which equates to “Never”.
If the following registry value doesn’t exist or its value is not set to 1, then this is a finding: Registry Hive: HKEY_LOCAL_MACHINE Subkey: \Software\Policies\Microsoft\Windows NT\Terminal Services\ Value Name: fReconnectSame Type: REG_DWORD Value: 1
Configure the policy value for Computer Configuration -> Administrative Templates -> Windows Components -> Terminal Services -> Sessions “Allow Reconnection from Original Client Only” to “Enabled”.
If the following registry value doesn’t exist or its value is not set to 1, then this is a finding: Registry Hive: HKEY_LOCAL_MACHINE Subkey: \Software\Policies\Microsoft\Windows NT\Terminal Services\ Value Name: fResetBroken Type: REG_DWORD Value: 1
Configure the policy value for Computer Configuration -> Administrative Templates -> Windows Components -> Terminal Services -> Sessions “Terminate Session When Time Limits are Reached” to “Enabled”.
Review the registry. If the following registry value does not exist, this is not a finding (This is the expected result from configuring the policy as outlined in the Fix section). If the following registry value does exist but is not configured as specified, this is a finding. Registry Hive: HKEY_LOCAL_MACHINE Subkey: \Software\Microsoft\Windows\CurrentVersion\Policies\system\ Value Name: DisableBkGndGroupPolicy Type: REG_DWORD Value: 0
Configure the system to require Group Policy background refresh by setting the policy value for Computer Configuration -> Administrative Templates -> System -> Group Policy “Turn Off Background Refresh of Group Policy” to “Disabled”.
If the following registry value doesn’t exist or is not configured as specified this is a finding: Registry Hive: HKEY_LOCAL_MACHINE Subkey: \Software\Policies\Microsoft\Windows NT\Terminal Services\ Value Name: fAllowUnsolicited Type: REG_DWORD Value: 0
Configure the system to prevent unsolicited remote assistance offers by setting the policy value for Computer Configuration -> Administrative Templates -> System -> Remote Assistance “Offer Remote Assistance” to “Disabled”.
If the following registry value does not exist or is not configured as specified, this is a finding: Registry Hive: HKEY_LOCAL_MACHINE Registry Path: \SOFTWARE\Policies\Microsoft\PCHealth\ErrorReporting\ Value Name: DoReport Type: REG_DWORD Value: 1
Configure the policy value for Computer Configuration -> Administrative Templates -> System -> Internet Communication Management -> Internet Communication settings -> "Turn off Windows Error Reporting" to "Disabled".
Review the following registry values: Registry Hive: HKEY_LOCAL_MACHINE Subkey: \Software\Policies\Microsoft\W32time\Parameters\ Value Name: Type Type: REG_SZ Value: Possible values are NoSync, NTP, NT5DS, AllSync And Value Name: NTPServer Type: REG_SZ Value: "address of the time server" The following would be a finding: "Type" has a value of "NTP" or "Allsync" AND the "NTPServer" value is set to "time.windows.com" or other unauthorized server. The following would not be a finding: The referenced registry values do not exist. "Type" has a value of "NoSync" or "NT5DS". "Type" has a value of "NTP" or "Allsync" AND the "NTPServer" is blank or configured to an authorized time server. For DoD organizations, the US Naval Observatory operates stratum 1 time servers, identified at http://tycho.usno.navy.mil/ntp.html. Time synchronization will occur through a hierarchy of time servers down to the local level. Clients and lower level servers will synchronize with an authorized time server in the hierarchy. Domain joined systems are automatically configured to synchronize with domain controllers and would not be a finding unless this is changed. Automated tools may report this as finding even if enabled and configured correctly as the validity of the time server address needs to be verified.
If the system needs to be configured to an NTP server, configure the system to point to an authorized time server by setting the policy value for Computer Configuration -> Administrative Templates -> System -> Windows Time Service -> Time Providers “Configure Windows NTP Client” to “Enabled”, and configure the “NtpServer” field to point to an authorized time server.
The policy value for Computer Configuration -> Administrative Templates -> System -> Printers “Disallow Installation of Printers Using Kernel-mode Drivers” will be set to “Enabled”. If the following registry value doesn’t exist or its value is not set to 1, then this is a finding: Registry Hive: HKEY_LOCAL_MACHINE Subkey: \Software\Policies\Microsoft\Windows NT\Printers\ Value Name: KMPrintersAreBlocked Type: REG_DWORD Value: 1 Note: This setting will prevent some applications from installing PDF print drivers.
Configure the system to prevent it from allowing the installation of kernel-mode drivers by setting the policy value for Computer Configuration -> Administrative Templates -> Printers “Disallow Installation of Printers Using Kernel-mode Drivers” to “Enabled”.
Analyze the system using the Security Configuration and Analysis snap-in. Expand the Security Configuration and Analysis tree view. Navigate to Local Policies -> Security Options. If the value for “MSS: (SafeDllSearchMode) Enable Safe DLL search mode (recommended)” is not set to “Enabled”, then this is a finding. The policy referenced configures the following registry value: Registry Hive: HKEY_LOCAL_MACHINE Registry Path: \System\CurrentControlSet\Control\Session Manager\ Value Name: SafeDllSearchMode Value Type: REG_DWORD Value: 1
Configure the policy value for Computer Configuration -> Windows Settings -> Security Settings -> Local Policies -> Security Options -> “MSS: (SafeDllSearchMode) Enable Safe DLL search mode (recommended)” to “Enabled”.
If the following registry value does not exist or is not configured as specified, this is a finding: Registry Hive: HKEY_LOCAL_MACHINE Subkey: \Software\Policies\Microsoft\WindowsMediaPlayer\ Value Name: DisableAutoupdate Type: REG_DWORD Value: 1
Configure the policy value for Computer Configuration -> Administrative Templates -> Windows Components -> Windows Media Player -> "Prevent Automatic Updates" to "Enabled".
If the following registry value doesn’t exist or its value is not set to 1, then this is a finding: Registry Hive: HKEY_Current_User Subkey: \Software\Policies\Microsoft\WindowsMediaPlayer\ Value Name: PreventCodecDownload Type: REG_DWORD Value: 1
Configure the policy value for User Configuration -> Administrative Templates -> Windows Components -> Windows Media Player -> Playback “Prevent Codec Download” to “Enabled”.
Run "Services.msc". If services listed below are found, that are not disabled, and the site does not have documented exceptions for these, this is a finding. Alerter Application Layer Gateway Service Application Management ASP .NET State Service Certificate Services Client Service for NetWare ClipBook Cluster Service COM+ System Application DHCP Server Distributed Link Tracking Client Distributed Link Tracking Server Distributed Transaction Coordinator Fax Service File Server for Macintosh FTP Publishing Service Help and Support HTTP SSL Human Interface Device Access IAS Jet Database Access IIS Admin Service IMAPI CD-Burning COM Service Indexing Service Infrared Monitor Internet Authentication Service IP Version 6 Helper Service License Logging Service Message Queuing Message Queuing Down Level Clients Message Queuing Triggers Messenger Microsoft POP3 Service MSSQL$UDDI MSSQLServerADHelper .NET Framework Support Service NetMeeting Remote Desktop Sharing Network DDE Network DDE DSDM Network News Transport Protocol (NNTP) Portable Media Serial Number Print Server for Macintosh Print Spooler Remote Access Auto Connection Manager Remote Access Connection Manager Remote Desktop Help Session Manager Remote Installation Remote Server Manager Remote Server Monitor Remote Storage Notification Remote Storage Server Resultant Set of Policy Provider Routing and Remote Access SAP Agent Secondary Logon Shell Hardware Detection Simple Mail Transport Protocol (SMTP) Simple TCP/IP Services Single Instance Storage Groveler SNMP Service SNMP Trap Service Special Administration Console Helper Task Scheduler - See separate vulnerability WINSV-000106/V-30037 TCP/IP Print Server Telephony Telnet Terminal Services Terminal Services Licensing Terminal Services Session Directory Themes Trivial FTP Daemon Uninterruptible Power Supply Upload Manager Virtual Disk Service WebClient Web Element Manager Windows Audio Windows Firewall/Internet Connection Sharing (ICS) Windows Image Acquisition (WIA) Windows Internet Name Service (WINS) Windows Media Services Windows System Resource Manager WinHTTP Web Proxy Auto-Discovery Service Wireless Configuration World Wide Web Publishing Service
Configure the system to disable any services that are not required.
The site will have a policy that requires servers and other critical systems be reviewed on a daily basis to identify possible security breaches and weakness. This can be accomplished with the use of monitoring software or other utilities for this purpose.
Create a site policy that mandates review of audit logs.
Analyze the system using the Security Configuration and Analysis snap-in. Expand the Security Configuration and Analysis tree view. Navigate to Local Policies -> Security Options. If the value for “Network security: Minimum session security for NTLM SSP based (including secure RPC) servers” is not set to “Require NTLMv2 session security”, ”Require 128-bit encryption”, ”Require Message Integrity”, and ”Require Message Confidentiality”, then this is a finding. The policy referenced configures the following registry value: Registry Hive: HKEY_LOCAL_MACHINE Registry Path: \System\CurrentControlSet\Control\Lsa\MSV1_0\ Value Name: NTLMMinServerSec Value Type: REG_DWORD Value: 537395248 Warnings: Microsoft warns that setting these may prevent the server from communicating with legacy clients that do not support them. Warning: “Require NTLMv2 session security” will prevent authentication, if the “Network security: LAN Manager Authentication level” is set to permit NTLM or LM authentication. Documentable Explanation: If the required settings must be modified to support operation in a mixed Windows environment, then this should be documented with the IAO.
Configure the policy value for Computer Configuration -> Windows Settings -> Security Settings -> Local Policies -> Security Options -> “Network security: Minimum session security for NTLM SSP based (including secure RPC) servers” to “Require NTLMv2 session security”, ”Require 128-bit encryption”, ”Require Message Integrity”, and ”Require Message Confidentiality” (all options selected).
Verify that the site is applying all security-related patches released by Microsoft. Determine the local site method for doing this (e.g., connection to a WSUS server, local procedure, etc.). Severity Override: If any of the patches not installed are Microsoft ‘Critical’, then the category code should be elevated to ‘1’. Note: If a penetration scan has been run on the network, it will report findings if security-related updates are not applied. Then, this check may be marked as “Not Applicable”. Some applications (such as DMS and GCSS) use a system release process to keep systems current. If this is the case, then these systems should be at the current release.
Apply all Microsoft security-related patches to the Windows system.
Microsoft support for Windows 2003 ended 14 July 2015. If Windows 2003 is installed on a system, this is a finding.
Upgrade Windows 2003 systems to a supported operating system.
Analyze the system using the Security Configuration and Analysis snap-in. Expand the Security Configuration and Analysis tree view. Navigate to Local Policies -> Security Options. If the value for “MSS: (WarningLevel) Percentage threshold for the security event log at which the system will generate a warning” is not set to “90” or less, then this is a finding. The policy referenced configures the following registry value: Registry Hive: HKEY_LOCAL_MACHINE Registry Path: \System\CurrentControlSet\Services\Eventlog\Security\ Value Name: WarningLevel Value Type: REG_DWORD Value: 90 Documentable Explanation: If the system is configured to write to an audit server, or is configured to automatically archive full logs this should be documented with the IAO.
Configure the policy value for Computer Configuration -> Windows Settings -> Security Settings -> Local Policies -> Security Options -> “MSS: (WarningLevel) Percentage threshold for the security event log at which the system will generate a warning” to “90” or less.
Analyze the system using the Security Configuration and Analysis snap-in. Expand the Security Configuration and Analysis tree view. Navigate to Local Policies -> Security Options. If the value for "MSS: (EnableDeadGWDetect) Allow automatic detection of dead network gateways (could lead to DoS)" is not set to "Disabled", this is a finding. The policy referenced configures the following registry value: Registry Hive: HKEY_LOCAL_MACHINE Registry Path: \System\CurrentControlSet\Services\Tcpip\Parameters\ Value Name: EnableDeadGWDetect Value Type: REG_DWORD Value: 0
Configure the policy value for Computer Configuration -> Windows Settings -> Security Settings -> Local Policies -> Security Options -> "MSS: (EnableDeadGWDetect) Allow automatic detection of dead network gateways (could lead to DoS)" to "Disabled".
Analyze the system using the Security Configuration and Analysis snap-in. Expand the Security Configuration and Analysis tree view. Navigate to Local Policies -> Security Options. If the value for “MSS: (DisableIPSourceRouting) IP source routing protection level (protects against packet spoofing)” is not set to “Highest protection, source routing is completely disabled”, then this is a finding. The policy referenced configures the following registry value: Registry Hive: HKEY_LOCAL_MACHINE Registry Path: \System\CurrentControlSet\Services\Tcpip\Parameters\ Value Name: DisableIPSourceRouting Value Type: REG_DWORD Value: 2
Configure the policy value for Computer Configuration -> Windows Settings -> Security Settings -> Local Policies -> Security Options -> “MSS: (DisableIPSourceRouting) IP source routing protection level (protects against packet spoofing)” to “Highest protection, source routing is completely disabled”.
Analyze the system using the Security Configuration and Analysis snap-in. Expand the Security Configuration and Analysis tree view. Navigate to Local Policies -> Security Options. If the value for “MSS: (EnableICMPRedirect) Allow ICMP redirects to override OSPF generated routes” is not set to “Disabled”, then this is a finding. The policy referenced configures the following registry value: Registry Hive: HKEY_LOCAL_MACHINE Registry Path: \System\CurrentControlSet\Services\Tcpip\Parameters\ Value Name: EnableICMPRedirect Value Type: REG_DWORD Value: 0
Configure the policy value for Computer Configuration -> Windows Settings -> Security Settings -> Local Policies -> Security Options -> “MSS: (EnableICMPRedirect) Allow ICMP redirects to override OSPF generated routes” to “Disabled”.
Analyze the system using the Security Configuration and Analysis snap-in. Expand the Security Configuration and Analysis tree view. Navigate to Local Policies -> Security Options. If the value for “MSS: (PerformRouterDiscovery) Allow IRDP to detect and configure Default Gateway addresses (could lead to DoS)” is not set to “Disabled”, then this is a finding. Registry Hive: HKEY_LOCAL_MACHINE Subkey: \System\CurrentControlSet\Services\Tcpip\Parameters\ Value Name: PerformRouterDiscovery Value Type: REG_DWORD Value: 0
Configure the policy value for Computer Configuration -> Windows Settings -> Security Settings -> Local Policies -> Security Options -> “MSS: (PerformRouterDiscovery) Allow IRDP to detect and configure Default Gateway addresses (could lead to DoS)” to “Disabled”.
Analyze the system using the Security Configuration and Analysis snap-in. Expand the Security Configuration and Analysis tree view. Navigate to Local Policies -> Security Options. If the value for “MSS: (KeepAliveTime) How often keep-alive packets are sent in milliseconds” is not set to “300000 or 5 minutes (recommended)” or less, then this is a finding. The policy referenced configures the following registry value: Registry Hive: HKEY_LOCAL_MACHINE Subkey: \System\CurrentControlSet\Services\Tcpip\Parameters\ Value Name: KeepAliveTime Value Type: REG_DWORD Value: 300000
Configure the policy value for Computer Configuration -> Windows Settings -> Security Settings -> Local Policies -> Security Options -> “MSS: (KeepAliveTime) How often keep-alive packets are sent in milliseconds” to “300000 or 5 minutes (recommended)” or less.
Analyze the system using the Security Configuration and Analysis snap-in. Expand the Security Configuration and Analysis tree view. Navigate to Local Policies -> Security Options. If the value for “MSS: (NoNameReleaseOnDemand) Allow computer to ignore NetBIOS name release requests except from WINS servers” is not set to “Enabled”, then this is a finding. The policy referenced configures the following registry value: Registry Hive: HKEY_LOCAL_MACHINE Registry Path: \System\CurrentControlSet\Services\Netbt\Parameters\ Value Name: NoNameReleaseOnDemand Value Type: REG_DWORD Value: 1 Note: The NetBIOS name for the system will no longer appear under ‘My Network Places’.
Configure the policy value for Computer Configuration -> Windows Settings -> Security Settings -> Local Policies -> Security Options -> “MSS: (NoNameReleaseOnDemand) Allow computer to ignore NetBIOS name release requests except from WINS servers” to “Enabled”.
Analyze the system using the Security Configuration and Analysis snap-in. Expand the Security Configuration and Analysis tree view. Navigate to Local Policies -> Security Options. If the value for “MSS: (SynAttackProtect) Syn attack protection level (protects against DoS)” is not set to “Connections time out sooner if a SYN attack is detected”, then this is a finding. The policy referenced configures the following registry value: Registry Hive: HKEY_LOCAL_MACHINE Registry Path: \System\CurrentControlSet\Services\Tcpip\Parameters\ Value Name: SynAttackProtect Value Type: REG_DWORD Value: 1
Configure the policy value for Computer Configuration -> Windows Settings -> Security Settings -> Local Policies -> Security Options -> “MSS: (SynAttackProtect) Syn attack protection level (protects against DoS)” to “Connections time out sooner if a SYN attack is detected”.
Analyze the system using the Security Configuration and Analysis snap-in. Expand the Security Configuration and Analysis tree view. Navigate to Local Policies -> Security Options. If the value for "Domain Controller: LDAP Server signing requirements" is not set to "Require signing", this is a finding. The policy referenced configures the following registry value: Registry Hive: HKEY_LOCAL_MACHINE Registry Path: \System\CurrentControlSet\Services\NTDS\Parameters\ Value Name: LDAPServerIntegrity Value Type: REG_DWORD Value: 2 Documentable Explanation: If LDAP Signing is not supported by a client, service or application, this must be documented with the IAO with supporting vendor information.
Configure the policy value for Computer Configuration -> Windows Settings -> Security Settings -> Local Policies -> Security Options -> "Domain controller: LDAP server signing requirements" to "Require signing".
1. Analyze the system using the Security Configuration and Analysis snap-in. Expand the Security Configuration and Analysis tree view. 2. Navigate to Local Policies and select Security Options. 3. If the value for “Domain Controller: Refuse machine account password changes” is set to "Enabled", then this is a finding.
Set the value for “Domain Controller: Refuse machine account password changes” to “Disabled”. The policy referenced configures the following registry value: Registry Hive: HKEY_LOCAL_MACHINE Registry Path: \System\CurrentControlSet\Services\Netlogon\Parameters\ Value Name: RefusePasswordChange Value Type: REG_DWORD Value: 0
Analyze the system using the Security Configuration and Analysis snap-in. Expand the Security Configuration and Analysis tree view. Navigate to Local Policies -> Security Options. If the value for “MSS: (TcpMaxConnectResponseRetransmissions) SYN-ACK retransmissions when a connection is not acknowledged” is not set to “3 & 6 seconds, half-open connections dropped after 21 seconds”, “3 seconds, half-open connections dropped after 9 seconds” or “No retransmission, half-open connections dropped after 3 seconds”, then this is a finding. The policy referenced configures the following registry value: Registry Hive: HKEY_LOCAL_MACHINE Registry Path: \System\CurrentControlSet\Services\Tcpip\Parameters\ Value Name: TcpMaxConnectResponseRetransmissions Value Type: REG_DWORD Value: 2 (3 & 6 seconds), 1 (3 seconds), 0 (No retransmission) Warning: Microsoft cautions that setting this to “No retransmission, half-open connections dropped after 3 seconds” may cause legitimate connection attempts from distant clients to fail due to time-out.
Configure the policy value for Computer Configuration -> Windows Settings -> Security Settings -> Local Policies -> Security Options -> “MSS: (TcpMaxConnectResponseRetransmissions) SYN-ACK retransmissions when a connection is not acknowledged” to “3 & 6 seconds, half-open connections dropped after 21 seconds”, “3 seconds, half-open connections dropped after 9 seconds” or “No retransmission, half-open connections dropped after 3 seconds”.
Analyze the system using the Security Configuration and Analysis snap-in. Expand the Security Configuration and Analysis tree view. Navigate to Local Policies -> Security Options. If the value for “MSS: (TcpMaxDataRetransmissions) How many times unacknowledged data is retransmitted (3 recommended, 5 is the default)” is not set to “3” or less, this is a finding. The policy referenced configures the following registry value: Registry Hive: HKEY_LOCAL_MACHINE Registry Path: \System\CurrentControlSet\Services\Tcpip\Parameters\ Value Name: TcpMaxDataRetransmissions Value Type: REG_DWORD Value: 3
Configure the policy value for Computer Configuration -> Windows Settings -> Security Settings -> Local Policies -> Security Options -> “MSS: (TcpMaxDataRetransmissions) How many times unacknowledged data is retransmitted (3 recommended, 5 is the default)” to “3” or less.
Analyze the system using the Security Configuration and Analysis snap-in. Expand the Security Configuration and Analysis tree view. Navigate to Local Policies -> Security Options. If the value for “MSS: (ScreenSaverGracePeriod) The time in seconds before the screen saver grace period expires (0 recommended)” is not set to “5” or less, then this is a finding. The policy referenced configures the following registry value: Registry Hive: HKEY_LOCAL_MACHINE Registry Path: \Software\Microsoft\Windows NT\CurrentVersion\Winlogon\ Value Name: ScreenSaverGracePeriod Value Type: REG_SZ Value: 5 (or less)
Configure the policy value for Computer Configuration -> Windows Settings -> Security Settings -> Local Policies -> Security Options -> “MSS: (ScreenSaverGracePeriod) The time in seconds before the screen saver grace period expires (0 recommended)” to “5” or less.
Analyze the system using the Security Configuration and Analysis snap-in. Expand the Security Configuration and Analysis tree view. Navigate to Local Policies -> Security Options. If the value for “Network access: Remotely accessible registry paths and sub-paths” contains entries besides the following, then this is a finding: Software\Microsoft\OLAP Server Software\Microsoft\Windows NT\CurrentVersion\Perflib Software\Microsoft\Windows NT\CurrentVersion\Print Software\Microsoft\Windows NT\CurrentVersion\Windows System\CurrentControlSet\Control\ContentIndex System\CurrentControlSet\Control\Print\Printers System\CurrentControlSet\Control\Terminal Server System\CurrentControlSet\Control\Terminal Server\UserConfig System\CurrentControlSet\Control\Terminal Server\DefaultUserConfiguration System\CurrentControlSet\Services\Eventlog System\CurrentControlSet\Services\Sysmonlog The policy referenced configures the following registry value: Registry Hive: HKEY_LOCAL_MACHINE Registry Path: \System\CurrentControlSet\Control\SecurePipeServers\Winreg\AllowedPaths\ Value Name: Machine Value Type: REG_MULTI_SZ Value: As defined in policy above Note: Legitimate applications may add entries to this registry value. If an application requires these entries to function properly and is documented with the IAO, this would not be a finding. Documentation should contain supporting information from the vendor's instructions.
Configure the policy value for Computer Configuration -> Windows Settings -> Security Settings -> Local Policies -> Security Options -> “Network access: Remotely accessible registry paths and sub-paths” as specified in the Check section.
Analyze the system using the Security Configuration and Analysis snap-in. Expand the Security Configuration and Analysis tree view. Navigate to Local Policies -> Security Options. If the value for “System cryptography: Force strong key protection for user keys stored in the computer” is not set to “User must enter a password each time they use a key”, this is a finding. The policy referenced configures the following registry value: Registry Hive: HKEY_LOCAL_MACHINE Registry Path: \Software\Policies\Microsoft\Cryptography\ Value Name: ForceKeyProtection Value Type: REG_DWORD Value: 2
Configure the policy value for Computer Configuration -> Windows Settings -> Security Settings -> Local Policies -> Security Options -> “System cryptography: Force strong key protection for user keys stored in the computer” to “User must enter a password each time they use a key”.
Analyze the system using the Security Configuration and Analysis snap-in. Expand the Security Configuration and Analysis tree view. Navigate to Local Policies -> Security Options. If the value for “System Settings: Optional Subsystems” has entries listed, then this is a finding. The policy referenced configures the following registry value: Registry Hive: HKEY_LOCAL_MACHINE Registry Path: \System\CurrentControlSet\Control\Session Manager\Subsystems\ Value Name: Optional Value Type: REG_MULTI_SZ Value: (Blank) Documentable: If an optional subsystem such as POSIX is required, then this needs to be documented with the IAO.
Configure the policy value for Computer Configuration -> Windows Settings -> Security Settings -> Local Policies -> Security Options -> “System Settings: Optional Subsystems” to “Blank” (Configured with no entries).
Analyze the system using the Security Configuration and Analysis snap-in. Expand the Security Configuration and Analysis tree view. Navigate to Local Policies -> Security Options. If the value for “System Settings: Use Certificate Rules on Windows Executables for Software Restriction Policies” is not set to “Enabled”, then this is a finding. The policy referenced configures the following registry value: Registry Hive: HKEY_LOCAL_MACHINE Registry Path: \Software\Policies\Microsoft\Windows\Safer\CodeIdentifiers\ Value Name: AuthenticodeEnabled Value Type: REG_DWORD Value: 1
Configure the policy value for Computer Configuration -> Windows Settings -> Security Settings -> Local Policies -> Security Options -> “System Settings: Use Certificate Rules on Windows Executables for Software Restriction Policies” to “Enabled”.
If the following registry value doesn’t exist or its value is not set to 1, then this is a finding: Registry Hive: HKEY_LOCAL_MACHINE Subkey: \Software\Policies\Microsoft\Windows NT\Terminal Services\ Value Name: fEncryptRPCTraffic Type: REG_DWORD Value: 1
Configure the policy value for Computer Configuration -> Administrative Templates -> Windows Components -> Terminal Services -> Encryption and Security -> RPC Security Policy “Secure Server (Require Security)” to “Enabled”.
If the following registry value does not exist or is not configured as specified, this is a finding: Registry Hive: HKEY_LOCAL_MACHINE Subkey: Software\Policies\Microsoft\Windows\Group Policy\{35378EAC-683F-11D2-A89A-00C04FBBCFA2} Value Name: NoGPOListChanges Type: REG_DWORD Value: 0
Configure the policy value for Computer Configuration -> Administrative Templates -> System -> Group Policy “Registry Policy Processing” to “Enabled” and select the option “Process even if the Group Policy objects have not changed”.
Open a command prompt. Execute “Dcomcnfg.exe”. In the “Component Services” window, navigate to Component Services -> Computer -> My Computer Right-click “My Computer” and select “Properties”. Select the “Default Properties” tab. If the “Default Authentication Level” is set to “None” or “Call”, this is a finding.
Fortify DCOMs default permissions. This should be thoroughly tested to verify DCOM objects continue to function under tightened security. Open a command prompt. Execute “Dcomcnfg.exe”. In the “Component Services” window, navigate to Component Services -> Computer -> My Computer Right-click “My Computer” and select “Properties”. Select the “Default Properties” tab. Select a “Default Authentication Level” other than “None” or “Call”. For sensitive systems, an authentication level of “Packet Privacy” is recommended. Click OK.
·Using the Registry Editor, go to the following Registry key: HKLM\Software\Classes\Appid(inherited by all subkeys) Administrators Full SYSTEM Full Users Read ·If any account other than Administrators and System has greater than “read” access, then this would be a finding. ·Select each subkey and verify that it is inheriting the same permissions. ·If any subkey has permissions that are less strict than those above, then this would be a finding.
Fortify DCOMs AppId permissions. Any changes should be thoroughly tested so objects continue to function under tightened security. - Open the Registry Editor. - Navigate to HKEY_LOCAL_MACHINE\Software\Classes\Appid. - Select the application that generated this vulnerability. - Set the permissions for standard (non-privileged) user accounts or groups to Read only.
·Using the Registry Editor, go to the following Registry key: HKLM\Software\Classes\Appid ·View each subkey in turn and verify that the RunAs value has not been added. ·If any subkey has a RunAs value, then this would be a finding. Note: Windows components that have default Runas values such as Interactive User do not need to be changed. Windows components that have had a Runas value added or changed and non-Windows COM objects added to the system with Runas values need to be reviewed.
Remove any RunAs values from DCOM objects in the Registry.
Analyze the system using the Security Configuration and Analysis snap-in. Expand the Security Configuration and Analysis tree view. Navigate to Local Policies -> Security Options. If the value for “Domain Member: Digitally encrypt or sign secure channel data (always)” is not set to “Enabled”, then this is a finding. The policy referenced configures the following registry value: Registry Hive: HKEY_LOCAL_MACHINE Registry Path: \System\CurrentControlSet\Services\Netlogon\Parameters\ Value Name: RequireSignOrSeal Value Type: REG_DWORD Value: 1
Configure the policy value for Computer Configuration -> Windows Settings -> Security Settings -> Local Policies -> Security Options -> “Domain Member: Digitally encrypt or sign secure channel data (always)” to “Enabled”.
Analyze the system using the Security Configuration and Analysis snap-in. Expand the Security Configuration and Analysis tree view. Navigate to Local Policies -> Security Options. If the value for “Microsoft Network Client: Digitally sign communications (always)” is not set to “Enabled”, then this is a finding. The policy referenced configures the following registry value: Registry Hive: HKEY_LOCAL_MACHINE Registry Path: \System\CurrentControlSet\Services\LanmanWorkstation\Parameters\ Value Name: RequireSecuritySignature Value Type: REG_DWORD Value: 1
Configure the policy value for Computer Configuration -> Windows Settings -> Security Settings -> Local Policies -> Security Options -> “Microsoft Network Client: Digitally sign communications (always)” to “Enabled”.
Analyze the system using the Security Configuration and Analysis snap-in. Expand the Security Configuration and Analysis tree view. Navigate to Local Policies -> Security Options. If the value for “Microsoft Network Server: Digitally sign communications (always)” is not set to “Enabled”, then this is a finding. The policy referenced configures the following registry value: Registry Hive: HKEY_LOCAL_MACHINE Registry Path: \System\CurrentControlSet\Services\LanManServer\Parameters\ Value Name: RequireSecuritySignature Value Type: REG_DWORD Value: 1
Configure the policy value for Computer Configuration -> Windows Settings -> Security Settings -> Local Policies -> Security Options -> “Microsoft Network Server: Digitally sign communications (always)” to “Enabled”.
Analyze the system using the Security Configuration and Analysis snap-in. Expand the Security Configuration and Analysis tree view. Navigate to Local Policies -> Security Options. If the value for “Network access: Restrict anonymous access to Named Pipes and Shares” is not set to “Enabled”, then this is a finding. The policy referenced configures the following registry value: Registry Hive: HKEY_LOCAL_MACHINE Registry Path: \System\CurrentControlSet\Services\LanManServer\Parameters\ Value Name: RestrictNullSessAccess Value Type: REG_DWORD Value: 1
Configure the policy value for Computer Configuration -> Windows Settings -> Security Settings -> Local Policies -> Security Options -> “Network access: Restrict anonymous access to Named Pipes and Shares” to “Enabled”.
Analyze the system using the Security Configuration and Analysis snap-in. Expand the Security Configuration and Analysis tree view. Navigate to Account Policies -> Password Policy. If the value for the "Minimum password length" is less than 14 characters, this is a finding.
Configure the policy value for Computer Configuration -> Windows Settings -> Security Settings -> Account Policies -> Password Policy -> "Minimum password length" to at least "14" characters.
Verify all account passwords expire. The following are exempt from this requirement: Built-in Administrator account Application accounts Domain accounts requiring smart card (CAC) Using the DUMPSEC utility: Select “Dump Users as Table” from the “Report” menu. Select the available fields in the following sequence, and click on the “Add” button for each entry: UserName SID PswdRequired PswdExpires PswdLastSetTime LastLogonTime AcctDisabled Groups If any accounts, other than the exceptions noted, have a “No” in the “PswdExpires” column, then this is a finding. Note: The following command can be used on Windows Active Directory if DumpSec cannot be run: Open a Command Prompt. Enter “Dsquery user -limit 0 | Dsget user -dn -pwdneverexpires”. This will return a list of User Accounts with Yes/No for Pwdneverexpires. If any accounts, other than the exceptions noted, have "Yes", then this is a finding. The results can be directed to a text file by adding “> filename.txt” at the end of the command. Documentable Explanation: Accounts meeting the requirements for allowable exceptions should be documented with the IAO.
Configure all information systems to expire passwords.
Analyze the system using the Security Configuration and Analysis snap-in. Expand the Security Configuration and Analysis tree view. Expand the "Local Policies" object and select "Audit Policy". Compare the settings in the Policy window with the following. If system does not audit the events listed below, this is a finding. Audit account logon events - Success, Failure Audit account management - Success, Failure Audit directory service access - Failure Audit logon events - Success, Failure Audit object access - Failure Audit policy change - Success Audit privilege use - Failure Audit system events - Success
Configure the system to audit the following categories as outlined. Audit account logon events - Success, Failure Audit account management - Success, Failure Audit directory service access - Failure Audit logon events - Success, Failure Audit object access - Failure Audit policy change - Success Audit privilege use - Failure Audit system events - Success
Verify all accounts require passwords. The following accounts may be excluded from this requirement: Domain accounts requiring smart card (CAC). Using the DUMPSEC utility: Select “Dump Users as Table” from the “Report” menu. Select the available fields in the following sequence, and click on the “Add” button for each entry: UserName SID PswdRequired PswdExpires LastLogonTime AcctDisabled Groups If any accounts, other than the exception noted, have a “No” in the “PswdRequired” column, then this is a finding. Note: Some built-in or application-generated accounts (e.g., Guest, IWAM_, IUSR, etc.) will not have this flag set, even though there are passwords present. It can be set by entering the following on a command line: “Net user <account_name> /passwordreq:yes”. Severity Override: For a DISABLED account(s) with a blank or null password, classify/downgrade this finding to a Category II finding.
Configure all DoD information systems to require passwords to gain access. The password required flag can be set by entering the following on a command line: “Net user <account_name> /passwordreq:yes”.
I. AD Database, Log, and Work Files 1. Use Registry Editor to navigate to HKLM\System\CurrentControlSet\Services\NTDS\Parameters. 2. Note the values for: -- DSA Database file -- Database log files path -- DSA Working Directory. 3. Navigate to the directory locations using Windows Explorer. 4. Verify the ACLs of the AD database, log, and work files with the following: AD Database, Log, and Work Files Permissions: ...\ntds.dit :Administrators, SYSTEM : Full Control (F) ...\edb*.log, ...\res*.log :Administrators, SYSTEM : Full Control (F) ...\temp.edb, ...\edb.chk :Administrators, SYSTEM : Full Control (F) [Note: The directory in which these files reside (usually ...\NTDS) may have permissions defined for CREATOR OWNER and Local Service, but these permissions apply at the directory level only, not to the individual files identified here.] 5. If the permissions are not at least as restrictive as required, then this is a finding.
Ensure the access control permissions on the AD database, log, and work files are set as follows: ...\ntds.dit :Administrators, SYSTEM : Full Control (F) ...\edb*.log, ...\res*.log :Administrators, SYSTEM : Full Control (F) ...\temp.edb, ...\edb.chk :Administrators, SYSTEM : Full Control (F)
Refer to the AD database location obtained in check V-8316. Note the logical drive (e.g., C:) on which the files are located. Determine if the server is currently providing file sharing services to users with the following command. Enter "net share" at a command prompt. Note the logical drive(s) or file system partition for any site-created data shares. Ignore all system shares (e.g., Windows NETLOGON, SYSVOL, and administrative shares ending in $). User shares that are hidden (ending with $) should not be ignored. If user shares are located on the same logical partition as the directory server data files, this is a finding.
Ensure files owned by users are stored on a different logical partition then the directory server data files.
This check examines only the Windows Support Tools. If none of the tools are installed, then this check is not applicable. 1. Start Windows Explorer. 2. Right-click the “My Computer” item and select “Search…” 3. Type “Support" in the file name field. 4. Select “Local Hard Drives” in the “Look in:” field. 5. Click the Search [or Search Now] button. 6. Record the location for the “Support Tools” directory. The SA may have installed the Support Tools under an alternate name. If the default directory is not found, ask the SA. 7. If the directory is not found and the SA confirms that the Support Tools are not installed, then this check is not applicable. 8. Using the recorded location, compare the current ACL of the Support Tools directory to the following: Windows Support Tools Permissions: ...\Support Tools :Administrators, SYSTEM :Full Control (F) : [IAO-approved users \ user groups] :Read, Read & Execute, List Folder Contents 9. If the folder permissions are not at least as restrictive as required, then this is a finding.
Configure the directory service as follows: Windows Support Tools Permissions: ...\Support Tools :Administrators, SYSTEM :Full Control (F) : [IAO-approved users \ user groups] :Read, Read & Execute, List Folder Contents
Determine if a time synchronization tool has been implemented on the Windows domain controller. If the Windows Time Service is used, verify the following registry values. If they are not configured as specified, this is a finding. Registry Hive: HKEY_LOCAL_MACHINE Registry Path: \System\CurrentControlSet\Services\W32Time\TimeProviders\NtpClient\ Value Name: Enabled Type: REG_DWORD Value: 1 Registry Path: \System\CurrentControlSet\Services\W32Time\Parameters\ Value Name: Type Type: REG_SZ Value: NT5DS (preferred), NTP, or Allsync If these Windows checks indicate a finding because the NtpClient is not enabled, determine if an alternate time synchronization tool is installed and enabled. If the Windows Time Service is not enabled and no alternate tool is enabled, this is a finding.
Ensure the Windows Time Service is configured as follows or install and enable another time synchronization tool. Registry Hive: HKEY_LOCAL_MACHINE Registry Path: \System\CurrentControlSet\Services\W32Time\TimeProviders\NtpClient\ Value Name: Enabled Type: REG_DWORD Value: 1 Registry Path: \System\CurrentControlSet\Services\W32Time\ Parameters\ Value Name: Type Type: REG_SZ Value: NT5DS (preferred), NTP, or Allsync
Verify logging is configured to capture time source switches. If the Windows Time Service is used, verify the following registry value. If it is not configured as specified, this is a finding. Registry Hive: HKEY_LOCAL_MACHINE Registry Path: \System\CurrentControlSet\Services\W32Time\Config\ Value Name: EventLogFlags Type: REG_DWORD Value: 2 or 3 If another time synchronization tool is used, review the available configuration options and logs. If the tool has time source logging capability and it is not enabled, this is a finding.
Configure the time synchronization tool to log time source switching. If the Windows Time Service is used, configure the following registry value. Registry Hive: HKEY_LOCAL_MACHINE Registry Path: \System\CurrentControlSet\Services\W32Time\Config\ Value Name: EventLogFlags Type: REG_DWORD Value: 2 or 3
Run "services.msc" to display the Services console. Determine if any running services are application components. Examples of services indicating the presence of applications are: -DHCP Server for DHCP server -IIS Admin Service for IIS web server -Microsoft Exchange System Attendant for Exchange -MSSQLServer for SQL Server. If any application-related components have the "Started" status, this is a finding. Supplemental Notes: A Domain Name System (DNS) server integrated with the directory server (e.g., AD-integrated DNS) is an acceptable application. However, the DNS server must comply with the DNS STIG security requirements. Some directory servers utilize specialized web servers for administrative functions and databases for data management. These web and database servers are permitted as long as they are dedicated to directory server support and only administrative users have access to them.
Remove applications such as web, database, and email from the domain controller.
Run "services.msc" to display the Services console. Verify the Startup Type for the following Windows services: - Distributed File System (may be disabled if site is not utilizing) - DNS Client - File Replication Service - Intersite Messaging - Kerberos Key Distribution Center - Net Logon - Windows Time (not required if another time synchronization tool is implemented to start automatically) If the Startup Type for any of these services is not Automatic, this is a finding.
Ensure the following services that are critical for directory server operation are configured for automatic startup. - Distributed File System (may be disabled if site is not utilizing) - DNS Client - File Replication Service - Intersite Messaging - Kerberos Key Distribution Center - Net Logon - Windows Time (not required if another time synchronization tool is implemented to start automatically)
Analyze the system using the Security Configuration and Analysis snap-in. Expand the Security Configuration and Analysis tree view. Navigate to Local Policies -> Security Options. If the value for “Interactive logon: Do not display last user name” is not set to “Enabled”, then this is a finding. The policy referenced configures the following registry value: Registry Hive: HKEY_LOCAL_MACHINE Registry Path: \Software\Microsoft\Windows\CurrentVersion\Policies\System\ Value Name: DontDisplayLastUserName Value Type: REG_DWORD Value: 1
Configure the policy value for Computer Configuration -> Windows Settings -> Security Settings -> Local Policies -> Security Options -> “Interactive logon: Do not display last user name” to “Enabled”.
Verify the effective setting in Local Group Policy Editor. Run "gpedit.msc". Navigate to Local Computer Policy -> Computer Configuration -> Windows Settings -> Security Settings -> Local Policies -> User Rights Assignment. If any accounts or groups are granted the "Synchronize directory service data" user right, this is a finding.
Configure the policy value for Computer Configuration -> Windows Settings -> Security Settings -> Local Policies -> User Rights Assignment -> "Synchronize directory service data" to be defined but containing no entries (blank).
Interview the SA to determine if a backup administrator account exists and is stored with its password in a secure location.
Create and maintain a backup administrator account for emergency situations.
Interview the SA or IAM to determine if the site has a policy that requires the default and backup admin passwords to be changed at least annually or when any member of the administrative team leaves the organization.
Define a policy for required password changes for the default and backup admin account.
Interview the SA to determine the process for archiving audit logs. Audit logs are retained for at least one year; on systems containing sources and methods intelligence (SAMI) logs will be retained for five years.
Define a process for archiving audit logs as required.
If the following registry value doesn’t exist or is not configured as specified, this is a finding: Registry Hive: HKEY_LOCAL_MACHINE Subkey: \Software\Policies\Microsoft\Windows NT\Terminal Services\ Value Name: DisablePasswordSaving Type: REG_DWORD Value: 1
XP - Configure the policy value for Computer Configuration -> Administrative Templates -> Windows Components -> Terminal Services-> Client “Do not allow passwords to be saved” to “Enabled”.
Prior to transition, IPv6 must not be installed. The following registry key indicates the IPv6 protocol has been installed. If it exists, this is a finding. Registry Hive: HKEY_LOCAL_MACHINE Registry Path: \System\CurrentControlSet\Services\Tcpip6 See S0-C1-imp-1 of The Department of National Intelligence/Department of Defense (DoD) Internet Protocol version 6 (IPv6) Information Assurance Guidance for Milestone Objective 3 for additional information.
Uninstall the IPv6 protocol until a deliberate transition strategy has been implemented.
The site should have a local policy to ensure that passwords for application/service accounts are at least 15 characters in length and meet complexity requirements for all passwords. Application/service account passwords manually generated and entered by a system administrator must be changed at least annually or whenever a system administrator that has knowledge of the password leaves the organization. Interview the system administrators on their policy for application/service accounts. If it does not meet the above requirements, this is a finding. Using the DUMPSEC utility: Select “Dump Users as Table” from the “Report” menu. Select the available fields in the following sequence, and click on the “Add” button for each entry: UserName SID PswdRequired PswdExpires PswdLastSetTime LastLogonTime AcctDisabled Groups If any application accounts listed in the Dumpsec user report have a date older than one year in the “PwsdLastSetTime” column, then this is a finding. Note: The following command can be used on Windows 2003/2008 Active Directory if DumpSec cannot be run: Open a Command Prompt. Enter “Dsquery user -limit 0 -o rdn -stalepwd 365”. This will return a list of User Accounts with passwords older the one year.
Create application/service account passwords that are at least 15 characters in length and meet complexity requirements. Change application/service account passwords that are manually generated and entered by a system administrator at least annually or whenever an administrator with knowledge of the password leaves the organization.
With the assistance of the SA, NSO, or network reviewer as required, review the site network diagram(s) or documentation to determine the level of classification for the network(s) over which replication data is transmitted. Determine the classification level of the Windows domain controller. If the classification level of the Windows domain controller is higher than the level of the networks, review the site network diagram(s) and directory implementation documentation to determine if NSA-approved encryption is used to protect the replication network traffic. If the classification level of the Windows domain controller is higher than the level of the network traversed and NSA-approved encryption is not used, this is a finding.
Configure NSA-approved (Type 1) cryptography to protect the directory data in transit for directory service implementations at a classified confidentiality level that transfers replication data through a network cleared to a lower level than the data.
At this time, mark this check as a finding for all Windows domain controllers for sensitive or classified levels because Microsoft's AD or AD DS does not provide a method to restrict anonymous access to the root DSE on domain controllers. 1. With the assistance of the application SA, execute an LDAP browser utility that allows an account to be specified to access the directory. 2. Some client technologies may use default credentials if none are specified. The correct method must be used to ensure anonymous access is actually invoked. 3. On Windows systems, the “ldp.exe” utility from the Windows Support Tools can be used. See the directions for “ldp.exe” below. 4. Using the LDAP browser and specifying anonymous access (through the technology or tool-specific method), search the directory for the root DSE by specifying a null search base and a search scope of “base”. 5. If the LDAP browser displays information from the root DSE under anonymous access, then this is a finding. Supplemental Notes: - To use the “ldp.exe” utility to attempt an anonymous query of the root DSE: -- From the Connection menu item, select Connect. -- On the Connect dialog, enter the Server name and the correct port (usually 389 or 636), and select OK. -- From the Connection menu item, select Bind. -- Clear the User, Password, and Domain fields, the Domain checkbox, and select OK. -- Ensure that “ldap_simple_bind” and “Authenticated as dn:’Null’” is displayed. -- From the Browse menu item, select Search. -- On the Search dialog, select Options. -- On the Search Options dialog, clear the Attributes field and select OK. -- On the Search dialog, clear the Base DN field; select the Base checkbox; set Filter to “(objectclass=*)”; and select Run. -- Ensure that “Getting 1 entries:” is displayed. -- If root DSE attributes (such as namingContexts) are displayed, anonymous access to the root DSE is enabled.
Implement network protections to reduce the risk of anonymous access. Network hardware ports at the site are subject to 802.1x authentication or MAC address restrictions. Premise firewall or host restrictions prevent access to ports 389, 636, 3268, and 3269 from client hosts not explicitly identified by domain (.mil) or IP address.
1. With the assistance of the SA, execute an LDAP browser utility that allows an account to be specified to access the directory. 2. Some technologies may use default (logon) credentials if none are specified. The correct method must be used to ensure anonymous access is actually invoked. 3. On Windows systems, the “ldp.exe” utility from the Windows Support Tools or from the DISA IASE website) can be used. See the directions for “ldp.exe” below. 4. Using the LDAP browser and specifying anonymous access (through the tool-specific method), search the directory for the AD domain naming context. 5. The AD domain naming context is documented in the value of the defaultNamingContext attribute in the root DSE. Generally, this value is something like “dc=disaost,dc=mil”. 6. If the LDAP browser displays the AD domain naming context under anonymous access, then this is a finding. Supplemental Notes: - To use the “ldp.exe” utility to attempt an anonymous query of the root DSE: - From the Connection menu item, select Connect. - On the Connect dialog, enter the Server name and the correct port (usually 389 or 636), and select OK. - From the Connection menu item, select Bind. - Clear the User, Password, and Domain fields, the Domain checkbox, and select OK. - Ensure that “ldap_simple_bind” and “Authenticated as dn:’Null’” is displayed. - From the Browse menu item, select Search. - On the Search dialog, select Options. - On the Search Options dialog, clear the Attributes field and select OK. - On the Search dialog, enter the DN of the domain naming context (generally something like “dc=disaost,dc=mil”) in the Base DN field and select Run. - Ensure that “Getting n entries:” is displayed. - If attribute data is displayed, anonymous access is enabled to the domain naming context. For AD, there are multiple configuration items that could enable anonymous access. 1. For all Windows server OSs, changing the access permissions on the domain naming context object (from the secure defaults) could enable anonymous access. If the Check procedures indicate this is the cause, the process that was used to change the permissions should be reversed. This could have been through the Windows Support Tools ADSI Edit console (adsiedit.msc). 2. The dsHeuristics option is used. This is addressed in check V-8555 (DS.0230_AD) in the AD Forest STIG.
Configure directory data (outside the root DSE) of a non-public directory to prevent anonymous access.
Verify the source of the domain controller's server certificate. Run "mmc". Select "Add/Remove Snap-in" from the File menu. Click the "Add" button. Select "Certificates" and click the "Add" button. Select "Computer Account", click "Next". Select the appropriate option for "Select the computer you want this snap-in to manage.", click "Finish". Click "Close", then Click "OK". Select and expand the Certificates (Local Computer) entry in the left pane. Select and expand the Personal entry in the left pane. Select the Certificates entry in the left pane. In the right pane, examine the Issued By field for the certificate to determine the issuing CA. If the Issued By field of the PKI certificate being used by the domain controller does not indicate the issuing Certificate Authority (CA) is part of the DoD PKI or an approved ECA, this is a finding. There are multiple sources from which lists of valid DoD CAs and approved ECAs can be obtained: The Global Directory Service (GDS) website provides an online source. The address for this site is https://crl.gds.disa.mil. DoD Public Key Enablement (PKE) Engineering Support maintains the InstallRoot utility to manage DoD supported root certificates on Windows computers which includes a list of authorized CAs. The utility package can be downloaded from the PKI and PKE Tools page on IASE. http://iase.disa.mil/pki-pke/function_pages/tools.html
Obtain PKI certificates issued by the DoD PKI or an approved External Certificate Authority (ECA).
Verify the value for MaxConnIdleTime. Open an elevated command prompt. Enter "ntdsutil". At the "ntdsutil:" prompt, enter "LDAP policies". At the "ldap policy:" prompt, enter "connections". At the "server connections:" prompt, enter "connect to server [host-name]". (Where [host-name] is the computer name of the domain controller.) At the "server connections:" prompt, enter "q". At the "ldap policy:" prompt, enter "show values". If the value for MaxConnIdleTime is greater than 300 (the value for five minutes) or it is not specified, this is a finding. Enter "q" at the "ldap policy:" and "ntdsutil:" prompts to exit. Alternately, Dsquery can be used to display MaxConnIdleTime: Open an elevated command prompt. Enter the following command (on a single line). dsquery * "cn=Default Query Policy,cn=Query-Policies,cn=Directory Service, cn=Windows NT,cn=Services,cn=Configuration,dc=[forest-name]" -attr LDAPAdminLimits The quotes are required and dc=[forest-name] is the fully qualified LDAP name of the domain being reviewed (e.g., dc=disaost,dc=mil).
Configure the directory service to terminate LDAP-based network connections to the directory server after five (5) minutes of inactivity. Open an elevated command prompt. Enter "ntdsutil". At the "ntdsutil:" prompt, enter "LDAP policies". At the "ldap policy:" prompt, enter "connections". At the "server connections:" prompt, enter "connect to server [host-name]". (Where [host-name] is the computer name of the domain controller.) At the "server connections:" prompt, enter "q". At the "ldap policy:" prompt, enter "Set MaxConnIdleTime to 300". Enter "Commit Changes" to save. Enter "Show values" to verify changes. Enter "q" at the "ldap policy:" and "ntdsutil:" prompts to exit.
Use the following procedure to check a sample of accounts. 1. Open Active Directory Users and Computers. 2. Select the Users node. 3. For each user account sampled, right-click and select Properties. 4. Select the Account tab. 5. View the setting in Account Options area. 6. Verify that the option “Smart card is required for interactive logon” is checked.
Configure all user accounts including administrator accounts in Active Directory to enable the option “Smart card is required for interactive logon”.
Search for the file FrameworkService.exe (by default in the \Program Files\McAfee\Common Framework\ directory) and check that the version is 4 or above. AND verify that the Service "McAfee Framework Service" is running. If either of these conditions does not exist, then this is a finding.
Deploy the McAfee Agent as detailed in the CTO and in accordance with the DoD HBSS STIG.
Search all drives for *.p12 and *.pfx files. If any files with these extensions exist, then this is a finding. Documentable Explanation: This does not apply to server-based applications that have a requirement for .p12 certificate files (e.g., Oracle Wallet Manager). Some applications create files with extensions of .p12 that are NOT certificate installation files. Removal from systems of non-certificate installation files are not required. These should be documented with the IAO.
Remove any certificate installation files found on a system. Note: This does not apply to server-based applications that have a requirement for .p12 certificate files (e.g., Oracle Wallet Manager)
In the Registry Editor, navigate to the following registry key: Registry Hive: HKEY_LOCAL_MACHINE Subkey: SOFTWARE\Microsoft\Windows NT\CurrentVersion\IniFileMapping\Autorun.inf Value Name: (Default) Type: REG_Sz Value: @SYS:DoesNotExist If the above listed registry value does not exist, then this is a finding.
Add the registry value as specified in the manual check.
Analyze the system using the Security Configuration and Analysis snap-in. Expand the Security Configuration and Analysis tree view. Navigate to Local Policies -> User Rights Assignment. If any user accounts, or groups, (to include administrators) are granted the “Debug programs” right, then this is a finding. If Administrators require this right for troubleshooting or application issues, it should be assigned on a temporary basis as needed. Documentable Explanation: Some applications may require this right to function such as the Windows 2003 Cluster service account. Any exception needs to be documented with the IAO. Acceptable forms of documentation include vendor published documents and application owner confirmation.
Configure the system to remove any accounts from the "Debug programs" user right.
Navigate to the following registry key: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon. Verify the permissions assigned. Standard user accounts and groups will only have Read permissions to this registry key. If any standard user accounts or groups have greater permissions, this is a finding. The default permissions satisfy this requirement.
Assign only Read permissions for standard user accounts and groups to the HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon registry key. This is the default configuration.
Analyze the system using the Security Configuration and Analysis snap-in. Expand the Security Configuration and Analysis tree view. Navigate to Local Policies -> Security Options. If the value for “Interactive Logon: Message title for users attempting to log on” is not set to “DoD Notice and Consent Banner”, “US Department of Defense Warning Statement”, or a site defined equivalent, this is a finding. If a site defined title is used, it can in no case contravene or modify the language of the banner text required in V-1089. Automated tools may only search for the titles defined above. If a site defined title is used, a manual review will be required. The policy referenced configures the following registry value: Registry Hive: HKEY_LOCAL_MACHINE Registry Path: \Software\Microsoft\Windows\CurrentVersion\Policies\System\ Value Name: LegalNoticeCaption Value Type: REG_SZ Value: See message title above
Configure the policy value for Computer Configuration -> Windows Settings -> Security Settings -> Local Policies -> Security Options “Interactive Logon: Message title for users attempting to log on” to “DoD Notice and Consent Banner”, “US Department of Defense Warning Statement”, or a site defined equivalent. If a site defined title is used, it can in no case contravene or modify the language of the banner text required in V-1089.
Analyze the system using the Security Configuration and Analysis snap-in. Expand the Security Configuration and Analysis tree view. Navigate to Local Policies -> User Rights Assignment. If the following accounts or groups are not defined for the "Deny log on as a batch job" right, this is a finding: Guests Group Support_388945a0
Configure the policy value for Computer Configuration -> Windows Settings -> Security Settings -> Local Policies -> User Rights Assignment -> "Deny log on as a batch job" to include the following. Guests Group Support_388945a0
Analyze the system using the Security Configuration and Analysis snap-in. Expand the Security Configuration and Analysis tree view. Navigate to Local Policies -> User Rights Assignment. If any accounts or groups are defined for the "Deny log on as a service" right, this is a finding.
Configure the policy value for Computer Configuration -> Windows Settings -> Security Settings -> Local Policies -> User Rights Assignment -> "Deny log on as a service" to include no entries (blank).
Analyze the system using the Security Configuration and Analysis snap-in. Expand the Security Configuration and Analysis tree view. Navigate to Local Policies -> User Rights Assignment. If the following accounts or groups are not defined for the "Deny log on locally" right, this is a finding: Guests Group Support_388945a0
Configure the policy value for Computer Configuration -> Windows Settings -> Security Settings -> Local Policies -> User Rights Assignment -> "Deny log on locally" to include the following. Guests Group Support_388945a0
Analyze the system using the Security Configuration and Analysis snap-in. Expand the Security Configuration and Analysis tree view. Navigate to Local Policies -> User Rights Assignment. If the following accounts or groups are not defined for the "Deny log on through Terminal Services" right, this is a finding: Everyone - If Terminal Services is not used by the organization. Guests - If Terminal Services is used by the organization.
Configure the policy value for Computer Configuration -> Windows Settings -> Security Settings -> Local Policies -> User Rights Assignment -> "Deny log on through Terminal Services" to include the following. If Terminal Services is not used by the organization, assign the Everyone group this right to prevent all access. If TS is used