每台服务器都要分别查看
想知道谁被拦截了,就得逐台 SSH 登录,手动运行 fail2ban-client。同一个 IP 在轮番试探多台服务器,你也看不出来。
SSem SecuMon 是专为自行运维 VPS 和家用服务器的个人打造的免费 fail2ban 集中管理控制台。只需在每台服务器上放一个小巧的代理程序,就能在一个界面中看到当前谁被拦截、是第几次屡犯,并通过签名命令执行封禁 · 解封 · IP 段封锁 · 国家封锁。
| IP | 服务器 | jail | 屡犯等级 | 国家 | 剩余时间 |
|---|---|---|---|---|---|
| 203.0.113.45 | web-01 · vpn-gw | sshd | 第 4 级 · 8 小时 | XA | 5 小时 12 分 |
| 198.51.100.7 | vpn-gw | sshd | 第 2 级 · 2 小时 | XB | 1 小时 40 分 |
| 203.0.113.201 | home-nas | sshd | 第 3 级 · 4 小时 | XC | 3 小时 5 分 |
| 192.0.2.88 | web-01 | apache-auth | 第 1 级 · 1 小时 | XD | 24 分 |
界面示例中的服务器名称、IP 和国家均为虚构(IP 取自文档专用的保留地址段,国家代码 XA–XD 仅作示例)。
暴露在互联网上的服务器每天都会收到数千次连接尝试。fail2ban 能挡住它们,但服务器一旦超过两台,就会出现看不到的盲区。
想知道谁被拦截了,就得逐台 SSH 登录,手动运行 fail2ban-client。同一个 IP 在轮番试探多台服务器,你也看不出来。
屡犯次数越多封得越久,但时间一到还是会放开。第三次找上门的不是手误,而是在持续试探的对手。
把数千个 IP 段逐台写进防火墙并保持更新,非常费工夫。一旦写错,连你自己的连接都会被切断。
查看、拦截、大范围封锁,都在一个控制台里完成。以下界面均为虚构的示例数据。
在封禁列表中点击 IP,即可在一处看到该 IP 被封禁的服务器、封禁历史、当前等级以及下次封禁的预计时长。
封禁历史 — 1 小时 → 2 小时 → 4 小时 → 8 小时
IP 段封锁是最危险的功能,因此设置了多重防误操作机制。必须再次输入要封锁的 IP 段才会执行,默认 30 天后自动解除。
受保护 IP 段(私有网络 · VPN · 你的服务器)无法封锁。
从 233 个国家中选择,把所选国家的 IP 段写入服务器防火墙。启用后立即下载列表,30 秒内应用到所有服务器。
权威 DNS(53)始终放行。如果你在运营邮件接收或 VPN 服务,请先查看指南。
查看、拦截,乃至自动拦截 — 只收录几台个人服务器真正需要的功能。
在一个界面中查看所有服务器的当前封禁、累计封禁、屡犯 IP 和趋势,也可以只看其中一台服务器。
读取 fail2ban 的指数封禁(1 · 2 · 4 · 8… 倍),显示当前处于第几级、下次会被封禁多久。
直接在界面上下发命令。服务器上的代理程序验证签名后才会执行,结果记录在命令历史中。
通过范围上限、受保护 IP 段、确认输入和自动解除(默认 30 天)防止误操作。若已被更大的 IP 段覆盖,则自动跳过。
累计被封禁 3 次及以上的 IP,将在所有服务器上封锁 30 天。仅限单个 IP,每次最多 20 条,全部记录并发送通知。
每天下载一次 Spamhaus DROP 和 FireHOL level1 并应用到所有服务器。与你自己的 IP 段重叠的条目会先被过滤掉。
把所选国家的 IP 段写入服务器防火墙的专用列表。关闭时只清空该列表 — 其他封锁保持不变。
只向 AbuseIPDB 举报被封禁的 IP,并查询其信誉。自动封锁和列表变更通过 Telegram 通知。密钥只保存在控制台服务器上。
所有执行、举报和登录都会被记录。提供只读、操作员、管理员三种角色以及 TOTP 两步验证。
控制台不会向服务器推送命令,而是由服务器上的代理程序主动连接控制台上报状态,取走签名命令,自行验证后再执行。
SecuMon 使用一张专用的 nftables 表,不与 fail2ban 规则混在一起。封锁分为三层,可以看出“为什么被拦截”,更新其中一层也不会影响其他层。
我们的设计目标是:为保护服务器而引入的工具,不能成为新的漏洞。
准备中安装包的发布正在准备中。
准备工作和安装步骤,请先在免费指南中查看。