首页 / 功能详解 / GeoIP 攻击来源定位
GEOIP · 离线定位 / 审计外送

拦住之后,从哪来要说得清

攻击来源的地理位置不是装饰图:一个离线 GeoIP 库喂给引擎,审计每条记录带地域,态势大屏按真实经纬度画攻击光弧,日志再按 CEF 送进你的 SIEM。

WHY

只报「已拦截」的 WAF,排障时帮不上忙

拦截率是结果,来源与轨迹才是线索。哪一片网段在集中打、同一批 IP 是不是换个国家又回来——这些信息决定你补哪条规则、封哪段地址、要不要通知业务方。

01

离线定位,不查云端

定位库就是一个本地文本文件,启动时一次性读进内存,运行期只读。没有外部 API 调用,没有 DNS 反查,内网与断网环境同样可用——攻击 IP 不会因为你查地理位置而外泄给第三方。

02

两种库格式,混着用也行

段库格式写「起 IP,止 IP,国家码」,坐标查内置国家质心表;自定义格式写「CIDR,纬度,经度,标注」,精度到城市或机房。两种行可以放在同一个文件里,按列数自动识别,不需要转换。

03

查不到就说查不到

库外地址、保留 IP 不做猜测:光弧回落成 IP 指纹的示意方位,大屏顶栏同时标注「◌ 示意方位」;只有真正命中库时才是「◉ 真实定位」。展示上不装。

04

审计带地域,导出能落地

每条审计记录额外带 geo_lat / geo_lng / geo 三个字段,事件流在 IP 后面直接标地域;整份 JSONL 审计可一键转 CEF,接进已有的 SIEM 体系。

CONFIG

三步落地

配置文件里加一个路径,其余交给引擎。

1

准备定位库

任选一种格式,或两段拼在一个文件里。段库可以直接用 DBIP Country、geo-whois-asn-country 这类「起止 IP + 国家码」的导出;要精确到城市,就补几行自定义坐标,它优先级更高。

# 段库:起IP,止IP,国家码 1.0.0.1,1.0.0.255,AU 1.0.1.1,1.0.3.255,CN # 自定义坐标:cidr,纬度,经度,标注(覆盖段库) 203.0.113.0/24,39.9042,116.4074,北京机房
2

配置里指过去

只在配置里出现、不配也能跑:留空时大屏光弧退回 IP 指纹示意方位。大屏管理面默认关闭,要开就绑内网地址,并配 status_token。

{ "listen": ":80", "upstream": "http://127.0.0.1:8080", "status_listen": "127.0.0.1:9090", "status_token": "换成你自己的 token", "geoip_file": "/etc/ysl/geoip.csv" }
3

审计转 CEF 送 SIEM

审计文件是 JSONL,一条一行。ysl audit -cef 把它转成 CEF 0 格式,-out 省略则打印到标准输出,方便直接管道给采集器。

# JSONL 审计 → CEF 日志 ysl audit -cef ysl_audit.jsonl -out cef.log # 转出来的一行(字段按实际审计内容填充) CEF:0|YSL|YSL Shield WAF|7.0.8|sqli_union|block sqli_union|9| rt=1774512345678 src=203.0.113.9 requestMethod=GET request=/login act=block cs1=sqli_union cs1Label=reason cs6=中国\|广东 cs6Label=geo
CEF FIELDS

外送的字段,一条不虚设

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=geoGeoIP 地域标注(命中库时才有)
fname载荷摘录,SIEM 里做取证检索
out蜜罐命中标记(value=honeypot)
in蜜罐命中次数
cn1 cn1Label=body_len请求体长度

头字段里的 \ 与 |、Extension 里的 \ = | 与换行都做了转义,恶意载荷带分隔符也不会把一行 CEF 拆坏。

BOUNDARY

三条说清楚,免得你对它有错误期待

精度取决于你给的库

段库格式只给到国家,落点是国家质心;要城市级或机房级,用自定义 CIDR 那几行补。定位库越细,光弧越准——这件事引擎替不了你。

它是定位,不是地域封禁

当前版本用途是可视化与审计外送:把来源标出来、把证据留下来。地域维度的准入策略不在这一版里,别按「能按国家白名单放行」去规划方案。

库文件不联网更新

没有任何自动下载。库过期了会体现在落点上,定期替换文件即可,重启生效——这也是内网部署能成立的原因。

申请试用 · 拿演示评估版 看部署文档
💬 商务咨询 634769642