你的服务器正在被爆破!这个开源项目让全球攻击来源一目了然

admin 2026-08-22 04:34:53 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: 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 passwordInvalid userConnection closedDisconnectedauthentication 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 就触发告警,冷却去重,支持WebhookTelegram两种推送通道。

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《你的服务器正在被爆破!这个开源项目让全球攻击来源一目了然》

评论:0   参与:  0