01
Read the scenario and identify the server's job
Before changing anything, determine what the server is supposed to provide.
Verify
You should be able to explain the server's purpose in one sentence before continuing.
Windows Server · Lesson 01
Secure Windows Server by identifying its job first, mapping its dependencies, hardening carefully, and proving that every required role still works after your changes.
A server is valuable because other systems depend on it. The safest competition workflow protects that dependency while reducing unnecessary privilege, exposure, software, and persistence.
Lesson Snapshot
Learning objectives
Explain why Windows Server must be hardened according to its assigned role rather than like a normal workstation.
Identify required server roles, services, users, shares, remote-management paths, and network dependencies before making changes.
Build a safe baseline using Server Manager, Services, Windows Security, Event Viewer, PowerShell, and role-specific consoles.
Prioritize changes by security impact, dependency risk, and scenario requirements.
Apply small defensive changes while preserving authentication, name resolution, address assignment, file access, and remote administration.
Verify the server from both the administrator and client perspective after meaningful changes.
Core idea
A domain controller, DNS server, DHCP server, and file server all expose different services because they perform different jobs. Security decisions must preserve those jobs.
Competition boundary
Do not disable a role, service, account, port, or feature simply because a checklist says it is usually unnecessary.
Scenario questions
Is this server a domain controller, DNS server, DHCP server, file server, application server, or a combination?
Which roles are explicitly required by the scenario?
Which clients or users depend on this server?
Does the server host Active Directory Domain Services?
Does it provide DNS or DHCP to the network?
Are SMB shares required?
Is RDP or WinRM required for administration?
Are there required applications or third-party services?
Which accounts are administrators, service accounts, or ordinary users?
Which changes could interrupt authentication, networking, file access, or remote administration?
Tool map
Start → Server ManagerInstalled roles and features, server health, services, local server configuration, and role-specific management links.
Win + R → compmgmt.mscLocal users and groups, shared folders, Event Viewer, Task Scheduler, devices, storage, and service-related context.
Win + R → services.mscRequired service state, startup type, dependencies, and whether a role relies on the service.
Win + R → eventvwr.mscSystem, Security, Application, and role-specific events that help explain failures or suspicious activity.
Win + R → wf.mscFirewall profiles, inbound and outbound rules, allowed programs, role-specific ports, and remote scope.
Start → Windows SecurityMicrosoft Defender Antivirus state, threat history, protection settings, and security intelligence.
Start → search PowerShell → Run as administrator when requiredFast read-only inventory, role/service checks, firewall review, event queries, share review, and verification.
Competition workflow
01
Before changing anything, determine what the server is supposed to provide.
Verify
You should be able to explain the server's purpose in one sentence before continuing.
02
Record what exists before hardening so later changes can be compared against the original state.
Verify
Your notes should identify the major roles, security controls, users, services, and dependencies.
03
Fix the weaknesses that matter most while avoiding changes that could break critical roles.
Verify
Every planned change should have a clear security reason and a known verification method.
04
Small controlled changes make troubleshooting and rollback easier.
Verify
After each important change, confirm the affected role or service still functions.
05
A server can look healthy locally while clients are unable to use its services.
Verify
Required functions should work end to end, not just appear enabled in the local console.
Baseline inventory
What is the computer name?
Is the server domain-joined?
Is it a domain controller?
What Windows Server version and edition is installed?
Which roles are installed?
Which features are installed?
Which roles are explicitly required?
Which roles are unknown and need investigation?
Which local users exist?
Who belongs to Administrators?
Are there domain administrators or delegated groups?
Do any services run under named user accounts?
Does the server provide DNS?
Does it provide DHCP?
Are SMB shares required?
Are RDP or WinRM required?
Is Defender healthy?
Are firewall profiles enabled?
Are broad exclusions present?
Are updates pending?
Are there unusual scheduled tasks?
Are there unusual automatic services?
Are there suspicious startup entries?
Do logs or Defender history contain forensic clues?
Read-only PowerShell baseline
Get-ComputerInfo | Select-Object CsName, WindowsProductName, WindowsVersion, OsArchitectureProvides a quick overview of the server name and Windows version.
Get-WindowsFeature | Where-Object {$_.Installed -eq $true}Shows installed Windows Server roles and features when the ServerManager module is available.
Get-LocalGroupMember -Group "Administrators"Reviews privileged local membership on systems where local accounts are applicable.
Get-Service | Sort-Object Status, DisplayNameProvides a read-only view of service state.
Get-CimInstance Win32_Service | Select-Object Name, State, StartMode, StartName, PathNameAdds startup mode, service account, and executable path for dependency review.
Get-NetFirewallProfile | Select-Object Name, Enabled, DefaultInboundAction, DefaultOutboundActionReviews the current firewall profile state.
Get-MpComputerStatusReviews Microsoft Defender Antivirus health where Defender is installed and active.
Get-SmbShare | Select-Object Name, Path, Description, SpecialShows local SMB shares for file-service review.
Get-ScheduledTask | Select-Object TaskPath, TaskName, StateBuilds a broad inventory of scheduled tasks without changing them.
Get-WinEvent -LogName System -MaxEvents 30 | Select-Object TimeCreated, Id, LevelDisplayName, ProviderName, MessageProvides recent system health and service evidence.
Prioritization
Unauthorized administrative access
Defender or firewall disabled without scenario justification
Obvious unwanted remote-access software
Known suspicious persistence
Broadly exposed required services
Unknown service
Unknown scheduled task
Unfamiliar domain or local account
Unrecognized firewall rule
Installed role not mentioned in the scenario
Active Directory Domain Services
DNS
DHCP
Required SMB shares
Required RDP or WinRM
Large feature upgrades
Broad policy rewrites
Mass service disable scripts
Unverified ownership resets
Major configuration changes with no test plan
Dependency awareness
Depends on: DNS, authentication services, directory database, domain controller services, time consistency, and network connectivity.
Risk: Disabling an unfamiliar service on a domain controller can interrupt domain logon or directory operations.
Depends on: DNS Server service, zone configuration, network access, firewall rules, and correct records.
Risk: A firewall or service change may break name resolution even though the server itself is still reachable.
Depends on: DHCP Server service, scope configuration, authorization when applicable, network access, and firewall rules.
Risk: Clients may lose address assignment after a service or firewall change.
Depends on: Server service, SMB, share permissions, NTFS permissions, user/group identity, storage availability, and firewall rules.
Risk: A permission or firewall change can break access while the folder still appears healthy locally.
Depends on: Authorized users, user rights, Remote Desktop Services or WinRM, firewall, network reachability, and authentication.
Risk: Hardening too aggressively can lock the team out of the server.
Verification matrix
Use an authorized client or test account to confirm domain authentication works when AD DS is required.
Resolve required names from a client and confirm the server returns expected results.
Confirm a client can obtain or renew an address when DHCP is required.
Confirm authorized users can access the required share and unauthorized users cannot.
Confirm the authorized administrator can connect through the intended path when RDP is required.
Confirm protection is healthy and required applications still function.
Confirm profiles and intended rules remain active while required server roles are reachable.
Confirm every required role-related service changed during hardening is running as expected.
Launch or test required server applications after related account, firewall, or service changes.
Review recent System, Application, Security, and role-specific logs for new errors caused by your changes.
First fifteen minutes
Read the entire scenario before opening administrative consoles.
Identify the server's required role or roles.
Record whether the server is a domain controller.
Open Server Manager and inventory installed roles/features.
Record required users, administrators, shares, and remote-management paths.
Check Defender status.
Check firewall profile state.
Check recent Windows Update status.
Review Administrators and other privileged groups.
Review required services.
Review SMB shares.
Review scheduled tasks and obvious startup persistence.
Look at recent System and Security events for major warnings or clues.
Preserve forensic evidence before cleanup.
Create a prioritized change list with a verification plan.
Decision cases
An automatic service has an unfamiliar name and runs under a privileged account.
The path and service account make it worth investigating, but domain controllers contain many specialized services.
Response
Inspect the executable path, vendor, dependencies, events, installed software, and scenario role before changing it.
A required DNS service is allowed inbound on more profiles or networks than necessary.
The service may be required while the exposure is excessive.
Response
Narrow the rule only after confirming which clients must reach the service, then test DNS resolution from an authorized client.
An account appears in Administrators but is not listed in the scenario.
The privilege is high-risk, but the account may support a required service or application.
Response
Inspect the account, service dependencies, logon evidence, and scenario authorization before removing privilege or disabling it.
The server has installed updates and reports that a restart is required.
A restart may be necessary but can interrupt domain, DNS, DHCP, file, or application services.
Response
Coordinate the restart, preserve notes, verify the server returns cleanly, then test every required role afterward.
Fictional defensive lab
Step 01
DC-PRACTICE is a domain controller that also provides DNS. Morgan is the authorized administrator. RDP is required for Morgan, and the TeamDocs share must remain available.
Step 02
Mark Active Directory, DNS, authentication, the TeamDocs share, network connectivity, and Morgan's remote administration as required.
Step 03
Use Server Manager, Services, Windows Security, Firewall, Event Viewer, and read-only PowerShell commands to record the current state.
Step 04
An unknown privileged scheduled task, one unexplained administrator, and a broad firewall rule become Investigate items before changes are made.
Step 05
Document task properties, account evidence, and firewall scope before applying narrow, justified remediation.
Step 06
Confirm domain authentication, DNS resolution, TeamDocs access, Morgan's RDP access, Defender, firewall, services, and event logs.
Common mistakes
A server's roles and dependencies make many apparently simple changes much higher impact.
Unknown does not mean unnecessary. Server roles often rely on services students have never seen before.
Installed roles may be required by the scenario or by another role.
Local policy may not control the effective setting on a domain-managed system.
Changing user rights, firewall rules, services, or RDP settings without verification can cut off authorized access.
A role can appear healthy locally while clients cannot authenticate, resolve names, receive addresses, or access shares.
Reflection
Question 1
Why should the server's role be identified before any hardening begins?
Question 2
Why can an unfamiliar service be more dangerous to disable on a server than on a workstation?
Question 3
What information should a baseline include?
Question 4
Why should a required server role be verified from a client instead of only from the server console?
Question 5
What kinds of findings belong in Investigate instead of Fix immediately?
Question 6
Why is preserving remote administrative access part of secure server hardening?
Competition checklist
Scenario read completely.
Required server roles identified.
Domain-controller status identified.
Installed roles and features inventoried.
Local and domain privilege reviewed at the appropriate scope.
Required services identified.
Defender health checked.
Firewall profiles and required role rules checked.
Update and restart state checked.
Required shares inventoried.
RDP or WinRM requirements recorded.
Scheduled tasks and persistence reviewed.
Recent event logs reviewed.
Forensic evidence preserved before remediation.
High-impact findings prioritized.
Every planned change has a verification method.
Required roles tested from the client perspective.
Next Windows Server lesson
Next, learn how to use Server Manager and supporting tools to identify installed roles, features, services, dependencies, and the server's real responsibilities before hardening.