feat: MeshSafe 文件摆渡安全卫士 v1.0 初始提交
核心功能: - 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
This commit is contained in:
58
config/diagnostics.yaml
Normal file
58
config/diagnostics.yaml
Normal file
@@ -0,0 +1,58 @@
|
||||
# =============================================================================
|
||||
# MeshSafe Diagnostics Kit v1.0 配置
|
||||
# =============================================================================
|
||||
# 环境变量可覆盖(优先级更高):
|
||||
# MESHSAFE_DIAG_ENABLED=true|false
|
||||
# MESHSAFE_DIAG_DOCKER=auto|true|false
|
||||
# MESHSAFE_DIAG_ERROR_INTERVAL=30
|
||||
# MESHSAFE_DIAG_CONTAINER_INTERVAL=300
|
||||
# MESHSAFE_DIAG_DB_INTERVAL=60
|
||||
# MESHSAFE_DIAG_STORAGE_ENABLED=true|false
|
||||
# =============================================================================
|
||||
|
||||
diagnostics:
|
||||
# ---------- 总开关 ----------
|
||||
# true = 启动定时器、检测 Docker、运行规则引擎
|
||||
# false = 只保留手动导出功能,所有自动诊断关闭
|
||||
enabled: true
|
||||
|
||||
# ---------- Docker 日志/容器状态能力 ----------
|
||||
# auto = 启动时自动检测 docker.sock 挂载
|
||||
# true = 强制启用,连不上启动报错
|
||||
# false = 强制关闭
|
||||
docker:
|
||||
enabled: auto
|
||||
|
||||
# ---------- 后台定时器周期(秒,0 = 不跑)----------
|
||||
timers:
|
||||
error_scan_interval: 30 # 错误/拦截类日志(R001/R005/R009-R014)
|
||||
container_check_interval: 300 # 容器/引擎类(R002/R003/R004/R015)
|
||||
db_aggregate_interval: 60 # DB 聚合类(R006/R007/R008)
|
||||
|
||||
# ---------- 日志行数控制 ----------
|
||||
docker_log_tail: 500 # 定时器 grep 最近多少行
|
||||
export_log_tail: 2000 # 导出时完整抓多少行
|
||||
|
||||
# ---------- 导出包数据范围 ----------
|
||||
# 所有 DB 查询都按"过去 N 天"过滤,避免导出全库
|
||||
export:
|
||||
db_span_days: 7 # DB 查询时间范围(scan_tasks / findings / errors)
|
||||
scan_tasks_max: 10000 # scan_tasks.json 上限条数(防极端大数据量爆包)
|
||||
scan_findings_max: 50000 # scan_findings.json 上限条数
|
||||
engine_errors_max: 5000 # engine_errors.json 上限条数
|
||||
|
||||
# ---------- 规则阈值 ----------
|
||||
rules:
|
||||
error_ratio_threshold: 0.05 # R001: error > 5% 告警
|
||||
clamav_db_stale_days: 7 # R002: 病毒库 > 7 天告警
|
||||
reject_ratio_threshold: 0.20 # R007: reject > 20% 告警
|
||||
suspicious_exceeds_malicious: true # R006 开关
|
||||
|
||||
# ---------- 持久化存储 ----------
|
||||
# 关闭后回退纯内存模式(定时器结果重启就丢)
|
||||
storage:
|
||||
enabled: true
|
||||
dir: /app/data/diagnostics
|
||||
history_retention_days: 7 # 规则历史保留天数
|
||||
log_snapshot_on_timer: true # 定时器跑完是否也存日志快照
|
||||
log_snapshot_tail: 500 # 定时存的日志行数(节省磁盘)
|
||||
Reference in New Issue
Block a user