Windows Hardening Detailed Checklist For Windows Server and Windows 10 2
Windows Hardening Detailed Checklist For Windows Server and Windows 10 2
What Why
3. Features and roles configuration Add what you need, remove what you don't
1. User Configuration
Modern Windows Server editions force you to do this, but make sure the
password for the local Administrator account is reset to something secure.
Furthermore, disable the local administrator whenever possible. There are
very few scenarios where this account is required and because it’s a
popular target for attack, it should be disabled altogether to prevent it
from being exploited.
With that account out of the way, you need to set up an admin account to
use. You can either add an appropriate domain account, if your server is a
member of an Active Directory (AD), or create a new local account and put
it in the administrators group. Either way, you may want to consider using
a non-administrator account to handle your business whenever possible,
requesting elevation using Windows sudo equivalent, “Run As” and entering
the password for the administrator account when prompted.
Verify that the local guest account is disabled where applicable. None of
the built-in accounts are secure, guest perhaps least of all, so just
close that door. Double check your security groups to make sure everyone
is where they are supposed to be (adding domain accounts to the remote
desktop users group, for example.)
2. Network Configuration
4. Update Installation
This may seem to go without saying, but the best way to keep your server
secure is to keep it up to date. This doesn’t necessarily mean living on
the cutting edge and applying updates as soon as they are released with
little to no testing, but simply having a process to ensure updates do get
applied within a reasonable window. Most exploited vulnerabilities are
over a year old, though critical updates should be applied as soon as
possible in testing and then in production if there are no problems.
5. NTP Configuration
6. Firewall Configuration
If you’re building a web server, for example, you’re only going to want
web ports (80 and 443) open to that server from the internet. If anonymous
internet clients can talk to the server on other ports, that opens a huge
and unnecessary security risk. If the server has other functions such as
remote desktop (RDP) for management, they should only be available over a
VPN connection, ensuring that unauthorised people can’t exploit the port
at will from the net.
As mentioned above, if you use RDP, be sure it is only accessible via VPN
if at all possible. Leaving it open to the internet doesn’t guarantee
you’ll get hacked, but it does offer potential hackers another inroad into
your server.
8. Service Configuration
Windows server has a set of default services that start automatically and
run in the background. Many of these are required for the OS to function,
but some are not and should be disabled if not in use. Following the same
logic as the firewall, we want to minimize the attack surface of the
server by disabling everything other than primary functionality. Older
versions of MS server have more unneeded services than newer, so carefully
check any 2008 or 2003 (!) servers.
9. Further Hardening
Although User Account Control (UAC) can get annoying, it serves the
important purpose of abstracting executables from the security context of
the logged in user. This means that even when you’re logged in as an
admin, UAC will prevent applications from running as you without your
consent. This prevents malware from running in the background and
malicious websites from launching installers or other code. Leave UAC on
whenever possible.
The tips in this guide help secure the Windows operating system, but every
application you run should be hardened as well. Common Microsoft server
applications such as MSSQL and Exchange have specific security mechanisms
that can help protect them against attacks like ransomware such as
WannaCry, be sure to research and tweak each application for maximum
resilience. If you’re building a web server, you can also follow our
hardening guide to improve its internet facing security.
Finally, you need to make sure that your logs and monitoring are
configured and capturing the data you want so that in the event of a
problem, you can quickly find what you need and remediate it. Logging
works differently depending on whether your server is part of a domain.
Domain logons are processed by domain controllers, and as such, they have
the audit logs for that activity, not the local system. Stand alone
servers will have security audits available and can be configured to show
passes and/or failures.
Check the max size of your logs and scope them to an appropriate size. Log
defaults are almost always far too small to monitor complex production
applications. As such, disk space should be allocated during server builds
for logging, especially for applications like MS Exchange. Logs should be
backed up according to your organization’s retention policies and then
cleared to make room for more current events.
30/03/2022