1chunghu/honeypot-threat-dashboard

GitHub: 1chunghu/honeypot-threat-dashboard

将 T-Pot 蜜罐的 Elasticsearch 聚合数据转化为零攻击面的纯静态 SVG 威胁情报仪表盘,兼顾公开分享与安全隔离。

Stars: 0 | Forks: 0

# honeypot-threat-dashboard 一个用于 [T-Pot](https://github.com/telekom-security/tpotce) 蜜罐部署的静态威胁情报仪表盘生成器。 它将真实的攻击流量(在 Elasticsearch 中聚合)转化为一个独立、无依赖的纯 SVG 图表 HTML 页面:包括来源国家/地区、目标服务/端口、僵尸网络凭据字典以及 SIP/VoIP 攻击时间线。 ## 为什么是静态的 该仪表盘是一个**时间点快照**,而不是实时查询。生成器从 Elasticsearch 提取一次聚合数据,对其进行去标识化处理(仅包含国家/端口/凭据的**数量统计——绝不包含攻击者 IP**),并将这些数字固化到静态 SVG 中。这意味着: - **零攻击面** — 没有实时 API,没有暴露的 Elasticsearch,没有任何可供注入的入口。 - **即时加载** — 无运行时查询,无 JS 图表库,无外部请求。 - **保持蜜罐隔离** — 公开页面永远无法触及分析后端。 ## 工作原理 ``` T-Pot honeypots ──► Elasticsearch ──► (manual ES aggregation) │ ▼ gen_projects.py + projects.template.html │ ▼ static index.html ``` 该模板使用了一套**标记系统**:数据块被包裹在 `` 注释中。生成器只会替换标记*之间*的内容——所有周围的 CSS、布局和动画都保持不变,并且标记会从最终输出中剔除。这意味着你可以自由地对页面设计进行手动微调,并重新运行生成器,而不会破坏你所做的更改。 ## 用法 1. 在你的 T-Pot 主机上运行 Elasticsearch 聚合(查询语句记录在 `gen_projects.py` 的末尾)。 2. 使用新的数据和 `WINDOW` 日期更新 `gen_projects.py` 顶部附近的 `=== DATA ===` 代码块。 3. 生成: python3 gen_projects.py # 写入 index.html 4. 将生成的 `index.html` 部署到你的 Web 根目录。 无依赖 — 仅需 Python 3 标准库。 ## 文件 | 文件 | 用途 | |------|---------| | `gen_projects.py` | 数据转 SVG 图表生成器;底部包含 ES 查询参考 | | `projects.template.html` | 带有标记的 HTML 模板(终端美学风格) | ## 伦理与去标识化 发布的图表仅包含**汇总统计数据**——国家/地区名称、端口号和凭据字典频率。绝不包含任何攻击者 IP 或个人身份信息。这些蜜罐是故意暴露的诱饵系统,与任何生产服务隔离,且不保存任何真实数据。 ## 许可证 [MIT](LICENSE) 由 [Odysec](https://odysec.org) 维护 — 针对 Linux 服务器和容器环境的入侵评估。
标签:Elasticsearch, 后端开发, 多模态安全, 威胁情报, 安全运营, 开发者工具, 扫描框架, 蜜罐, 证书利用, 静态仪表盘