HoneyWire 是一个轻量级的分布式高信号安全早期预警系统构建器,专为内网设计。它利用其架构和用户体验,使构建新的 Cyber Canary 服务器或在现有服务器上部署 HoneyWires 变得极其简单。通过使用欺骗技术,它取代了传统 SIEM 的"放大镜"方法——传统 SIEM 通过监视合法流量来让分析师淹没在误报中,而 HoneyWire 采用高保真绊网(Tripwire)模型。
将传感器精确放置在您想要的位置。如果它被触发,说明您有入侵者。
部署多个传感器后,您就能对入侵者的横向移动有一个相当清晰的了解。无需调优,没有噪音,只有即时取证。 如果您有合法的自动化安全扫描器触发了 HoneyWires,只需在 Hub 的设置中将它们加入白名单即可。
注意:如果您使用官方 HoneyWire SDK 构建传感器,此 JSON 格式化和投递将自动为您处理。
HoneyWire 的真正强大之处在于 Hub 和 Wizard 完全与传感器无关。您不仅限于附带的官方传感器。
通过遵循 HoneyWire 事件标准 V2.0,您可以用任何语言(Bash、Go、Rust、Python)编写脚本来监控任何内容,Sentinel UI 将动态解析、语法高亮并渲染您的取证数据。
无论是**深度包检测(DPI)**引擎、DNS 黑洞、嵌入在 PDF 中的 Canary Token、电子邮件蜜罐,还是简单的 TCP 端口绊网,只需将 通用事件标准 JSON 负载 POST 到 Hub 即可。
HoneyWire 分为四个独立的微服务:
/Hub:中央大脑。一个纯 Go 二进制文件,运行嵌入式 SQLite 数据库和 Vue.js 仪表板。它以非 root 用户身份在 Distroless 容器中运行,安全地将数据挂载到专用卷。/Sensors:诱饵节点。静态链接的 Go 二进制文件,监听易受攻击的端口,诱捕攻击者,并安全地将入侵数据 POST 回 Hub。/SDKs:官方库(如 sdk-go),用于处理安全的 Hub 通信,使社区开发者能够轻松构建新传感器。/wizard:设置向导 CLI 工具,用于自动化操作员任务,如发现、部署和测试 HoneyWires。使用我们预构建的 GitHub Container 镜像,部署 HoneyWire Hub 只需不到 60 秒。
在您的服务器上创建一个新目录,创建一个 docker-compose.yml 文件,并粘贴以下内容:
services:
# 1. 权限修复器:运行一次以确保 Hub 可以写入数据卷
permission-fixer:
image: alpine:latest
container_name: honeywire-permission-fixer
command: sh -c "chown -R 65532:65532 /data"
volumes:
- ./honeywire_data:/data
# 2. HUB:基于 Go 的中央仪表板和 API
hub:
image: ghcr.io/andreicscs/honeywire-hub:latest
container_name: honeywire-hub
restart: unless-stopped
ports:
- "8080:8080"
volumes:
- ./honeywire_data:/data
depends_on:
permission-fixer:
condition: service_completed_successfully
# 严格安全沙箱
user: "65532:65532"
read_only: true
cap_drop: ["ALL"]
security_opt: ["no-new-privileges:true"]
environment:
- HW_ENV=development # 如果未使用 HTTPS 则为必需,否则 cookie 将设置 secure 标志,在生产环境中强烈建议移除此项并通过反向代理使用 https 运行
- HW_PORT=8080
- HW_DB_PATH=/data/honeywire.db
# 可选:硬编码仪表板密码(禁用 UI 密码重置功能)
# - HW_DASHBOARD_PASSWORD=admin
启动 Hub:
docker compose up -d
在浏览器中导航到 http://<your-server-ip>:HW_PORT。您将看到 Initialize Sentinel 屏幕。
honeywire apply 以协调期望状态,或运行 honeywire discover 让设置向导根据环境自动扫描并建议 HoneyWires。容器启动后,Tarpit 传感器应在 30 秒内显示为 ONLINE。
运行 honeywire firedrill 让 HoneyWires 向 Hub 发送一个模拟事件以测试连通性。
注意: 有关管理节点、更新传感器和处理回滚的深入介绍,请参阅 用户操作指南。
Node Key 与 Hub 通信。Hub 将拒绝任何密钥不匹配或无效的负载。gcr.io/distroless/static-debian12:nonroot。我们遵循最小权限原则,确保即使容器被攻破,爆炸半径也能得到控制。net/http(标准库)、SQLite(ModernC 纯 Go 驱动)HoneyWire 正在积极演进,目标是成为一个完全由 GitOps 驱动的企业级欺骗平台。
Hub 端点:
GET /api/v2/version → 返回 { "version": "v2.x.x" }