Skip to content

Windows Server Hardening Checklist for Active Directory Environments

A practical Windows Server hardening checklist for AD environments: patching, disabling SMBv1, RDP/NLA, account lockout, tiering, audit logging, and firewall rules.

MGMCSA Guru Team August 8, 2026 9 min read
Diagram-style cover showing a hardened Windows Server domain controller protected by layers for patching, protocol disabling, RDP security, tiering, and audit logging

A domain controller is the keys to the kingdom. Anyone who fully controls a DC controls every account, every group, and every machine that trusts the domain. That’s why hardening Windows Server in an Active Directory environment isn’t a one-time tickbox exercise — it’s a set of defaults you apply to every server and keep applying as the estate grows.

This checklist focuses on the controls that actually change an attacker’s odds: staying patched, killing off legacy protocols, locking down remote access, separating privilege so a workstation compromise doesn’t become a domain compromise, and logging enough to know when something’s wrong. None of it is exotic. Most of it is free and built into Windows. The hard part is doing it consistently.

Work through the sections in order. The early ones — patching and protocol cleanup — give you the biggest risk reduction for the least effort, so start there even if you can’t do everything at once.

1. Patch reliably, not occasionally

Most domains that get breached aren’t taken down by a zero-day. They’re taken down by a vulnerability that was patched months earlier, on a server nobody got around to updating. Patching is unglamorous and it’s the highest-value control you have.

  • Patch domain controllers on a predictable schedule, after testing on a non-production DC where possible.
  • Don’t let member servers drift. A forgotten print server or old application box is a perfectly good foothold.
  • Track which servers are actually receiving updates, rather than assuming WSUS or your patch tool reached all of them.
# Quick check: when did this server last install updates?
Get-HotFix | Sort-Object InstalledOn -Descending | Select-Object -First 10

2. Remove SMBv1 and other legacy protocols

SMBv1 is the protocol behind some of the most damaging worms of the last decade. Windows Server 2019 and 2022 don’t install it by default, but domains upgraded from 2012 R2 or earlier often still carry it, and the odd legacy scanner or NAS keeps it alive.

Check whether it’s present, then remove it:

# Is SMBv1 installed?
Get-WindowsOptionalFeature -Online -FeatureName SMB1Protocol

# Remove the SMBv1 feature (reboot required)
Disable-WindowsOptionalFeature -Online -FeatureName SMB1Protocol

A few other legacy items are worth disabling once you’ve confirmed nothing depends on them:

Legacy protocols to retire

SMBv1 Disable the feature entirely; modern clients use SMBv2/3.
NTLMv1 / LM Set LmCompatibilityLevel to refuse LM and NTLMv1; require NTLMv2 at minimum.
LLMNR / NBT-NS Disable via GPO to cut off a common credential-spoofing path.
TLS 1.0 / 1.1 Disable on servers that host services; require TLS 1.2 or higher.

3. Lock down RDP

Remote Desktop is how most admins reach servers, which makes it a top target. The goal is to keep it usable for you and useless to everyone else.

  • Require Network Level Authentication (NLA) so a session needs valid credentials before the full RDP stack is exposed.
  • Restrict who can RDP at all. Limit it to a dedicated admin group, not “Domain Admins logs on everywhere.”
  • Use the host firewall to allow RDP only from specific management hosts or a jump server.
  • Never expose RDP (TCP 3389) to the internet. If remote access is needed, put it behind a VPN or a gateway.
# Require Network Level Authentication for RDP
Set-ItemProperty -Path "HKLM:\System\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" `
  -Name "UserAuthentication" -Value 1

# Restrict RDP firewall rule to a specific management subnet
Set-NetFirewallRule -DisplayGroup "Remote Desktop" -RemoteAddress 10.0.50.0/24

4. Set a sane account lockout and password policy

Lockout policy is your basic defense against password guessing and spraying. The aim is to slow attackers without locking out your own users constantly.

Reasonable account lockout baseline

Account lockout threshold 10 invalid attempts (low enough to stop spraying, high enough to avoid noise)
Lockout duration 15–30 minutes, or admin-reset for higher security
Reset counter after 15 minutes
Minimum password length 14+ characters for users; longer for admin and service accounts

These are set in the Default Domain Policy (or a dedicated GPO) under Account Policies. When accounts do lock out, you’ll want a fast way to find the source — see how to find locked-out user accounts in Active Directory.

5. Enforce least privilege and tiering

This is the control that turns a single compromised machine into a contained incident instead of a domain-wide disaster. The principle is simple: high-privilege credentials should never be exposed on low-trust systems.

Microsoft’s tiered model splits the estate into three layers:

The administrative tier model

Tier 0 Domain controllers, AD, PKI, and anything that controls identity. Most sensitive.
Tier 1 Member servers and the applications/data they host.
Tier 2 User workstations and standard endpoints.

The rule that makes it work: a Tier 0 account (like a domain admin) never logs on to a Tier 1 or Tier 2 machine, because doing so leaves its credentials in memory where an attacker on that lower tier can steal them. Each tier gets its own dedicated admin accounts.

Alongside tiering, apply everyday least-privilege hygiene:

Least-privilege essentials

  • Separate admin accounts from day-to-day user accounts (no email/browsing on admin accounts)
  • Keep Domain Admins and Enterprise Admins as small as possible
  • Use the Protected Users group for sensitive admin accounts
  • Give service accounts only the rights they need; prefer group Managed Service Accounts (gMSA)
  • Remove standing local admin rights on workstations where you can
  • Review privileged group membership on a schedule, not just when something breaks

6. Turn on meaningful audit logging

You can’t respond to what you can’t see. The default logging on Windows is thin, so configure the Advanced Audit Policy through Group Policy and make sure the events that matter are captured.

Key categories to enable on domain controllers:

  • Account Logon (Kerberos and NTLM authentication)
  • Logon/Logoff (interactive and network logons)
  • Account Management (user/group changes)
  • Directory Service Changes (modifications to AD objects)
  • Account Lockout — event ID 4740 lands on the PDC Emulator and tells you which account locked and from where.
# View the current advanced audit policy settings
auditpol /get /category:*

7. Use the host firewall to limit lateral movement

The perimeter firewall does nothing about traffic between two servers inside your network, and that internal traffic is exactly how attackers move from their first foothold to a domain controller. Windows Defender Firewall on each host narrows those paths.

  • Leave the firewall on for all profiles. Don’t disable it “to make things work.”
  • Restrict sensitive inbound ports (RDP 3389, SMB 445, WinRM 5985/5986) to known management subnets or jump hosts.
  • Block server-to-server traffic that has no business reason to exist.
# Make sure the firewall is enabled on every profile
Set-NetFirewallProfile -Profile Domain,Public,Private -Enabled True

# Limit WinRM (remote management) to an admin subnet
Set-NetFirewallRule -Name "WINRM-HTTP-In-TCP" -RemoteAddress 10.0.50.0/24

Hardening checklist summary

Use this as the pass/fail list when you build a new server or review an existing one.

Windows Server hardening checklist

  • OS fully patched, on a tested schedule, with reboots completed
  • SMBv1 removed; NTLMv1/LM, LLMNR, and old TLS disabled after auditing
  • RDP requires NLA, restricted to admin hosts, never internet-facing
  • Account lockout and strong password policy enforced via GPO
  • Tiered admin model: Tier 0 credentials never touch lower tiers
  • Domain Admins/Enterprise Admins kept minimal; LAPS for local admin
  • Advanced audit policy enabled; 4740 and account management logged
  • Security logs forwarded to a central collector / SIEM
  • Defender Firewall on; RDP/SMB/WinRM limited to management subnets
  • Regular system state backups exist and have been test-restored

Wrapping up

Hardening a Windows Server estate isn’t about chasing every obscure registry tweak. It’s about getting the high-impact controls right and keeping them right: patch on a schedule, retire legacy protocols, lock down RDP, separate privilege so one bad workstation doesn’t hand over the domain, log enough to investigate, and use the host firewall to choke off lateral movement.

If you only have time for three things this week, do patching, SMBv1 removal, and tiering of your admin accounts. Pair this with a solid recovery plan — back up and restore Active Directory using system state — so that even a worst-case day has a clear way back.

Frequently asked questions

What is the single most important Windows Server hardening step?

Keeping the OS patched. The majority of real-world domain compromises exploit known vulnerabilities that already had a fix available. Reliable, tested patching of domain controllers and member servers closes more attack paths than any other single control, which is why it sits at the top of every hardening list.

Is SMBv1 still enabled by default on Windows Server?

Not on current builds. Windows Server 2019 and 2022 don't install the SMBv1 client/server by default, but domains upgraded from older versions can still carry it, and some legacy NAS or scanner devices request it. Audit for SMBv1 usage and remove the feature once you confirm nothing depends on it.

Should I allow RDP directly to a domain controller?

Avoid exposing RDP to the open network, and never to the internet. If you need remote management, require Network Level Authentication, restrict it to specific admin jump hosts with the firewall, and ideally use a privileged access workstation. Treat DC console access as your most sensitive entry point.

What is the tiering model in Active Directory?

Tiering separates accounts and systems by privilege level so that credentials for high-value assets never log on to lower-trust machines. Tier 0 is domain controllers and identity systems, Tier 1 is servers and applications, Tier 2 is user workstations. The goal is to stop an attacker who lands on a workstation from harvesting domain admin credentials.

What audit events should I log on a domain controller?

At minimum, enable auditing for logon events, account logon (Kerberos/NTLM), account management changes, directory service changes, and account lockouts (event ID 4740). Configure the advanced audit policy via Group Policy and forward logs to a central collector so they survive a compromise of the server itself.

Do I still need a host firewall if I have a perimeter firewall?

Yes. The perimeter firewall doesn't see traffic between machines inside the network, which is exactly where lateral movement happens. Windows Defender Firewall on each server limits which hosts can reach sensitive ports like RDP and SMB, shrinking the paths an attacker can use after gaining a foothold.

Sources & further reading

Official vendor documentation referenced while writing this guide.

MG

MCSA Guru Team

IT & Systems Administration

We are working IT pros and system administrators who spend our days in Windows Server, Microsoft 365, and the wider Microsoft stack. MCSA Guru is where we write down the fixes and walkthroughs we wish we had found the first time.

MCSA Guru provides independent, educational IT guidance. Microsoft, Windows, Windows Server, Microsoft 365, Exchange, and Microsoft Teams are trademarks of Microsoft Corporation; Docker is a trademark of Docker, Inc. MCSA Guru is not affiliated with or endorsed by Microsoft or Docker. Always test changes in a safe environment before applying them in production.

Related guides

Fixing something right now?

Jump straight into the guide library or search for the exact error or task you are dealing with.