FreshScanSentry Free vulnerability scanning for your network & web apps Run a free scan

High risk Port 3389 · Remote Desktop (RDP)

Port 3389 is open: what it means and how to fix it

Short answer: port 3389 is Windows Remote Desktop. If a scan from the internet finds it open, anyone in the world can try to log in to that computer. Automated tools try thousands of passwords a day against exposed Remote Desktop, and ransomware groups use it as one of their main ways in.

The fix: close it to the internet. If people need remote access, put Remote Desktop behind a VPN or a Remote Desktop Gateway with multi-factor authentication.

What is port 3389?

Port 3389 is the network port used by the Remote Desktop Protocol (RDP). RDP lets someone see and control a Windows computer or server as if they were sitting in front of it. It is built into Windows, which is why it shows up so often on small business networks: someone turned it on so they could work from home, or so an IT provider could help remotely, and a router rule made it reachable from outside.

Being open inside your office network is normal. The problem is when it answers from the public internet, which is what an external scan like FreshScanSentry's checks.

Why an open port 3389 is high risk

How it looks in your report your-office-ip
  1. 3389 Remote Desktop Reachable from the whole internet High
Any High finding caps your exposure grade at D

How to confirm it is really open

The test has to come from outside your network. Testing from a computer in the office only shows what's open on the office network.

  1. Run a free external scan. A FreshScanSentry Basic Scan of your public IP address or domain checks it from the internet and tells you which service is answering.
  2. Or use Nmap from another connection, such as a phone hotspot, against your public IP address:
    nmap -p 3389 -sV your-public-ip
    open with the service ms-wbt-server means Remote Desktop is reachable. To see whether it requires Network Level Authentication:
    nmap -p 3389 --script rdp-enum-encryption your-public-ip
  3. Find out which machine it points to. Log in to your router or firewall and look for a port forwarding (NAT) rule for 3389, or any rule that forwards another outside port to 3389 on an inside computer. In the cloud (Azure, AWS), look for a security group or network rule that allows 3389 from 0.0.0.0/0 or "Any".

Only scan addresses you own or have written permission to test.

How to fix it

Work down this list. Most small businesses can stop after step 1 or step 2.

1. If nobody needs remote access: close it

2. If people do need remote access: put it behind something

3. Harden Remote Desktop itself

These don't replace step 2, but they reduce the damage if something gets through.

4. Re-scan to confirm

Run another external scan after the change. Port 3389 should no longer appear, and your exposure grade should go up.

What doesn't work

If you think someone already got in

Signs include unknown user accounts, logins at odd hours in the Windows Security event log (event ID 4624 with logon type 10 means a Remote Desktop login), new software you didn't install, or antivirus that has been turned off. Disconnect the machine from the network and contact an incident response provider before changing anything else, so evidence isn't lost.

Common questions

Is it ever fine to leave 3389 open?

Not to the whole internet. Allowing it only from one fixed, trusted IP address is acceptable for some setups, but a VPN or gateway is safer and easier to keep right.

My IT provider says they need it open.

Ask them to use a VPN, a Remote Desktop Gateway, or their remote support tool instead. Most managed service providers already have one of these.

The scan found 3389 but we don't use Remote Desktop.

Then something is forwarding that port, or a computer has RDP turned on without anyone knowing. Follow "How to confirm" above to find which machine it points to, then close it.

Sources: CISA #StopRansomware · CISA and FBI advisory on Royal ransomware (AA23-061A) · NVD: CVE-2019-0708 (BlueKeep) · Nmap rdp-enum-encryption