PiCas19/waf-siem-advanced-detection

GitHub: PiCas19/waf-siem-advanced-detection

基于Caddy构建的双层WAF系统,集成OWASP规则与自定义业务逻辑保护,提供实时监控仪表板和SIEM联动能力。

Stars: 0 | Forks: 0

# 具备 SIEM 集成的高级威胁检测 WAF 增强型 Web 服务器 基于 Caddy 构建的双层 Web Application Firewall (WAF) 系统,结合了 OWASP ModSecurity Core Rule Set (Coraza WAF) 与自定义业务逻辑保护。该系统检查 HTTP 流量,拦截常见攻击(XSS, SQLi, RFI, RCE 等),并通过基于 React 的仪表板提供实时监控,集成 SIEM 以实现集中化的安全管理。 ## 🎯 项目概述 本项目实现了一个全面的双层 Web Application Firewall (WAF) 系统: - **Layer 1**: 通过 Coraza WAF 实现 OWASP ModSecurity Core Rule Set(200+ 自动保护规则) - **Layer 2**: 具备动态规则、IP 情报和灵活拦截动作的自定义业务逻辑 WAF 该系统包含完整的管理基础设施,包括 RESTful API 后端、实时仪表板、JWT 认证以及用于测试 WAF 能力的演示应用程序。 ## ✨ 功能特性 ### Layer 1: OWASP 保护 (Coraza WAF) - ✅ **200+ OWASP 规则** - ModSecurity Core Rule Set v4.0 - ✅ **OWASP Top 10 覆盖** - XSS, SQLi, RCE, Path Traversal, Scanner Detection - ✅ **协议验证** - HTTP 协议异常检测 - ✅ **数据泄露防护** - 敏感数据暴露保护 - ✅ **规避技术检测** - 高级攻击模式识别 ### Layer 2: 自定义业务逻辑保护 - ✅ **100+ 内置检测器** - XSS, SQLi, SSRF, SSTI, XXE, NoSQL, LDAP Injection, Prototype Pollution - ✅ **动态自定义规则** - 通过仪表板管理基于数据库的正则表达式规则 - ✅ **IP 情报** - Tailscale 网络检测、DMZ 检测、HMAC 验证 - ✅ **灵活的拦截动作** - 拦截 (403)、断开连接、重定向 (302)、CAPTCHA Challenge - ✅ **IP 黑名单/白名单** - 具备优先级系统的动态 IP 管理 - ✅ **手动拦截规则** - 用于特定威胁响应的高优先级规则 ### 管理与监控 - ✅ **RESTful API 后端** - 基于 Go 的 API,带 JWT 认证 - ✅ **实时仪表板** - React + TypeScript UI,实时威胁监控 - ✅ **WebSocket 集成** - 实时警报和通知 - ✅ **SIEM 集成** - 用于集中监控的结构化 JSON 日志 - ✅ **统计与分析** - 攻击趋势、威胁关联和报告 - ✅ **用户管理** - 具有基于角色访问控制的多用户支持 ### 测试与开发 - ✅ **演示应用程序** - 金融和工业物联网 测试应用 - ✅ **全面测试** - 单元测试、集成测试、端到端测试 - ✅ **性能优化** - TLS 调优、压缩和缓存 ## 📁 项目结构 ``` waf-siem-advanced-detection/ ├── waf/ # Dual-layer WAF module (Go + Caddy) │ ├── internal/ # Core WAF logic (detectors, rules, blocklist, IP intelligence) │ ├── pkg/waf/ # Caddy middleware integration │ ├── configs/ # Caddyfile and Coraza configuration │ └── scripts/ # Build and deployment scripts ├── api/ # Backend RESTful API (Go + Gin + JWT) │ ├── cmd/ # API server entry point │ ├── internal/ # API business logic, handlers, middleware │ └── tests/ # API tests ├── dashboard/ # React-based management UI (TypeScript + Vite) │ ├── src/ # React components, services, hooks │ ├── cypress/ # E2E tests │ └── public/ # Static assets ├── app/ # Demo applications for WAF testing │ ├── finance/ # Banking/Finance demo app (Node.js) │ └── industrial/ # Industrial IoT/SCADA demo app (Node.js) └── docs/ # Project documentation ``` ## 🚀 快速开始 ### 前置条件 - Go 1.21+ - Node.js 18+ - xcaddy (用于构建带有 WAF 模块的 Caddy) - Docker (可选,用于容器化部署) ### 1. 构建并运行 WAF ``` cd waf # 使用 Coraza 和自定义 WAF 模块构建 Caddy chmod +x scripts/build-caddy-coraza.sh scripts/build-caddy-coraza.sh # 运行 Caddy ./caddy run --config configs/Caddyfile ``` ### 2. 运行 API 后端 ``` cd api # 安装依赖 go mod download # 运行 API server go run cmd/api-server/main.go # API 可通过 http://localhost:8081 访问 ``` ### 3. 运行仪表板 ``` cd dashboard # 安装依赖 npm install # 运行开发服务器 npm run dev # Dashboard 可通过 http://localhost:3000 访问 ``` ### 4. 运行演示应用程序 (可选) ``` # Finance 应用程序 cd app/finance node server.js # 可通过 http://localhost:3000 访问 # Industrial IoT 应用程序 cd app/industrial node server.js # 可通过 http://localhost:3001 访问 ``` ## 📖 文档 - [架构](docs/architecture.md) - 系统架构与设计 - [安装指南](docs/installation.md) - 设置与安装 - [API 参考](docs/api-reference.md) - API 端点文档 - [配置](docs/configuration.md) - 配置选项 - [部署指南](DEPLOYMENT.md) - 生产环境部署 ## 🔒 安全性 本项目实施 Zero Trust Network Access (ZTNA) 原则: - 基于身份的认证 - 最小权限访问 - 持续验证 - 加密通信 (Tailscale 集成) ## 📊 技术栈 ### WAF 层 - **Caddy** 2.x - 高性能 Web 服务器 - **Coraza WAF** - OWASP ModSecurity Core Rule Set 实现 - **Go** 1.21+ - 自定义 WAF 逻辑和中间件 ### 后端 API - **Go** 1.21+ 与 Gin 框架 - **JWT** 认证 (golang-jwt) - **SQLite** - 默认数据库 (兼容 PostgreSQL) - **WebSocket** - 实时警报 ### 前端仪表板 - **React** 18 与 TypeScript - **Vite** - 构建工具和开发服务器 - **Tailwind CSS** - 样式框架 - **Recharts** - 数据可视化 - **Axios** - HTTP 客户端 - **Cypress** - E2E 测试 ### 演示应用程序 - **Node.js** + Express - 金融和工业物联网 应用 ### 部署与 DevOps - **Docker** - 容器化 - **GitHub Actions** - CI/CD 流水线 - **Systemd** - 服务管理 - **Filebeat** - 日志转发至 SIEM ## 📝 许可证 详情请参阅 [LICENSE](LICENSE) 文件。 ## 👥 作者 项目由 Pierpaolo Casati 开发 – 联系方式:pierpaolo.casati@bluewin.ch ## 🤝 贡献 本项目出于教育和学习目的开发。欢迎贡献以改进和增强该解决方案。
标签:AMSI绕过, API安全, AppImage, Caddy, CISA项目, Coraza, CoreRuleSet, EVTX分析, HTTP流量分析, JSON输出, MITM代理, ModSecurity, PB级数据处理, RCE防护, React, SIEM集成, SQL注入防护, Syscalls, WAF, Web应用防火墙, XSS防护, 中间件, 入侵防御, 威胁情报, 威胁检测, 安全仪表盘, 安全运维, 开发者工具, 日志审计, 网络安全, 请求拦截, 隐私保护, 黑白名单