Skip to content

日志、会话与安全防护

这页解决哪些问题

当你把 fknock 暴露到公网后,最常见的管理问题会变成:

  1. 有谁在登录
  2. 当前有哪些有效会话
  3. 是否有人在暴力尝试或扫你的路径

这就是这组页面存在的原因。

如果你还开放了宿主机 SSH,建议同时阅读:

登录日志

登录日志帮助你回答:

  • 谁登录过
  • 用的是 TOTP、Passkey 还是外部账号
  • 来自哪个 IP
  • 成功还是失败
  • 大概是什么设备和浏览器

在部分环境下,你还会看到更直观的来源位置辅助信息。

建议怎么用

优先看:

  1. 最近是否有异常失败登录
  2. 是否有你不认识的来源 IP
  3. 某个问题出现前后是否有异常记录

会话管理

会话管理更像“当前在线状态”页面。

它展示的是:

  • 仍然有效的登录会话
  • 登录方式
  • 凭证名称
  • 登录 IP
  • 登录时间
  • 过期时间

适合下面这些场景:

  • 设备丢了,想立刻踢掉会话
  • 怀疑某台设备不再可信
  • 想让某人重新登录

会话列表还提供:

  • 详情
  • 踢出
  • 轨迹

其中 轨迹 会进入独立的 IP 漂移轨迹 页面,专门展示某个会话在使用期间是否发生了来源 IP 变化,以及系统是如何完成续接恢复的。

更详细的说明单独见:

网关可见性

这是最近新增的一层“先收窄暴露面”的能力。

路径:系统设置 → 网关 → 可见性

它和下面这些能力不是一回事:

  • 认证接口速率限制
  • 网关反代节流
  • 扫描器黑名单

可以这样区分:

  • 网关可见性:先限制哪些地区或 CIDR 能碰到统一网关
  • 节流 / 黑名单:请求已经到达入口后,再决定如何限速、封禁或拦截

如果你的需求是:

  • 我明确只想让某些地区访问
  • 我只想让固定出口或固定网段继续访问

那通常应优先考虑可见性,而不是只靠提高限流阈值或事后看日志。

完整说明见:

认证接口速率限制

这是这轮实现里新增的一层基础保护。

它和“连续输错验证码后的退避”不是同一件事。

可以这样理解:

  • 认证接口速率限制 负责拦住过于密集的请求洪峰
  • 异常登录退避 负责处理某个 IP 连续登录失败

认证相关接口现在会对公网来源做基础限流。

表现通常是:

  • 请求过快时直接返回 429
  • 响应里会带 Retry-After
  • 不是“密码错了”,而是“你请求太快了”

这类情况最容易出现在:

  • 连续狂点登录
  • 浏览器或脚本短时间内重复重试
  • 用自动化工具频繁打认证接口

局域网、本机回环和私有地址通常不会按同样方式被限流,所以你在内网调试时不一定能稳定复现它。

网关反代节流

这不是上面那层“认证接口速率限制”的别名,而是另一层更靠近统一入口的保护。

可以这样区分:

  • 认证接口速率限制:盯的是登录、校验这类认证接口,请求过快时更常见是 429
  • 网关反代节流:盯的是进入统一网关后的整体反代流量,超限后会直接断开并短时封禁来源 IP

路径:系统设置 → 网关

当前可调的核心参数有:

  • 每秒请求数
  • 突发额度
  • 超限封禁时长

它最适合这些场景:

  • 反代模式对公网开放后,开始遇到高频探测
  • 某些脚本或错误重试风暴不断打同一入口
  • 你希望先在网关层挡掉异常洪峰,再让认证和上游应用继续处理正常请求

要注意一个很关键的现象:

  • 被这层节流直接中断的请求,不一定会写入 access log
  • 所以“日志里没看到”不一定代表请求没来,也可能是网关在更早的位置已经把它掐掉了

调参建议通常是:

  1. 先保留默认值观察
  2. 正常页面首屏偶发被误伤时,优先加大 突发额度
  3. 只有确认确实在承受异常流量时,再考虑收紧每秒请求数或拉长封禁时间

SSH 安全

SSH 安全 是这一轮新增的宿主机 SSH 防护能力。

它和网关节流、扫描器黑名单不是同一层:

  • 网关节流和扫描器黑名单保护的是 fknock 统一 Web 入口
  • SSH 安全保护的是宿主机 SSH 登录入口

它会:

  1. 读取 journalctl/var/log/auth.log
  2. 识别 SSH 登录成功和失败记录
  3. 按统计窗口和失败阈值封锁异常来源
  4. 按允许地区或自定义 CIDR 限制 SSH 来源范围
  5. 把规则同步到 FN-KNOCK-SSH 专用防火墙链

默认配置更接近:

  • 10 分钟 内失败 5 次
  • 封锁 1 天

如果你需要保护公网 SSH,建议单独看:

WAF

WAF 是统一网关里的 Web 请求规则检测能力。

它和网关可见性、节流、扫描器黑名单不是同一层:

  • 网关可见性决定哪些来源能碰到入口
  • 网关节流处理高频请求洪峰
  • 扫描器黑名单处理未认证的异常路径探测
  • WAF 检查已经进入网关的 HTTP 请求是否命中攻击规则

WAF 会根据系统规则或自定义规则,对请求进行记录或阻断,并把命中详情写入:

  • WAF日志
  • 请求日志里的 WAF 标记
  • 事件中心里的 WAF 阻断事件

如果你希望在统一入口后再增加一层 SQL 注入、XSS、RCE 等攻击特征检测,建议单独看:

异常登录退避

这项能力用来应对“连续输错验证码”的情况。

当某个 IP 短时间内多次登录失败时,系统会暂时限制它继续尝试。

你可以在页面里看到:

  • 当前被限制的 IP
  • 失败次数
  • 剩余限制时间

如果是你自己输错太多次,也可以手动解除。

扫描器黑名单

这是反代模式下特别有价值的一项保护。

它主要针对下面这类行为:

  • 未经认证的访问者
  • 不断探测奇怪路径
  • 类似扫描器、嗅探器、自动化脚本的访问模式

系统会根据:

  • 近期是否通过认证
  • 是否频繁命中异常路径

决定是否把某个 IP 拉入扫描黑名单。

扫描拦截应该怎么调

路径:系统设置 → 扫描拦截

可调参数包括:

  • 是否启用
  • 统计窗口
  • 触发阈值
  • 黑名单保留时长

对新手的建议是:

  1. 先启用
  2. 不要把阈值设得过低
  3. 先观察日志,再逐步收紧

否则很容易把自己的正常测试流量也误伤。

建议的排查顺序

如果你怀疑有人在尝试访问、撞库或扫路径,建议按下面顺序看:

  1. 先看登录日志,有没有异常失败登录
  2. 如果你本来就只允许某些地区访问,先确认是不是被 网关可见性 拦住了
  3. 如果前端直接提示过于频繁,先判断是不是触发了认证接口限流
  4. 如果反代请求被直接掐断、请求日志又不明显,再检查是不是触发了网关反代节流
  5. 如果请求日志里出现 WAF 标记,再跳到 WAF 日志看 Trace 和命中规则
  6. 如果 SSH 也暴露在公网,再看 SSH 安全里的登录日志和封锁列表
  7. 再看会话管理,有没有陌生会话
  8. 再看扫描器黑名单,是否已经出现可疑 IP
  9. 最后回到系统设置,调整扫描拦截、网关或 WAF 参数

相关阅读

QQ群:1081609274