FYP-Log-Analysis/LOGIC
GitHub: FYP-Log-Analysis/LOGIC
这是一个集日志摄入、标准化、关联检测与行为分析于一体的本地优先平台,专为Web服务器与Windows事件日志的威胁调查而设计。
Stars: 0 | Forks: 0
# LOGIC
LOGIC 是一个本地优先的检测与调查平台,针对两个遥测领域:Web 服务器日志和 Windows 事件日志。该平台将摄入、标准化、关联、检测、行为分析以及分析师工作流整合在一个单一的运营堆栈中。
## 1. 系统概述
该仓库包含以下主要组件。
1. 使用 FastAPI 构建的 API 服务,用于身份验证、项目生命周期、摄入、分析、搜索和管理。
2. 使用 Next.js 构建的 Web 控制台,用于分析师和管理员工作流。
3. 用于解析、标准化、检测逻辑、扩充和存储的核心处理模块。
4. 基于 SQLite 的运行时数据存储以及 data 目录下项目范围的产物文件。
5. 面向代理 的实时流提交摄入端点。
该平台支持两种项目类型。
1. Web 项目:针对 Apache 或 Nginx 风格的流量以及 CRS (Core Rule Set) 导向的检测进行了优化。
2. Windows 项目:针对 EVTX 或 XML 遥测以及 Sigma 导向的检测进行了优化。
## 2. 仓库结构
顶层目录组织如下。
1. api:FastAPI 应用程序、路由模块和服务连接。
2. core:用于摄入、标准化、检测、扩充和导出的处理流水线。
3. frontend:Next.js 应用程序、仪表板视图和客户端状态逻辑。
4. agent:用于摄入工作流的轻量级发送器产物。
5. data:运行时状态、上传内容、检测输出和规则目录。
## 3. 执行模型
所有数据均按项目范围限定。每个项目可以包含多次上传。上传处理会产生中间和标准化的产物,随后生成分析输出。
标准处理序列。
1. 从上传端点或代理摄入端点接收日志。
2. 按遥测类型解析并标准化记录。
3. 执行检测和行为分析。
4. 将生成的结果持久化到项目数据路径下。
5. 将输出提供给仪表板和 API 消费者。
## 4. 前置条件
1. Python 3.11 或更高版本。
2. Node.js 20 或更高版本。
3. npm。
4. Docker 和 Docker Compose,用于容器化部署(可选)。
## 5. 本地开发
创建仓库级别的 .env 文件,至少设置 JWT_SECRET_KEY。
启动开发堆栈。
```
./run_dev.sh
```
默认开发端点。
1. Frontend:http://localhost:3000
2. API:http://localhost:4000
3. OpenAPI UI:http://localhost:4000/docs
开发启动器将在需要时创建本地虚拟环境,安装依赖项,并启动 API 和前端进程。
## 6. 生产执行(宿主进程)
在 .env 中设置生产就绪的环境值,包括 JWT_SECRET_KEY 和 ALLOWED_ORIGINS。
启动生产进程。
```
./run_prod.sh
```
生产启动器将以多个 worker 启动 FastAPI,并以生产模式启动 Next.js 前端。
## 7. 容器部署
启动所有容器。
```
docker compose up -d --build
```
默认容器端口。
1. API:4000
2. Frontend:3001
3. CRS detector:8080
## 8. 数据管理策略
以下路径包含操作历史记录,应视为持久的运行时数据。
1. data/projects
2. data/crs_audit
3. data/crs_rules
4. data/sigma_rules
5. data/logic.db
删除 data/projects 或 data/logic.db 将移除调查历史和分析输出。
## 9. 安全与访问控制
1. 身份验证基于令牌。
2. 对于标准用户,访问权限按所有者范围限定;对于管理员,权限提升。
3. JWT 密钥材料必须安全管理并在生产环境中轮换。
4. 在生产环境中,应通过 ALLOWED_ORIGINS 明确限制 CORS 源。
## 10. 文档集
主要的 API 文档以两种形式提供。
1. 由 FastAPI 提供的位于 /docs 的 OpenAPI UI。
2. 位于 api/README.md 的静态 API 参考。
## 11. 运营验证检查清单
启动后,确认以下事项。
1. API 响应正常且 OpenAPI 页面加载成功。
2. 前端身份验证流程成功。
3. 项目列表和项目详情页面加载了预期的数据。
4. Web 分析和 Windows 分析端点针对其各自的项目类型返回了结果。
## 12. 故障排除摘要
如果 API 启动失败。
1. 验证 .env 值。
2. 验证根目录和 api 要求的依赖项已安装。
3. 检查主机端口冲突。
如果前端启动失败。
1. 重新安装前端依赖项。
2. 重新构建并检查 lint 或类型错误。
如果缺少分析输出。
1. 验证项目类型与端点对齐。
2. 验证上传状态已完成。
3. 验证项目范围的过滤器设置正确。
标签:AMSI绕过, Apache日志, AV绕过, CRS, EVTX, FastAPI, Nginx日志, Sigma规则, SQLite, Web日志, Windows事件日志, 关联分析, 分析师工作台, 命令控制, 威胁检测, 安全仪表盘, 安全运营, 归一化, 扫描框架, 数据采集, 本地优先, 目标导入, 端点检测, 网络流量分析, 自动化攻击, 规则检测, 请求拦截, 逆向工具