Prince-7626/smart-auth-soc

GitHub: Prince-7626/smart-auth-soc

一个基于 Python Flask 的轻量级 SOC 仪表板,专注于通过日志分析和机器学习实时检测认证层面的安全威胁。

Stars: 0 | Forks: 0

# 🔐 SMART AUTHENTICATION SOC - 完整 Web 应用程序 一个专业的安全运营中心 (SOC) 仪表板,用于监控身份验证攻击、封锁恶意 IP 以及使用机器学习检测异常。 ## ✨ 功能特性 ### 身份验证与授权 - ✅ 具有会话管理功能的安全登录系统 - ✅ 基于角色的访问控制 (Admin, Analyst) - ✅ 会话跟踪和用户管理 - ✅ 使用 werkzeug security 进行密码哈希处理 ### 实时仪表板 - ✅ 实时安全指标和 KPI - ✅ 失败登录尝试跟踪 - ✅ 唯一攻击者 IP 检测 - ✅ ML 异常检测 - ✅ 数据自动刷新(5 秒间隔) ### 安全功能 - ✅ 暴力破解攻击检测 - ✅ 自动 IP 封锁及防火墙集成 - ✅ GeoIP 位置跟踪 - ✅ 基于 ML 的异常检测 - ✅ 实时日志监控 ### 用户界面 - ✅ 现代深色主题仪表板设计 - ✅ 响应式设计(手机、平板、桌面) - ✅ 带渐变点缀的专业样式 - ✅ 多个页面:仪表板、事件、分析、管理面板 - ✅ 用户配置文件管理 ## 🚀 快速开始 ### 1. 安装依赖 ``` pip install -r requirements.txt ``` ### 2. 运行 Web 应用程序 ``` python run_app.py ``` 应用程序将在以下地址启动:`http://localhost:5000` ### 3. 默认登录凭据 ``` Admin Account: Username: admin Password: admin123 Analyst Account: Username: analyst Password: analyst123 ``` ## 📁 项目结构 ``` smart-auth-soc/ ├── web/ │ ├── app.py # Main Flask application │ ├── users.json # User database │ └── templates/ # HTML templates │ ├── login.html # Login page │ ├── dashboard.html # Main dashboard │ ├── incidents.html # Security incidents │ ├── analytics.html # Analytics & metrics │ ├── profile.html # User profile │ ├── admin.html # Admin panel │ ├── 404.html # 404 error page │ └── 500.html # 500 error page │ ├── app/ │ ├── monitor.py # Real-time log monitoring │ ├── config.py # Configuration │ ├── analytics.py # Data analytics │ ├── firewall.py # IP blocking │ ├── ml_engine.py # ML anomaly detection │ └── geoip.py # GeoIP lookups │ ├── sample_logs/ # Authentication logs ├── soc_data.json # Real-time metrics ├── requirements.txt # Python dependencies ├── run_app.py # Application entry point └── README.md # This file ``` ## 🗂️ 页面与功能 ### **仪表板** (`/dashboard`) - 4 个关键指标:失败尝试、唯一 IP、已封锁 IP、ML 告警 - 实时已封锁 IP 表格 - 每 5 秒自动刷新 - 响应式网格布局 ### **事件** (`/incidents`) - 基于严重程度的筛选(Critical, High, Medium) - 卡片式事件展示 - 每个威胁的位置信息 - 封锁原因 ### **分析** (`/analytics`) - 历史指标 - 关键绩效指标 (KPI) - 封锁率和检测率计算 - 系统状态概览 ### **管理面板** (`/admin`) - 用户管理 - 系统配置概览 - 安全设置 - 用户角色和权限 - 实时用户计数 ### **用户配置文件** (`/profile`) - 账户信息 - 用户权限 - 账户状态 - 角色信息 ## 🔐 安全功能 ### 身份验证 - 使用随机会话 ID 的安全会话管理 - 使用 werkzeug.security 进行密码哈希处理 - 登录尝试日志记录 - 会话超时支持 ### 授权 - 基于角色的访问控制 - 仅限管理员访问的端点 - 登录验证装饰器 ### 数据保护 - 用户数据安全存储 - 基于 JSON 的本地存储(可升级为数据库) - 所有登录尝试的审计日志 ## 📊 实时监控 该系统可以与 `monitor.py` 集成以实现实时日志监控: ``` # 在单独的终端中 python -m app.monitor ``` 这将: 1. 监视 `/sample_logs/web_auth.log` 中的失败登录尝试 2. 检测暴力破解模式 3. 在防火墙层面封锁 IP 4. 执行 ML 异常检测 5. 使用指标更新 `soc_data.json` ## 🔧 配置 编辑 `app/config.py` 以自定义: ``` TIME_WINDOW = 60 # Seconds to track login attempts ATTEMPT_THRESHOLD = 5 # Attempts before blocking LOG_FILE_PATH = "..." # Path to auth logs GEOIP_API = "..." # GeoIP service endpoint ``` ## 📈 数据流 ``` Auth Logs → Monitor → Analytics → Firewall Block ↓ ↓ ↓ ↓ Parsing Detection Metrics Database ↓ ↓ ↓ ↓ Pattern ML Check soc_data.json Updates ↓ ↓ ↓ ↓ Blocking Anomaly Dashboard Reports ``` ## 🎨 UI/UX 亮点 - **渐变背景**:现代青-蓝色调配色方案 - **深色主题**:专业 SOC 美学 - **响应式设计**:适用于所有屏幕尺寸 - **交互元素**:悬停效果、动画 - **实时更新**:无需重新加载页面即可自动刷新 - **严重程度颜色**:威胁等级的视觉指示器 - 🔴 CRITICAL(红色) - 🟠 HIGH(橙色) - 🟡 MEDIUM(黄色) ## 🔌 API 端点 ### 公开 - `POST /login` - 用户登录 - `GET /` - 重定向至仪表板或登录页 ### 需认证 - `GET /dashboard` - 主仪表板 - `GET /incidents` - 安全事件页面 - `GET /analytics` - 分析页面 - `GET /profile` - 用户资料 - `GET /logout` - 用户登出 ### 仅限管理员 - `GET /admin` - 管理面板 - `GET /api/users` - 列出所有用户 ### API 端点 - `GET /api/dashboard-data` - 当前指标 (JSON) - `GET /api/blocked-ips` - 已封锁 IP 列表 (JSON) ## 🚦 运行完整系统 ### 终端 1:Web 应用程序 ``` python run_app.py # 服务器运行于 http://localhost:5000 ``` ### 终端 2:实时监控(可选) ``` python -m app.monitor # 正在监视身份验证日志事件 ``` 然后在浏览器中打开:`http://localhost:5000` ## 📋 示例日志格式 监控系统期望日志采用以下格式: ``` Mar 04 14:23:45 server sshd: Failed password for admin from 192.168.1.100 Mar 04 14:23:50 server sshd: Failed password for admin from 192.168.1.100 ``` ## 🛠️ 环境设置 ### Windows ``` # 创建虚拟环境 python -m venv .venv # 激活虚拟环境 .venv\Scripts\activate # 安装依赖项 pip install -r requirements.txt # 运行应用程序 python run_app.py ``` ### macOS/Linux ``` # 创建虚拟环境 python3 -m venv .venv # 激活虚拟环境 source .venv/bin/activate # 安装依赖项 pip install -r requirements.txt # 运行应用程序 python run_app.py ``` ## 📦 依赖项 - **flask** (2.3.3) - Web 框架 - **werkzeug** (2.3.7) - 安全实用工具 - **scikit-learn** (1.3.1) - 机器学习 - **numpy** (1.24.3) - 数值计算 - **requests** (2.31.0) - HTTP 客户端 - **colorama** (0.4.6) - 彩色终端输出 ## 🔮 未来增强 - [ ] 数据库集成 (PostgreSQL/MySQL) - [ ] 使用 Chart.js 进行高级图表绘制 - [ ] Email/Slack 通知 - [ ] LDAP/Active Directory 集成 - [ ] 自定义报告生成 - [ ] 机器学习模型改进 - [ ] 多因素认证 (MFA) - [ ] API 密钥认证 - [ ] Webhook 集成 - [ ] Docker 容器化 ## ⚖️ 许可证 本项目用于教育和演示目的。 ## 📞 支持 如有问题或疑问,请查阅文档或在仓库中创建 issue。 ## 👨‍💻 作者 **Prince Kashyap** 🎓 MCA (Hons.) AI/ML 学生 – Lovely Professional University 🔐 网络安全与道德黑客爱好者 💻 专注于 SOC 运营、威胁检测与安全自动化 - GitHub: https://github.com/Prince-7626 - Email: prince201kashyap@gmail.com **状态**: ✅ 完成并可用于演示 **最后更新**: 2026 年 3 月 4 日 **版本**: 1.0.0
标签:Apex, Flask, GeoIP, Homebrew安装, IP封禁, IT运维, PE 加载器, Python, RBAC, Socks5代理, 代码示例, 仪表盘, 免杀技术, 基于角色的访问控制, 安全仪表盘, 安全管理, 安全运营中心, 异常检测, 数据分析, 无后门, 暴力破解检测, 机器学习, 登录安全, 红队行动, 网络安全, 网络映射, 逆向工具, 防御系统, 隐私保护