Architecture Zero Trust
Chatbotaurus implemente une architecture Zero Trust conforme au NIST SP 800-207 : chaque requete inter-service est authentifiee et autorisee, independamment de sa provenance reseau.
Les 7 piliers NIST
Pilier 1 : Identite
Chaque service possede une identite cryptographique verifiable via une triple verification :
| Couche | Implementation | Service |
|---|---|---|
| Transport | Certificat mTLS X.509, rotation 30 jours | MTLSService |
| Identite | JWT interne, TTL 60s, audience "internal" | InternalJWTService |
| Integrite | HMAC SHA-256, fenetre 60s | HMACAuthService |
Pilier 2 : Appareil (Conteneur)
En contexte conteneurise, "device" = conteneur Podman :
| Controle | Implementation |
|---|---|
| Fingerprint | SHA-256 du certId + containerId |
| Attestation image | Trivy scan + SBOM avant deploiement |
| Seccomp | Profils dans containers/seccomp/ |
| Capabilities | --cap-drop ALL + whitelist minimale |
Pilier 3 : Reseau
Micro-segmentation en 3 zones de confiance :
| Zone | Sous-reseau | Acces |
|---|---|---|
| DB | 172.29.1.0/24 | Interne uniquement (--internal) |
| App | 172.29.2.0/24 | DB + Internet |
| MCP | 172.29.3.0/24 | App uniquement |
Les regles nftables bloquent tout trafic inter-zone non autorise.
Pilier 4 : Application
Chaque requete est validee a 4 niveaux :
- Verification mTLS (certificat valide, non revoque)
- Verification JWT (signature, expiration, audience, issuer)
- Verification HMAC (integrite payload, timestamp, nonce)
- Verification scopes (principe du moindre privilege)
Pilier 5 : Donnees
| Donnee | Protection | Service |
|---|---|---|
| Credentials | AES-256-GCM E2E | E2ECryptoService |
| Chat | Chiffrement par conversation | ChatCryptoService |
| Vecteurs | Isolation tenant + chiffrement | TenantVectorIsolation |
| Backups | Chiffrement + rotation cles | EncryptedBackupService |
| Cache | Chiffrement Valkey | EncryptedCacheService |
Classification des donnees en 4 niveaux : PUBLIC, INTERNAL, CONFIDENTIAL, RESTRICTED.
Pilier 6 : Visibilite
| Metrique | Source |
|---|---|
| Requetes inter-services | ZeroTrustVerifier (allow/deny) |
| Certificats mTLS | MTLSService (expiration, renouvellement) |
| Tentatives non autorisees | HMACAuthService (invalid_signature) |
| Anomalies LLM | LLMSecurityGuard (injection, exfiltration) |
Pilier 7 : Automatisation
- Rotation automatique des certificats mTLS (30 jours)
- Revocation automatique des tokens compromis
- Alertes VictoriaMetrics sur anomalies
- Remediation automatisee via scripts PowerShell
Fichiers de reference
| Fichier | Contenu |
|---|---|
docs/ZERO_TRUST_ARCHITECTURE.md | Architecture complete |
docs/NETWORK_SEGMENTATION.md | Segmentation reseau |
docs/NETWORK_MATRIX.md | Matrice de flux |
containers/seccomp/ | Profils Seccomp |
containers/apparmor/ | Profils AppArmor |