# sysarmor **Repository Path**: pku-oslab/sysarmor ## Basic Information - **Project Name**: sysarmor - **Description**: No description available - **Primary Language**: Unknown - **License**: MulanPSL-2.0 - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 4 - **Forks**: 0 - **Created**: 2025-10-13 - **Last Updated**: 2026-03-05 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # SysArmor EDR/HIDS 系统 ## 🎯 项目概述 SysArmor 是一个现代化的端点检测与响应(EDR/HIDS)系统,采用微服务架构,实现 agentless 数据采集、实时威胁检测和告警存储的完整数据流。 ### 系统架构 ```mermaid graph LR A[终端设备
auditd数据] -->|TCP:6000| B[Middleware
Vector + Kafka] B -->|消息队列| C[Processor
Flink + NODLINK] C -->|告警事件| D[Indexer
OpenSearch] E[Manager
控制平面] -.->|管理| B E -.->|查询| D E --- F[(PostgreSQL)] ``` ### 核心特性 - 🚀 **Agentless 部署** - 基于 rsyslog + auditd,无需安装 Agent - 🔧 **微服务架构** - Manager + Middleware + Processor + Indexer 四大模块 - 📊 **实时威胁检测** - Flink 流处理 + NODLINK 算法 - 🔍 **告警存储查询** - OpenSearch 索引和 REST API - 🐳 **容器化部署** - Docker Compose 一键部署 ## 🚀 快速开始 ### 一键部署 ```bash # 克隆项目仓库 git clone cd sysarmor # 初始化并部署 (一键完成) make init && make deploy ``` **部署完成后,系统会自动**: - ✅ 启动所有服务 (Manager、Kafka、Flink、OpenSearch等) - ✅ 提交核心Flink作业 (数据转换和告警生成) - ✅ 激活完整数据流 (auditd → events → alerts) ### 快速验证 ```bash # 1. 系统健康检查(8 个检查点) make health # 2. 完整数据流测试(18 个验证点) make test-e2e-data-pipeline # 3. API 接口测试(54 个端点) make test ``` **数据流验证内容**: - ✅ 服务健康检查(Manager, Kafka, OpenSearch, Flink) - ✅ 数据导入到 Kafka raw topic - ✅ Flink 解析和处理(raw → events → alerts) - ✅ 告警写入 OpenSearch - ✅ 数据流完整性验证 **📖 完整测试文档**: [tests/README.md](tests/README.md) - 113+ 测试,187+ 验证点 ### 真实安装验证 验证 Agentless 部署的完整安装和卸载流程(**需要 root 权限**): ```bash # 1. 完整安装测试(17 个验证点) sudo make test-e2e-agentless-install ``` **安装测试验证内容**: - ✅ 预注册 Collector 并生成安装令牌 - ✅ 执行安装脚本(auditd + rsyslog + systemd 服务) - ✅ 心跳上报和状态更新(inactive → active) - ✅ 数据采集验证(auditd → rsyslog → Vector → Kafka) - ✅ 完整数据流验证(采集的数据包含正确的 Collector ID) ```bash # 2. 卸载测试(10 个验证点) sudo make test-e2e-agentless-uninstall ``` **卸载测试验证内容**: - ✅ 获取并执行卸载脚本 - ✅ systemd 服务删除验证 - ✅ 配置文件清理验证(/etc/sysarmor、rsyslog、auditd 规则) - ✅ 环境完全清理验证 ⚠️ **重要提示**:安装测试完成后,请务必运行卸载测试清理环境 ### 系统访问地址 - **🎨 Web 界面**: http://localhost:3000(需部署前端) - **🌐 Manager API**: http://localhost:8080 - **📖 API 文档**: http://localhost:8080/swagger/index.html - **🔧 Flink 监控**: http://localhost:8081 - **📊 Prometheus**: http://localhost:9090 - **🔍 OpenSearch**: http://localhost:9200 ## 🔧 常用命令 ### 部署操作 ```bash # 初始化项目环境 make init # 部署基础设施(Manager + Middleware + Processor + Indexer) make deploy # 完整部署(基础设施 + 生产前端) make deploy-full # 开发部署(基础设施 + 开发前端,支持热更新) make deploy-dev ``` **前端独立部署**(需要先部署基础设施): ```bash make deploy-ui # 部署生产前端 make deploy-ui-dev # 部署开发前端(支持热更新) make down-ui # 停止前端服务 ``` ### 服务管理 ```bash make up # 启动服务(不重新构建) make down # 停止所有服务 make restart # 重启所有服务 make status # 查看服务状态 ``` ### 测试验证 ```bash make health # 系统健康检查(8 个检查点) make test # 集成测试(健康检查 + API 端点) make test-e2e # E2E 测试(数据流 + Agentless) ``` ### 数据管理 ```bash make seed-generate # 生成示例数据文件 make seed # 导入数据到数据库 make seed-clean # 清理数据 make seed-reset # 重置数据(清理 + 导入) ``` **📦 示例数据内容**: - 5 个 Collectors (prod/staging/dev 环境) - 4 个 Alerts (不同严重级别) - 3 个 Threats (APT/内部威胁/暴力破解) - 1 个完整威胁图谱 (7节点攻击链) **📖 更多运维命令**: 详见 [运维指南](docs/guides/operations.md) - 包含单元测试、性能测试、数据管理、Volume 管理、工具脚本等完整运维操作 ## 📚 文档 详细文档请访问 **[📖 文档中心](docs/)** **快速链接**: - 🚀 **[快速开始](docs/getting-started/quickstart.md)** - 15分钟体验完整数据流 - 🏗️ **[架构设计](docs/architecture/overview.md)** - 系统架构和组件设计 - 🔧 **[运维指南](docs/guides/operations.md)** - 完整的部署、监控、测试、维护操作手册 - 🔌 **[Manager API](docs/api/manager-api.md)** - REST API接口详细文档 - ⚙️ **[配置指南](docs/guides/configuration.md)** - 环境变量和服务配置详解 - 🧪 **[测试指南](tests/README.md)** - 单元测试、集成测试、E2E测试 --- **SysArmor EDR/HIDS** - 现代化端点检测与响应系统