LoganPrangerCT/Honeypot-Project
GitHub: LoganPrangerCT/Honeypot-Project
这是一个记录在云服务器上部署 T-Pot 蜜罐平台并排查自动化安装与 SSL 证书问题的网络安全实践项目。
Stars: 0 | Forks: 0
# T-Pot 蜜罐部署与故障排除
本仓库记录了我在 VPS 上部署 **T-Pot 蜜罐** 平台的整个过程。蜜罐是一种安全机制,它被设置为诱饵,用于引诱网络攻击者,并允许防御者研究攻击者的行为并收集威胁情报。
## 项目概述
目标是在云托管服务器上部署 T-Pot Community Edition,配置网络安全以允许攻击流量进入,同时保护管理后端,并解决与自动化和 SSL 证书相关的安装障碍。
## 技术栈
* **VPS 提供商:** Vultr
* **平台:** T-Pot Community Edition
* **操作系统:** Debian/Ubuntu
* **核心技术:** Docker, Nginx, Kibana, OpenSSL
## 部署过程
### 阶段 1:基础设施与配置
我首先通过 Vultr 配置了一台 VPS。为了确保蜜罐能够暴露在互联网上以吸引攻击,同时保障管理访问的安全,我按如下方式配置了防火墙:
| 操作 | 协议 | 端口 / 范围 | 来源 | 目的 |
| :----- | :------- | :------------ | :--------------------- | :------------------ |
| 接受 | TCP | `1:65535` | `0.0.0.0/0` | 吸引攻击者 |
| 接受 | UDP | `1:65535` | `0.0.0.0/0` | 吸引攻击者 |
| 接受 | TCP | `64294:64297` | `[MY IP]` | 保障管理访问安全 |
### 阶段 2:安装
由于 T-Pot 安装脚本无法直接以 `root` 用户身份运行,我为部署创建了一个专用用户:
```
sudo adduser logan
cd /home/logan
git clone https://github.com/telekom-security/tpotce
```
## 故障排除与解决方案
在设置过程中,我遇到了两个主要障碍,需要深入查阅日志和系统配置。
### 问题 1:Ansible Playbook "Premature End of Stream"
在运行安装时,playbook 失败并出现以下错误:
```
sudo: interactive authentication is required
```
#### 问题原因
自动化安装程序尝试通过 `sudo` 执行任务,但系统提示输入密码。由于 playbook 是非交互式的,它无法提供密码,从而导致进程失败。
#### 解决方案
我修改了 `sudoers` 文件,允许我的用户在执行命令时免密码提示。这使得 Ansible playbook 能够成功完成其任务。
### 问题 2:WebGUI 访问与 SSL 损坏
即使通过 `systemctl status tpot` 显示服务状态为 `active`,我仍然无法访问 WebGUI。我花了一个多小时重启服务器和重新配置防火墙,最后才发现 Nginx 期待的 SSL 证书在初始下载过程中已损坏。
#### 解决方案
为了恢复访问,我手动生成了一组全新的自签名 SSL 证书。
1. **创建证书目录:**
sudo mkdir -p /home/logan/tpotce/data/nginx/cert
2. **使用 OpenSSL 生成证书:**
以下命令创建有效期为 365 天的自签名证书:
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 \
-keyout /home/logan/tpotce/data/nginx/cert/nginx.key \
-out /home/logan/tpotce/data/nginx/cert/nginx.crt \
-subj "/C=US/ST=State/L=City/O=Organization/OU=Unit/CN=localhost"
3. **设置权限并重启:**
我更新了权限以确保 Nginx 容器能够读取这些文件,然后重启了 T-Pot 服务:
sudo chmod -R 777 /home/logan/tpotce/data/nginx/cert
sudo systemctl restart tpot
## 最终结果与观察
应用 SSL 修复后,WebGUI 完全正常运行。我现在可以访问几个功能强大的监控仪表板:
* **攻击地图:** 实时可视化全球攻击的发源地
* **Kibana:** 对日志和攻击向量的深入分析
* **Spiderfoot:** 用于调查攻击者基础设施的 OSINT 自动化
### 初步发现
在上线后的几分钟内,蜜罐就开始捕获流量。从收集的日志中可以看出,我观察到多个“已知攻击者”和“大规模扫描器”在访问各种端口,主要源自全球僵尸网络。这突显了互联网持续存在的背景噪音以及自动化扫描的频率。
标签:Ansible, Docker, PB级数据处理, VPS部署, 威胁情报, 安全测试工具, 安全运维, 安全防御评估, 开发者工具, 系统提示词, 蜜罐, 证书利用, 请求拦截, 越狱测试, 软件分析