allsafe-ar/heimdall-community
GitHub: allsafe-ar/heimdall-community
Heimdall Community 是一个开源 Web 蜜罐监控平台,通过仿真诱饵页面捕获并对入侵尝试进行实时威胁分析与可视化。
Stars: 2 | Forks: 1
[](README.es.md)
# Heimdall Community - Web Honeypot 监控器
**实时 Web Honeypot 平台 - 免费开源**
*由 [AllSafe Security Solutions](https://www.allsafe.com.ar) 提供支持*





[](https://allsafe.com.ar/en/heimdall-community/)
Heimdall Community 是一个免费、开源的 Web Honeypot 平台,配备实时仪表盘。它部署虚假服务(登录门户、管理面板、API)来记录每一次交互——包括暴力破解尝试、扫描器、机器人和人工入侵者——同时对合法流量保持完全不可见。
## 什么是 Heimdall Community?
Heimdall Community 让您的蓝队全面掌握谁在探测您的基础设施:
- **4 个 honeypot 模板** - WordPress、cPanel、CorpNet Portal、Microsoft
- **HTTP & HTTPS 诱饵** - 端口 80 和 443,支持自签名证书
- **威胁评分** - 每个事件都会获得风险分类:BRUTE / SCAN / BOT / RECON / HUMAN
- **实时仪表盘** - 通过 WebSocket 提供实时事件流,支持暂停/恢复且不丢失事件
- **IP 列表** - 汇总展示攻击 IP 的视图,包含命中次数和地理位置
- **事件历史** - 支持按类型筛选的分页表格
- **统计信息** - 总事件数、独立 IP 数、顶级攻击者、按类型划分的攻击明细
- **基于角色的访问控制** - `admin` / `viewer`
- **用户管理** - 创建、编辑、启用/禁用用户
- **TOTP 2FA** - RFC 6238,通过二维码设置
- **深色 / 浅色 / 系统主题**
## 社区版 vs 专业版
| 功能 | Community | Pro |
|---|:---:|:---:|
| HTTP & HTTPS 诱饵 (端口 80 / 443) | ✅ | ✅ |
| 实时 WebSocket 仪表盘 | ✅ | ✅ |
| 威胁评分 (BRUTE / SCAN / BOT / RECON / HUMAN) | ✅ | ✅ |
| 事件历史、统计信息 & IP 地理定位 | ✅ | ✅ |
| TOTP 2FA + 账户锁定 | ✅ | ✅ |
| 深色 / 浅色 / 系统主题 | ✅ | ✅ |
| Honeypot 模板 | 4 | 8+ |
| 自定义模板构建器 (Logo / 颜色 / 标签 / 文本) | ❌ | ✅ |
| TCP 陷阱端口 (nmap / masscan / zgrab 检测) | ❌ | ✅ |
| PORTSCAN 分类 | ❌ | ✅ |
| IP 分析器 (单 IP 攻击时间线 & 威胁等级) | ❌ | ✅ |
| 审计日志 | ❌ | ✅ |
| 自定义品牌 (组织 Logo) | ❌ | ✅ |
| 角色 | `admin` / `viewer` | `admin` / `analista` / `auditor` / `viewer` |
## 截图
# Heimdall Community - Web Honeypot 监控器
**实时 Web Honeypot 平台 - 免费开源**
*由 [AllSafe Security Solutions](https://www.allsafe.com.ar) 提供支持*





[](https://allsafe.com.ar/en/heimdall-community/)
**实时仪表盘**
**事件历史**
**攻击者 IP 档案**
## 安装说明
### 选项 A - 安装脚本(推荐用于 Linux 服务器)
```
git clone https://github.com/allsafe-ar/heimdall-community.git
cd heimdall-community
chmod +x install.sh && sudo ./install.sh
```
已在 Ubuntu 22.04 / 24.04 和 Debian 12 上测试。
### 选项 B - Docker
```
git clone https://github.com/allsafe-ar/heimdall-community.git
cd heimdall-community
cp .env.example .env
# 编辑 .env:设置 DB_PASSWORD、DB_ROOT_PASSWORD 和 JWT_SECRET(openssl rand -hex 32)
docker compose up -d
```
### 选项 C - 手动安装
```
# Backend
cd backend
npm install
cp .env.example .env
# 编辑 .env:DB 凭证 + 强 JWT_SECRET(至少 32 个字符)
npm start # port 3005
# Frontend
cd frontend
npm install
npm run build # Production build → dist/
```
默认凭据(首次运行):`admin` / `admin123` - **请立即修改**。
## 架构
```
heimdall-community/
├── backend/
│ ├── server.js # Single-file backend - honeypot engine + REST API + WebSocket
│ ├── templates/ # HTML decoy pages served as honeypots
│ └── .env.example
└── frontend/
└── src/
├── pages/ # Dashboard, Events, IPs, Users, My Account
├── components/ # StatsBar, TerminalCard, EventTable, IpListView, ...
└── lib/ # socket, api, cookies
```
### 后端
- 单文件 Express 服务器 (`server.js`)
- MySQL 8.0+ - 首次启动时自动创建表
- JWT 认证(12小时过期)、TOTP 2FA、账户锁定
- WebSocket (Socket.IO) 用于实时事件流
- Honeypot 引擎:捕获 IP、User-Agent、路径、方法、Body - 并分配威胁评分
- 速率限制:5次登录失败 → 锁定15分钟;每个 IP 限制为 300 请求/15分钟
### 前端
- React 18 + Vite + TypeScript
- shadcn/ui 组件 + Tailwind CSS v4
- 实时事件流在内存中最多保留 2000 个事件
- 暂停/恢复实时事件流且不会丢失事件(内部缓冲区)
## Honeypot 模板
| 模板 | 模拟内容 |
|----------|-----------|
| `generic` | CorpNet Portal - 企业员工登录 |
| `wordpress` | WordPress wp-admin 登录 |
| `cpanel` | cPanel 虚拟主机管理面板 |
| `microsoft` | Microsoft 账户登录 |
活动模板可直接在仪表盘中切换,无需重启。
## 威胁分类
| 类型 | 描述 |
|------|-------------|
| `BRUTE` | 反复登录尝试 - 凭证填充或暴力破解 |
| `SCAN` | 路径枚举 / 漏洞扫描 |
| `BOT` | 自动化机器人 - 抓取或探测 |
| `RECON` | 侦察 - 信息收集 |
| `HUMAN` | 疑似人工交互 |
## 角色
| 角色 | 权限 |
|------|-------------|
| `admin` | 完全访问权限 - 用户、设置、所有事件 |
| `viewer` | 仪表盘 - 仅查看事件和统计信息 |
## 安全与认证
Honeypot 诱饵端点是故意开放的——这正是它的核心目的——但**仪表盘和管理 API 已被严格锁定**,采用了与 AllSafe 商业套件相同的安全加固基线:
- **JWT** — 12小时过期,在修改密码或禁用用户时通过 `token_version` 吊销
- **TOTP 2FA** — RFC 6238,通过二维码设置
- **账户锁定** — 5次尝试失败 → 锁定15分钟,**持久化到数据库中**(重启后依然有效)
- **bcrypt** 密码哈希(每用户独立盐值)
- **安全响应头** (Helmet) + **HTTP 速率限制** — API 限制为 300 请求/15分钟,认证端点限制为 10/15分钟
- **基于角色的访问控制** — `admin` / `viewer`
- **100% 参数化 SQL** — 无字符串拼接查询,无注入攻击向量 (OWASP Top 10 2021)
- **快速失败启动** — 如果缺少 `JWT_SECRET`、为默认值或过短,后端将拒绝启动
- **CORS** 锁定到配置的来源(不使用通配符)
## 路线图
- SSH honeypot(端口 22,cowrie 风格)并记录命令日志
- 交互式 Telnet 模拟 Shell
- 当评分超过阈值时发送邮件 / Webhook 告警
- 导出 CSV / JSON 事件
- 攻击地理位置热力图
- 通过 iptables 自动将 IP 加入黑名单
## 作者
由 **Eduardo Emiliano Alaniz** ([@h4wkby73](https://github.com/h4wkby73)) 创建
[AllSafe Security Solutions](https://www.allsafe.com.ar)
## 商标声明
“AllSafe”、“AllSafe Security Solutions”、“Heimdall” 以及所有相关 Logo 均为 AllSafe Security Solutions 的商标。涵盖本软件的 AGPL-3.0 许可证并未授予使用这些名称或 Logo 的任何权利。未经 AllSafe Security Solutions 事先书面许可,您不得使用它们来标识、认可或推广基于本软件派生的产品。
## 许可证
GNU Affero General Public License v3.0 - 详见 [LICENSE](LICENSE) 文件。
如果您修改并将 Heimdall Community 作为服务部署,您必须在相同的许可证下公开您的修改内容。
## 安全
发现漏洞?请私下报告 - 详见 [SECURITY.md](SECURITY.md)。
**事件历史**
**攻击者 IP 档案**
由 AllSafe Security Solutions 提供支持
标签:GNU通用公共许可证, MITM代理, Node.js, React, Syscalls, Web安全, 威胁情报, 安全, 密码管理, 开发者工具, 自定义脚本, 蓝队分析, 蜜罐, 证书利用, 请求拦截, 超时处理