Add complete French (fr) and Chinese (zh) translations for all documentation: - Root files: README, CHANGELOG, SECURITY, BETA-RELEASE - docs/: All 16 core documentation files - DOCS/: All 19 deep-dive documents including embedded/ and archive/ - package/secubox/: All 123+ package READMEs - Misc: secubox-tools/, scripts/, EXAMPLES/, config-backups/, streamlit-apps/ Total: 346 translation files created Each file includes language switcher links for easy navigation between English, French, and Chinese versions. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
338 lines
21 KiB
Markdown
338 lines
21 KiB
Markdown
# SecuBox 三环安全架构
|
||
|
||
> **Languages:** [English](../DOCS/THREE-LOOP-ARCHITECTURE.md) | [Francais](../DOCS-fr/THREE-LOOP-ARCHITECTURE.md) | 中文
|
||
|
||
**版本:** 0.17.0 - 首次公开发布
|
||
**作者:** Gerald Kerma (Gandalf) - CyberMind.FR
|
||
**日期:** 2026年1月
|
||
|
||
---
|
||
|
||
## 执行摘要
|
||
|
||
SecuBox 实现了一个**三环安全模型**,将安全操作分为三个不同但相互关联的反馈环。每个环在不同的时间尺度上运行,服务于互补功能,从毫秒级数据包过滤到战略威胁情报演进,提供纵深防御。
|
||
|
||
---
|
||
|
||
## 三环模型
|
||
|
||
```
|
||
┌─────────────────────────────────────────────────────────────────────────────┐
|
||
│ 三环安全架构 │
|
||
│ │
|
||
│ ┌─────────────────────────────────────────────────────────────────────┐ │
|
||
│ │ 第三环: 战略层 │ │
|
||
│ │ (小时 → 天 → 周) │ │
|
||
│ │ │ │
|
||
│ │ ┌──────────────────────────────────────────────────────────┐ │ │
|
||
│ │ │ 第二环: 战术层 │ │ │
|
||
│ │ │ (分钟 → 小时) │ │ │
|
||
│ │ │ │ │ │
|
||
│ │ │ ┌─────────────────────────────────────────────────┐ │ │ │
|
||
│ │ │ │ 第一环: 作战层 │ │ │ │
|
||
│ │ │ │ (毫秒 → 秒) │ │ │ │
|
||
│ │ │ │ │ │ │ │
|
||
│ │ │ │ 检测 → 决策 → 响应 → 学习 │ │ │ │
|
||
│ │ │ │ │ │ │ │
|
||
│ │ │ └─────────────────────────────────────────────────┘ │ │ │
|
||
│ │ │ │ │ │
|
||
│ │ │ 关联 → 分析 → 适应 → 优化 │ │ │
|
||
│ │ │ │ │ │
|
||
│ │ └──────────────────────────────────────────────────────────┘ │ │
|
||
│ │ │ │
|
||
│ │ 聚合 → 趋势 → 预测 → 演进 │ │
|
||
│ │ │ │
|
||
│ └─────────────────────────────────────────────────────────────────────┘ │
|
||
│ │
|
||
└─────────────────────────────────────────────────────────────────────────────┘
|
||
```
|
||
|
||
---
|
||
|
||
## 第一环: 作战层 (实时响应)
|
||
|
||
**时间尺度:** 毫秒到秒
|
||
**功能:** 即时威胁检测和自动响应
|
||
**目标:** 在损害发生之前阻止攻击
|
||
|
||
### SecuBox 实现
|
||
|
||
```
|
||
┌─────────────────────────────────────────────────────────────────────┐
|
||
│ SECUBOX 第一环 — 作战层 │
|
||
│ │
|
||
│ 入口流量 │
|
||
│ │ │
|
||
│ ▼ │
|
||
│ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │
|
||
│ │ nftables │───▶│ netifyd │───▶│ CrowdSec │ │
|
||
│ │ fw4 规则 │ │ DPI │ │ Bouncer │ │
|
||
│ │ BPF/XDP │ │ (L7协议) │ │ (nft sets) │ │
|
||
│ └──────────────┘ └──────────────┘ └──────────────┘ │
|
||
│ │ │ │ │
|
||
│ ▼ ▼ ▼ │
|
||
│ ┌────────────────────────────────────────────────────────┐ │
|
||
│ │ 决策引擎 │ │
|
||
│ │ • 有状态连接跟踪 │ │
|
||
│ │ • 协议异常检测 │ │
|
||
│ │ • 基于信誉的过滤 │ │
|
||
│ │ • 速率限制与连接上限 │ │
|
||
│ └────────────────────────────────────────────────────────┘ │
|
||
│ │ │
|
||
│ ▼ │
|
||
│ 允许 / 阻止 / 限速 / 重定向 │
|
||
└─────────────────────────────────────────────────────────────────────┘
|
||
```
|
||
|
||
### 组件
|
||
|
||
| 组件 | 模块 | 功能 |
|
||
|------|------|------|
|
||
| **nftables/fw4** | OpenWrt 核心 | 线速数据包过滤 |
|
||
| **netifyd** | `luci-app-secubox-netifyd` | 第7层协议识别 |
|
||
| **nDPId** | `luci-app-ndpid` | 深度包检测 (300+ 协议) |
|
||
| **CrowdSec Bouncer** | `luci-app-crowdsec-dashboard` | 实时阻断执行 |
|
||
|
||
### 性能指标
|
||
|
||
| 指标 | 目标 | v0.17 状态 |
|
||
|------|------|------------|
|
||
| 数据包决策延迟 | < 1ms | 已达成 |
|
||
| DPI 分类时间 | < 10ms | 已达成 |
|
||
| Bouncer 更新传播 | < 1s | 已达成 |
|
||
| 内存占用 | < 64MB | 典型 ~45MB |
|
||
|
||
---
|
||
|
||
## 第二环: 战术层 (关联与适应)
|
||
|
||
**时间尺度:** 分钟到小时
|
||
**功能:** 模式关联、行为分析、规则优化
|
||
**目标:** 提高检测准确性并减少误报
|
||
|
||
### SecuBox 实现
|
||
|
||
```
|
||
┌─────────────────────────────────────────────────────────────────────┐
|
||
│ SECUBOX 第二环 — 战术层 │
|
||
│ │
|
||
│ 来自第一环 │
|
||
│ │ │
|
||
│ ▼ │
|
||
│ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │
|
||
│ │ CrowdSec │───▶│ LAPI │───▶│ 场景 │ │
|
||
│ │ Agent │ │ (本地) │ │ 与解析器 │ │
|
||
│ │ (日志) │ │ │ │ │ │
|
||
│ └──────────────┘ └──────────────┘ └──────────────┘ │
|
||
│ │ │ │ │
|
||
│ │ ▼ │ │
|
||
│ │ ┌──────────────┐ │ │
|
||
│ │ │ Netdata │ │ │
|
||
│ │ │ 指标 │ │ │
|
||
│ │ │ 与告警 │ │ │
|
||
│ │ └──────────────┘ │ │
|
||
│ │ │ │ │
|
||
│ ▼ ▼ ▼ │
|
||
│ ┌────────────────────────────────────────────────────────┐ │
|
||
│ │ 关联引擎 │ │
|
||
│ │ • 多源事件关联 │ │
|
||
│ │ • 行为基线偏差 │ │
|
||
│ │ • 攻击链识别 │ │
|
||
│ │ • 误报消除 │ │
|
||
│ └────────────────────────────────────────────────────────┘ │
|
||
│ │ │
|
||
│ ▼ │
|
||
│ 决策 → 第一环 | 告警 → 运维人员 | 情报 → 第三环 │
|
||
└─────────────────────────────────────────────────────────────────────┘
|
||
```
|
||
|
||
### 组件
|
||
|
||
| 组件 | 模块 | 功能 |
|
||
|------|------|------|
|
||
| **CrowdSec Agent** | `luci-app-crowdsec-dashboard` | 日志解析和事件生成 |
|
||
| **CrowdSec LAPI** | `luci-app-crowdsec-dashboard` | 本地决策引擎 |
|
||
| **场景** | 自定义 + 社区 | 攻击模式定义 |
|
||
| **Netdata** | `luci-app-netdata-dashboard` | 指标和异常检测 |
|
||
|
||
### 场景示例
|
||
|
||
| 场景 | 触发条件 | 动作 |
|
||
|------|----------|------|
|
||
| SSH 暴力破解 | 30秒内5次失败 | 封禁4小时 |
|
||
| 端口扫描 | 10秒内20个端口 | 封禁24小时 |
|
||
| HTTP 扫描器 | 已知模式 | 封禁1小时 |
|
||
| DPI 异常 | 协议不匹配 | 告警 + 调查 |
|
||
|
||
### 反馈到第一环
|
||
|
||
| 战术输出 | 第一环动作 |
|
||
|----------|------------|
|
||
| 新 IP 封禁决策 | Bouncer 更新 nft 集合 |
|
||
| 协议异常模式 | DPI 规则增强 |
|
||
| 识别出误报 | 白名单/例外规则 |
|
||
| 攻击签名 | 解析器/场景更新 |
|
||
|
||
---
|
||
|
||
## 第三环: 战略层 (情报与演进)
|
||
|
||
**时间尺度:** 小时到周
|
||
**功能:** 威胁情报、趋势分析、架构演进
|
||
**目标:** 预测威胁并持续改进安全态势
|
||
|
||
### SecuBox 实现
|
||
|
||
```
|
||
┌─────────────────────────────────────────────────────────────────────┐
|
||
│ SECUBOX 第三环 — 战略层 │
|
||
│ │
|
||
│ 来自第二环 │
|
||
│ │ │
|
||
│ ▼ │
|
||
│ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │
|
||
│ │ CrowdSec │───▶│ 中央 │───▶│ 社区 │ │
|
||
│ │ CAPI │ │ API │ │ 黑名单 │ │
|
||
│ │ (上传) │ │ │ │ │ │
|
||
│ └──────────────┘ └──────────────┘ └──────────────┘ │
|
||
│ │ │ │ │
|
||
│ │ ▼ │ │
|
||
│ │ ┌──────────────┐ │ │
|
||
│ │ │ P2P 中心 │◀───────────┘ │
|
||
│ │ │ (v0.18+) │ │
|
||
│ │ └──────────────┘ │
|
||
│ │ │ │
|
||
│ ▼ ▼ │
|
||
│ ┌────────────────────────────────────────────────────────┐ │
|
||
│ │ 情报引擎 │ │
|
||
│ │ • 全球威胁态势聚合 │ │
|
||
│ │ • 新兴威胁预警 │ │
|
||
│ │ • 信誉评分演进 │ │
|
||
│ │ • 架构与策略建议 │ │
|
||
│ └────────────────────────────────────────────────────────┘ │
|
||
│ │ │
|
||
│ ▼ │
|
||
│ 黑名单 → 第二环 | 策略 → 第一环 | 演进 → 下一版本 │
|
||
└─────────────────────────────────────────────────────────────────────┘
|
||
```
|
||
|
||
### 组件
|
||
|
||
| 组件 | 模块 | 功能 |
|
||
|------|------|------|
|
||
| **CrowdSec CAPI** | `luci-app-crowdsec-dashboard` | 社区情报交换 |
|
||
| **黑名单** | 通过 CAPI 管理 | IP/域名信誉 |
|
||
| **P2P 中心** | 计划于 v0.18+ | 去中心化情报共享 |
|
||
|
||
---
|
||
|
||
## P2P 中心: 第三环演进 (v0.18+)
|
||
|
||
### 愿景
|
||
|
||
P2P 中心将实现 SecuBox 节点之间的**去中心化威胁情报共享**,无需依赖中央服务。
|
||
|
||
```
|
||
┌─────────────────────────────────────────────────────────────────────┐
|
||
│ P2P 中心架构 (v0.18+) │
|
||
│ │
|
||
│ ┌───────────────┐ │
|
||
│ │ SecuBox A │ │
|
||
│ │ (did:plc) │ │
|
||
│ └───────┬───────┘ │
|
||
│ │ │
|
||
│ ┌────────────┼────────────┐ │
|
||
│ │ │ │ │
|
||
│ ┌───────▼───────┐ │ ┌───────▼───────┐ │
|
||
│ │ SecuBox B │ │ │ SecuBox C │ │
|
||
│ │ (did:plc) │ │ │ (did:plc) │ │
|
||
│ └───────┬───────┘ │ └───────┬───────┘ │
|
||
│ │ │ │ │
|
||
│ └────────────┼────────────┘ │
|
||
│ │ │
|
||
│ ┌───────▼───────┐ │
|
||
│ │ SecuBox D │ │
|
||
│ │ (did:plc) │ │
|
||
│ └───────────────┘ │
|
||
│ │
|
||
│ 传输层: WireGuard mesh (加密, 认证) │
|
||
│ 身份层: did:plc (可轮换密钥, 自主主权) │
|
||
│ 协议层: 通过 P2P gossip 签名的情报共享 │
|
||
└─────────────────────────────────────────────────────────────────────┘
|
||
```
|
||
|
||
### did:plc 身份模型
|
||
|
||
受 ATProto/Bluesky 启发,每个 SecuBox 节点将拥有去中心化标识符:
|
||
|
||
| 层级 | 功能 | 控制权 |
|
||
|------|------|--------|
|
||
| **DID** | 永久加密标识符 | 数学性 (不可撤销) |
|
||
| **轮换密钥** | 被入侵后恢复 | 人工操作员 |
|
||
| **签名密钥** | 日常操作 | SecuBox 节点 |
|
||
|
||
**优势:**
|
||
- 节点身份在密钥被入侵后仍然存在 (轮换而不丢失信誉)
|
||
- 信任关系跨密钥更新持续
|
||
- 无需中央授权进行身份管理
|
||
- 与 ATProto 生态系统互操作
|
||
|
||
### 信任模型
|
||
|
||
| 信任级别 | 来源 | 环集成 |
|
||
|----------|------|--------|
|
||
| **高** | 直接对等节点, 长期历史 | 第一环 (即时阻断) |
|
||
| **中** | 传递信任, 已验证签名 | 第二环 (关联输入) |
|
||
| **低** | 新节点, 未验证 | 仅第三环 (审查) |
|
||
|
||
---
|
||
|
||
## 集成矩阵
|
||
|
||
### 当前状态 (v0.17)
|
||
|
||
| 环 | 组件 | 模块 | 状态 |
|
||
|----|------|------|------|
|
||
| 1 | nftables/fw4 | OpenWrt 核心 | 完成 |
|
||
| 1 | netifyd DPI | `luci-app-secubox-netifyd` | 完成 |
|
||
| 1 | nDPId DPI | `luci-app-ndpid` | 完成 |
|
||
| 1 | CrowdSec Bouncer | `luci-app-crowdsec-dashboard` | 完成 |
|
||
| 2 | CrowdSec Agent | `luci-app-crowdsec-dashboard` | 完成 |
|
||
| 2 | CrowdSec LAPI | `luci-app-crowdsec-dashboard` | 完成 |
|
||
| 2 | Netdata | `luci-app-netdata-dashboard` | 完成 |
|
||
| 2 | 自定义场景 | `luci-app-secubox-security-threats` | 部分 |
|
||
| 3 | CrowdSec CAPI | `luci-app-crowdsec-dashboard` | 完成 |
|
||
| 3 | 黑名单 | 通过 CAPI 管理 | 完成 |
|
||
| 3 | P2P 中心 | 计划中 | v0.18+ |
|
||
|
||
### 路线图
|
||
|
||
| 阶段 | 版本 | 环重点 | 状态 |
|
||
|------|------|--------|------|
|
||
| Core Mesh | v0.17 | 第1+2环完成 | 已发布 |
|
||
| Service Mesh | v0.18 | 第3环 P2P 基础 | 下一步 |
|
||
| Intelligence Mesh | v0.19 | 完整 P2P 情报 | 计划中 |
|
||
| AI Mesh | v0.20 | ML 增强第2环 | 计划中 |
|
||
| 认证 | v1.0 | ANSSI 认证 | 计划中 |
|
||
|
||
---
|
||
|
||
## 总结
|
||
|
||
| 环 | 功能 | 时间尺度 | v0.17 状态 |
|
||
|----|------|----------|------------|
|
||
| **第一环** | 作战层 (阻断威胁) | 毫秒 → 秒 | 完成 |
|
||
| **第二环** | 战术层 (关联与适应) | 分钟 → 小时 | 完成 |
|
||
| **第三环** | 战略层 (情报与演进) | 小时 → 天 | 仅 CAPI |
|
||
|
||
**第一环** = 反射 → 快速阻断,精准阻断
|
||
**第二环** = 本地情报 → 理解模式,适应变化
|
||
**第三环** = 集体情报 → 共享,预测,演进
|
||
|
||
---
|
||
|
||
**Ex Tenebris, Lux Securitas**
|
||
|
||
*SecuBox v0.17.0 - 首次公开发布*
|
||
*CyberMind.FR - 2026年1月*
|