secubox-deb/docs/architecture/modules-architecture.md
CyberMind-FR d9d2eb4edf docs: Add modules architecture documentation
- modules-architecture.md: 6-domain module organization
- secubox_modules_architecture.svg: Visual diagram
2026-04-10 10:47:35 +02:00

7.3 KiB

Architecture des modules — SecuBox-Deb

Document : modules-architecture.md Version : 1.5.0 Statut : Référence technique — ANSSI/CSPN Auteur : CyberMind — Gérald Kerma (GK²) Dernière mise à jour : Avril 2026


Vue d'ensemble

SecuBox-Deb s'organise en 6 domaines fonctionnels représentés par les couleurs de la charte graphique. Chaque domaine regroupe des modules cohérents selon leur responsabilité dans l'architecture de sécurité.

Diagramme de l'architecture des modules SecuBox-Deb

Le diagramme suit la charte graphique SecuBox (palette 6 modules, typos Space Grotesk + JetBrains Mono).


Les 6 Domaines

BOOT — Hardware & Initialisation

Couleur : #803018 (brun-rouge)

Domaine fondamental responsable de l'amorçage matériel et de l'initialisation du système.

Module Rôle Statut
secubox-plymouth Splash screen animé au boot
secubox-firstboot Configuration initiale (SSH, hostname)
secubox-hw-detect Détection et configuration matérielle

WALL — Défense périmétrique

Couleur : #9A6010 (ambre)

Domaine de protection frontale : WAF, firewall, filtrage DNS.

Module Rôle Statut
secubox-crowdsec IDS/IPS collaboratif
secubox-haproxy Load balancer / WAF TLS 1.3
secubox-vhost Gestion des virtual hosts
secubox-dns Unbound DNS filtrant
secubox-nac Network Access Control

MIND — Intelligence & Analyse

Couleur : #3D35A0 (indigo)

Domaine d'analyse en profondeur : DPI, métriques, inspection du trafic.

Module Rôle Statut
secubox-dpi Deep Packet Inspection (nDPId + netifyd)
secubox-netdata Monitoring temps réel
secubox-reporter Rapports et alertes
secubox-mediaflow Analyse des flux média

ROOT — Système & Runtime

Couleur : #0A5840 (vert sombre)

Domaine système : API runtime, gestion des services, configuration centralisée.

Module Rôle Statut
secubox-core Bibliothèque Python partagée
secubox-hub Dashboard central
secubox-system Gestion système (services, logs)
secubox-api FastAPI REST backend
secubox-ui-manager Gestionnaire UI unifié

MESH — Réseau & Transport

Couleur : #104A88 (bleu cobalt)

Domaine réseau : VPN, P2P mesh, routage, QoS.

Module Rôle Statut
secubox-wireguard VPN WireGuard
secubox-netmodes Modes réseau (bridge, router, AP)
secubox-routes Gestion du routage
secubox-qos Quality of Service (tc HTB)
secubox-cdn Cache CDN local

AUTH — Authentification & Identité

Couleur : #C04E24 (vermillon)

Domaine d'identité : authentification ZKP, gestion des accès, TURN/STUN.

Module Rôle Statut
secubox-auth Authentification centralisée
secubox-zkp Preuves zero-knowledge (GK·HAM-HASH) 🔄
secubox-turn Serveur TURN/STUN (coturn)
secubox-vault Gestion des secrets

Paires asymétriques

Les domaines fonctionnent en paires complémentaires :

Paire Relation Flux
BOOT ↔ ROOT Initialisation → Runtime Le boot prépare, le runtime exécute
WALL ↔ MIND Défense → Analyse Le mur bloque, l'esprit comprend
MESH ↔ AUTH Transport → Identité Le réseau connecte, l'auth valide

Architecture en couches

┌─────────────────────────────────────────────────────────────┐
│                        WALL (Périmètre)                      │
│  CrowdSec · HAProxy · DNS · NAC                             │
├─────────────────────────────────────────────────────────────┤
│                        MIND (Analyse)                        │
│  nDPId · Netdata · Reporter · MediaFlow                     │
├───────────────────────┬─────────────────────────────────────┤
│      MESH (Réseau)    │         AUTH (Identité)             │
│  WireGuard · Routes   │  ZKP · TURN · Vault                 │
│  QoS · NetModes · CDN │  OAuth2 · JWT                       │
├───────────────────────┴─────────────────────────────────────┤
│                        ROOT (Système)                        │
│  Core · Hub · System · API · UI-Manager                     │
├─────────────────────────────────────────────────────────────┤
│                        BOOT (Base)                           │
│  Plymouth · FirstBoot · HW-Detect                           │
└─────────────────────────────────────────────────────────────┘

Dépendances inter-modules

Dépendances critiques

graph TB
    subgraph BOOT
        plymouth[secubox-plymouth]
        firstboot[secubox-firstboot]
    end

    subgraph ROOT
        core[secubox-core]
        hub[secubox-hub]
        api[secubox-api]
    end

    subgraph WALL
        crowdsec[secubox-crowdsec]
        haproxy[secubox-haproxy]
    end

    subgraph MESH
        wireguard[secubox-wireguard]
        routes[secubox-routes]
    end

    firstboot --> core
    core --> hub
    core --> api
    hub --> crowdsec
    hub --> wireguard
    haproxy --> api
    routes --> wireguard

Ordre de démarrage

  1. BOOT : Plymouth → FirstBoot → HW-Detect
  2. ROOT : Core → API → Hub → System
  3. MESH : WireGuard → Routes → NetModes
  4. WALL : DNS → NAC → HAProxy → CrowdSec
  5. MIND : Netdata → nDPId → Reporter
  6. AUTH : Vault → ZKP → TURN

Points de contrôle CSPN

Domaine Contrôle Critère
WALL Isolation réseau DROP par défaut, whitelist explicite
MIND Journalisation Logs immuables, horodatés RFC 3339
ROOT Séparation privilèges Users dédiés par service
AUTH Secrets Pas de secret en clair, TPM2 seal
MESH Chiffrement TLS 1.3, WireGuard obligatoire
BOOT Intégrité Secure Boot, signature noyau

Références

  • graphic-charter.md — Charte graphique et codes couleurs
  • boot-architecture.md — Chaîne de boot complète
  • parameters-4r.md — Convention double-buffer PARAMETERS 4R
  • CLAUDE.md — Guide de développement

CyberMind © 2026 — Document confidentiel, diffusion restreinte aux contributeurs SecuBox-Deb.