All resources
// Resources

Windows Server Hardening Baseline for Security Reviews

Published July 28, 2026

A Windows hardening baseline is a versioned, testable configuration target. It is not a screenshot of a group policy editor and it is not proof that every server is secure. It establishes expected settings, records actual effective settings, and makes deviations visible until remediated or explicitly accepted. Use supported vendor guidance and an organisation-approved baseline version; do not apply a copied template without testing workload impact.

Build a baseline that can be measured

Assign each baseline a name, version, Windows release scope, owner, approval date, source guidance, and review date. Break it into controls with an expected value and evidence command or export. Typical review areas include supported patch level, local administrator membership, password and lockout policy, Defender or endpoint protection state, firewall profiles, unnecessary roles and features, RDP and WinRM exposure, SMB configuration, TLS settings, event forwarding, audit policy, and service accounts.

State applicability. A domain controller, SQL Server, file server, and application host may share controls but not every configuration. An inapplicable control needs a documented reason; “not checked” is not inapplicable. Build from effective configuration: resultant GPO, device management policy, local policy, registry, service state, firewall rules, and installed roles. Compare the export with baseline version, then preserve hash and collection time.

Treat variance as work

A variance log must identify host or asset group, control ID, expected value, actual value, impact, service owner, remediation owner, target date, evidence, status, and exception expiry. Severity should consider exposure and dependency, not only a setting name. A server with RDP broadly reachable carries different risk than a restricted management host.

Example: baseline requires inbound RDP only from a named management range. APP-17 permits any source because of a temporary vendor request. Mark fail. Remediation might restrict source addresses and use a time-bounded support path. If service owner accepts temporary exposure, exception includes business reason, approver, compensating monitoring, and expiry. Once expiry passes, the variance returns to fail automatically.

Verify controls safely

Use a representative pilot group before broad enforcement. For remote management, test approved PAW or jump-host connection succeeds, then test a non-approved source is denied. For audit policy, generate a benign test event and verify it reaches the stated collector. For disabled features, confirm required application health checks still pass. Do not use production-impacting tests without authorised change control.

A completed evidence row should distinguish compliance from availability:

ControlEvidence and testResultFollow-up
Firewall inbound managementapproved source connects; other source deniedPassRecheck after rule change
Local Administratorsmembership export contains only named groupsPassMonthly review
SMB signingeffective policy absent on FS-02FailSet policy; retest
Patch levelvendor application blocks updateExceptionOwner, mitigation, expiry recorded

“Pass” means evidence matches expected behaviour at collection time. It does not guarantee future state. Schedule collection after policy, image, and major application changes; compare drift to prior export. A remediation is complete only after a new effective export and relevant functional retest show intended state.

Govern baseline changes

Baseline changes need version control and a rollback decision. Record why a setting changed, which asset classes are affected, pilot results, approver, and deployment sequence. A failed pilot is evidence to refine applicability, not reason to silently weaken every host. Compare variance trends by baseline version so a new policy does not hide old debt. Reviewers need both current compliance export and previous approved version to judge whether a difference is intended. This discipline keeps hardening aligned with service operation while preserving accountable remediation for deviations.

Collection quality

Evidence collection should identify collector account, host time, baseline version, and method. A local export gathered with excessive privilege can mask a policy problem, so compare it with central management evidence where available. Protect collected exports because they reveal service names, memberships, and configuration detail. Define retention and reviewer access before collection. If a setting cannot be measured reliably, mark control design incomplete and create an action to improve collection; do not declare compliance from assumed policy assignment.

Bind controls to effective-policy evidence

Assign stable IDs such as WIN-BL-001 for firewall scope, WIN-BL-014 for local Administrators, WIN-BL-027 for SMB signing, and WIN-BL-041 for audit forwarding. Collect gpresult /h gpresult.html and Get-GPResultantSetOfPolicy -ReportType Html -Path rsop.html from the target context, then pair those exports with auditpol /get /category:*, Get-NetFirewallProfile, and the relevant Windows event record. For example, validate an account-management audit control with Security Event ID 4728 or 4732 after an approved test change, then retain the event query and collector receipt. Policy assignment alone is not result evidence; control ID, effective value, host, timestamp, collector, and functional deny or allow test must agree.

Sources

Have a system that needs testing?