FireSight OT OT remote access
Sign-in protection and fail2ban
New in FireSight OT 0.4.0 (in beta). This is also section 7 of Install and upgrade FireSight OT.
Addresses that keep failing to sign in are blocked at two levels.
In the Hub (console)
Security & settings → Sign-in protection (administrators):
- What counts: failed sign-ins from the console (passwords and two-factor codes), single sign-on, API tokens, and the backup SFTP/S3 accounts.
- Default: 5 failures within 10 minutes block the address from the console and API for 30 minutes, twice as long each further time that day (up to 24 hours). The person sees until when.
- Never block: list your office or VPN addresses (e.g.
203.0.113.0/24). - Blocked now: each blocked address with an Unblock button; you can also block an address by hand for an hour, a day or a week.
- Off: untick Block addresses after repeated failed sign-ins.
Cloud Connectors are never blocked (they sign in with certificates). Blocks and unblocks are in the audit log and go to SIEMs and webhooks as sign-in events.
On the Hub server (fail2ban)
The installer also sets up fail2ban, which blocks persistent addresses at the server's firewall (every port), for the Hub's sign-ins and for the server's SSH:
| Jail | Blocks after | Within | For |
|---|---|---|---|
fsot-hub |
10 failed Hub sign-ins | 30 min | 2 h, longer for repeat offenders (up to a week) |
sshd |
5 failed SSH logins (Debian default) | 10 min | 10 min, longer for repeat offenders |
Change the settings in a file of your own (the installer rewrites its file,
/etc/fail2ban/jail.d/fsot-hub.conf, when it's run again):
sudo nano /etc/fail2ban/jail.d/zz-local.conf
[DEFAULT]
# never blocked: your office and VPN (space separated)
ignoreip = 127.0.0.1/8 ::1 203.0.113.0/24
[fsot-hub]
maxretry = 10
findtime = 30m
bantime = 2h
[sshd]
maxretry = 5
bantime = 1h
sudo fail2ban-client reload
sudo fail2ban-client status fsot-hub # settings in use, and who is blocked
Everyday commands:
sudo fail2ban-client banned # everything blocked, all jails
sudo fail2ban-client set fsot-hub unbanip 198.51.100.7 # lift a block (also: set sshd unbanip …)
sudo fail2ban-client set fsot-hub banip 198.51.100.7 # block by hand
Turn it off:
- only for the Hub's sign-ins (keep SSH protected): add
enabled = falseunder[fsot-hub]inzz-local.conf, thensudo fail2ban-client reload; - completely:
sudo systemctl disable --now fail2ban; - at installation: run
install-hub.shwith--no-fail2ban.
Locked out? fail2ban blocks at the firewall, so the browser can't reach the Hub at all from
that address. Use another connection (a phone hotspot, your cloud provider's web console) to run
sudo fail2ban-client set fsot-hub unbanip <your address>, then add your address to ignoreip
above and to Never block in the console.
Behind a reverse proxy or load balancer: tell the Hub to trust it (FSOT_TRUSTED_PROXIES in
/etc/default/fsot-hub), so it sees people's real addresses; otherwise it would block the proxy.