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, 分布式系统, 响应大小分析, 威胁情报, 安全警报, 家庭基础设施, 开发者工具, 攻击捕获, 攻击面发现, 日志收集, 服务器配置, 私有网络, 系统加固, 网络安全, 虚拟专用网络, 蜜罐技术, 蜜罐部署, 请求拦截, 运维安全, 逆向工具, 防火墙规则, 隐私保护, 集中式管理