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, 安全防御评估, 恶意软件分析, 搜索引擎查询, 数字取证, 案件管理, 测试用例, 电子取证, 自动化脚本, 证据链, 请求拦截