AtomSpiderX/Intelliguard-WAF

GitHub: AtomSpiderX/Intelliguard-WAF

IntelliGuard WAF 是一个基于 React、Express 和 SQLite 构建的全栈 Web 应用防火墙,提供实时威胁检测、风险评分、动态速率限制和 Telegram 即时安全告警功能。

Stars: 0 | Forks: 0

# IntelliGuard WAF - 设置与 Telegram 威胁检测指南 IntelliGuard WAF (Sentinel WAF) 是一个全栈 Web 应用防火墙和威胁情报仪表板,使用 React、Vite、Express 和 SQLite 构建。它提供实时流量检测、特征匹配、动态速率限制、风险评分、自动黑名单以及即时的 Telegram 安全警报。 ## 🚀 1. 本地设置说明 ### 前置条件 - **Node.js**:推荐 v18+ - **npm**:包管理器 - **Telegram App**:用于接收实时安全警报 ### 安装说明 1. 克隆仓库并导航到项目目录: cd intelliguard-waf 2. 安装项目依赖: npm install ## 📲 2. Telegram Bot 配置 要在 WAF 检测并阻止攻击时接收实时通知: ### 第 1 步:创建 Telegram Bot 1. 打开 Telegram 并搜索 **`@BotFather`**。 2. 开始对话并发送 `/newbot`。 3. 按照提示为你的 bot 设置名称和用户名。 4. `@BotFather` 会给你一个 **HTTP API Token**(例如,`8645508427:AAE93J7BXr...`)。复制此 token。 ### 第 2 步:获取你的 Telegram Chat ID 1. 在 Telegram 中搜索 **`@userinfobot`**(或 `@RawDataBot`)。 2. 向 bot 发送 `/start`。 3. bot 会回复你的数字 **Chat ID**(例如,`8661262877`)。 ### 第 3 步:配置环境变量 在项目根目录中创建或更新你的 `.env` 文件: ``` # Server 配置 PORT=3000 DATABASE_PATH="waf.db" JWT_SECRET="super-secret-waf-key-123" # 可选 AI 分析 GEMINI_API_KEY="YOUR_GEMINI_API_KEY_HERE" # Telegram 通知凭证 TELEGRAM_BOT_TOKEN="YOUR_TELEGRAM_BOT_TOKEN_HERE" TELEGRAM_CHAT_ID="YOUR_TELEGRAM_CHAT_ID_HERE" ``` ## ▶️ 3. 运行应用程序 启动 Express 后端和 React 前端开发服务器: ``` npm run dev ``` 在浏览器中打开 `http://localhost:3000` 以访问 IntelliGuard WAF 仪表板。 ## 🎯 4. 测试攻击与 Telegram 警报(分步指南) 以下是触发 WAF 并验证 Telegram 警报的分步命令: ### 攻击向量 1:SQL 注入 (SQLi) 模拟在 URL 参数中的 SQL 注入尝试: ``` curl -G --data-urlencode "id=1' OR 1=1 --" http://localhost:3000/api/simulate ``` *替代的编码语法:* ``` curl "http://localhost:3000/api/simulate?id=1%27%20OR%201=1%20--" ``` ### 攻击向量 2:跨站脚本攻击 (XSS) 模拟内联脚本注入 payload: ``` curl -G --data-urlencode "search=" http://localhost:3000/api/simulate ``` ### 攻击向量 3:路径遍历 / 蜜罐探测 模拟目录遍历或管理员蜜罐访问: ``` curl "http://localhost:3000/api/simulate?file=../../../../etc/passwd" ``` ### 攻击向量 4:恶意扫描器 User-Agent 模拟来自自动化安全扫描工具(例如,`sqlmap`、`nikto`、`nmap`)的请求: ``` curl -H "User-Agent: sqlmap/1.5#stable" http://localhost:3000/api/simulate ``` ### 攻击向量 5:动态速率限制 / 暴力破解 通过在短时间窗口内发送大量请求来触发速率限制: ``` for i in {1..15}; do curl -s "http://localhost:3000/api/simulate?q=test"; done ``` ## 📩 5. 预期的 WAF 响应与 Telegram 通知 ### WAF 终端 / API 响应 (HTTP 403 Forbidden) ``` { "error": "Security Violation", "message": "Your request was blocked by Sentinel WAF", "incident_id": 1746685412000, "score": 1.2, "threats": [ "SQL Injection Detected" ], "fingerprint": { "browser": "curl 8.5.0", "os": "Linux" } } ``` ### Telegram 警报格式 当攻击被阻止时,你的 Telegram bot 会立即收到一条格式化的消息: ``` 🚨 Sentinel WAF Alert: Blocked Attack IP: 127.0.0.1 Method: GET URL: /api/simulate?id=1%27%20OR%201=1%20-- Threats: SQL Injection Detected Score: 1.20 Browser: curl 8.5.0 OS: Linux ``` ## 📊 功能与架构概述 - 🛡️ **规则特征引擎**:内置针对 SQLi、XSS、RCE、LFI 和扫描器 User-Agent 的正则表达式模式。 - ⚡ **动态速率限制**:自动降低可疑 IP 的请求阈值。 - 🤖 **Telegram 警报**:将威胁通知异步发送到配置的 Telegram 聊天。 - 📈 **实时监控**:风险评分、攻击分布和总请求的可视化图表。 - 🔍 **取证深度调查**:检查请求头、payload、设备指纹和安全评分。 - ⛔ **IP 黑名单引擎**:自动化或手动的 IP 封禁与解封。
标签:AppImage, CISA项目, DOE合作, Express, MITM代理, React, SQLite, Syscalls, Telegram告警, Web应用防火墙, 威胁情报, 安全防护, 开发者工具, 自动化攻击