# DeepGuard **Repository Path**: rubintry/deep-guard ## Basic Information - **Project Name**: DeepGuard - **Description**: No description available - **Primary Language**: Python - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-08-05 - **Last Updated**: 2025-08-06 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # DeepGuard - 容器化安全告警检测系统 v4.0 (AI增强版) DeepGuard 是一个基于 Docker 容器的安全检测和告警系统,集成了ClamAV病毒扫描引擎和DeepSeek AI智能分析,通过 SMTP 发送实时安全告警邮件。 ## 🆕 v4.0 新特性 - 🔥 **病毒扫描**: 内置高性能病毒检测引擎,支持定时扫描和病毒库自动更新 - 🤖 **AI智能分析**: 集成先进AI模型,对检测到的威胁进行深度分析和建议 - ✅ **邮件告警**: 使用标准的SMTP协议发送告警,通用性强,无平台限制 - ✅ **配置简化**: 移除所有微信相关配置,仅需配置SMTP服务器信息 - ✅ **高可达性**: 摆脱48小时互动窗口限制,确保告警邮件随时可达 - ✅ **部署更轻松**: 无需配置公网回调URL和Nginx反向代理 ## 系统架构 ``` ┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐ │ Security │ │ Alarm │ │ SMTP │ │ Scanner │───▶│ Service │───▶│ Server │ │ (扫描服务) │ │ (告警服务) │ │ (邮件服务器) │ │ │ │ │ │ │ │ - 端口扫描 │ │ - SMTP邮件发送 │ │ - 发送告警邮件 │ │ - 系统监控 │ │ - 告警历史 │ │ │ │ - 威胁检测 │ │ - Redis存储 │ │ │ │ - 病毒扫描 │ │ │ │ │ │ - AI威胁分析 │ │ │ │ │ └─────────────────┘ └─────────────────┘ └─────────────────┘ │ │ ▼ ▼ ┌─────────────────┐ ┌─────────────────┐ │ Virus Engine │ │ Redis │ │ (病毒检测) │ │ (数据存储) │ │ │ │ │ │ - 病毒库更新 │ │ │ │ - 实时扫描 │ │ │ └─────────────────┘ └─────────────────┘ │ ▼ ┌─────────────────┐ │ AI Engine │ │ (智能分析) │ │ │ │ - 威胁分析 │ │ - 智能建议 │ └─────────────────┘ ``` ## 项目结构 ``` DeepGuard/ ├── README.md # 项目说明文档 ├── start.sh # 系统启动脚本 ├── test.sh # 功能测试脚本 ├── .env # 环境变量配置 ├── .env_example # 环境变量模板 ├── .gitignore # Git忽略配置 ├── alarm-modules/ # 告警相关模块 │ └── alarm-service/ │ ├── app.py # 告警服务主程序 │ ├── notifier.py # 邮件通知器 │ ├── Dockerfile # Docker构建文件 │ └── requirements.txt # Python依赖 ├── security-modules/ # 安全相关模块 │ └── security-scanner/ │ ├── scanner.py # 安全扫描器 │ ├── Dockerfile # Docker构建文件 │ └── requirements.txt # Python依赖 └── deep-guard-docker/ # Docker配置目录 └── docker-compose.yml # 容器编排配置 ``` ## 快速开始 ### 1. 环境准备 确保系统已安装: - Docker - Docker Compose - curl (用于测试) ### 2. 配置环境变量 ```bash # 复制环境变量模板 cp .env_example .env # 编辑配置文件 vim .env ``` 配置内容: ```bash # --- SMTP 邮件服务配置 --- # 您的SMTP服务器地址 (例如: smtp.example.com) SMTP_HOST=smtp.your-email-provider.com # 您的SMTP服务器端口 (例如: 587 for TLS, 465 for SSL) SMTP_PORT=587 # 您的SMTP登录用户名 (通常是您的邮箱地址) SMTP_USER=your-email@example.com # 您的SMTP登录密码或应用专用密码 SMTP_PASS=your-email-password-or-app-key # 您希望显示在"发件人"字段的邮箱地址 SMTP_SENDER_EMAIL=your-email@example.com # 默认的告警接收人邮箱地址 DEFAULT_RECIPIENT_EMAIL=recipient-email@example.com # --- 病毒扫描配置 --- # 病毒检测引擎主机地址 (Docker环境中通常为服务名) CLAMD_HOST=clamav-daemon # 病毒检测引擎端口 CLAMD_PORT=3310 # 需要扫描的目录列表,用逗号分隔 SCAN_DIRECTORIES=/scan,/tmp # 病毒扫描间隔时间 (小时) VIRUS_SCAN_INTERVAL=24 # 病毒库更新间隔时间 (小时) VIRUS_DB_UPDATE_INTERVAL=6 # --- AI 智能分析配置 --- # AI分析服务API密钥 DEEPSEEK_API_KEY=your-deepseek-api-key # 是否启用AI分析 (true/false) ENABLE_AI_ANALYSIS=true ``` ### 3. 启动系统 ```bash # 启动所有服务 ./start.sh ``` ### 5. 验证系统 ```bash # 运行测试脚本 ./test.sh ``` ## 服务端口 - **告警服务**: `23847` - **安全扫描服务**: `19563` - **病毒检测引擎**: `3310` - **Redis**: `16842` ## API接口 ### 告警服务 (端口: 23847) | 接口 | 方法 | 描述 | |------|------|------| | `/` | GET | 服务信息 | | `/health` | GET | 健康检查 | | `/send-alarm` | POST | 发送告警 | | `/alarm-history` | GET | 告警历史 | ### 安全扫描服务 (端口: 19563) | 接口 | 方法 | 描述 | |------|------|------| | `/` | GET | 服务信息 | | `/health` | GET | 健康检查 | | `/scan` | POST | 手动扫描 | | `/scan-results` | GET | 扫描结果 | | `/virus-scan` | POST | 手动病毒扫描 | | `/update-virus-db` | POST | 更新病毒库 | ## 告警消息格式 告警邮件格式示例: **主题:** `【高危级告警】DeepGuard 安全告警: SQL注入攻击` **正文:** ``` 您好, DeepGuard 安全监控系统检测到一则新的安全告警,详情如下: - 告警类型: SQL注入攻击 - 危险级别: 高 - 发生时间: 2025-08-06 10:00:00 - 详细信息: 在用户登录模块发现潜在的SQL注入漏洞 请您尽快登录系统进行核查与处理。 --- 此邮件由 DeepGuard 系统自动发送,请勿回复。 ``` ## 安全检测模块 - **端口扫描**: 检测开放端口和潜在风险 - **系统资源监控**: CPU、内存、磁盘使用率 - **进程监控**: 检测可疑进程 - **SQL注入检测**: 模拟SQL注入攻击检测 - **病毒扫描**: 内置高性能病毒检测引擎,实时监控恶意文件 - **病毒库更新**: 定时自动更新病毒特征库,确保检测准确性 - **AI威胁分析**: 集成先进AI模型,对检测到的威胁进行深度分析和建议 ## 管理命令 ```bash # 查看服务状态 cd deep-guard-docker && docker-compose ps # 查看日志 cd deep-guard-docker && docker-compose logs -f # 重启服务 cd deep-guard-docker && docker-compose restart # 停止服务 cd deep-guard-docker && docker-compose down # 重新构建 cd deep-guard-docker && docker-compose build --no-cache ``` ## 故障排除 ### 1. 邮件通知器初始化失败 - 检查 `.env` 文件中的SMTP相关配置是否完整 (`SMTP_HOST`, `SMTP_PORT`, `SMTP_USER`, `SMTP_PASSWORD`, `SMTP_SENDER_EMAIL`)。 - 重启告警服务容器 `docker-compose restart deepguard-alarm`。 ### 2. 告警邮件发送失败 - 确认SMTP凭据正确无误,特别是密码或应用专用密码。 - 检查SMTP服务器地址和端口是否正确。 - 检查防火墙或安全组是否允许到SMTP服务器的出站连接。 - 查看告警服务日志获取详细错误信息: `docker-compose logs deepguard-alarm`。 ### 3. 服务无法访问 - 检查防火墙设置 - 确认端口未被占用 - 查看Docker容器状态 ## 开发说明 ### 环境要求 - Python 3.9+ - Flask - Redis - Docker & Docker Compose ### 本地开发 ```bash # 安装依赖 pip install -r alarm-modules/alarm-service/requirements.txt pip install -r security-modules/security-scanner/requirements.txt # 启动Redis docker run -d -p 6379:6379 redis:7-alpine # 启动告警服务 cd alarm-modules/alarm-service && python app.py # 启动扫描服务 cd security-modules/security-scanner && python scanner.py ``` ## 许可证 MIT License ## 贡献 欢迎提交Issue和Pull Request来改进项目。 --- **DeepGuard** - 让安全监控更简单、更智能!