X-CAD · 开源基础设施
FRP SSH Guard
开源 SSH 访问防护
通过连接限速、临时封禁和可管理的访问控制,保护 FRP 转发的 SSH 端口及公网服务器自身的 SSH 服务。

为什么做它
X-CAD 运行在 FRP 隧道之后。公网 SSH 端口会持续遭遇自动化探测,一个转发的端口很容易变成服务器上最吵的门。我们希望有一个小而明确的守卫,部署在公网主机上,在滥用流量到达内网后端之前就把它拦住。
它做什么
FRP-SSH-Guard 为选定的端口添加 nftables 策略:
- 按来源、按端口限制新建连接,并临时封禁来源。
- 按端口设置共享限速,缓解分布式连接突发。
- 支持 IPv4/IPv6 的 IP 与 CIDR 白名单/黑名单,可限定到指定端口。
- 记录封禁历史,对反复出现的来源升级封禁时长。
- 可选的本机 SSH 22 端口防护,通过服务器 sshd 日志检测失败认证和无效用户登录。
- 在防护端口间共享封禁,或按端口独立封禁;支持永久或限时的手动封禁。
- 自动从管理员对公网主机的成功登录中学习可信来源,可通过
LEARN_ADMINS=off停用。 - 显式启用、重启恢复,以及守卫表丢失后的自动恢复。
对于转发的 SSH,守卫观察新的 TCP SYN 数据包,无法获取加密隧道内的认证结果。本机 SSH 监测读取公网服务器自身的 sshd 日志,从不收集密码。它与 SSH 认证和其他防火墙控制配合使用。
下载与安装
从最新发布页获取 Debian 安装包和校验文件,按照该版本发布页的说明安装下载的文件,并参照中文部署指南配置防护。
升级前,请阅读迁移指南,了解设置与行为的变化。已运行的守卫会在安装时刷新;首次安装或已停用的实例仍需选择端口并启用。
可编辑设置及白名单、黑名单位于 ~/.frp-ssh-guard/。配置修改需通过 check 和 reload 应用。各版本的具体变化见下方发布动态。
一次部署观测
运维者提供的一次部署快照(2026 年 10 月 13–17 日)记录:
- 丢弃 3,206,432 个数据包,放行 967 个,占所提供计数器的 99.97%。
- 到达后端的 SSH 连接从约 200 次/小时降到最近 60 分钟的 2 次。
- 后端失败登录:使用前 6,442 次,最近 24 小时观测到 0 次。
这些数据来自一次具体部署,由运维者提供。具体部署版本和原始日志未经过独立验证。流量、配置和日志覆盖范围都会影响结果。
开源
FRP-SSH-Guard 采用 MIT 许可。Debian 安装包、源码、测试和中英文文档均可在 GitHub 获取。对应版本的验证记录列出了已测试平台及尚未覆盖的范围。
FRP SSH Guard
最新动态与版本发布
FRP-SSH-Guard v0.0.7 现已发布
慢速探测防护扩展至转发端口,新增管理员自动学习,并通过活动日志说明每次封禁的原因。
了解更多 →