文章总结: AttackFlow是一个开源SSH攻击实时监控与飞线图可视化系统,通过解析auth.log日志、IP地理定位和Redis缓存,在ECharts世界地图上实时展示攻击来源、路径和频率。它支持多服务器监控、ClickHouse持久化存储、WebSocket推送和告警引擎,并提供DockerCompose一键部署。该项目将枯燥日志转化为动态可视化,帮助运维人员直观追踪SSH暴力破解攻击。 综合评分: 91 文章分类: 安全工具,安全运营,威胁情报,实战经验,解决方案
你的服务器正在被爆破!这个开源项目让全球攻击来源一目了然
原创
didiplus didiplus
攻城狮成长日记
2026年8月21日 06:00 广东
在小说阅读器读本章
去阅读
开源项目预计阅读 5 分钟 · 共 1855 字
你的服务器正在被爆破!这个开源项目让全球攻击来源一目了然
SSH 攻击实时监控与飞线图可视化系统
AttackFlow#SSH#实时可视化
READING PATH
阅读路线
6 个章节
01
它能做什么?
–
02
功能亮点
–
03
技术架构
–
04
一键部署
–
05
坐标顺序踩坑提醒
–
07
最后
深夜两点,手机震动。登服务器一看,auth.log 里密密麻麻的 Failed password——来自全球各地的 IP 正在疯狂爆破你的 SSH。你看得到日志,但看不到全貌:攻击者在哪?有多少?什么频率?你的服务器在地图上哪个位置被谁盯着?
今天给大家分享一个开源项目——AttackFlow,一个SSH攻击实时监控与飞线图可视化系统。它能把枯燥的日志变成一张动态世界地图,攻击来源、攻击路径、攻击频率,全部实时可视化。
CHAPTER 01
01它能做什么?WHAT IT DOES · 功能概览
一句话:tail 你的SSH日志,解析攻击IP,地理定位,在世界地图上画飞线。效果是这样的:
REAL-TIME
实时可视化效果
1
飞线发射
攻击发生时,地图上从攻击源 IP 所在城市射出一条飞线,直奔你的服务器位置
2
涟漪散点
飞线带着流动光效,到达后炸开一个涟漪散点
3
实时播报
右侧面板实时滚动播报每一条攻击记录:IP、国家、城市、时间
4
统计更新
统计面板实时更新总攻击次数和攻击来源国家数
不是事后分析,是毫秒级实时
CHAPTER 02
02功能亮点FEATURES · 八大核心能力
多模式解析IP 定位多服务器告警引擎安全认证双主题
01
多模式日志解析
支持 Failed password、Invalid user、Connection closed、Disconnected、authentication failure 等多种SSH攻击模式,ISO8601 和传统时间戳格式都认。
02
IP 地理定位 + Redis 缓存
攻击 IP 通过 ipinfo.io 定位,结果缓存到 Redis 1 小时,私有IP自动识别不浪费API额度。
03
ClickHouse 持久化
每条攻击事件写入 ClickHouse,MergeTree 引擎,按月分区,90 天 TTL 自动过期。想查最近 24 小时的攻击?前端一键切换”24小时”模式,直接查ClickHouse历史。
04
实时 WebSocket 推送
Redis Pub/Sub 跨实例广播,WebSocket长连接推送到前端,断线自动指数退避重连。
05
多服务器监控
Agent独立部署到每台被监控服务器,启动时自动定位本机坐标(通过公网 IP),向Redis注册表心跳。前端地图上同时渲染多个服务器节点,飞线指向各自的目标。
06
告警引擎
滑动窗口规则:N 秒内攻击次数 >= M 就触发告警,冷却去重,支持Webhook和Telegram两种推送通道。
07
安全认证
bcrypt密码哈希 + JWT会话 + CSRF Token + 登录速率限制 + 图形验证码。
08
双主题
Linear Aesthetic设计风格,暗黑/明亮双主题,玻璃拟态 + 微光呼吸动画,localStorage持久化主题偏好。
CHAPTER 03
03技术架构ARCHITECTURE · 数据流转链路
PIPELINE
数据流转链路
1
日志采集
auth.log → Agent 采集 → IP 定位
2
数据写入
Redis Stream + ClickHouse 持久化
3
广播推送
Pub/Sub 广播 → FastAPI WebSocket → 前端 ECharts 飞线图
4
告警触发
告警引擎 → Webhook / Telegram
| 层级 | 技术选型 | 说明 | | — | — | — | | 后端 | Python 3.10+ / FastAPI / Pydantic v2 / uvicorn | 异步高性能 | | 实时层 | Redis 7 | Stream + Pub/Sub + 注册表 + 缓存 + 限流 | | 持久化层 | ClickHouse 24 | MergeTree,按月分区,90 天 TTL | | 采集 | aiohttp / 原生文件 tail | 异步 IP 定位 | | 前端 | 原生 CSS 变量 / ECharts 5 / FontAwesome 6 | 双主题 | | 包管理 | uv | Astral 出品,比 pip 快 10-100 倍 |
CHAPTER 04
04一键部署DEPLOY · 快速上手
DOCKER
Docker Compose 一把梭
1
克隆仓库
git clone \AttackFlow
2
进入目录
cd AttackFlow
3
复制配置
cp .env.example .env,编辑配置
4
启动服务
docker compose up -d –build
5 个服务全部拉起:Redi、ClickHouse、API、Agent、告警引擎。打开 http://localhost:8000,登录,看飞线图。
当有攻击触发登录日志,agent就会监听到这个信息,并同步渲染到页面上,如下图所示
AGENT
Agent 单独部署到其他服务器
1
进入目录
cd agent
2
同步依赖
uv sync
3
启动采集
uv run python collector.py
agent 启动成功如下图所示:
前端页面也可以看到注册了那些服务器,如下图所示:
Agent 是独立项目,不依赖主应用,自带精简配置和存储客户端,仅 16 个 Python 包。启动时自动定位本机坐标,不需要手动填经纬度。
CHAPTER 05
05坐标顺序踩坑提醒PITFALL · 避坑指南
注意
坐标顺序容易踩坑
经度#纬度#ECharts
一个容易踩的坑:SERVER_LON 是经度,SERVER_LAT 是纬度。填反了飞线图终点会跑到错误的位置。全链路统一 [经度, 纬度] 顺序,与 ECharts geo 坐标系一致。 不过现在默认开启了自动定位,启动时通过公网 IP 自动获取坐标,这个坑基本不用踩了。
CHAPTER 07
07最后CONCLUSION · 写在结尾
SSH暴力破解是服务器最常见的攻击之一。与其被动看日志,不如可视化实时追踪——看到攻击从哪来,看到频率多高,看到你的服务器在地图上被谁盯着。
AttackFlow 做的就是这件事
如果觉得有用,点个在看让更多人看到。有问题欢迎在仓库提 Issue。
GET STARTED
对该项目感兴趣的可以关注公众号,私信回复ssh获取项目地址
立即克隆仓库开始部署
感谢你的阅读与支持!
喜欢就互动一下吧~ ♥️
· 点赞 ·
喜欢就点个赞吧
· 转发 ·
分享给更多朋友
· 推荐 ·
推荐给身边的人
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:攻城狮成长日记 didiplus didiplus《你的服务器正在被爆破!这个开源项目让全球攻击来源一目了然》
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。










评论