asif-visionary/SecureAuth
GitHub: asif-visionary/SecureAuth
一个基于 Flask 的身份与访问管理(IAM)平台,通过 Argon2、TOTP MFA、RBAC 和审计日志等 OWASP 对齐的安全控制来演示现代安全认证系统的设计与实现。
Stars: 0 | Forks: 0
# 🛡️ SecureAuth 高级身份与访问管理平台





🚀 SecureAuth 是一个受生产环境启发的身份与访问管理(IAM)平台,旨在展示安全的身份验证、授权和账户保护机制。该系统集成了现代网络安全控制措施,包括 Argon2 密码哈希、多因素认证(MFA)、基于角色的访问控制(RBAC)、审计日志、速率限制以及符合 OWASP 标准的安全防御,从而提供一个全面的安全登录环境。
## 🏷️ 仓库主题
Cybersecurity • Authentication • Identity Management • Flask • Python • MFA • RBAC • Security Engineering • AppSec • OWASP • Secure Coding
## 核心安全组件
- 身份验证与授权
- 多因素认证(MFA)
- 基于角色的访问控制(RBAC)
- 审计日志
- 账户保护控制
- 安全态势监控
# 目录
- [概述](#overview)
- [项目目标](#project-objectives)
- [核心功能](#key-features)
- [安全架构](#security-architecture)
- [技术栈](#technology-stack)
- [安装说明](#installation)
- [使用说明](#usage)
- [安全控制](#security-controls)
- [未来增强计划](#future-enhancements)
# 项目亮点
✔ 实现 Argon2 密码哈希以安全存储凭据。
✔ 使用 PyOTP 构建基于 TOTP 的多因素认证。
✔ 开发具有独立管理员和用户权限的基于角色的访问控制。
✔ 实现账户锁定和速率限制保护。
✔ 创建安全评分引擎和审计日志框架。
✔ 在生产级 Web 应用中应用 OWASP Top 10 安全实践。
## 🎯 主要成就
- 使用 Flask 开发了一个受生产环境启发的 IAM 平台。
- 实现了 Argon2 密码哈希和基于 TOTP 的 MFA。
- 应用了 OWASP Top 10 安全控制。
- 构建了带有管理监控的 RBAC 系统。
- 实现了审计日志和安全态势评分。
- 设计了以安全为核心的现代仪表板。
# 概述
SecureAuth 是一个使用 Python 和 Flask 开发的、以安全为核心的身份与访问管理(IAM)平台。
该系统展示了现代身份验证系统是如何设计的,以及如何抵御以下常见威胁:
* 凭据窃取
* 暴力破解攻击
* 会话劫持
* 账户枚举
* 未经授权的访问
* 密码重用攻击
该平台结合了:
🔐 安全身份验证
🛡️ 多因素认证(MFA)
👤 基于角色的访问控制(RBAC)
📊 安全监控
📜 审计日志
🚨 账户保护机制
# 项目目标
开发此项目的目的是为了:
* 构建安全的身份验证平台
* 展示现代 IAM 概念
* 实现强大的密码保护
* 使用 MFA 保护用户账户
* 通过审计日志监控安全事件
* 应用 OWASP 安全最佳实践
* 提供真实的网络安全项目实践经验
# 💡 为什么做这个项目?
身份验证系统是每个应用的第一道防线。
许多安全漏洞的发生是由于:
* 弱密码
* 撞库攻击
* 缺乏 MFA
* 不当的会话管理
* 糟糕的访问控制实现
SecureAuth 展示了如何在 Web 应用中实施行业标准的安全控制,从而显著降低这些风险。
## 📊 项目指标
- 1000+ 行 Python 代码
- 实现了 12+ 项安全控制
- 6 个核心安全模块
- Argon2 密码哈希
- TOTP 多因素认证
- 基于角色的访问控制(RBAC)
- 审计日志与安全监控
- 符合 OWASP Top 10
# 核心功能
## 🔐 安全身份验证
提供安全的用户注册和登录。
### 功能
* 用户注册
* 安全登录
* 邮箱验证
* 密码重置
* 会话管理
* 登出保护
## 🔑 密码安全
使用现代加密技术保护用户凭据。
### 功能
* Argon2 密码哈希
* 强密码强制策略
* 密码强度验证
* 密码历史保护
* 密码过期监控
## 📱 多因素认证(MFA)
使用基于时间的一次性密码(TOTP)增强账户安全性。
### 功能
* 支持 Google Authenticator
* 支持 Authy
* 二维码注册
* TOTP 验证
* MFA 启用/禁用控制
## 👤 基于角色的访问控制(RBAC)
为不同的用户角色提供授权控制。
### 功能
* 用户角色
* 管理员角色
* 受保护的路由
* 权限强制执行
* 管理控制
## 🚨 账户保护
防御未经授权的访问尝试。
### 功能
* 账户锁定
* 登录失败监控
* 速率限制
* 可疑活动追踪
* 会话安全
## 📊 安全仪表板
提供对用户安全态势的可见性。
### 功能
* 安全分数计算
* 账户状态监控
* 密码时效追踪
* 登录活动监控
* MFA 状态可见性
## 📜 审计日志
维护完整的安全事件记录。
### 记录的事件
* 登录成功
* 登录失败
* 账户锁定
* 密码重置
* 密码修改
* MFA 启用/禁用
* 账户禁用/启用
* 用户登出
每条日志包含:
* 时间戳
* 事件类型
* 严重级别
* IP 地址
* User Agent
# 威胁模型
SecureAuth 可防御:
✅ 暴力破解攻击
✅ 撞库攻击
✅ 会话劫持
✅ 跨站请求伪造(CSRF)
✅ SQL 注入
✅ 密码重用攻击
✅ 未经授权的权限提升
✅ 账户枚举
# 管理员功能
🔹 基于角色的访问控制(RBAC)
🔹 用户角色管理
🔹 受保护的路由
🔹 权限强制执行
# 安全评分引擎
SecureAuth 根据以下内容计算实时的安全态势分数:
- 密码时效
- MFA 状态
- 邮箱验证
- 近期登录活动
- 账户锁定状态
分数类别:
🟢 优秀
🔵 良好
🟡 一般
🔴 较差
## 🏗️ 安全架构
```
flowchart TD
A[User] --> B[Input Validation]
B --> C[Authentication Layer]
C --> D[Argon2 Password Hashing]
C --> E[TOTP MFA]
C --> F[Session Security]
C --> G[RBAC]
C --> H[Security Audit Logging]
```
## 📂 项目结构
## 🏗️ 构建技术
- Python
- Flask
- SQLite
- Argon2
- PyOTP
- Bootstrap 5
- Flask-Talisman
- Flask-Limiter
# 技术栈
## 后端
* Python
* Flask
* Flask-SQLAlchemy
* Flask-Login
* Flask-WTF
* Flask-Mail
* Flask-Limiter
* Flask-Talisman
## 安全
* Argon2
* PyOTP
* CSRF 保护
* CSP
* HSTS
* RBAC
## 数据库
* SQLite
## 前端
* HTML5
* CSS3
* Bootstrap 5
* JavaScript
# 安装说明
## 克隆仓库
```
git clone https://github.com/asif-visionary/SecureAuth.git
cd SecureAuth
```
## 创建虚拟环境
```
python -m venv venv
```
激活:
### Windows
```
venv\Scripts\activate
```
### Linux/macOS
```
source venv/bin/activate
```
## 安装依赖
```
pip install -r requirements.txt
```
## 配置环境变量
```
SECRET_KEY=your-secret-key
MAIL_SERVER=smtp.gmail.com
MAIL_PORT=587
MAIL_USE_TLS=True
MAIL_USERNAME=your_email@gmail.com
MAIL_PASSWORD=your_app_password
```
## 运行应用
```
python app.py
```
打开:
```
http://127.0.0.1:8080
```
# 使用说明
## 用户工作流
1. 注册账户
2. 验证邮箱地址
3. 安全登录
4. 启用 MFA
5. 访问仪表板
6. 监控安全分数
7. 查看活动日志
## 管理员工作流
1. 将用户提升为管理员
```
python create_admin.py
```
2. 访问受管理员保护的路由
3. 管理基于角色的权限
4. 查看审计日志
5. 监控用户安全事件
# 安全控制
已实现的保护措施包括:
✅ Argon2 密码哈希
✅ 多因素认证
✅ 账户锁定
✅ 速率限制
✅ CSRF 保护
✅ XSS 保护
✅ SQL 注入防御
✅ 安全会话管理
✅ 安全响应头(CSP, HSTS)
✅ 基于角色的访问控制
✅ 审计日志
## 📸 截图
### 1. 用户登录

### 2. 用户注册

### 3. 密码重置

### 4. 安全仪表板

### 5. 安全活动日志

### 6. 双因素认证

## 🛡️ 安全功能展示
| 类别 | 控制措施 |
|-----------|-----------|
| 身份验证 | Argon2, MFA, 邮箱验证 |
| 授权 | RBAC |
| 会话安全 | 安全 Cookies, 登出保护 |
| 应用安全 | CSRF, CSP, HSTS |
| 监控 | 审计日志 |
| 账户保护 | 锁定, 速率限制 |
## 📈 安全指标
| 功能 | 状态 |
|----------|---------|
| 密码哈希 | ✅ Argon2 |
| MFA | ✅ TOTP |
| 邮箱验证 | ✅ |
| 密码重置 | ✅ |
| 审计日志 | ✅ |
| 账户锁定 | ✅ |
| 速率限制 | ✅ |
| RBAC | ✅ |
| CSRF 保护 | ✅ |
| 安全响应头 | ✅ |
# OWASP 安全控制
| OWASP 风险 | 缓解措施 |
|------------|------------|
| A01 失效的访问控制 | RBAC |
| A02 加密失败 | Argon2 |
| A03 注入 | SQLAlchemy ORM |
| A05 安全配置错误 | CSP, HSTS |
| A07 身份识别和认证失败 | MFA |
| A09 安全日志记录失败 | 审计日志 |
# 🔒 安全合规
SecureAuth 符合以下来源的安全原则:
- OWASP Top 10
- NIST 数字身份指南
- CIS 控制
- 安全软件开发实践
# 预期成果
SecureAuth 平台成功展示了现代身份验证系统如何使用分层安全控制来保护用户账户。
优势包括:
* 减少未经授权的访问
* 防御暴力破解攻击
* 安全的凭据存储
* 通过 MFA 提升账户安全性
* 通过审计日志增强可见性
* 更强大的授权控制
## 💼 展示的技能
- 身份与访问管理(IAM)
- 安全的身份验证系统
- 多因素认证(MFA)
- 基于角色的访问控制(RBAC)
- 安全会话管理
- 审计日志
- 应用安全
- OWASP Top 10 缓解措施
- Python Flask 开发
- 安全监控
# 学习成果
该项目展示了对以下方面的实践经验:
* 安全的身份验证系统
* 身份与访问管理(IAM)
* 多因素认证
* 基于角色的访问控制
* 安全会话管理
* 安全监控
* 审计日志
* OWASP 安全控制
* 安全的 Web 应用开发
# 未来增强计划
计划的改进包括:
* 密码泄露检测
* MFA 恢复码
* 设备指纹识别
* 基于风险的认证
* 安全警报邮件
* OAuth 2.0 / SSO 集成
* JWT 认证
* Redis 会话存储
* SIEM 集成
* 云部署
## ⚠️ 生产环境须知
本项目专为教育和作品集目的设计。在生产环境部署之前,应实施额外的加固、安全的密钥管理、监控和基础设施控制。
# 📜 许可证
本项目基于 MIT 许可证授权。
有关详细信息,请参阅 LICENSE 文件。
# 作者
**Mohamed Asif**
Cybersecurity 学生 | 安全软件开发 | IAM 与应用安全 | CTF 爱好者
🔗 LinkedIn:
https://www.linkedin.com/in/mohamed-asif-a-852830326/
💻 GitHub:
https://github.com/asif-visionary
# ⭐ 支持项目如果您觉得这个项目有用,请考虑在 GitHub 上给它点个 Star。
# 📬 反馈与贡献
欢迎贡献、建议和反馈。
如果您想改进此项目:
1. Fork 该仓库
2. 创建功能分支
3. 提交您的更改
4. 发起 Pull Request
查看项目结构
``` SecureAuth/ ├── app.py ├── auth.py ├── admin.py ├── security.py ├── config.py ├── models.py ├── forms.py ├── create_admin.py ├── requirements.txt ├── README.md │ ├── templates/ ├── static/ ├── database/ └── screenshots/ ```使用 Python、Flask 和网络安全最佳实践 ❤️ 构建
标签:Flask, Python, 多因素认证, 无后门, 权限控制, 身份与访问管理, 逆向工具