veddegre/signaltrace
GitHub: veddegre/signaltrace
一款轻量级自托管蜜罐遥测工具,通过自定义 token 追踪访问交互并生成可集成的威胁情报源。
Stars: 0 | Forks: 0
# SignalTrace




SignalTrace 是一个轻量级、自托管的追踪和分析工具,用于观察与自定义路径的交互并生成可操作的遥测数据。
它实时捕获交互,并可以选择将这些数据公开为简单的威胁情报源,供其他安全工具使用。
## SignalTrace 的功能
SignalTrace 允许您创建自定义 token(路径),以便:
1. 捕获详细的请求数据
2. 对交互进行分类(人工、可疑或机器人)
3. 重定向到目标地址
它适用于任何您希望了解实际交互对象的场景。
常见用例:
- 钓鱼模拟
- 蜜罐
- 侦察检测
- 链接追踪
## 功能特性
- 支持重定向的自定义 token
- 详细的请求日志记录(IP、headers、user agent 等)
- 分类系统(人工、可能为人工、可疑、机器人)
- 访客指纹识别
- 按 token、IP 和访客进行筛选
- 跳过模式以抑制噪音
- 直接从 UI 将 token 添加到跳过模式
- 追踪像素支持
- 威胁情报源生成(`/feed/ips.txt`)以便与其他工具集成
- 使用 MaxMind 进行 GeoIP 丰富化
- SQLite 后端,无需外部数据库
- 极简且快速,无框架依赖
## 截图
[](docs/images/dashboard.png)
## 最低要求
SignalTrace 专为在非常小型的系统上运行而设计。
推荐的最低配置:
- 1 vCPU
- 1 GB RAM
- 1 GB swap
- 5 到 10 GB 磁盘
已在启用 1 GB RAM 和 1 GB swap 的小型 VM 上测试。
如果您启用 GeoIP 或保留更长时间的数据,可能需要更多内存。
## 安装说明 (Ubuntu + Apache)
### 1. 安装依赖项
安装 Apache、PHP、SQLite、Composer 和所需的软件包。
```
sudo apt update
sudo apt install -y apache2 php php-sqlite3 php-mbstring php-xml php-curl sqlite3 composer unzip
```
### 2. 安装 PHP 依赖项
```
composer install
```
### 3. 创建数据目录
```
sudo mkdir -p /var/www/signaltrace/data
sudo chown -R www-data:www-data /var/www/signaltrace/data
sudo chmod -R 775 /var/www/signaltrace/data
```
### 4. 初始化数据库
```
sqlite3 /var/www/signaltrace/data/database.db
```
然后运行:
```
.read db/schema.sql
```
### 5. 可选:加载样本数据
```
sqlite3 /var/www/signaltrace/data/database.db
```
然后运行:
```
.read db/seed.sql
```
## 配置
SignalTrace 使用本地配置文件存储机密信息和凭据。
### 创建本地配置
```
cp includes/config.local.php.example includes/config.local.php
```
### 编辑配置
```
vi includes/config.local.php
```
示例:
```
ServerName yourdomain.example
DocumentRoot /var/www/signaltrace/public
AllowOverride All
Require all granted
ErrorLog ${APACHE_LOG_DIR}/signaltrace_error.log
CustomLog ${APACHE_LOG_DIR}/signaltrace_access.log combined
```
启用:
```
sudo a2enmod rewrite
sudo a2ensite signaltrace.conf
sudo a2dissite 000-default.conf
sudo systemctl restart apache2
```
## .htaccess
将其放置在 `public/.htaccess` 中。
此配置允许 Let's Encrypt 验证并正确路由应用流量。
```
RewriteEngine On
RewriteRule ^\.well-known/acme-challenge/ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^ index.php [QSA,L]
```
## HTTPS (Let's Encrypt)
```
sudo apt install -y certbot python3-certbot-apache
sudo certbot --apache
sudo certbot renew --dry-run
```
## 管理员访问
```
https://yourdomain.example/admin
```
## 威胁情报源
SignalTrace 可以根据观察到的交互生成轻量级的基于 IP 的威胁情报源。
端点:
```
/feed/ips.txt
```
### 包含内容
- 被归类为可疑或机器人活动的 IP
- 仅包含具有评分数据的事件(不包括旧的未分类数据)
- 去重输出(每行一个 IP)
### 用途
此情报源旨在供其他工具使用,例如:
- 防火墙(阻止列表)
- SIEM 丰富化
- 检测管道
- 临时拒绝列表
### 配置
可以在 UI 中调整情报源行为:
- IP 在情报源中保留的时长
- 最低分类阈值
- 包含和过滤行为
### 注意事项
这是有意设计的简单功能。它不是一个完整的威胁情报平台。
其目标是获取 SignalTrace 观察到的内容,并使其能在其他地方立即使用。
## 项目结构
```
signaltrace/
├── LICENSE
├── README.md
├── composer.json
├── composer.lock
├── data/
│ └── database.db
├── db/
│ ├── schema.sql
│ └── seed.sql
├── docs/
│ └── images/
│ └── dashboard.png
├── includes/
│ ├── admin_actions.php
│ ├── admin_view.php
│ ├── auth.php
│ ├── config.local.php.example
│ ├── config.php
│ ├── db.php
│ ├── helpers.php
│ └── router.php
├── public/
│ └── index.php
└── vendor/
```
### 这些目录的用途
- `public/` — Web 根目录(唯一公开的目录)
- `includes/` — 应用逻辑和路由
- `db/` — Schema 和种子文件
- `data/` — 运行时数据库存储
- `docs/images/` — 文档资源
- `vendor/` — Composer 依赖项
## 界面概览
### 仪表板
- 实时活动视图
- 可展开的请求详情
- 按 token、IP 和访客筛选
- 分类标签
- 清理工具
### Token
- 创建和管理 token
- 配置重定向目标
- 启用或禁用 token
- 像素追踪 URL
### 设置
- 应用名称
- Base URL
- 默认重定向
- 未知路径行为
- 像素开关
- 噪音过滤器开关
- 威胁情报源配置
### 跳过模式
- 忽略扫描器噪音
- 模式类型:
- 精确匹配
- 包含
- 前缀匹配
## 安全说明
- `config.local.php` 不会被提交
- 密码以哈希形式存储
- 只有 `/public` 应该可通过 Web 访问
- 内部目录不应可通过 Web 访问
- 管理员使用 HTTP Basic Auth
## 生产环境清单
- 启用 HTTPS
- 设置强管理员凭据
- 生成唯一的访客哈希盐值
- 验证目录暴露情况
- 配置跳过模式
- 配置威胁情报源设置
## 使用场景
- 钓鱼模拟追踪
- 蜜罐遥测
- 侦察检测
- 链接追踪
- 安全研究
- 从观察到的活动生成轻量级威胁情报源
## 技术栈
- PHP
- SQLite
- Apache
- MaxMind GeoIP2
## 免责声明
SignalTrace 旨在用于安全测试和可见性。
它通过公开端点并记录交互来工作。这意味着它会吸引自动流量、扫描器和其他系统。这是预期行为。
请在使用时了解您正在公开的内容以及部署位置。如果您计划在生产环境中运行它,请确保它符合您的环境、策略和风险承受能力。
## 许可证
MIT License
## 贡献
欢迎提交 Pull request。
## 结语
大多数工具试图隐藏噪音。
SignalTrace 将其可视化。
标签:ffuf, IP 地址批量处理, IP 地理位置, LangChain, OpenVAS, PHP, SQLite, 令牌追踪, 侦察检测, 威胁情报, 威胁源生成, 密码管理, 开发者工具, 网络安全, 自托管, 蜜罐, 访客指纹, 证书利用, 请求分类, 轻量级, 追踪像素, 遥测分析, 链接追踪, 防御监视, 隐私保护