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代理, 代码示例, 仪表盘, 免杀技术, 基于角色的访问控制, 安全仪表盘, 安全管理, 安全运营中心, 异常检测, 数据分析, 无后门, 暴力破解检测, 机器学习, 登录安全, 红队行动, 网络安全, 网络映射, 逆向工具, 防御系统, 隐私保护