Architektur
4-Stufen-Sicherheitsisolation mit NATS JetStream Messaging.
Datenfluss-Diagramm
Vollständiger Request/Response-Zyklus durch alle 4 isolierten Sicherheitsstufen
Frontend
Validator
Validator
Backend
Validator
Validator
Warum 4 separate NATS-Instanzen?
Sicherheitsisolation
Jede NATS-Instanz ist vollständig isoliert. Wenn ein Angreifer eine Komponente kompromittiert, kann er nicht auf Nachrichten aus anderen Stufen zugreifen. Dirty (unvalidierte) und Clean (validierte) Daten werden niemals gemischt.
Defense in Depth
Selbst wenn der Request Validator umgangen wird, bietet der Response Validator eine weitere Schutzschicht. Jede Stufe arbeitet unabhängig mit ihrer eigenen Sicherheitsgrenze.
Audit-Trail
Alle Nachrichten werden in einem separaten Audit-System protokolliert. Dies bietet einen vollständigen, unveränderlichen Datensatz aller OIDC-, SAML- und Admin-API-Operationen für Compliance und Forensik.
Performance
NATS JetStream bietet hohen Durchsatz und geringe Latenz. Die 4-Stufen-Architektur fügt minimalen Overhead hinzu und bietet gleichzeitig maximale Sicherheit.
Vereinfachungen
Alternative Deployment-Optionen für reduzierte Kosten bei geringeren Sicherheitsanforderungen
Container-basiertes Deployment
Alle Komponenten (KC Frontend, Request Validator, Response Validator, KC Backend, 4 NATS-Instanzen) als isolierte Container in einem Podman/Docker-Pod mit internem Netzwerk deployen.
- Deutlich reduzierte Hardwarekosten (ein Host statt acht)
- Einfaches Deployment mit docker-compose/podman-compose
- Internes Pod-Netzwerk für schnelle Kommunikation
- Setzt auf Container-Isolation statt Hardware-Trennung
- Container-Escape-Schwachstellen könnten alle Komponenten kompromittieren
- Gemeinsame Kernel-Ressourcen
Einzelvalidierung
Anstatt separate Request Validator und Response Validator Prozesse auszuführen, führt nur der Backend-Prozess die Validierung durch. NATS-1 verbindet direkt zum Backend, NATS-3 direkt zum Frontend.
- Reduzierte Hardwarekosten (2 weniger Prozesse, 2 weniger NATS-Instanzen)
- Schnellere Verarbeitung (weniger Hops)
- Einfachere Deployment-Architektur
- Validierung im Backend-Prozesskontext (weniger isoliert)
- Kompromittiertes Backend könnte Validierung umgehen
- Keine unabhängige Sicherheitsschicht
- Reduzierte Netzwerkisolation
Einzelne NATS-Instanz
Anstatt 4 separater NATS-Instanzen laufen alle Message-Queues über eine einzelne NATS-Instanz mit unterschiedlichen Subjects (dirty-req, clean-req, dirty-resp, clean-resp).
- Geringere Hardware-/Cloud-Kosten
- Einfachere Wartung und Monitoring
- Weniger Netzwerkkonfiguration
- Reduzierte Sicherheitsisolation
- Ein NATS-Bug könnte Validierungsumgehung ermöglichen
- Kompromittierte Komponente hat Zugriff auf alle Queues
Mehr erfahren
Entdecken Sie Signando Keycloak Funktionen und Preise.