For as long as I remember, I have used Windows Remote Desktop over my local LAN to operate my computers.
I never connect to any of my computers directly from outside of my LAN. So I have never allowed access to port 3389 from the outside.
MY OS edition is Windows 10 Pro.
I recently got the scare of my life - for the second time - when I noticed that my port 3389 had been visible to the outside and the firewall log was completely filled with hacking attempts to that port. (Windows Firewall log showing “ALLOW TCP … RECEIVE” where it should say DROP TCP.)
Turns out, since recent times, Windows during upgrade automatically removes my firewall restrictions (192.168.137.0/24) from this port, making it vulnerable to hacking. (GRRRR!)
AFAICT, the hacking attempts failed.
This time.
BUT, how close was I to disaster?
I initially thought only brute force guessing of my password had saved me from catastrophe.
But then I realized, they would also have to guess my user name. Is this true? Or can you log in to RDP with some generic user name that exists on Windows by default? (e.g. “Administrator” or the like. I haven’t made any other accounts myself. I don’t see any other accounts listed in the control panel. I don’t see any users listed at all under “Select users that can remotely access this PC”.)
And then there is “Network Level Authentication”, which of course, I have enabled. What does this do, exactly? Any good in preventing strangers from logging in? When I do need to RDP from the outside, I set up an elaborate SSH tunnel on port 3389 and that works. Where does NLA come into the picture?
Is there any trick to force Windows to KEEP MY FIREWALL RULES when it upgrades?