docs: 写清「封的是一把键」与取证地址的区别
honeypot.md: - §3 新增小节:LimitKey 折叠规则(IPv4 原样 / IPv6 折 /64)、邮件里两个地址 各自含义、封禁只在内存里、建封 WARN 的字段与 grep 方法; - §4 注明取证存的是精确地址,不是 /64 聚合键; - §8 排障首行补「邮件说封了但还能访问」的三种原因与判定路径, 并提醒「邮件里的来源 IP 不是封禁键,拿它对 ban_key 永远对不上」。 cli.md:stats 说明改为「来源排行(IPv6 按 /64 聚合)」,补 ip 语义。
This commit is contained in:
+3
-1
@@ -298,7 +298,7 @@ pg_dump -Fc <dbname> > before-$(date +%F-%H%M).dump
|
||||
| 子命令 | 作用 | 改数据 |
|
||||
|---|---|---|
|
||||
| `hits` | 列出捕获到的凭据(时间倒序,密码默认脱敏) | 否 |
|
||||
| `stats` | 来源 IP / 路径排行(库)+ 凭据排行(文件) | 否 |
|
||||
| `stats` | 来源排行(IPv6 按 /64 聚合)+ 路径排行(库)+ 凭据排行(文件) | 否 |
|
||||
| `paths` | 列出当前生效的诱饵路径 | 否 |
|
||||
| `size` | 表行数、磁盘占用、凭据文件体积 | 否 |
|
||||
| `prune` | 按保留期清元数据 + 凭据文件 | 是 |
|
||||
@@ -320,6 +320,8 @@ pg_dump -Fc <dbname> > before-$(date +%F-%H%M).dump
|
||||
(目录 0700、文件 0600),数据库里只有 IP / 路径 / UA / 是否封禁这些元数据。
|
||||
所以 `hits` / `paths` **不连数据库**,DB 挂了也能查。
|
||||
- 密码默认脱敏(保留首尾各 1 位)。终端输出常被贴进工单或截图,`--show-password` 只在确有取证需要时开。
|
||||
- `hits` / `stats` 里的 `ip` 是**精确**客户端地址;封禁用的是 `shared.LimitKey` 折叠后的键
|
||||
(IPv6 为 `/64` 前缀)。两者在 IPv6 下不一致是正常的,别拿邮件里的精确地址去对封禁键。
|
||||
- `purge-creds` 用于清掉早期版本存在 `honeypot_hits` 上的明文列(AutoMigrate 不删既有列)。
|
||||
执行前先 `pg_dump`;它只处理当前库,**历史备份与从库里的明文需要自行清理**。
|
||||
- 封禁语义:GET 探测走常规阈值(默认 10 次 / 60 秒),**提交凭据才一次即封**。
|
||||
|
||||
Reference in New Issue
Block a user