PranayaBasukala/ShieldWAF-Web-Application-Firewall

GitHub: PranayaBasukala/ShieldWAF-Web-Application-Firewall

一个基于 Flask 构建的轻量级 Web 应用防火墙,提供针对常见 Web 攻击的多层检测、速率限制和日志审计功能。

Stars: 0 | Forks: 0

# ShieldWAF - Web 应用防火墙 一个使用 Flask 构建的健壮 Web 应用防火墙 (WAF),可保护 Web 应用免受常见攻击向量的威胁,包括 SQL 注入、XSS、路径遍历、远程代码执行和撞库攻击。 ## 🚀 在线演示 [![Shield WAF](https://img.shields.io/badge/Live%20App-Visit-blue?style=for-the-badge&logo=firefox)](https://web-app-firewall.onrender.com/) ## 功能 ### 🛡️ 多层安全 **第一层:攻击检测** - SQL 注入防御 - 跨站脚本攻击 (XSS) 防护 - 路径遍历检测 - 远程代码执行 (RCE) 防御 - 基于评分的威胁评估(≥5 分 = 拦截,2-4 分 = 可疑,<2 分 = 允许) **第二层:可疑行为检测** - 撞库检测 - 附加行为分析 - 可疑活动标记 ### 📊 速率限制 - 防止暴力破解攻击 - 每个 IP 每 60 秒 30 次请求 - 超出限制时返回 429 状态码 ### 📝 综合日志记录 - 输出结构化 JSON 日志至 `waf_errors.log` - 使用 SQLite 进行数据库日志记录 - 包含时间戳和 IP 地址的详细错误追踪 - 用于监控的控制台输出 ### 🗄️ 数据库集成 - 用于事件日志记录的 SQLite 数据库 - 攻击统计和历史记录 - 日志检索和分析端点 ### ⚡ 异常处理 - 全局错误处理器 - 超时保护 - 组件故障时的优雅降级 - 详细的错误追踪和报告 ### 🎨 Web 仪表板 - 实时 WAF 状态监控 - 攻击可视化 - 日志查看界面 ## 技术栈 - **后端**:Flask 3.0.3 - **Web 服务器**:Gunicorn 21.2.0 - **数据库**:SQLite - **语言**:Python 3.x ## 安装 ### 前置条件 - Python 3.x - pip ### 设置 1. 克隆仓库: ``` git clone cd web-app-firewall ``` 2. 创建并激活虚拟环境: ``` python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate ``` 3. 安装依赖 ``` pip install -r requirements.txt ``` ### 依赖项 Flask==3.0.3 Gunicorn==21.2.0 setuptools
标签:API安全, AppImage, CISA项目, ETW劫持, Flask, Gunicorn, HTTP流量分析, JSON输出, Python, RCE防护, SQLite, SQL注入防御, WAF, Web安全, Web应用防火墙, XSS防护, 入侵防御, 分布式计算, 多层安全防御, 威胁监控, 威胁评估, 安全仪表盘, 安全可视化, 安全网关, 异常处理, 撞库检测, 无后门, 日志记录, 暴力破解防护, 网络安全, 蓝队分析, 跨站脚本防御, 路径遍历防御, 远程代码执行防御, 逆向工具, 隐私保护