How RDP Shield stops brute-force attacks — Features & Setup
Key protection features
- Failed-attempt tracking: monitors Windows RDP login failures and records source IPs.
- Automatic IP banning (jail): blocks IPs that exceed a configurable failed-attempt threshold for a configurable time.
- Persistent logging/database: stores bans and events (e.g., Jail.db / logs) so blocks persist across restarts.
- Service-based runtime: runs as a Windows service to provide continuous ⁄7 protection.
- Simple configuration: settings available in a JSON/config file or installer scripts (threshold, block duration, monitored ports).
- Installation scripts & service manager: includes Install/Start/Stop/Uninstall scripts and uses NSSM or similar to run as a service.
- Lightweight footprint: minimal dependencies (.NET/runtime) and low resource use.
How it works (flow)
- Monitor Windows Security event log (and/or network/traffic) for failed RDP logins.
- Map failed-login events to a source IP.
- Increment a counter for that IP; when the counter exceeds the configured threshold within the time window, add the IP to the block list (“jail”).
- Enforce block (Windows firewall rule or drop connections) for the configured ban duration; log the action.
- Optionally persist the ban and logs to local DB so bans survive restarts.
Basic setup (assumes default Windows server)
- Download the RdpShield package or installer (run as Administrator).
- Run the installer; it copies files to C:\Program Files\RdpShield and runs Install.bat.
- Edit appsettings.json (or config file) to set:
- maxFailedAttempts (e.g., 5)
- timeWindowMinutes (e.g., 5)
- banDurationMinutes (e.g., 60 or permanent)
- portsToMonitor (RDP default 3389 or custom port)
- Start the service (Start.bat or via Services.msc).
- Verify operation by checking logs (logs.txt, Jail-log.db) and ensuring banned IPs appear in the database and are blocked.
Deployment tips (practical hardening)
- Use a low failed-attempt threshold (3–5) and progressive ban durations.
- Restrict RDP to known IPs in firewall where possible (whitelist trusted ranges).
- Combine with VPN or MFA for stronger protection.
- Regularly review logs and unblock legitimate admins if needed.
- Keep the tool and Windows updated; verify compatibility with your Windows version.
If you want, I can produce a ready-to-use appsettings.json example and Install/Start command list tailored to Windows Server 2019.
Leave a Reply