核心功能: - 6 层检测管线: L0 结构分析 → L1 ClamAV → L2 文档深度检测 → L3 关键词匹配 → L4 YARA → L5 PE/二进制 - FastAPI + PostgreSQL + Redis + Docker Compose 架构 - 客户端 HMAC-SHA256 签名鉴权 + 限流 + 幂等性 - 控制台 UI (登录/Dashboard/诊断中心/策略管理/任务列表/测试中心/产品介绍页) - 三层诊断定时器 (error_scan 30s / db_aggregate 30s / container_check 5min) 并发与稳定性修复: - 诊断定时器 Redis 时间槽位锁 (多 worker 同一槽位只有一个执行) - JSONL 存储 fcntl 跨进程排他锁 + 容错解码 + 原子重写 - 移除 SQLite fallback, 统一 PostgreSQL - API_CLIENTS 脱敏为环境变量, .env 已 .gitignore
51 lines
2.2 KiB
Plaintext
51 lines
2.2 KiB
Plaintext
# =============================================================================
|
||
# MeshSafe 生产部署环境变量(示例模板)
|
||
# 复制为 .env 后填入真实值(master_key + db_password + admin_password 必须改)
|
||
# =============================================================================
|
||
#
|
||
# docker-compose.yml 会自动加载同级 .env 文件。
|
||
# Settings 类(app/config.py)通过 pydantic_settings 读取,前缀 MESHSAFE_。
|
||
#
|
||
# 字段分三类:
|
||
# ── 必填(缺失启动报错)────────────
|
||
# MESHSAFE_MASTER_KEY 主密钥(base64 ≥ 32 字节)—— 密码哈希/HMAC 签名/HKDF 派生都用它
|
||
# MESHSAFE_DB_PASSWORD PostgreSQL 密码 —— 与 compose postgres.POSTGRES_PASSWORD 保持一致
|
||
# MESHSAFE_ADMIN_PASSWORD 默认管理员初始密码 —— scripts/init_db.py 首次建 admin 时使用
|
||
#
|
||
# ── docker-compose.yml 内置(API 服务会注入)──
|
||
# MESHSAFE_DB_URL =postgresql+psycopg://meshsafe:<DB_PASSWORD>@postgres:5432/meshsafe
|
||
# MESHSAFE_CLAMAV_HOST =clamav
|
||
# MESHSAFE_CLAMAV_PORT =3310
|
||
# MESHSAFE_REDIS_URL =redis://redis:6379/0
|
||
#
|
||
# ── 可选(有合理默认值)──────────
|
||
# MESHSAFE_ENV prod | dev
|
||
# MESHSAFE_HOST 0.0.0.0
|
||
# MESHSAFE_PORT 8443
|
||
# MESHSAFE_LOG_LEVEL DEBUG | INFO | WARNING | ERROR
|
||
# MESHSAFE_LOG_DIR /var/log/meshsafe
|
||
# MESHSAFE_WORKERS 2(异步扫描后台 worker 数)
|
||
# MESHSAFE_RULES_DIR /app/rules(YARA 规则目录)
|
||
# MESHSAFE_POLICY_FILE /app/config/policy.yaml
|
||
#
|
||
# ---------- master_key 生成 ----------
|
||
# python -c "import base64, os; print(base64.b64encode(os.urandom(32)).decode())"
|
||
# =============================================================================
|
||
|
||
# ---------- 必填 ----------
|
||
|
||
MESHSAFE_MASTER_KEY=CHANGE_ME_GENERATE_WITH_COMMAND_ABOVE
|
||
MESHSAFE_DB_PASSWORD=CHANGE_ME_DB_PASSWORD
|
||
MESHSAFE_ADMIN_PASSWORD=CHANGE_ME_ADMIN_PASSWORD
|
||
|
||
# ---------- 可选 ----------
|
||
|
||
MESHSAFE_ENV=prod
|
||
MESHSAFE_LOG_LEVEL=INFO
|
||
MESHSAFE_LOG_DIR=/var/log/meshsafe
|
||
MESHSAFE_WORKERS=2
|
||
MESHSAFE_RULES_DIR=/app/rules
|
||
MESHSAFE_POLICY_FILE=/app/config/policy.yaml
|
||
MESHSAFE_HOST=0.0.0.0
|
||
MESHSAFE_PORT=8443
|