# Systeme de Defense CVE Couche 7 SecuBox > **Languages:** [English](../DOCS/CVE-LAYER7.md) | Francais | [中文](../DOCS-zh/CVE-LAYER7.md) **Version:** 1.0.0 **Derniere Mise a Jour:** 2026-02-28 ## Apercu L'innovation CVE Couche 7 combine trois piliers de defense pour une securite complete des applications web: 1. **WAF mitmproxy** - Detection de motifs de menaces en temps reel (70+ motifs CVE) 2. **Scenarios CrowdSec** - Decisions de bannissement intelligentes avec seuils adaptatifs 3. **Agent de Triage CVE** - Evaluation des vulnerabilites et remediation assistees par IA ## Architecture ``` ┌─────────────────────────────────────────────────────────────────┐ │ COUCHE 7: Traitement des Requetes │ │ ┌──────────────────────────────────────────────────────────┐ │ │ │ HAProxy (port 8080) → mitmproxy (inspection MITM) │ │ │ │ ↓ │ │ │ │ secubox_analytics.py │ │ │ │ (70+ motifs CVE, detection sub-100ms) │ │ │ └──────────────────────────────────────────────────────────┘ │ │ ↓ │ │ [Arbre de Decision] │ │ ┌────────────────┬─────────────┬──────────────┐ │ │ ↓ ↓ ↓ ↓ │ │ [Autoriser] [Logger Menace] [Auto-Ban] [Alerte] │ └─────────────────────────────────────────────────────────────────┘ ↓ ┌─────────────────────────────────────────────────────────────────┐ │ PIPELINE DE LOG DES MENACES │ │ ┌──────────────────────────────────────────────────────────┐ │ │ │ Fichiers de Log: │ │ │ │ • /var/log/secubox-access.log (toutes les requetes) │ │ │ │ • /data/threats.log (entree parseur CrowdSec) │ │ │ │ • /data/autoban-requests.log (decisions de ban) │ │ │ │ • /tmp/secubox-subdomain-metrics.json (analytiques) │ │ │ └──────────────────────────────────────────────────────────┘ │ │ ↓ │ │ [Moteur CrowdSec] │ │ 8 scenarios specifiques mitmproxy │ │ ┌─────────────────┬──────────────┬──────────┐ │ │ ↓ ↓ ↓ ↓ │ │ [CVE] [Scanner] [SSRF] [Shell] │ │ ban 30m ban 10-30m ban 10m ban 60m │ └─────────────────────────────────────────────────────────────────┘ ↓ ┌─────────────────────────────────────────────────────────────────┐ │ REPONSE & REMEDIATION │ │ ┌──────────────────────────────────────────────────────────┐ │ │ │ CrowdSec Firewall Bouncer: │ │ │ │ • Blocages bases sur IP (regles iptables/nftables) │ │ │ │ • Integration liste blanche/noire │ │ │ └──────────────────────────────────────────────────────────┘ │ │ ↓ │ │ ┌──────────────────────────────────────────────────────────┐ │ │ │ Agent de Triage CVE (optionnel): │ │ │ │ • Correle les motifs CVE avec les donnees NVD │ │ │ │ • Evaluation d'impact LocalAI │ │ │ │ • Recommandations de correctifs │ │ │ └──────────────────────────────────────────────────────────┘ │ └─────────────────────────────────────────────────────────────────┘ ``` ## Composant 1: Analytique WAF mitmproxy ### Emplacement - **Config:** `/etc/config/mitmproxy` - **Addon Analytique:** `/srv/mitmproxy/addons/secubox_analytics.py` - **Regles WAF:** `/srv/mitmproxy/waf-rules.json` ### Categories de Motifs CVE | Categorie | Motifs | Severite | Auto-Ban | |-----------|--------|----------|----------| | **Injection SQL** | 18 | Critique | Oui | | **Injection de Commande** | 16 | Critique | Oui | | **XSS** | 17 | Haute | Seuil | | **Traversee de Chemin** | 14 | Haute | Seuil | | **XXE** | 8 | Critique | Oui | | **SSRF** | 14 | Haute | Seuil | | **Log4Shell/JNDI** | 8 | Critique | Oui | | **CVE 2021-2025** | 70+ | Critique | Immediat | | **Botnet Routeur** | 20+ | Critique | Immediat | ### CVE Supportees (2021-2025) **2024-2025:** - CVE-2025-15467 (Debordement de pile 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 (Injection SQL MOVEit) - CVE-2023-22515 (Escalade de privileges Confluence) - CVE-2023-46747 (F5 BIG-IP) - CVE-2023-4966 (Citrix Bleed) **2021-2022:** - CVE-2021-44228 (Log4Shell) - CVE-2021-41773 (Traversee de chemin Apache) - CVE-2022-22965 (Spring4Shell) - CVE-2022-1388 (F5 BIG-IP) ### Configuration Auto-Ban ```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' ``` **Niveaux de Sensibilite:** - **Agressif:** Ban immediat a la premiere menace critique - **Modere:** Ban apres 3 menaces en 5 minutes (defaut) - **Permissif:** Ban apres 5 menaces en 1 heure ## Composant 2: Scenarios CrowdSec ### Emplacement - **Scenarios:** `/etc/crowdsec/scenarios/` - **Parseur:** `/etc/crowdsec/parsers/s01-parse/secubox-mitmproxy.yaml` - **Acquisition:** `/etc/crowdsec/acquis.d/secubox-mitmproxy.yaml` ### Scenarios de Menaces mitmproxy | Scenario | Type | Declencheur | Duree de Ban | |----------|------|-------------|--------------| | `secubox/mitmproxy-attack` | Leaky | SQLi, XSS, CMDi, LFI, XXE | 15m | | `secubox/mitmproxy-cve` | Trigger | CVE + severite critique | 30m | | `secubox/mitmproxy-botscan` | Leaky | Scanners de vulnerabilites | 30m | | `secubox/mitmproxy-shell-hunter` | Trigger | Chasse aux shells/backdoors | 60m | | `secubox/mitmproxy-config-hunter` | Leaky | Chasse aux fichiers de config | 30m | | `secubox/mitmproxy-scanner` | Leaky | Scan admin/env | 10m | | `secubox/mitmproxy-ssrf` | Leaky | Tentatives SSRF | 10m | | `secubox/mitmproxy-suspicious-ua` | Leaky | User-Agent suspect | 15m | ### Format de Log (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" } ``` ## Composant 3: Agent de Triage CVE ### Emplacement - **Config:** `/etc/config/cve-triage` - **CLI:** `/usr/bin/cve-triage` - **Bibliotheque:** `/usr/lib/cve-triage/` ### Workflow 1. **Collecteur** (`collector.sh`): - Collecte les paquets installes (opkg, dpkg, apk) - Scanne les conteneurs LXC et images Docker - Croise les references avec l'API NVD 2. **Analyseur** (`analyzer.sh`): - Scoring de severite base sur CVSS - Evaluation d'impact LocalAI (optionnel) - Analyse des vecteurs d'attaque 3. **Recommandeur** (`recommender.sh`): - Recommandations de correctifs - Strategies d'attenuation - Conseils de surveillance 4. **Applicateur** (`applier.sh`): - Workflow d'approbation base sur une file - Option d'application automatique (configurable) - Capacite de rollback ### Configuration ```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' ``` ## Points d'Integration ### mitmproxy → CrowdSec 1. mitmproxy ecrit les logs de menaces JSON dans `/data/threats.log` 2. Le parseur CrowdSec `secubox-mitmproxy` extrait les champs 3. 8 scenarios evaluent la severite et decident la duree de ban 4. Le bouncer pare-feu applique les blocages IP ### mitmproxy → Triage CVE 1. Le champ CVE de la detection passe a l'agent de triage 2. Le triage correle avec l'API NVD 3. Genere les recommandations de remediation 4. Met a jour la sensibilite auto-ban si necessaire ### Boucle de Retroaction Auto-Ban 1. Les tentatives CVE haute severite declenchent des bans immediats 2. Les tentatives repetees depuis la meme IP escaladent la duree de ban 3. La protection liste blanche/endpoint WireGuard previent les faux positifs 4. Integration de la liste de blocage communautaire CrowdSec ## Emplacements des Fichiers | Composant | Chemin | Objectif | |-----------|--------|----------| | Config WAF | `/etc/config/mitmproxy` | Parametres auto-ban | | Regles WAF | `/srv/mitmproxy/waf-rules.json` | Definitions de motifs | | Analytique | `/srv/mitmproxy/addons/secubox_analytics.py` | Moteur de detection | | Log Menaces | `/data/threats.log` | Entree CrowdSec | | Log Acces | `/var/log/secubox-access.log` | Toutes les requetes | | Log Auto-ban | `/data/autoban-requests.log` | Decisions de ban | | Scenarios | `/etc/crowdsec/scenarios/` | Regles CrowdSec | | Triage CVE | `/usr/lib/cve-triage/` | Bibliotheque agent | ## Metriques & Surveillance ### Metriques de Sous-domaines Export JSON temps reel: `/tmp/secubox-subdomain-metrics.json` - Comptes de requetes par domaine - Distribution des types de menaces - Top 20 URIs par sous-domaine - Statistiques basees sur les pays ### Limitation de Debit ```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}, } ``` ## Commandes ### Voir les menaces actives ```bash # Menaces recentes tail -f /data/threats.log | jq # Log auto-ban cat /data/autoban-requests.log # Decisions CrowdSec cscli decisions list ``` ### Ban/deban manuel ```bash # Bannir une IP pour 4 heures cscli decisions add --ip 1.2.3.4 --duration 4h --reason "Ban manuel" # Supprimer le ban cscli decisions delete --ip 1.2.3.4 ``` ### Verifier l'etat ```bash # Etat du WAF mitmproxy mitmproxyctl status # Etat CrowdSec cscli metrics # Etat Triage CVE cve-triage status ``` ## Voir Aussi - [Configuration UCI mitmproxy](../package/secubox/secubox-app-mitmproxy/README.md) - [Scenarios Personnalises CrowdSec](../package/secubox/secubox-app-crowdsec-custom/README.md) - [Agent de Triage CVE](../package/secubox/secubox-cve-triage/README.md)