Windows Server 2016 Hardening Checklist

The hardening checklists are based on the comprehensive checklists produced by the Center for Internet Security (CIS). The Information Security Office (ISO) has distilled the CIS lists down to the most critical steps for your systems, with a focus on issues unique to the computing environment at The University of Texas at Austin.

How to Use the Checklist

Print the checklist and check off each item you complete to ensure that you cover the critical steps for securing your server. The ISO uses this checklist during risk assessments as part of the process to verify server security.

Server Information

Step - The step number in the procedure. If there is a UT Note for this step, the note number corresponds to the step number.
Check (√) - This is for administrators to check off when she/he completes this portion.
To Do - Basic instructions on what to do to harden the respective system
CIS - Reference number in the Center for Internet Security Windows Server 2016 Benchmark v1.0.0. The CIS document outlines in much greater detail how to complete each step.
UT Note - The UT Note at the bottom of the page provides additional detail about the step for the university computing environment.
Confidential - For systems that include Confidential data, required steps are denoted with the ! symbol. All steps are recommended.
Other - For systems that include Controlled or Published data, all steps are recommended, and some are required (denoted by the !).
Min Std - This column links to the specific requirement for the university in the Minimum Security Standards for Systems document.

UT Addendum
This list provides specific tasks related to the computing environment at The University of Texas at Austin.

If other alternatives are unavailable, this can be accomplished by installing a SOHO router/firewall in between the network and the host to be protected.

There are several methods available to assist you in applying patches in a timely fashion:

Microsoft Update Service

Windows AutoUpdate via WSUS
ITS offers a Windows Server Update Services Server for campus use using Microsoft's own update servers. It includes updates for additional Microsoft products, just like Microsoft Update, and provides additional administrative control for software deployment.

Microsoft Baseline Security Analyzer
This is a free host-based application that is available to download from Microsoft. In addition to detailing missing patches, this tool also performs checks on basic security settings and provides information on remediating any issues found.

Upguard
This is a compliance management tool that ensures basic patching and compliance is being consistently managed (this product is fairly inexpensive and can integrated with Splunk).

Configure Automatic Updates from the Automatic Updates control panel

Configuring the minimum password length settings is important only if another method of ensuring compliance with university password standards is not in place. The Information Resources Use and Security Policy requires passwords be a minimum of 8 characters in length. It is strongly recommended that passwords be at least 14 characters in length (which is also the recommendation of CIS).

If this option is enabled, the system will store passwords using a weak form of encryption that is susceptible to compromise. This configuration is disabled by default.

For further password protections:
1. Update Active Directory functional level to 2012 R2 or higher.
2. In Registry key HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\SecurityProviders\WDigest, set “UseLogonCredential” to 0.
3. Implement MS KBs 2928120 and 2871997.

Instead of the CIS recommended values, the account lockout policy should be configured as follows:

Any account with this role is permitted to log in to the console. By default, this includes users in the Administrators, Users, and Backup Operators groups. It's unlikely that non-administrative users require this level of access and, in cases where the server is not physically secured, granting this right may facilitate a compromise of the device.

The text of the university's official warning banner can be found on the ISO Web site. You may add localized information to the banner as long as the university banner is included.

The use of Microsoft accounts can be blocked by configuring the group policy object at:

Computer Configuration\Windows Settings\Security Settings\Local Policies\ Security Options\Accounts: Block Microsoft accounts

This setting can be verified by auditing the registry key:

HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Policies\System\NoConnectedUser

Logon information for domain accounts can be cached locally to allow users who have previously authenticated to do so again even if a domain controller cannot be contacted. By default 10 accounts will be cached locally, but there is a risk that in the event of a compromise an attacker could locate the cached credentials and use a brute force attack to discover the passwords. Therefore, it is recommended that this value be reduced so that fewer credentials will be placed at risk, and credentials will be cached for shorter periods of time in the case of devices that are logged into frequently by multiple users.

The group policy object below should be set to 4 or fewer logins:

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)

The Account Logon audit policy logs the results of validation tests of credentials submitted for user account logon requests. The server that is authoritative for the credentials must have this audit policy enabled. For domain member machines, this policy will only log events for local user accounts.

Configure the group policy object below to match the listed audit settings:

Computer Configuration\Windows Settings\Security Settings\ Advanced Audit Policy Configuration\Audit Policies\Account Logon\

Configure the group policy object below to match the listed audit settings:

Computer Configuration\Windows Settings\Security Settings\ Advanced Audit Policy Configuration\Audit Policies\Account Management\

Configure the group policy object below to match the listed audit settings:

Computer Configuration\Windows Settings\Security Settings\ Advanced Audit Policy Configuration\Audit Policies\Logon/Logoff\

Configure the group policy object below to match the listed audit settings:

Computer Configuration\Windows Settings\Security Settings\ Advanced Audit Policy Configuration\Audit Policies\Policy Change\

Configure the group policy object below to match the listed audit settings:

Computer Configuration\Windows Settings\Security Settings\ Advanced Audit Policy Configuration\Audit Policies\Privilege Use\

The university requires the following event log settings instead of those recommended by the CIS Benchmark:

The recommended retention method for all logs is: Retain events for at least 14 days

These are minimum requirements. The most important log here is the security log. 1 GB is a suggested minimum, but if you have a high-volume service, make the file as large as necessary to make sure at least 14 days of security logs are available. The further your logs go back, the easier it will be to respond in the event of a breach. In rare cases, a breach may go on for months before detection. You may increase the number of days that you keep, or you may set the log files to not overwrite events.

Note that if the event log reaches its maximum size and no events older than the number of days you specified exist to be deleted, or if you have disabled overwriting of events, no new events will be logged. This may happen deliberately as an attempt by an attacker to cover his tracks. For critical services working with Confidential or other sensitive data, use Syslog, Splunk, Intrust, or a similar service to ship logs to another device. Another option is to configure Windows to rotate event log files automatically when an event log reaches its maximum size as described in the article http://support.microsoft.com/kb/312571 using the AutoBackupLogFiles registry entry.

Splunk licenses are available through ITS at no charge. ITS also maintains a centrally-managed Splunk service that may be leveraged.
If using Splunk:
Ensure all key systems and services are logging to Splunk and that verbosity is appropriately set. Ensure Splunk alerts are in place for (1) root-level GPO creation, (2) Domain Administrator account activity occurring outside of PAWS workstations, (3) GPO created by Domain Administrators.

Some remote administration tools, such as Microsoft Systems Management Server, require remote registry access to managed devices. Disabling remote registry access may cause such services to fail. If remote registry access is not required, it is recommended that the remote registry service be stopped and disabled.

If remote registry access is required, the remotely accessible registry paths should still be configured to be as restrictive as possible. The group policy object below controls which registry paths are available remotely:

Computer Configuration\Windows Settings\Security Settings\Local Policies\ Security Options\Network access: Remotely accessible registry paths

This object should be set to allow access only to:

Further restrictions on the registry paths and subpaths that are remotely accessible can be configured with the group policy object:

Computer Configuration\Windows Settings\Security Settings\Local Policies\ Security Options\Network access: Remotely accessible registry paths and sub-paths

Anti-spyware software is only required to be installed if the server is used to browse Web sites not specifically related to the administration of the server, which is not recommended. ITS provides anti-spyware software for no additional charge. At a minimum, SpyBot Search and Destroy should be installed. We also recommend the installation of a secondary anti-spyware application, such as SpyWare Blaster, EMS Free Surfer, or AdAware.

An additional measure that can be taken is to install Firefox with the NoScript and uBlock add-ons.

Spyware Blaster - Enabling auto-update functionality requires the purchase of an additional subscription.
SpyBot Search and Destroy - Automatic update tasks can be created inside the program itself and are scheduled using the Windows Task Scheduler.

  1. In the Spybot Application, click on Mode --> Advanced View.
  2. Click Settings on the left hand side of the window.
  3. You should now see an option labeled "Scheduler." Select that option.
  4. Adding the task to update automatically is relatively straightforward.

Windows provides the Encrypting File System as a built-in mechanism to allow the encryption of individual users' files and folders. Be aware of the caveats involved in the use of EFS before implementing it for general use, though. Other options such as PGP and GNUPG also exist.

Another encryption option to consider is whole-disk encryption, which encrypts the entire contents of the drive instead of just specific files and folders. Windows comes with BitLocker for this.

If encryption is being used in conjunction with Confidential data, one of the solutions listed in the Approved Encryption Methods (EID required) must be implemented.

Windows has a feature called Windows Resource Protection which automatically checks certain key files and replaces them if they become corrupted. It is enabled by default.

You can audit in much more in depth using Tripwire; consider this for your highest-risk systems. Modern versions of Tripwire require the purchase of licenses in order to use it. The Tripwire management console can be very helpful for managing more complex installations.

This setting is configured by group policy object at:

\Computer Configuration\Administrative Templates\Windows Components\Remote Desktop Services\Remote Desktop Session Host\Security

This policy object should be configured as below:

  1. Open the Display Properties control panel.
  2. Select the Screen Saver tab.
  3. Select a screen saver from the list. Although there are several available, consider using a simple one such as "Blank."
  4. The value for Wait should be no more than 15 minutes.
  5. Select the On resume, password protect option.