secubox-openwrt/DOCS-zh/CVE-LAYER7.md
CyberMind-FR ccfb58124c docs: Add trilingual documentation (French and Chinese translations)
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>
2026-03-20 10:00:18 +01:00

308 lines
12 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# SecuBox CVE 第7层防御系统
> **Languages:** [English](../DOCS/CVE-LAYER7.md) | [Francais](../DOCS-fr/CVE-LAYER7.md) | 中文
**版本:** 1.0.0
**最后更新:** 2026-02-28
## 概述
CVE 第7层创新结合了三个防御支柱实现全面的 Web 应用安全:
1. **mitmproxy WAF** - 实时威胁模式检测 (70+ CVE 模式)
2. **CrowdSec 场景** - 具有自适应阈值的智能封禁决策
3. **CVE 分诊代理** - AI 驱动的漏洞评估和修复
## 架构
```
┌─────────────────────────────────────────────────────────────────┐
│ 第7层: 请求处理 │
│ ┌──────────────────────────────────────────────────────────┐ │
│ │ HAProxy (端口 8080) → mitmproxy (MITM 检查) │ │
│ │ ↓ │ │
│ │ secubox_analytics.py │ │
│ │ (70+ CVE 模式, 亚100毫秒检测) │ │
│ └──────────────────────────────────────────────────────────┘ │
│ ↓ │
│ [决策树] │
│ ┌────────────────┬─────────────┬──────────────┐ │
│ ↓ ↓ ↓ ↓ │
│ [允许] [记录威胁] [自动封禁] [告警] │
└─────────────────────────────────────────────────────────────────┘
┌─────────────────────────────────────────────────────────────────┐
│ 威胁日志管道 │
│ ┌──────────────────────────────────────────────────────────┐ │
│ │ 日志文件: │ │
│ │ • /var/log/secubox-access.log (所有请求) │ │
│ │ • /data/threats.log (CrowdSec 解析器输入) │ │
│ │ • /data/autoban-requests.log (封禁决策) │ │
│ │ • /tmp/secubox-subdomain-metrics.json (分析) │ │
│ └──────────────────────────────────────────────────────────┘ │
│ ↓ │
│ [CrowdSec 引擎] │
│ 8 个 mitmproxy 专用场景 │
│ ┌─────────────────┬──────────────┬──────────┐ │
│ ↓ ↓ ↓ ↓ │
│ [CVE] [扫描器] [SSRF] [Shell] │
│ 封禁30分 封禁10-30分 封禁10分 封禁60分 │
└─────────────────────────────────────────────────────────────────┘
┌─────────────────────────────────────────────────────────────────┐
│ 响应与修复 │
│ ┌──────────────────────────────────────────────────────────┐ │
│ │ CrowdSec 防火墙 Bouncer: │ │
│ │ • 基于 IP 的阻断 (iptables/nftables 规则) │ │
│ │ • 白名单/黑名单集成 │ │
│ └──────────────────────────────────────────────────────────┘ │
│ ↓ │
│ ┌──────────────────────────────────────────────────────────┐ │
│ │ CVE 分诊代理 (可选): │ │
│ │ • 将 CVE 模式与 NVD 数据关联 │ │
│ │ • LocalAI 影响评估 │ │
│ │ • 补丁建议 │ │
│ └──────────────────────────────────────────────────────────┘ │
└─────────────────────────────────────────────────────────────────┘
```
## 组件 1: mitmproxy WAF 分析
### 位置
- **配置:** `/etc/config/mitmproxy`
- **分析插件:** `/srv/mitmproxy/addons/secubox_analytics.py`
- **WAF 规则:** `/srv/mitmproxy/waf-rules.json`
### CVE 模式类别
| 类别 | 模式数 | 严重性 | 自动封禁 |
|------|--------|--------|----------|
| **SQL 注入** | 18 | 严重 | 是 |
| **命令注入** | 16 | 严重 | 是 |
| **XSS** | 17 | 高 | 阈值 |
| **路径遍历** | 14 | 高 | 阈值 |
| **XXE** | 8 | 严重 | 是 |
| **SSRF** | 14 | 高 | 阈值 |
| **Log4Shell/JNDI** | 8 | 严重 | 是 |
| **CVE 2021-2025** | 70+ | 严重 | 立即 |
| **路由器僵尸网络** | 20+ | 严重 | 立即 |
### 支持的 CVE (2021-2025)
**2024-2025:**
- CVE-2025-15467 (OpenSSL CMS 堆栈溢出)
- CVE-2025-0282 (Ivanti Connect Secure)
- CVE-2024-3400 (PAN-OS GlobalProtect)
- CVE-2024-21887 (Ivanti Connect Secure)
- CVE-2024-1708/1709 (ScreenConnect)
- CVE-2024-27198 (TeamCity)
- CVE-2024-21762 (Fortinet FortiOS)
**2023:**
- CVE-2023-34362 (MOVEit SQL 注入)
- CVE-2023-22515 (Confluence 权限提升)
- CVE-2023-46747 (F5 BIG-IP)
- CVE-2023-4966 (Citrix Bleed)
**2021-2022:**
- CVE-2021-44228 (Log4Shell)
- CVE-2021-41773 (Apache 路径遍历)
- CVE-2022-22965 (Spring4Shell)
- CVE-2022-1388 (F5 BIG-IP)
### 自动封禁配置
```uci
config autoban 'autoban'
option enabled '1'
option ban_duration '4h'
option min_severity 'high'
option sensitivity 'moderate'
option moderate_threshold '3'
option moderate_window '300'
option whitelist '127.0.0.1,192.168.255.1'
```
**敏感度级别:**
- **激进:** 首次严重威胁立即封禁
- **适中:** 5分钟内3次威胁后封禁 (默认)
- **宽容:** 1小时内5次威胁后封禁
## 组件 2: CrowdSec 场景
### 位置
- **场景:** `/etc/crowdsec/scenarios/`
- **解析器:** `/etc/crowdsec/parsers/s01-parse/secubox-mitmproxy.yaml`
- **采集:** `/etc/crowdsec/acquis.d/secubox-mitmproxy.yaml`
### mitmproxy 威胁场景
| 场景 | 类型 | 触发条件 | 封禁时长 |
|------|------|----------|----------|
| `secubox/mitmproxy-attack` | Leaky | SQLi, XSS, CMDi, LFI, XXE | 15分 |
| `secubox/mitmproxy-cve` | Trigger | CVE + 严重级别 | 30分 |
| `secubox/mitmproxy-botscan` | Leaky | 漏洞扫描器 | 30分 |
| `secubox/mitmproxy-shell-hunter` | Trigger | Shell/后门搜索 | 60分 |
| `secubox/mitmproxy-config-hunter` | Leaky | 配置文件搜索 | 30分 |
| `secubox/mitmproxy-scanner` | Leaky | 管理员/环境扫描 | 10分 |
| `secubox/mitmproxy-ssrf` | Leaky | SSRF 尝试 | 10分 |
| `secubox/mitmproxy-suspicious-ua` | Leaky | 可疑 User-Agent | 15分 |
### 日志格式 (JSON)
```json
{
"timestamp": "2026-02-28T12:00:00Z",
"source_ip": "1.2.3.4",
"host": "example.com",
"request": "GET /../../../etc/passwd HTTP/1.1",
"threat_type": "path_traversal",
"pattern": "../../../etc/passwd",
"severity": "critical",
"cve": "",
"category": "lfi",
"is_bot": true,
"bot_type": "vulnerability_scanner",
"bot_behavior": "config_hunting"
}
```
## 组件 3: CVE 分诊代理
### 位置
- **配置:** `/etc/config/cve-triage`
- **CLI:** `/usr/bin/cve-triage`
- **库:** `/usr/lib/cve-triage/`
### 工作流
1. **收集器** (`collector.sh`):
- 收集已安装的软件包 (opkg, dpkg, apk)
- 扫描 LXC 容器和 Docker 镜像
- 与 NVD API 交叉引用
2. **分析器** (`analyzer.sh`):
- 基于 CVSS 的严重性评分
- LocalAI 影响评估 (可选)
- 攻击向量分析
3. **推荐器** (`recommender.sh`):
- 补丁建议
- 缓解策略
- 监控指导
4. **应用器** (`applier.sh`):
- 基于队列的审批工作流
- 自动应用选项 (可配置)
- 回滚能力
### 配置
```uci
config cve-triage 'main'
option enabled '1'
option scan_interval '3600'
option min_severity 'medium'
option auto_apply_patches '0'
option localai_analysis '1'
```
## 集成点
### mitmproxy → CrowdSec
1. mitmproxy 将 JSON 威胁日志写入 `/data/threats.log`
2. CrowdSec `secubox-mitmproxy` 解析器提取字段
3. 8 个场景评估严重性并决定封禁时长
4. 防火墙 Bouncer 应用 IP 阻断
### mitmproxy → CVE 分诊
1. 检测中的 CVE 字段传递给分诊代理
2. 分诊与 NVD API 关联
3. 生成修复建议
4. 如需更新自动封禁敏感度
### 自动封禁反馈循环
1. 高严重性 CVE 尝试触发立即封禁
2. 来自同一 IP 的重复尝试升级封禁时长
3. 白名单/WireGuard 端点保护防止误报
4. CrowdSec 社区黑名单集成
## 文件位置
| 组件 | 路径 | 用途 |
|------|------|------|
| WAF 配置 | `/etc/config/mitmproxy` | 自动封禁设置 |
| WAF 规则 | `/srv/mitmproxy/waf-rules.json` | 模式定义 |
| 分析 | `/srv/mitmproxy/addons/secubox_analytics.py` | 检测引擎 |
| 威胁日志 | `/data/threats.log` | CrowdSec 输入 |
| 访问日志 | `/var/log/secubox-access.log` | 所有请求 |
| 自动封禁日志 | `/data/autoban-requests.log` | 封禁决策 |
| 场景 | `/etc/crowdsec/scenarios/` | CrowdSec 规则 |
| CVE 分诊 | `/usr/lib/cve-triage/` | 代理库 |
## 指标与监控
### 子域指标
实时 JSON 导出: `/tmp/secubox-subdomain-metrics.json`
- 每域请求计数
- 威胁类型分布
- 每子域 Top 20 URI
- 基于国家的统计
### 速率限制
```python
RATE_LIMITS = {
'path_scan': {'window': 60, 'max': 20},
'auth_attempt': {'window': 60, 'max': 10},
'bot_request': {'window': 60, 'max': 30},
'normal': {'window': 60, 'max': 100},
}
```
## 命令
### 查看活动威胁
```bash
# 最近的威胁
tail -f /data/threats.log | jq
# 自动封禁日志
cat /data/autoban-requests.log
# CrowdSec 决策
cscli decisions list
```
### 手动封禁/解禁
```bash
# 封禁 IP 4 小时
cscli decisions add --ip 1.2.3.4 --duration 4h --reason "手动封禁"
# 移除封禁
cscli decisions delete --ip 1.2.3.4
```
### 检查状态
```bash
# mitmproxy WAF 状态
mitmproxyctl status
# CrowdSec 状态
cscli metrics
# CVE 分诊状态
cve-triage status
```
## 另请参阅
- [mitmproxy UCI 配置](../package/secubox/secubox-app-mitmproxy/README.md)
- [CrowdSec 自定义场景](../package/secubox/secubox-app-crowdsec-custom/README.md)
- [CVE 分诊代理](../package/secubox/secubox-cve-triage/README.md)