buganalyst/intelligent-log-analytics-engine

GitHub: buganalyst/intelligent-log-analytics-engine

一个基于 Spring Boot 的轻量级 SIEM 教学平台,通过实时采集、解析应用日志并执行基于规则的威胁检测与告警可视化,帮助用户学习安全运营和蓝队监控技能。

Stars: 1 | Forks: 0

# 智能日志分析与威胁检测引擎

## 概述 智能日志分析与威胁检测引擎是一个基于 Java 的网络安全监控平台,旨在实时收集、处理、分析和可视化应用日志。 该系统通过持续监控用户活动、处理应用日志、识别可疑行为、生成警报以及通过交互式仪表板展示安全洞察,模拟了企业级 SIEM(安全信息与事件管理)解决方案的核心功能。 该平台使用 Spring Boot、Log4j2、JPA、Hibernate、H2 数据库以及现代 Web 技术构建,展示了网络安全监控、威胁情报、日志分析和安全运营概念的实际应用。 # 问题陈述 现代 Web 应用每天都会生成数以千计的日志事件。 如果没有集中式监控: * 安全事件将被忽视 * 可疑活动将无法被检测到 * 威胁调查变得困难 * 合规可见性降低 * 事件响应变得缓慢 组织需要具备以下能力的系统: * 实时日志监控 * 安全事件检测 * 威胁警报生成 * 日志可视化 * 活动追踪 * 安全分析 本项目通过自动化日志分析和基于规则的威胁检测来解决这些挑战。 # 受 SIEM 启发的架构 该项目复刻了企业级 SIEM 平台中常见的核心功能,例如: * Splunk * ELK Stack * Wazuh * Graylog * Microsoft Sentinel 该实现提供了一个教育性的安全监控环境,同时保持了实用的网络安全工作流。 # 实际应用场景 ## 安全运营中心 (SOC) * 安全监控 * 事件调查 * 威胁狩猎 ## 企业安全 * Web 应用监控 * 安全审计 * 用户活动追踪 ## 金融系统 * 欺诈监控 * 认证监控 * 登录活动分析 ## 政府基础设施 * 安全事件监控 * 合规日志记录 ## 云平台 * API 监控 * 访问追踪 * 安全可见性 ## 教育网络安全实验室 * 蓝队训练 * 安全分析学习 * SIEM 基础 # 核心功能 ### 实时日志收集 使用 Log4j2 和定时服务持续监控应用生成的日志。 ### 日志解析引擎 提取结构化信息,包括: * 时间戳 * IP 地址 * 请求 URL * HTTP 方法 * 状态码 * 严重性级别 ### 威胁检测引擎 检测: * 暴力破解登录尝试 * SQL 注入指标 * 可疑的 URL 模式 * 反复失败的请求 * 高频异常流量 * 未经授权的访问行为 ### 警报管理 每当可疑活动超过预定义的阈值时,就会生成安全警报。 ### 仪表板分析 提供: * 实时日志可视化 * 安全警报监控 * 威胁统计 * 请求分析 * 活动监控 * 安全指标 ### 数据库集成 存储: * 日志 * 警报 * 威胁事件 * 监控统计 * 历史活动记录 ### 分析师仪表板 安全分析师可以通过集中的仪表板观察: * 用户活动 * 失败的登录尝试 * 请求模式 * 威胁警报 * 安全趋势 # 影响与收益 | 领域 | 预计改善程度 | | ---------------------------------- | --------------------- | | 威胁检测速度 | 高达 65% | | 安全可见性 | 高达 70% | | 事件响应效率 | 高达 55% | | 日志调查时间 | 高达 60% | | 安全监控自动化 | 高达 75% | | 可疑活动检测 | 高达 50% | | 运营安全意识 | 高达 45% | 注:实际效果因工作负载、部署架构、威胁量和监控配置而异。 # 系统架构

# 系统工作原理 ### 步骤 1 用户与 Web 应用进行交互。 ### 步骤 2 应用活动通过 Log4j2 记录到日志中。 ### 步骤 3 日志收集服务持续监控日志文件。 ### 步骤 4 解析引擎提取: * IP 地址 * 请求信息 * 状态码 * 时间戳 ### 步骤 5 威胁检测引擎使用基于规则的安全分析来评估日志。 ### 步骤 6 识别威胁指标。 ### 步骤 7 生成警报。 ### 步骤 8 日志和警报存储在数据库中。 ### 步骤 9 仪表板实时可视化日志、威胁和分析数据。 # 项目结构 ``` ├── images | ├── dashboard.png # Project dashboard image | ├── hld.png # System Design ├── src/main/java/com/loganalytics/ │ ├── LogAnalyticsApplication.java # Spring Boot entry point │ ├── model/ │ │ ├── LogEntry.java # Log record entity │ │ ├── ThreatAlert.java # Threat alert entity │ │ └── AppUser.java # User entity │ ├── repository/ │ │ ├── LogEntryRepository.java # JPA repo for logs │ │ ├── ThreatAlertRepository.java # JPA repo for alerts │ │ └── AppUserRepository.java # JPA repo for users │ ├── service/ │ │ ├── LogService.java # Log CRUD + analytics │ │ ├── ThreatAlertService.java # Alert management │ │ └── UserService.java # User auth logic │ ├── engine/ │ │ └── ThreatDetectionEngine.java # Core detection rules │ ├── controller/ │ │ ├── AuthController.java # Login/Register/Logout API │ │ ├── ActivityController.java # User activity + attack sim │ │ ├── DashboardController.java # Admin dashboard API │ │ └── PageController.java # HTML page routing │ ├── dto/ │ │ ├── LoginRequest.java │ │ ├── RegisterRequest.java │ │ └── ApiResponse.java │ └── config/ │ ├── SecurityConfig.java # Spring Security config │ └── DataInitializer.java # Seed demo users ├── src/main/resources/ │ ├── application.properties # App configuration │ ├── templates/ # Thymeleaf HTML pages │ │ ├── index.html # Landing page │ │ ├── login.html # Login page │ │ ├── register.html # Registration page │ │ ├── user-dashboard.html # User activity panel │ │ └── admin-dashboard.html # Admin log viewer │ └── static/ │ ├── css/main.css # Global styles │ ├── css/admin.css # Admin dashboard styles │ ├── js/user-dashboard.js # User panel logic │ └── js/admin-dashboard.js # Admin panel logic ├── LICENSE # Project License ├── README.md # Readme file ├── pom.xml # Maven dependencies ``` # 威胁检测规则 ## 暴力破解检测 检测来自同一来源的多次失败登录尝试。 ## SQL 注入检测 检测可疑的 payload,例如: ``` ' OR 1=1 -- UNION SELECT DROP TABLE ``` ## 可疑 URL 检测 监控异常的 endpoint 访问模式。 ## 高频请求 检测在短时间间隔内产生的过量请求。 ## 访问失败检测 追踪反复发生的未经授权的访问尝试。 # 使用的技术 ## 后端 * Java * Spring Boot * Spring MVC ## 日志记录 * Log4j2 ## 数据库 * H2 * Spring Data JPA * Hibernate ORM ## 前端 * Thymeleaf * HTML * CSS * Bootstrap * JavaScript ## 安全分析 * 基于正则表达式的解析 * 基于规则的威胁检测 ## 监控 * 定时服务 * 实时日志处理 # 部署指南 ## 克隆仓库 ``` git clone https://github.com/yourusername/intelligent-log-analytics-engine.git cd intelligent-log-analytics-engine ``` ## 配置数据库 创建 MySQL 数据库: ``` CREATE DATABASE loganalytics; ``` ## 更新应用属性 ``` spring.datasource.url=jdbc:mysql://localhost:3306/loganalytics spring.datasource.username=root spring.datasource.password=password ``` ## 运行应用 ``` mvn spring-boot:run ``` 或 ``` java -jar target/loganalytics.jar ``` # 仪表板功能 仪表板提供: * 实时日志流 * 威胁警报 * 请求分析 * 警报统计 * 威胁分布 * 登录活动追踪 * 安全事件历史记录 * 实时监控指标 # 未来增强 * AI 驱动的威胁检测 * 机器学习异常检测 * MITRE ATT&CK 映射 * 威胁情报集成 * Geo-IP 分析 * 邮件警报 * 基于 Kafka 的日志流 * Docker 部署 * Elasticsearch 集成 * 多节点日志收集 * SOC 案例管理 # 学习成果 本项目提供以下方面的实践经验: * 网络安全监控 * 蓝队运营 * SIEM 基础 * Spring Boot 开发 * 日志分析 * 威胁检测 * 安全工程 * 安全运营中心 (SOC) * 事件监控 * 数据库管理 # 结论 智能日志分析与威胁检测引擎展示了现代网络安全监控系统如何实时收集、分析和可视化安全事件。通过结合结构化日志记录、基于规则的威胁检测、仪表板分析和数据库支持的监控,该平台提供了一个实用的、SIEM 风格的安全监控环境,非常适合学习蓝队运营和安全分析。 # License 本项目是开源的,并在 MIT License 下发布。
标签:AMSI绕过, DOE合作, JS文件枚举, Spring Boot, 后端开发, 威胁检测, 红队行动