sridev-18/Digital-forencis-lab

GitHub: sridev-18/Digital-forencis-lab

基于 Django 的数字取证案件管理平台,提供证据哈希校验、自动恶意软件分析、不可篡改的保管链审计和法庭就绪报告生成。

Stars: 0 | Forks: 0

# 基于云的数字取证实验室 这是一个用于管理数字取证调查的全栈 Web 平台 —— 基于 Django、Celery 和 Docker 构建。它允许调查人员上传数字证据,自动分析其中的恶意软件和篡改情况,跟踪具有法律效力的证据保管链,并生成可直接用于法庭的 PDF 报告。 ## 为什么开发这个项目 数字取证调查面临着三个反复出现的问题:如果证据的完整性无法得到证明,它在法庭上就会受到质疑;手动分析文件既缓慢又容易出错;而且通常缺乏可靠的审计记录,无法查明谁在何时访问了什么证据。本项目通过在证据上传时自动进行哈希校验、恶意软件扫描和保管记录,解决了上述所有问题。 ## 功能 - **案件管理** —— 创建、分配和跟踪调查,并支持状态和优先级工作流 - **证据录入** —— 文件上传后会立即使用 MD5 和 SHA-256 哈希进行自动指纹识别,证明文件未被篡改 - **自动化取证分析** —— 后台的 Celery 任务会运行 YARA 恶意软件扫描、文件类型检测、字符串提取和元数据解析,且不会阻塞 UI - **证据保管链** —— 对证据执行的每一项操作(上传、分析、下载、验证)都会记录在不可编辑或删除的、仅支持追加的审计记录中 - **基于角色的访问控制** —— 包含 Admin、Investigator、Analyst 和 Viewer 角色,并具有不同的权限 - **报告生成** —— 一键导出 PDF,汇总案件详情、证据哈希、分析结果以及完整的保管日志 - **云端就绪存储** —— 文件存储使用兼容 S3 的 API(本地使用 MinIO,生产环境使用 AWS S3),因此同一套代码可以在两种环境中运行 ## 技术栈 | 层级 | 技术 | |---|---| | 后端 | Django 5, Django REST Framework | | 后台任务 | Celery + Redis | | 数据库 | PostgreSQL | | 文件存储 | MinIO (开发环境) / AWS S3 (生产环境) | | 取证工具 | yara-python, python-magic, hashlib | | 报告 | WeasyPrint (PDF 生成) | | 容器化 | Docker, Docker Compose | | 任务监控 | Flower | ## 架构 ``` Browser → Django (views + REST API) → PostgreSQL (cases, users, audit log) ↓ Celery + Redis (async analysis queue) ↓ YARA scan / hashing / metadata extraction ↓ MinIO / S3 (evidence file storage) ``` ## 快速开始 ### 前置条件 - Docker Desktop - Git ### 本地运行 ``` git clone https://github.com//.git cd docker-compose up --build ``` 在第二个终端中,创建一个 Admin 账号: ``` docker-compose exec web python manage.py createsuperuser ``` 在 `http://localhost:9001` 打开 MinIO 控制台(`minioadmin` / `minioadmin123`),并创建一个名为 `evidence` 的 bucket。 ### 访问入口 | 服务 | URL | |---|---| | 应用程序 | http://localhost:8000 | | Django Admin | http://localhost:8000/admin | | MinIO 控制台 | http://localhost:9001 | | Flower (任务监控) | http://localhost:5555 | ## 项目结构 ``` apps/ ├── accounts/ — authentication, roles, audit logging ├── cases/ — case management and dashboard ├── evidence/ — file upload, hashing, chain of custody ├── analysis/ — Celery tasks: YARA scanning, metadata, string extraction ├── reports/ — HTML and PDF report generation └── audit/ — audit trail views ``` ## 路线图 - [x] 阶段 1 —— 核心 Django 应用程序(本地 Docker 环境) - [ ] 阶段 2 —— AWS 迁移(RDS, S3, ElastiCache, EC2) - [ ] 阶段 3 —— 生产环境部署(CI/CD, SSL, CloudWatch 监控) ## 许可证 本项目仅用于教育目的。
标签:DAST, Django, Docker, 安全防御评估, 恶意软件分析, 搜索引擎查询, 数字取证, 案件管理, 测试用例, 电子取证, 自动化脚本, 证据链, 请求拦截