拦截率是结果,来源与轨迹才是线索。哪一片网段在集中打、同一批 IP 是不是换个国家又回来——这些信息决定你补哪条规则、封哪段地址、要不要通知业务方。
定位库就是一个本地文本文件,启动时一次性读进内存,运行期只读。没有外部 API 调用,没有 DNS 反查,内网与断网环境同样可用——攻击 IP 不会因为你查地理位置而外泄给第三方。
段库格式写「起 IP,止 IP,国家码」,坐标查内置国家质心表;自定义格式写「CIDR,纬度,经度,标注」,精度到城市或机房。两种行可以放在同一个文件里,按列数自动识别,不需要转换。
库外地址、保留 IP 不做猜测:光弧回落成 IP 指纹的示意方位,大屏顶栏同时标注「◌ 示意方位」;只有真正命中库时才是「◉ 真实定位」。展示上不装。
每条审计记录额外带 geo_lat / geo_lng / geo 三个字段,事件流在 IP 后面直接标地域;整份 JSONL 审计可一键转 CEF,接进已有的 SIEM 体系。
配置文件里加一个路径,其余交给引擎。
任选一种格式,或两段拼在一个文件里。段库可以直接用 DBIP Country、geo-whois-asn-country 这类「起止 IP + 国家码」的导出;要精确到城市,就补几行自定义坐标,它优先级更高。
只在配置里出现、不配也能跑:留空时大屏光弧退回 IP 指纹示意方位。大屏管理面默认关闭,要开就绑内网地址,并配 status_token。
审计文件是 JSONL,一条一行。ysl audit -cef 把它转成 CEF 0 格式,-out 省略则打印到标准输出,方便直接管道给采集器。
CEF 里每个 Key 都在审计记录里有对应来源,接入时照这张表映射即可。
| 字段 | 含义 |
|---|---|
rt | 事件时间,epoch 毫秒(SIEM 时间线对齐最稳) |
src | 来源 IP |
requestMethod / request | 请求方法与 URI |
duser | 目标站点(多站点部署时的归属) |
act | 处置动作:block / monitor / pass |
cs1 cs1Label=reason | 命中原因(规则族 / 判定标签) |
cs2 cs2Label=arbitration | 证据链仲裁结论 |
cs3 cs3Label=fingerprint_cluster | 指纹聚类 |
cs4 cs4Label=tool | 识别的攻击工具 |
cs5 cs5Label=leak | 信息泄露特征 |
cs6 cs6Label=geo | GeoIP 地域标注(命中库时才有) |
fname | 载荷摘录,SIEM 里做取证检索 |
out | 蜜罐命中标记(value=honeypot) |
in | 蜜罐命中次数 |
cn1 cn1Label=body_len | 请求体长度 |
头字段里的 \ 与 |、Extension 里的 \ = | 与换行都做了转义,恶意载荷带分隔符也不会把一行 CEF 拆坏。
段库格式只给到国家,落点是国家质心;要城市级或机房级,用自定义 CIDR 那几行补。定位库越细,光弧越准——这件事引擎替不了你。
当前版本用途是可视化与审计外送:把来源标出来、把证据留下来。地域维度的准入策略不在这一版里,别按「能按国家白名单放行」去规划方案。
没有任何自动下载。库过期了会体现在落点上,定期替换文件即可,重启生效——这也是内网部署能成立的原因。