EForce11/WatchTower

GitHub: EForce11/WatchTower

一个开源、自托管的 Linux 服务器 XDR 平台,通过分布式 agent 采集安全遥测数据并进行威胁关联与实时告警。

Stars: 3 | Forks: 0

# WatchTower XDR
**企业级扩展检测与响应 — 开放、可审计、自托管。** [![CI](https://github.com/EForce11/WatchTower/actions/workflows/ci.yml/badge.svg?branch=master)](https://github.com/EForce11/WatchTower/actions/workflows/ci.yml) [![CodeQL](https://github.com/EForce11/WatchTower/actions/workflows/codeql.yml/badge.svg)](https://github.com/EForce11/WatchTower/actions/workflows/codeql.yml) [![Go 版本](https://img.shields.io/badge/go-1.24-00ADD8?logo=go)](https://go.dev/) [![许可证:GPL v3](https://img.shields.io/badge/License-GPLv3-blue.svg)](https://www.gnu.org/licenses/gpl-3.0) [![发布](https://img.shields.io/github/v/release/EForce11/WatchTower?include_prereleases)](https://github.com/EForce11/WatchTower/releases)
## 什么是 WatchTower XDR? WatchTower 是一个**开源的 XDR (扩展检测与响应)** 平台,旨在实现自托管、可审计和可扩展。它从分布式 agent 收集安全遥测数据,将事件与威胁模式进行关联,并提供实时告警 —— 无需将您的数据发送给第三方。 ## 架构 ``` ┌─────────────────────────────────────────────────────────────────┐ │ WatchTower XDR │ │ │ │ ┌──────────────┐ gRPC / mTLS ┌──────────────────────────┐ │ │ │ wt-sentry │ ◄─────────────► │ wt-core │ │ │ │ (Agent) │ Heartbeat 10s │ (Central Server) │ │ │ │ │ │ Port :50051 │ │ │ │ - Log watch │ │ - Agent registry │ │ │ │ - Pattern │ │ - Event correlation │ │ │ │ matching │ │ - Alert dispatch │ │ │ └──────────────┘ └──────────────────────────┘ │ │ │ │ ┌───────────────┐ │ │ │ wt-cli │ ← unified management interface (Phase 3+) │ │ └───────────────┘ │ └─────────────────────────────────────────────────────────────────┘ ``` 有关完整的架构详情,请参阅 [docs/architecture.md](docs/architecture.md)。 ## 功能 ### ✅ 阶段 0 — 核心通信 (v0.2.0) - 基于 gRPC 的 agent ↔ core 通信 - 带有健康监控的心跳机制 - 具有指数退避的自动重连 - 优雅停机处理 - 集成测试套件 ### ⏳ 阶段 1 — 日志监控(进行中) - 通过 inotify (`fsnotify`) 进行实时日志文件监控 - 安全事件模式匹配(基于 regex 的规则) - 日志事件流式传输到 core ### 🔲 即将推出的阶段 | 阶段 | 功能 | 目标 | |-------|---------|--------| | 2 | TimescaleDB + Grafana 仪表盘 | v0.4.0 | | 3 | 自动化 IP 封禁 (Turret) | v0.6.0 | | 4 | 异常检测引擎 | v0.8.0 | | 6 | 应用 WAF (Interceptor) | v1.0.0 | ## 快速开始 ### 前置条件 | 工具 | 版本 | 用途 | |------|---------|---------| | Go | 1.24+ | 构建工具链 | | protoc | 任意 | 编译 .proto 文件 | | make | 任意 | 构建自动化 | ### 安装 ``` # Clone 仓库 git clone https://github.com/EForce11/WatchTower cd WatchTower # 安装 Go 代码生成工具 make dev-deps # 构建所有 binaries make build ``` ### 运行 ``` # Terminal 1 — 启动 central server make run-core # Terminal 2 — 启动 monitoring agent make run-sentry # 您应该会看到每 10 秒记录一次 heartbeats ``` ### 测试 ``` # 运行所有单元测试和 integration tests make test # 仅运行 integration test make integration-test # 使用 race detector 运行 integration test make integration-test-race # 验证 Phase 0 完成 ./scripts/verify-phase0.sh ``` ## 项目结构 ``` WatchTower/ ├── cmd/ │ ├── wt-core/ # Central server (gRPC, event correlation) │ ├── wt-sentry/ # Monitoring agent (log watcher, heartbeat) │ └── wt-cli/ # Management CLI (Phase 3+, stub) ├── internal/ │ └── sentry/ # Agent internals (log watcher, pattern matcher) ├── pkg/ │ └── protocol/ # Protobuf definitions + generated gRPC code ├── test/ │ └── integration/ # End-to-end integration tests ├── docs/ # Architecture and deployment documentation └── scripts/ # Developer helper scripts ``` ## 开发 有关完整的架构文档,请参阅 [docs/architecture.md](docs/architecture.md)。 有关贡献指南、分支命名和提交规范,请参阅 [CONTRIBUTING.md](CONTRIBUTING.md)。 ## 路线图 - [x] 阶段 0:gRPC 通信 (v0.2.0) - [ ] 阶段 1:日志监控与模式检测 - [ ] 阶段 2:TimescaleDB 和 Grafana 仪表盘 - [ ] 阶段 3:自动化 IP 封禁 (Turret) - [ ] 阶段 4:异常检测引擎 - [ ] 阶段 6:应用 WAF (Interceptor) - [ ] v1.0.0:正式发布 ## 安全 如果您发现安全漏洞,**请勿创建公开的 issue。** 请遵循 [SECURITY.md](SECURITY.md) 中描述的负责任的披露流程。 ## 许可证 WatchTower XDR 是免费软件:您可以根据自由软件基金会发布的 [GNU General Public License v3.0](LICENSE) 条款对其进行重新分发和修改。 ## 作者 **Emir Furkan Ulu** GitHub: [@EForce11](https://github.com/EForce11)
WatchTower XDR — 您可以信任的安全,您掌控的基础设施。
标签:EVTX分析, Go, Python工具, Ruby工具, 子域名变形, 安全, 安全遥测, 日志审计, 端点检测与响应, 脱壳工具, 超时处理