A Windows VPS is reachable from anywhere by design, which makes Remote Desktop a frequent target for password guessing and opportunistic scans. Secure administration depends on layered controls: recovery access, Network Level Authentication, narrow firewall scope, protected administrator accounts, current patches, endpoint protection, a private management path, and tested backups.
This checklist applies to supported Windows Server releases used as standalone or member servers. Domain controllers and Remote Desktop Services farms need role-specific policy, credential, and recovery design. Before changing remote access, confirm that you have an independent provider console or another tested way back into the server.
Establish Recovery Access Before Hardening RDP
A firewall or registry mistake can end the current RDP session and lock out every remote administrator. Open the provider console first, verify that it works without RDP, and record the current listener, firewall, and network settings. If the VPS hosts a production workload, also identify the maintenance window and rollback owner.
- Confirm console or out-of-band access from a second device.
- Take a provider snapshot if its consistency and restore process are understood.
- Export the RDP registry key before editing it.
- Keep the current session open while testing a new session through the intended route.
- Do not remove the old firewall rule until the new path is independently proven.
Microsoft warns that incorrect registry edits can damage the system. A snapshot is useful rollback evidence, but it is not a substitute for a separate backup of application data and configuration.
Change the Remote Desktop Listening Port Safely

RDP listens on TCP and UDP port 3389 by default. Moving it can reduce routine scans aimed only at the default port, but it does not hide the service from a full port scan and does not replace authentication, firewall restrictions, or a VPN.
Microsoft’s current Remote Desktop listening-port guide documents the PortNumber registry value and requires a matching firewall change. Choose an unused port allowed by your network policy, create narrow TCP and UDP rules first, then change the listener and restart the computer from the provider console.
$port = 53189 $trustedRemote = "YOUR-ADMIN-IP-OR-VPN-SUBNET" Get-NetTCPConnection -LocalPort $port -ErrorAction SilentlyContinue New-NetFirewallRule -DisplayName "RDP custom port TCP" ` -Direction Inbound -Action Allow -Protocol TCP ` -LocalPort $port -RemoteAddress $trustedRemote New-NetFirewallRule -DisplayName "RDP custom port UDP" ` -Direction Inbound -Action Allow -Protocol UDP ` -LocalPort $port -RemoteAddress $trustedRemote Set-ItemProperty ` -Path "HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" ` -Name PortNumber -Value $port
Replace the placeholder with an exact address or subnet you control. After the restart, connect with hostname:port, verify both the new listener and a new RDP session, and only then disable obsolete broad rules for port 3389.
Require NLA and Restrict the Firewall Scope
Network Level Authentication requires the client to authenticate before Windows creates a full remote session. Microsoft exposes the policy at Computer Configuration → Administrative Templates → Windows Components → Remote Desktop Services → Remote Desktop Session Host → Security. Enable Require user authentication for remote connections by using Network Level Authentication, then confirm the effective policy.
Get-ItemProperty ` -Path "HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" ` -Name UserAuthentication Get-NetFirewallRule -Enabled True | Where-Object DisplayName -Like "*RDP*" | ` Get-NetFirewallAddressFilter | Select-Object RemoteAddress
A UserAuthentication value of 1 indicates NLA at the listener. The firewall review should show only the real management addresses or the VPN subnet. Avoid Any or 0.0.0.0/0 for public RDP. If administrators have changing residential addresses, a VPN or zero-trust access gateway is more maintainable than repeatedly widening the rule.
Protect Administrator Accounts and Lockout Policy

Create a named administrative account, test its RDP and elevation path, and keep daily work on a standard account wherever practical. Microsoft’s local-account security guidance recommends disabling the built-in Administrator account when possible and limiting membership in the Administrators group. Renaming alone is weak because the account retains its well-known security identifier.
Do not disable the last working administrator or a required disaster-recovery account. Domain controllers need different recovery planning. For standalone and member servers, verify the replacement account, provider console, and recovery procedure first.
Configure account lockout through local or domain policy at Security Settings → Account Policies → Account Lockout Policy. Microsoft’s security baseline uses 10 invalid sign-in attempts as a reasonable starting point, but the final threshold, duration, and reset window must reflect your denial-of-service risk and support model. A lockout rule slows guessing; it does not replace long unique passwords, multifactor authentication where available, or a private RDP path.
net accounts Get-LocalGroupMember -Group Administrators Get-LocalUser | Select-Object Name, Enabled, LastLogon
Keep Windows and Microsoft Defender Current
Patch the supported Windows Server release, installed roles, management tools, and third-party software. Use Windows Update, WSUS, Azure Update Manager, or another controlled service that reports deployment and restart state. Do not enable an automatic reboot without confirming workload availability and a maintenance window.
Microsoft notes that Windows Update must remain available for regular Defender security-intelligence updates unless another approved update source supplies them. Verify Defender’s service, engine, signatures, and real-time protection instead of assuming the interface state is current.
Get-Service -Name WinDefend Get-MpComputerStatus | Select-Object ` AMServiceEnabled, AntivirusEnabled, RealTimeProtectionEnabled, ` AntivirusSignatureLastUpdated Get-MpPreference | Select-Object ` ScanScheduleDay, ScanScheduleTime, SignatureUpdateInterval
Use Microsoft’s Windows Server Defender guidance and the native Set-MpPreference controls if a scheduled scan or signature-update cadence is required. Schedule resource-intensive scans for a measured low-load window and monitor whether they complete.
Back Up the Server and Test a Restore

Define the recovery point objective, recovery time objective, protected volumes, retention, encryption, and restore owner. Keep at least one backup outside the VPS and outside the credentials normally used to administer it. Provider snapshots are useful for short rollback windows, but they should not be the only copy of irreplaceable data.
Windows Server Backup can schedule backups with wbadmin. Microsoft warns that repeatedly using the same remote shared folder for the same computer can overwrite the prior backup, so design unique destinations and retention deliberately. After each configuration change, verify recoverable versions and perform a real file or system restore in an isolated test environment.
wbadmin get status wbadmin get versions
HostStage’s Windows VPS page describes provider backups and control-panel snapshots. Treat those as one layer and confirm their scope and retention for your plan. Maintain an application-aware backup whenever the workload needs consistency beyond a volume snapshot.
Place RDP Behind a VPN When Possible
The strongest practical network reduction is to remove public RDP exposure and accept it only from a private management network. WireGuard publishes a Windows installer for Windows Server 2016 through 2025. Build and test the VPN while the provider console remains available, then scope the RDP firewall rule to the tunnel subnet and remove the public allow rule.
- Generate keys on trusted endpoints and protect every private key.
- Route only the management subnet required for administration.
- Limit the server peer to the exact client addresses it should accept.
- Keep the VPN listener’s firewall rule separate from the RDP rule.
- Test reconnect behavior after a client restart and after a server reboot.
If a team needs centralized policy, device posture, and identity-based access, use a managed access gateway rather than sharing one VPN profile. For a broader comparison of remote Windows infrastructure, see HostStage’s guide to dedicated Windows server hosting.
Verify Exposure, Logging, and Recovery

Test from both an allowed management path and a network that should be denied. From a system you own or are authorized to scan, verify the expected ports. Nmap’s -Pn option skips host discovery, while -p limits the scan to the listed ports.
nmap -Pn -p 3389,53189 server.example.com
The public test should show RDP as closed or filtered when a VPN-only design is complete. The permitted VPN test should reach only the intended listener. Also review successful and failed sign-ins in Event Viewer, confirm Defender and update health, verify the latest backup, and complete a restore test. Re-run this check after firewall, VPN, account, or network changes.
If you need a Windows VPS with included licensing, full administrator access, and Remote Desktop, compare the current HostStage Windows VPS plans against your measured CPU, memory, storage, backup, and region requirements. Hosting features do not replace operating-system hardening; the administrator still owns access policy, patching, workload backups, and verification.
FAQ
Does changing the RDP port secure a Windows VPS?
No. It can reduce automated traffic aimed only at port 3389, but any full scan can find the listener. Use NLA, narrow firewall rules, protected accounts, updates, and preferably a private management path.
Should RDP be open to every IP address?
No. Limit it to exact management addresses or a VPN subnet. If administrator addresses change often, use a managed gateway or VPN instead of widening the public rule.
Is a provider snapshot enough backup protection?
Usually not. Confirm what the snapshot includes, how long it is retained, and how it is restored. Keep a separate application-aware copy when the workload requires consistent databases, configuration, or uploaded data.
Can the built-in Administrator account always be disabled?
Not without planning. First create and test another administrative path and confirm recovery access. Domain controllers and disaster-recovery designs have additional requirements, so apply role-specific Microsoft guidance.
How often should this hardening be reviewed?
Review it after any network, account, VPN, firewall, or major Windows change and on a regular operational cadence. Evidence should include effective policy, external exposure, successful updates, current Defender status, and a tested restore.
