prithakdas/sentinelshield-web-ids

GitHub: prithakdas/sentinelshield-web-ids

基于 Python/Flask 的轻量级 Web 入侵检测系统,通过规则匹配检测常见 Web 攻击并提供可视化监控面板。

Stars: 0 | Forks: 0

# SentinelShield – 高级入侵检测与 Web 防护系统 SentinelShield 是一个轻量级的 Web 入侵检测与监控系统,旨在分析传入的 HTTP 请求并检测常见的基于 Web 的攻击。 该系统检查请求 payload,使用基于规则的检测识别恶意模式,记录安全事件,并通过交互式仪表板可视化攻击统计数据。 ## 🚀 功能特性 - 检测常见的 Web 攻击: - SQL 注入 (SQL Injection) - 跨站脚本攻击 (XSS) - 目录遍历 (Directory Traversal) - 本地文件包含 (LFI) - 命令注入 (Command Injection) - 请求检查与 payload 分析 - 使用 JSON 签名进行基于规则的攻击检测 - 请求分类(安全 / 恶意) - 安全事件日志记录 - 速率限制保护 - 带有攻击统计数据的安全监控仪表板 - 使用 Chart.js 进行攻击分布可视化 ## 🏗 系统架构 系统通过多个安全模块处理传入的请求: 客户端请求 ↓ Flask Web 服务器 ↓ 请求检查模块 ↓ 攻击检测引擎 ↓ 请求分类 ↓ 日志系统 ↓ 安全仪表板 检测引擎使用存储在 JSON 规则文件中的预定义攻击模式分析请求 payload。 ## 🧠 使用的技术 | 技术 | 用途 | |------------|--------| | Python | 后端编程 | | Flask | Web 应用程序框架 | | HTML | 界面结构 | | CSS | UI 样式 | | JavaScript | 客户端功能 | | Chart.js | 仪表板可视化 | | JSON | 攻击检测规则存储 | ## 📂 项目结构 ``` SentinelShield/ │ ├── logs/ │ └── waf.log │ ├── rules/ │ └── attack_rules.json │ ├── static/ │ ├── css/ │ │ └── style.css │ └── js/ │ └── dashboard.js │ ├── templates/ │ ├── index.html │ ├── result.html │ └── dashboard.html │ ├── app.py ├── requirements.txt └── README.md ``` ## 🧪 攻击模拟示例 以下 payload 可用于测试检测系统。 | 攻击类型 | 示例 Payload | |-------------|----------------| | SQL 注入 | `' OR 1=1--` | | 跨站脚本攻击 (XSS) | `` | | 目录遍历 | `../../` | | 本地文件包含 | `../../etc/passwd` | | 命令注入 | `;cat /etc/passwd` | ## 📊 仪表板 SentinelShield 仪表板提供系统活动的可视化概览,包括: - 总请求数 - 已拦截请求 - 攻击类型分布 - 速率限制事件 图表使用 **Chart.js** 生成,以帮助可视化安全活动。 ## 📝 日志系统 所有检测到的攻击都记录在日志文件中: ``` logs/waf.log ``` 每个条目包括: - 时间戳 - IP 地址 - 请求 payload - 检测到的攻击类型 示例: ``` [2026-03-14] ALERT | SQL Injection | IP: 127.0.0.1 | Payload: ' OR 1=1-- ``` ## ⚡ 速率限制 SentinelShield 包含基本的速率限制机制,以防止过度的请求尝试。 示例规则: ``` 10 requests within 300 seconds ``` 如果超出限制,系统将返回 **Too Many Requests**。 ## ▶️ 如何运行项目 ### 1. 克隆仓库 ``` git clone https://github.com/yourusername/SentinelShield.git ``` ### 2. 导航到项目文件夹 ``` cd SentinelShield ``` ### 3. 安装依赖 ``` pip install flask ``` ### 4. 运行应用程序 ``` python app.py ``` ### 5. 打开浏览器 ``` http://127.0.0.1:5000 ``` ## 📈 结果 - 成功检测到多个模拟攻击 payload。 - 记录所有恶意请求以供监控。 - 通过仪表板显示攻击分布。 - 实施速率限制以防止请求滥用。 ## 🎯 项目目的 该项目演示了如何使用 Python 和 Flask 实现基本的 Web 入侵检测技术。 它重点介绍了基于规则的检测、请求检查、日志记录和监控仪表板如何帮助识别可疑的 Web 活动。 ## 👨‍💻 作者 **Prithak Das** 网络安全实习生 - Unified Mentor Private Limited ## 📜 许可证 本项目旨在用于**教育学习目的**。
标签:Chart.js, CISA项目, DOE合作, Flask, Homebrew安装, HTTP请求分析, PB级数据处理, Python, SQL注入检测, WAF, Web安全, XSS防御, 云计算, 入侵检测系统, 后端开发, 命令注入, 多模态安全, 安全仪表盘, 安全数据湖, 安全运维, 开源安全工具, 数据可视化, 无后门, 暴力破解防护, 本地文件包含, 网络安全, 网络安全监控, 蓝队分析, 规则引擎, 轻量级WAF, 逆向工具, 逆向工程平台, 防火墙, 隐私保护, 驱动开发