Thousands of login attempts per day
Within hours of going online a server starts receiving login attempts from all over the world. A typical machine with an exposed RDP port logs thousands of failed logons every day.
RDP Protector is server brute-force protection in a small Windows agent paired with a cloud panel. The agent watches failed RDP, FTP and MS SQL logons and permanently bans the attacking network with a single firewall rule - RDP brute-force protection that keeps working even without an internet connection. Setup takes a couple of minutes and needs no configuration.
Free forever for one server - plus 14 days of Pro, no card required.
One brute-force protection agent for every Windows version
One file for everyone, no account needed to download it. Install now and connect the server whenever you like - the agent asks for an enrollment token from your panel, and protects nothing until you paste one.
Windows Server 2016 and newer. The PowerShell script installs the same service and is the practical choice for a fleet.
Bots scan the entire internet address space and try passwords on every reachable server. It does not matter whether it is a corporate machine or a single VPS.
Within hours of going online a server starts receiving login attempts from all over the world. A typical machine with an exposed RDP port logs thousands of failed logons every day.
Every attempt costs CPU time, memory, an event-log write and network traffic. A constant stream of brute-force requests creates permanent background load, slows the server down and bloats the logs.
A single successful guess gives full access to the machine: ransomware, data theft, spam sent from your address. Weak and reused passwords fall to dictionaries within days.
Windows locks an account after too many failed logons. By guessing a valid username an attacker trips that limit and locks out the real administrator - a denial of service, even without ever guessing the password.
The agent notices a series of failed logons and blocks the attacker's whole subnet with one Windows Firewall rule. Blocked packets are dropped before the system spends anything on them - CPU load and log noise go down, the server runs faster, and bots never get enough tries to guess a password.
No config files and no command line: download the installer, run it, confirm the UAC prompt.
Sign up with email or through Google/GitHub. No credit card needed.
You get a personal signed installer with your access token already embedded.
The agent detects the RDP port on its own and adds your current IP to the whitelist so you cannot lock yourself out.
The server shows up online in the panel within seconds and starts blocking attackers with sensible default settings.
Brute-force protection at the core, extended with shared attacker intelligence, geo rules, temporary access and central management.
The agent reads failed logons from the Windows security log, the IIS FTP log and SQL Server's own log, and blocks the attacker locally - instantly, even with no cloud connection.
Attackers rotate addresses within their network. RDP Protector bans the whole subnet, using ASN data, with one consolidated firewall rule.
An attack on one customer protects everyone: subnet reputation is aggregated across the platform and the worst networks are blocked before they reach you.
Allow RDP only from the countries you actually work from. Everything is evaluated locally on the agent, so it stays fast and works offline.
Keep the port closed by default and open it for a specific address after an MFA-confirmed request, with a timer and automatic close.
Trusted addresses and dynamic DNS names are never blocked. In strict mode only whitelisted sources may reach the port at all.
Ban spikes, a server going offline, configuration drift - delivered by email, Telegram, Slack or webhook. Every action is recorded in an audit log.
A single small executable running as a service. A few megabytes of memory, near-zero CPU, every Windows version and architecture.
Server list, policies, version rollback, groups and bulk actions - all from the panel, with no inbound ports opened on your servers.
Guarantees your account is never locked by Windows under brute force: the agent bans attackers before the lockout threshold and auto-unlocks protected accounts (admins + your list). On by default, on every plan.
Agencies manage every client organization from one console and send PDF security reports and invoices under their own brand, not ours.
Free stays free forever, no card required. Every account also gets 14 days of Pro - no card, nothing to cancel.
Basic protection for one server. Free forever, no card.
Full protection for one production server.
For teams and small server fleets.
For agencies and companies managing many servers.
Need one more server than your plan includes? Add servers individually for $3 per server per month instead of jumping a tier.
Sign up and try subnet bans, Telegram alerts, GeoIP and the shared threat database on your own server. When the trial ends your account returns to Free on its own and protection keeps running. Nothing is charged, and there is nothing to cancel.
Fifteen situations in which remote access to a Windows machine stops being a theoretical risk and starts being a daily one. If you recognise your own setup in any of them, the port is already being tried.
The first group is about the machine itself - where it stands, who reaches it and what else listens on it. None of these situations involve a mistake. They are ordinary, sensible ways to run a Windows server, and every one of them puts a login prompt in front of the entire internet.
Port 3389 is reachable from any address in the world, without a VPN in front of it and without a jump host. This is the default for a rented server: the provider hands over a public address, Remote Desktop is how you configure the machine, and the port simply stays where it is once setup is finished.
Scanning the full IPv4 range takes minutes, not days. A newly issued address starts receiving connection attempts within hours of first appearing online - long before the server has a name, a certificate or a single real user. From that moment the machine is answering strangers around the clock.
On a terminal server the remote session is not an administrative convenience - it is the workplace. Ten, fifty or two hundred people sign in every morning, each with their own account, and the list of accounts is exactly as long as the list of usernames an attacker can try.
A terminal server also makes the consequences worse in both directions. A successful guess lands inside a machine that already holds everyone's documents, mail profiles and mapped drives; and a login problem does not inconvenience one administrator, it stops the whole company from starting work.
Small companies frequently run everything on a single machine: the accounting database, the file share, the site, the backups. There is no second server to fail over to and no separate administrator - the same person who signs in to work on it is the one who maintains it.
The provider's own protection does not extend to this. Hosting companies filter volumetric traffic floods, not password guessing: a few attempts a second from constantly rotating addresses look like ordinary traffic from the network's point of view, and the abuse desk will never see them.
The pattern is familiar: an accounting database, a document archive and a shared folder on one Windows server, with remote access enabled so the bookkeeper can close the month from home and the outside accountant can file a return.
Data of this kind is a target in its own right. It is worth encrypting for ransom, it is worth stealing outright, and losing it carries consequences that have nothing to do with IT - an inspection that cannot be answered, a payroll that cannot be run, contracts that cannot be produced. The path to all of it is one password on one login screen.
Windows servers rarely publish one service. An FTP endpoint for exchanging files with contractors, a MS SQL instance a remote application connects to, and Remote Desktop for administration usually live together on the same address.
Each open port is a separate door with its own login prompt, and attackers do not specialise. The same scanning infrastructure tries all three in sequence - and the weakest of them decides the outcome for the whole machine, because whoever gets in through any one of them is standing on the same operating system.
The second group is about who is on the other end of the session. Once legitimate access has to come from anywhere, the login screen cannot be hidden - it has to stay reachable for the people who need it while being useless to everyone else. That tension is where most incidents actually happen.
Hybrid working removed the option of allowing only the office address. People connect from home broadband, from mobile tethering, from an apartment abroad during holidays - addresses that change weekly and cannot be listed in advance.
Home devices also widen the problem beyond the server. A password saved in a personal browser, a machine shared with family, a laptop that has picked up a keylogger - none of it is visible from the server side, and all of it eventually arrives at the same login prompt as a perfectly valid credential.
An accounting firm, a 1C integrator, a website developer, the vendor who installed the till software - each one asked for access, each one got an account, and most of those accounts are still enabled long after the work finished.
You cannot see how those credentials are stored. They may be in a password manager, in a shared spreadsheet, in a chat message, or in the notes of an employee who left that company a year ago. Access granted once tends to outlive both the project and the person it was granted to.
Standard advice - rename the administrator, forbid weak passwords, remove unused logins - runs into service accounts. An account that a scheduled task, a backup job, a till, a scanner or a line-of-business application signs in with cannot simply be changed: something breaks, usually at the worst possible moment, and often nobody remembers what depends on it.
So these accounts stay: predictable names, passwords that have not been rotated in years, and privileges wider than anything a person holds. They are the accounts an attacker tries first, precisely because they are the ones that never change.
Windows can lock an account after a handful of failed attempts. It sounds like protection, and against a targeted attack it is - but a bot that knows real usernames can hold every account in a permanently locked state simply by failing to sign in on purpose.
The result is a denial of service that requires no volume at all: staff cannot work, the administrator cannot get in either, and unlocking accounts by hand becomes a full-time job. Turning lockout off restores access and removes the brake on guessing. Neither setting is the answer, because the real problem is that the attempts reach the machine in the first place.
Most successful intrusions are not clever. Somebody reused a password from a forum, a shop or an old mail account that has since been leaked, and the same string now sits in a dictionary that every scanning bot works through.
Guessing then stops being a matter of probability and becomes a matter of scheduling: the correct password is already on the list, and the only question is when the bot reaches your address. Password rules do not help here, because the password may well satisfy every rule you have written.
The third group is about the consequences that arrive before any breach does. Attempts that never succeed still cost disk, CPU, attention and credibility - and sooner or later somebody outside the IT team asks a question that has to be answered with evidence rather than assurance.
Cyber insurance applications, security questionnaires from corporate clients, and regulatory regimes covering payment or personal data all ask the same thing in different words: what stops repeated password guessing against your remote access, and how do you know it works.
'The password is strong' is not an answer that survives follow-up. What is wanted is a control that exists independently of any one password, and a record showing it was in force throughout the period under review - dates, counts, sources, not an opinion.
Every rejected attempt is written down. On an exposed server that means tens of thousands of security events a day, and the effect compounds: the log rotates so quickly that genuine events age out within hours, and monitoring tools that charge by ingested volume start charging for noise.
The cost is not only storage. Each attempt takes a TCP connection, a TLS negotiation and a credential check, so the machine spends a measurable share of its CPU all day answering people who are never going to be let in. On a small VPS that share is large enough to be felt by the people trying to work on it.
In most small and mid-sized organisations the server is looked after by whoever is most comfortable with computers, in the gaps between their actual job. Nobody reads the security log daily, and nobody will notice a rise in attempts that has been building for a fortnight.
Protection therefore has to work while unattended and has to survive reboots, patch nights and staff changes without anyone remembering it exists. Anything that requires a human to review a list each morning will be reviewed for about a week.
Managed service providers, freelance system administrators and small IT firms carry dozens of Windows machines across different companies, hosting providers and network layouts. Each has its own rules, its own accounts and its own tolerance for downtime.
Configuring each one by hand does not scale, and neither does discovering a problem only when a client telephones. What such an estate needs is one consistent baseline applied everywhere, per-machine exceptions where a client genuinely differs, and a single place where all of them can be seen at once.
Uplinks drop, providers reroute, DNS breaks, and a machine in a remote office can spend hours with no route to anywhere. Attacks do not pause for this; if anything, a network fault is precisely when the server is least observed.
Whatever defends the login prompt therefore has to keep deciding locally, on the machine, with no dependency on reaching an outside service. Anything that stops enforcing when the internet is unavailable is protection only on the days you did not need it.
Free is permanent and needs no card: RDP brute-force protection on one server, blocking of the attacking address, 24 hours of attack history and a whitelist of up to three addresses. It does not expire and it is not a trial. What the paid plans add is the ability to ban the attacker's whole subnet instead of one address at a time, FTP and MS SQL protection, Telegram alerts, GeoIP rules, longer history and the shared threat database.
Every account gets one, with no card and nothing to cancel. It unlocks the full Pro feature set on your own servers. When the 14 days are up the account returns to Free by itself and protection keeps running - subnet bans fall back to blocking single addresses, Telegram alerts switch off and history shortens to 24 hours. Nothing is ever charged automatically.
Add servers individually for $3 per server per month instead of moving up a tier. Extra servers renew on the same cycle as the plan they extend.
Yes. The agent only reads the security log of its own operating system and blocks inbound connections to the protected ports on that same machine. It makes outbound HTTPS requests only and opens no inbound ports.
Yes. The decision to block an attacker is made locally on the agent, so protection keeps working with the last applied policy even when the cloud is unreachable.
The agent detects the actual RDP port automatically from the registry and listening sockets, and rebuilds its rules when the port changes. The FTP port is detected the same way.
No. During installation your current IP address is added to the whitelist, and whitelisted sources always take priority over any block.
Windows Server 2012 R2 through 2025 and Windows 8.1 / 10 / 11, on x64, x86 and ARM64. One binary with no additional runtimes to install.
International payments go through PayPro Global, payments in Russia through YooKassa, with cryptocurrency available as a fallback. The Free plan is permanent and requires no card.
With RDP Protector I install the agent as a Windows service: it reads local authentication events, determines the actual RDP port, and adds source blocking to the Windows Firewall after a threshold of attempts per time window. I whitelist my administrative addresses, check the attack in the panel, and leave the local policy to work even if I lose connection to the cloud.
As a free alternative to RDP Protector, I close RDP from the entire Internet and only allow TCP port from VPN or fixed IPs in Windows Defender Firewall. I enable NLA, MFA via RD Gateway, long unique passwords and auditing of 4625/4624 events; if VPN is not possible, I write a PowerShell task to parse the Event Log and temporary firewall rules, independently controlling the clearing of rules and exceptions.
With RDP Protector I block the source network at the firewall level before it reaches the error limit of a particular account. I add office/VPN subnets to the whitelist, configure the window and threshold based on the observed baseline, enable notifications and check attack history without relaxing the domain blocking policy.
For free, I only publish RDS via RD Gateway or VPN, allow connections from trusted subnets, and enable NLA. I configure reasonable lockout threshold/duration, separate administrative accounts and alert for events 4625 with Logon Type 10; Manual IP blocking is acceptable as a temporary measure, but I document the duration of each rule so as not to accumulate a permanent blacklist.
With RDP Protector I install one lightweight agent that automatically detects the RDP port and applies local Windows Firewall rules. I first add the current address to the whitelist, check access from the backup channel and use free single server protection; if the Internet breaks, the last policy remains on the VPS.
For free, I create a separate WireGuard/Tailscale VPN network and close RDP for the public interface, leaving the hoster's emergency console. I include NLA, updates, a unique account without the standard Administrator name, MFA where available and daily external backup with separate keys; I use port forwarding only to reduce noise, not as protection.
With RDP Protector I cut off repeated failed logins to Windows Firewall, maintain a whitelist of trusted sources, and view attack addresses and times centrally. I consider the agent as an external layer to the account, but separately save least privilege, updates and backups - brute force blocking does not replace data protection after login.
For free, I install RD Gateway/VPN in front of the server, enable NLA and MFA, separate user and administrative accounts, deny local users access to backups, and test recovery. I collect 4624/4625 and changes to administrator groups in Windows Event Forwarding, and close public 3389 with firewall rules.
With RDP Protector, I enable event collection of supported services, allow the agent to determine the actual ports, and apply one local firewall solution to the attacker's network. I make sure the necessary audit logs are enabled, add trusted integrations to the whitelist, and see the associated source history in one pane; Extended FTP and MS SQL protection depends on the selected plan.
For free, I close MS SQL and administrative FTP from the Internet, only allow them through a VPN or IP list, and replace FTP with SFTP whenever possible. I enable SQL Server login auditing, advanced FTP logging, and Windows Event Forwarding, then run a PowerShell task that normalizes the sources and adds temporary Windows Firewall rules with TTL.
With RDP Protector I block sources based on the actual flow of failed inputs, rather than banning all unknown addresses in advance. I add the current administrative IP during installation, maintain a whitelist for VPNs and known networks, apply GeoIP only as an additional rule, and check for blocks in the cloud panel.
For free, I give employees access via WireGuard/Tailscale or RD Gateway with MFA and close public RDP. If this is temporarily impossible, I enable NLA, strong unique passwords, a short session timeout and an alert for 4625/4624 from a new country; I don’t block shared NAT forever, but use temporary firewall rules and an emergency access channel.
With RDP Protector, I leave mass error response enabled for all external networks, add only the controlled VPN to the whitelist, not the home addresses of contractors, and get a history of sources and blocks. I combine this with a separate temporary Windows account: the agent protects the perimeter, and the duration and rights remain in my access policy.
For free, I create a personal VPN profile and Windows account for each contractor with an expiration date, minimum groups and a ban on local login if it is not needed. I enable MFA on the gateway, log 4624/4634/4672, delete the profile after work and do not use a shared account, otherwise investigation and revocation of access becomes impossible.
With RDP Protector I stop the source on a series of errors before it hits the domain lockout threshold or guesses the password. I set a whitelist only for networks where the integration actually works, control attacks in the panel and leave local blocking to act offline; At the same time, I plan to withdraw the outdated account.
For free, I disable this account from RDP via User Rights Assignment if interactive login is not required, and restrict network login to the required hosts. I change the password to a long random secret, put it in storage, enable auditing and firewall allowlist over VPN; if RDP is still needed, I create a separate gateway access with MFA.
With RDP Protector I configure the network blocking threshold below the domain threshold and ban the source in Windows Firewall until the user is blocked again. I use a subnet ban against neighbor address rotation, exclude trusted networks, and track which sources are targeting the account; At the same time, I am not weakening my domain policy.
For free, I close the RDP behind the VPN/RD Gateway, change the publicly known admin name, and separate the work and emergency accounts. I set up an alert for 4740 and 4625, check the Caller Computer Name/IP and temporarily block the source with a PowerShell script; I use a simple increase in the lockout threshold only after risk analysis, because it makes the actual brute-force attack easier.
With RDP Protector I immediately block active sources and subnets according to local policy, check the history of attacks and leave the whitelist only for the controlled channel. I then change the password, end active sessions and analyze successful 4624 Logon Type 10; The product reduces the attack window, but does not cancel the investigation of an existing login.
For free, I temporarily close public RDP with a Windows Firewall rule, reset the password and associated secrets, revoke sessions, and enable MFA via RD Gateway/VPN. I check 4624, 4672, new 7045 services, tasks, users and Defender alerts for the period; After cleaning, I allow RDP only through a secure channel and prohibit reused passwords.
With RDP Protector I upload the history of detected attacks and applied blocking, attach threshold/window parameters, a list of protected ports and approved exceptions. I document the agent's local behavior when the cloud is lost, the outgoing HTTPS connection and the missing incoming control port, then run a controlled test and save the event, firewall rule, and notification.
For free, I create an RDP policy via VPN/RD Gateway, export GPO, Windows Firewall rules and log 4625/4624 to secure storage. I store changes in a change log, test blocking and MFA monthly, sign the report with the person responsible, and compare a sample of successful logins with a list of employees; a proof is created by a repeatable procedure.
With RDP Protector, I allow the agent to recognize a series of failed logins and block the Windows Firewall source, after which new connections fail to authenticate and stop generating the same volume of events. I check the log size and retention separately, and use the attack history as a compact index to the original events.
For free, I restrict access to ports via VPN/allowlist, increase the Security log size and enable archiving instead of rewriting. I forward 4625/4624 to Windows Event Collector or SIEM, filter the required Logon Types and trigger a temporary block on the threshold; I don’t disable auditing, because after a successful login it remains the main source of facts.
With RDP Protector, I set a local automatic blocking threshold so the agent applies the Windows Firewall rule without human intervention or waiting for a cloud command. I send notifications to the right channel, check the history and exceptions in the morning, and to risk self-blocking, I save the emergency console and whitelist in advance.
For free, I install RDP behind a constantly running VPN, configure Scheduled Task PowerShell based on events 4625 and send mail/webhook through my own server. I use temporary rules with an expiration date, test the task with a test attack, and document emergency access; I handle the script, logs and delivery of notifications myself.
With RDP Protector I connect each server as an agent, see its actual ports and status from one panel, but keep separate policies and whitelist where they differ. I apply a baseline threshold, document exceptions, distribute notifications, and use the history on each host to report to the customer.
For free, I store the Windows Firewall/GPO configuration in separate per-client Ansible inventories or PowerShell DSC configurations, deploy the base template via CI and do not mix secrets and tenant address lists. I centralize events via WEF/WEC or free Wazuh, set client tags and check for deviations with a script; I support the infrastructure and updates myself.
With RDP Protector I apply the policy directly on the agent: it continues to read local events and change the Windows Firewall to the latest configuration, even when the panel is unavailable. I synchronize the whitelist and thresholds in advance, after the connection is restored, I check the report and do not tie the decision about each login to the remote API.
For free, I completely localize control: Windows Firewall allows RDP only from VPN/required subnets, and Scheduled Task analyzes Event Log and creates temporary rules without a network. I store the configuration and logs on the server, set up a notification queue after the link is restored, and make sure that a DNS or cloud failure does not remove any bans already applied.
The Free plan stays free forever. Upgrade in one click whenever you need more.
Contact details for Recovery Toolbox and File Master LLC, plus the profile of Victor G. Bobrov, the company's leading software development specialist and file recovery expert.
File Master LLC is the legal entity behind the Recovery Toolbox online services and software products.
File Master LLC develops and supports Recovery Toolbox online services and software products for repairing damaged files, databases and mail storage formats. The company focuses on practical recovery tools for users, IT specialists and businesses that need to restore access to corrupted data.
Comments and suggestions are welcome. Please send website feedback by email: webmaster@recoverytoolbox.com

Leading Software Development Specialist and File Recovery Expert
Victor G. Bobrov works with Recovery Toolbox / File Master LLC on file structure analysis, damaged file recovery, database recovery and online repair services.
About the author →Microsoft Certified Solutions Developer - MCSD. Microsoft Certified Database Administrator - MCDBA.