Signando Keycloak

Das Application Layer Gateway, das Keycloak durch OIDC-Grant-Type-Enforcement, SAML-XXE-Prävention, Admin-API-Schutz und Token-Response-Validierung absichert.

Was ist Signando Keycloak?

Signando Keycloak ist ein Application Layer Gateway (ALG), das zwischen Ihren Clients und Ihrem Keycloak Identity Provider sitzt. Es validiert jeden OIDC-, SAML- und Admin-API-Request durch eine 16-stufige Sicherheits-Pipeline, bevor er an Keycloak weitergeleitet wird.

Signando Keycloak validiert auch jede Antwort von Keycloak durch eine 9-stufige Response-Pipeline. Diese bidirektionale Validierung stellt sicher:

  • Unsichere OAuth2-Flows (ROPC, Implicit) werden blockiert, bevor sie Keycloak erreichen
  • Admin-API-Missbrauch (Realm-Export, Massen-User-Operationen) wird verhindert
  • Token-Responses werden auf Algorithmus-Sicherheit und Claim-Leakage geprüft
  • SAML-XXE- und Signature-Wrapping-Angriffe werden gestoppt

Technische Spezifikationen

Sprache100% Rust
Latenz< 10ms (p99)
Sicherheitstests102 Tests
Request-Pipeline16 Validierungsschritte
Response-Pipeline9 Validierungsschritte
DeploymentDocker / Kubernetes / Bare Metal

Der Paranoid-Ansatz

🛡️

Protokoll-bewusstes Enforcement

Anders als generische WAFs versteht Signando Keycloak die OAuth2-, OIDC- und SAML-Protokolle. Es erzwingt PKCE, blockiert unsichere Grant-Types und validiert Redirect-URIs gegen clientspezifische Whitelists.

🔒

4-Stufen-Isolation

Vier separate Prozesse kommunizieren ausschließlich über NATS- oder Valkey-Broker. Selbst wenn eine Stufe kompromittiert wird, kann sie nicht auf andere Stufen oder das Keycloak-Backend zugreifen.

↔️

Bidirektionale Validierung

Sowohl Requests als auch Responses werden validiert. Token-Responses werden auf Algorithmus-Sicherheit, Claim-Leakage und Lifetime-Verletzungen geprüft.

Die 4 Prozesse im Detail

Jeder Prozess ist isoliert und kommuniziert ausschließlich über definierte Kanäle.

1. Keycloak Frontend

Nimmt OIDC-, SAML- und Admin-API-Requests entgegen. Extrahiert Realm, client_id und klassifiziert den OAuth2-Flow.

Eingang

  • HTTP/HTTPS-Requests auf Port 8443
  • OIDC, SAML, Admin-API, Account-Konsole
  • Realm- und client_id-Extraktion aus URL/Body

Ausgang

  • Schreibt Request-Daten in Kanal 1 (Request Dirty)
  • Liest validierte Responses aus Kanal 4 (Response Clean)
  • Sendet HTTP-Response an den Client

2. Request Validator

16-stufige Validierungspipeline: OIDC-Grant-Types, Scopes, PKCE, SAML-XXE, Admin-API-Schutz und mehr.

Eingang

  • Liest Request-Daten aus Kanal 1 (Request Dirty)
  • Lädt TOML-Policy-Konfiguration

Ausgang

  • Schreibt validierte Requests in Kanal 2 (Request Clean)
  • Oder: Blocked-Request-Signal (OAuth2 JSON-Fehler)

3. Keycloak Backend

Leitet validierte Requests an den Keycloak-Server weiter und sammelt dessen Antworten.

Eingang

  • Liest validierte Requests aus Kanal 2 (Request Clean)

Ausgang

  • Ruft Keycloak auf Port 8080 (konfigurierbar)
  • Schreibt Response in Kanal 3 (Response Dirty)

4. Response Validator

9-stufige Response-Validierung: JWT-Algorithmus-Enforcement, Token-Lifetime, Claim-Leakage-Erkennung, Sicherheits-Header.

Eingang

  • Liest Responses aus Kanal 3 (Response Dirty)

Ausgang

  • Schreibt validierte Responses in Kanal 4 (Response Clean)
  • Bei Fehler: Generiert sichere OAuth2-Fehlerantwort

Datenfluss-Übersicht

┌──────────────────────────────────────────────────────────────────────────────┐
│                                                                              │
│   Client ──▶ KC Frontend ──▶ Ka. 1 ──▶ Request    ──▶ Ka. 2 ──▶ KC Backend │
│     │         (8443)        (Dirty)    Validator      (Clean)      │        │
│     │                                                              │        │
│     │                                                              ▼        │
│     │                                                        Keycloak       │
│     │                                                         (8080)        │
│     │                                                              │        │
│     │        ┌─────────────────────────────────────────────────────┘        │
│     │        │                                                              │
│     │        ▼                                                              │
│     │      Ka. 3 ──▶ Response   ──▶ Ka. 4                                   │
│     │      (Dirty)   Validator      (Clean)                                 │
│     │                                  │                                    │
│     │                                  ▼                                    │
│     ◀──────────────────────────── KC Frontend                               │
│                                                                              │
│   ════════════════════════════════════════════════════════════════════════   │
│   Kanäle: DirectMessageTransport (Mini) oder NATS/Valkey (Small/Full)       │
└──────────────────────────────────────────────────────────────────────────────┘

Bereit, Ihr Keycloak abzusichern?

Kontaktieren Sie uns für eine Demo und persönliche Beratung.