aryancodesit/Secure-File-Transfer-Monitoring-System
GitHub: aryancodesit/Secure-File-Transfer-Monitoring-System
一款实时文件传输监控系统,通过事件监听、哈希校验、邮件告警和可视化仪表盘解决敏感目录的文件安全监控与审计问题。
Stars: 0 | Forks: 0
# 🛡️ 安全文件传输监控系统 (SFTMS)
**安全文件传输监控系统 (SFTMS)** 是一个轻量级的后台 daemon,可实时监控文件系统事件,执行安全策略,例如防止未经授权的访问、数据完整性检查以及生成警报。
该项目现在还包含一个交互式 **Web Dashboard**,用于可视化安全指标和日志。
## 🌟 核心功能
1. **实时文件监控**:使用 `watchdog` 监控文件的创建、修改、移动和删除,无轮询延迟。
2. **数据完整性哈希**:自动计算并跟踪受监控文件的 SHA-256 哈希值,以检测隐蔽的篡改或损坏。
3. **授权与速率限制**:将特定用户列入白名单,并限制在特定时间窗口内允许的文件操作次数。
4. **邮件警报引擎**:可配置的 SMTP 集成,针对 `HIGH` 或 `CRITICAL` 严重级别的事件发送实时邮件通知(在后台线程中运行以防阻塞)。
5. **交互式 Dashboard**:使用 Streamlit 构建的前端,提供传输事件和安全违规的实时数据可视化。
6. **Excel 审计报告**:自动生成包含多表的详细 Excel 报告,记录用户活动和系统警报。
## 🛠️ 项目架构(6 个阶段)
- **阶段 1**:设置与文件系统监听器。
- **阶段 2**:事件分类与传输日志记录。
- **阶段 3**:文件完整性哈希 (SHA-256)。
- **阶段 4**:授权检查与违规标记。
- **阶段 5**:警报引擎与邮件通知。
- **阶段 6**:审计报告生成 (Excel)。
## 🚀 本地入门指南
### 1. 安装
克隆代码仓库并安装依赖项:
```
git clone https://github.com/aryancodesit/Secure-File-Transfer-Monitoring-System.git
cd Secure-File-Transfer-Monitoring-System
pip install -r requirements.txt
```
### 2. 设置测试环境
为了安全地测试系统而不指向真正敏感的目录,请初始化虚拟环境:
```
python main.py --setup
```
*这将创建一个包含示例虚拟文件的 `test_watch/` 文件夹。*
### 3. 运行实时监控器
启动监控 daemon:
```
python main.py
```
*运行后,导航到 `test_watch/` 文件夹并修改、重命名或复制文件,即可在终端中看到实时警报!*
### 4. 生成审计报告
要生成所有受监控事件的综合 Excel 表格:
```
python main.py --report
```
## 📊 查看 Web Dashboard
要启动本地 Web Dashboard 并查看您的日志:
```
streamlit run app.py
```
*这将在您的浏览器中打开一个交互式界面。*
## ⚙️ 配置
所有配置均可在 `config/settings.py` 中找到。
- **`WATCH_PATH`**:将其更改为生产环境中您想要监控的实际目录。
- **`WHITELIST_USERS`**:定义哪些 Windows/Linux 用户名已获得授权。
- **`SMTP Settings`**:配置环境变量(`SFTMS_SMTP_USER`、`SFTMS_SMTP_PASSWORD` 等)以启用真实的邮件警报。
**部署后台监控器 (Windows):**
使用 **NSSM (Non-Sucking Service Manager)** 将 `main.py` 封装为永久的后台 Windows Service,以确保监控器随服务器自动启动并保持隐藏。
标签:DNS 反向解析, Kubernetes, Python, Streamlit, Zenmap, 告警系统, 子域名变形, 数据完整性, 文件监控, 无后门, 访问控制, 逆向工具