sagnik89/cowrie-honeypot-dashboard
GitHub: sagnik89/cowrie-honeypot-dashboard
一个端到端的 SSH 蜜罐威胁分析管道,通过部署 Cowrie 蜜罐捕获真实攻击活动,结合威胁情报富化与 Grafana 可视化来监控和分析恶意登录行为。
Stars: 1 | Forks: 0
# 🛡️ Cowrie SSH 蜜罐分析
一个端到端威胁监控 pipeline,在 AWS EC2 实例上部署 **Cowrie SSH 蜜罐**,收集真实世界的攻击者活动,使用 **AbuseIPDB API** 对数据进行丰富,将其存储在 **SQLite** 中,并通过交互式 **Grafana 仪表板**可视化攻击趋势。
## 概述
本项目演示了如何在受控环境中使用蜜罐来收集和分析恶意的 SSH 登录尝试。
该 pipeline 包括:
- 在 AWS EC2 上部署 Cowrie SSH 蜜罐
- 使用自定义的 Python ETL 脚本解析 Cowrie JSON 日志
- 移除重复事件
- 利用 AbuseIPDB 的威胁情报来丰富攻击者 IP
- 将结构化数据存储在 SQLite 中
- 从 Grafana 查询数据库
- 实时可视化攻击统计信息
# 架构
/cowrie-honeypot.git
cd cowrie-honeypot
```
## 2. 安装依赖
```
pip install -r requirements.txt
```
## 3. 配置 Cowrie
安装 Cowrie 并确保它正在以下位置生成日志:
```
cowrie/var/log/cowrie/cowrie.json
```
## 4. 配置解析器
更新 `scripts/logparser.py` 中的以下变量:
- Cowrie 日志路径
- SQLite 数据库路径
- AbuseIPDB API Key
## 5. 初始化数据库
```
sqlite3 honeypot.db < database/schema.sql
```
## 6. 运行解析器
```
python3 scripts/logparser.py
```
## 7. 使用 Cron 实现自动化
Cron 示例条目:
```
*/10 * * * * /usr/bin/python3 /home/cowrie/logparser.py >> /home/ubuntu/parser.log 2>&1
```
## 8. 导入仪表板
导入位于以下位置的仪表板:
```
dashboard/dashboard.json
```
到 Grafana 中,并将其连接到 SQLite 数据库。
# 许可证
本项目旨在用于教育和研究目的。
标签:AWS, DPI, Grafana, SQLite, 代码示例, 威胁情报, 安全, 开发者工具, 数据分析, 蜜罐, 证书利用, 超时处理