Adri1jz/Red-Honeypots-T-Pot

GitHub: Adri1jz/Red-Honeypots-T-Pot

这是一个基于T-Pot的分布式蜜网项目,用于捕获真实网络攻击并实现自动化监控与警报。

Stars: 0 | Forks: 0

# 基于T-Pot的分布式蜜网 家庭基础设施上的Hive + Sensor架构 CFG ASIR毕业设计 — 伊维萨大学加斯帕尔·梅尔乔尔·德·霍韦利亚诺斯学院 作者:阿德里安·佩雷斯·佩拉埃斯、维克多·曼努埃尔·乌马内斯·鲁伊斯、伊赞·洛萨诺·埃尔南德斯 指导老师:哈维尔·奥尔蒂斯·拉古纳 2026年5月 ## 项目简介 本仓库汇集了使用T-Pot搭建分布式蜜网的所有工作成果。我们在托莱多和马德里各部署了一台物理服务器,均直接暴露于互联网并捕获真实攻击。节点1作为Hive(集中管理),节点2作为Sensor(将日志发送至Hive)。所有通信均通过Tailscale加密,并配置了Telegram机器人在检测到活动时发送警报。 我们在真实家庭基础设施上实施本项目,而非课堂实验室环境。因此遇到了各种实际问题:运营商路由器功能限制、WiFi扩展器导致的双重NAT、SSL证书未按预期工作……这些在受控环境中不会出现的问题我们都遇到了。 ## 仓库结构 | 文件夹 | 内容说明 | |---------|----------------| | `docs/` | 项目报告(PDF和DOCX格式)及最终演示文稿 | | `src/telegram-bot/` | Python警报机器人代码 + systemd服务文件 | | `config/` | 各节点配置文件:UFW规则、Fail2ban设置、Logstash修复方案 | | `infra/` | 架构图、硬件/软件清单、服务器实物照片 | | `screenshots/` | Kibana仪表盘、Telegram警报、Tailscale管理面板、Docker容器截图 | | `videos/` | 演示视频:系统访问与模拟攻击过程 | ## 仓库导航指南 如果您是负责评审的教师: 1. **首先查阅 `docs/Memoria_Final_VIA.pdf`** — 包含完整文档:项目规划、工作进程、问题记录、解决方案及最终成果 2. **然后查看 `docs/Presentacion_TPot.pdf`** — 项目答辩使用的演示文稿 3. **如需查看代码**,请进入 `src/telegram-bot/` — 脚本包含详细注释,可配置变量位于文件开头 4. **了解部署实况**,请查看 `infra/diagrama-arquitectura.png` 及 `screenshots/` 文件夹中的截图 ## 核心架构 ``` [Adrián] ─────┐ [Víctor] ─────┼──► Tailscale VPN ──► Internet [Izan] ───────┘ │ │ ┌─────────┴─────────┐ │ │ [Router ADAMO] [Router Zyxel Digi] │ │ ▼ ▼ Nodo 1 (Hive) Nodo 2 (Sensor) Casa Víctor Casa Izan Toledo Madrid • 40 honeypots • Honeypots + Logstash • ELK Stack • Reenvía logs al Hive • Suricata • Todo cifrado por Tailscale • Bot Telegram • Debian 11 + Docker ``` ## 技术栈 - **T-Pot CE** — telekom-security/tpotce(官方仓库) - **Debian 11 Bullseye** — 双节点均采用无桌面版 - **Docker 29.4.0** + Docker Compose v5.1.1 - **Tailscale** — 用于远程访问和节点间隧道的网格VPN - **Elasticsearch, Logstash, Kibana** — T-Pot内置的ELK技术栈 - **Python 3** — Telegram警报机器人 - **UFW + Fail2ban** — 防火墙与暴力破解防护 - **DuckDNS** — 免费动态DNS服务 ## Telegram机器人 位于 `src/telegram-bot/honeypot_alertas.py`。监控内核日志中UFW记录的连接,检测新IP地址,通过ipinfo.io进行地理定位,并向团队群组发送汇总报告。 当前配置: - 每检测到**40个新IP**或每**60分钟**发送警报(以先触发条件为准) - 脚本开头可调整变量:`LIMITE_ALERTAS`(警报阈值)和`INTERVALO_MAXIMO`(最大间隔) - 作为systemd服务(`honeypot-alertas.service`)运行,实现开机自启 基础代码由ChatGPT生成,但我们进行了审查、适配和实际调试。我们不是程序员,而是系统管理员。 ## 遇到的问题与解决方案 | 问题 | 解决方案 | |----------|----------| | 2020年的T-Pot分支版本落后600+次提交 | 迁移至Telekom Security官方仓库 | | 初始PC仅8GB内存(T-Pot最低要求) | 更换为11GB内存服务器 | | docker.asc与docker.gpg的GPG冲突 | 删除冲突文件后重新运行安装程序 | | Debian系统中exim4占用25端口 | 执行 `systemctl stop exim4 && systemctl disable exim4` | | 节点2因WiFi扩展器产生双重NAT | 在服务器端手动配置路由和DNS | | Hive的SSL证书未包含Tailscale IP | 在Logstash中禁用SSL验证:`LS_SSL_VERIFICATION=none` | | 节点2的DNS和默认路由配置未持久化 | 手动配置 `/etc/resolv.conf` 和静态路由 | 所有问题的详细说明均可在项目报告中找到。 ## 成果展示 - 节点2在暴露期间捕获超过**1500个安全事件** - 双节点同时收到来自不同公网IP的攻击流量 - 通过Tailscale访问Kibana仪表盘,实时展示攻击地图 - Telegram机器人定期向团队群组发送安全警报 ## 许可说明 本项目为学术研究成果。机器人代码可供查阅学习。 所有截图和攻击数据均来自蜜网暴露期间的真实捕获。
标签:BurpSuite集成, Docker容器, ELK Stack, osquery, Python编程, Tailscale, Telegram警报, WSL, 分布式系统, 响应大小分析, 威胁情报, 安全警报, 家庭基础设施, 开发者工具, 攻击捕获, 攻击面发现, 日志收集, 服务器配置, 私有网络, 系统加固, 网络安全, 虚拟专用网络, 蜜罐技术, 蜜罐部署, 请求拦截, 运维安全, 逆向工具, 防火墙规则, 隐私保护, 集中式管理