Protected services
A protected service covers up to 16 ports (TCP, UDP or both). Only loopback, the whitelist and active grants are allowed.
Port knocking (SPA)
The safest open port is a closed one. ServerBouncer keeps RDP, SSH, SMB or SQL blocked for everyone and opens them only for devices that identify themselves with a signed packet.
A protected service covers up to 16 ports (TCP, UDP or both). Only loopback, the whitelist and active grants are allowed.
sbc knock <host> <service> sends exactly one UDP packet, signed with the device's Ed25519 key. No administrator rights required.
The grant applies to the source IP and the service, 15 minutes to 12 hours (default 60), and closes automatically or immediately on command.
sbc knock server.example.com rdp. This sends a single UDP packet to the server's SPA port (default 62201).The server never replies to the knock packet, not even on errors. To an attacker the SPA port looks exactly like a closed port. You can tell the grant worked because the RDP connection then succeeds.
serverbouncer.json: Access:SpaEnabled = true, optionally a different port via Access:SpaPort (default 62201).sbc access services set rdp --ports 3389 --protocol both. ServerBouncer first checks whether this would lock you out and warns you if so.Yes, exactly one: the UDP port for SPA (default 62201, configurable). ServerBouncer creates the Windows Firewall rule for it automatically while SPA is running and removes it when SPA is off. All protected services such as RDP stay closed.
If there is another firewall or a NAT router in front of the server (e.g. at your hosting provider or data center), UDP 62201 must be forwarded to the server there – just like RDP is forwarded today.
Why is an open UDP port harmless? The listener first applies a per-sender rate limit, then checks format and signature. It never replies, executes nothing and opens nothing without a valid signature from a registered device. Forged packets are not counted as attacks either, so nobody can get other people's addresses blocked.
The client is the command-line tool sbc.exe that ships with ServerBouncer. knock and device keygen need no administrator rights.
sbc access device keygen laptop-annasbc access device add laptop-anna --public-key <key>sbc knock server.example.com rdp --minutes 30On the server itself it is even shorter: sbc access device add <name> creates the key and registers it in one step.
Today the client is available for Windows only. The packet format is open and documented (UDP, Ed25519-signed, at most 256 bytes); clients for more platforms are on the roadmap:
Until then there are two options for devices without a Windows client: a Windows machine that knocks for you (the grant then applies to its address – useful when both are behind the same connection), or a time-limited grant for your IP address that an administrator creates in the web UI or with sbc access grant rdp <ip>.
sbc access open --local opens all protected services for a limited time (emergency access).Brute-force protection reacts to failed logons. An exploit against RDP needs no logon. If the port is blocked for every address without a grant, the attacker's packet never reaches the service – which is why it is the only defense that also stops unknown exploits.
Starts in learning mode – you first see what would be blocked.