Security Best Practices

Identität ist der kritischste Teil deiner Anwendung. Erfahre, wie Tuurio ID deine Daten schützt und wie du eine bombensichere Integration baust.

1. Nutze immer PKCE

Der "Authorization Code Flow" sollte immer mit PKCE (Proof Key for Code Exchange) genutzt werden. Das verhindert Code-Injection Angriffe. Tuurio erzwingt PKCE für alle Public Clients (Mobile, SPA).

code_challenge = S256(code_verifier)
Alle modernen Libraries (siehe Developer Guide) aktivieren PKCE automatisch.

2. Token Storage (Frontend)

Wo speicherst du Access Tokens? LocalStorage ist bequem, aber anfällig für XSS.

✅ BFF Pattern Backend-for-Frontend. Sicherste Wahl. Backend hält Tokens, Browser nutzt HttpOnly Cookies.
⚠️ Session Storage Besser als LocalStorage, da Daten beim Schließen des Tabs gelöscht werden.
❌ LocalStorage Dauerhaft lesbar für jedes Script auf deiner Seite. Nur für unkritische Daten. Wenn du LocalStorage nutzt, akzeptierst du XSS als vollständigen Account-Bypass.

3. Redirect URIs

Sei so strikt wie möglich. Erlaube in den Client-Einstellungen niemals Wildcards oder unsichere URLs.

  • https://myapp.com/callback
  • http://localhost:3000/callback (Nur Dev!)
  • https://myapp.com/* (Zu unsicher!)

4. Refresh Tokens & Sessions

„Access Tokens sind Wegwerfartikel. Sessions nicht.“

Tuurio ID implementiert strikte Sicherheitsmechanismen für langlebige Sessions:

  • Rotation: Bei jeder Nutzung eines Refresh Tokens erhältst du ein neues Paar. Das alte wird sofort ungültig.
  • Token Lifetimes: Standardmäßig sind Access Tokens 1 Stunde gültig, um das Fenster für Missbrauch klein zu halten.
  • Versionierung: Bei einem Passwortwechsel oder globalen Logout werden alle bestehenden Tokens über eine interne Versionierung sofort entwertet.

5. Scopes vs. Permissions vs. Roles

Vermische niemals technische Autorisierung mit fachlichen Berechtigungen.

Scopes
API-Zugriff
(z.B. openid, vault:read)
Roles
Nutzer-Typ
(Admin, Trainer, Mitglied)
Permissions
Business-Rechte
(MEMBER_EDIT, BILLING_VIEW)

Tuurio ID empfiehlt: Nutze Rollen als Container für Permissions. In deiner App prüfst du immer auf die Permission, nie auf die Rolle.

6. Logout richtig machen

„Wenn dein User glaubt, er ist ausgeloggt, sollte er es auch sein.“

Ein lokaler Logout in deiner App beendet nicht die SSO-Session bei Tuurio ID. Nutze den OIDC RP-Initiated Logout:

  1. Deine App löscht lokale Tokens/Cookies.
  2. Redirect zum Tuurio Endpunkt /connect/logout.
  3. Tuurio beendet die SSO-Session und leitet zurück zu deiner post_logout_redirect_uri.

7. Multi-Tenant Isolation

Tuurio ID nutzt eine „Wall of Silence“ Architektur für Mandanten:

  • Eigener Issuer: Jeder Tenant agiert als logisch getrennter Auth-Server.
  • Eigene Keys: Wir generieren pro Mandant einen eigenen RSA/EC-Keysatz zur Signierung der Tokens.
  • Blast Radius: Sollte ein Key kompromittiert werden, sind andere Mandanten davon absolut nicht betroffen.

8. Logging & Incident Response

Im Falle eines Sicherheitsvorfalls ist Zeit der entscheidende Faktor. Tuurio ID liefert dir forensische Daten in Echtzeit, um Anomalien zu identifizieren und den "Blast Radius" einzuschränken.

Forensische Audit-Logs

Jedes sicherheitsrelevante Ereignis – vom erfolgreichen Login bis zum Export sensibler Notfalldaten – wird mit einem detaillierten Metadaten-Fingerabdruck gespeichert:

IP-Tracking

Wir protokollieren die Quell-IP jedes Requests. Dies ermöglicht es dir, "Impossible Travel" (Logins aus geografisch weit entfernten Orten in kurzer Zeit) oder Zugriffe aus bekannten Bot-Netzwerken sofort zu erkennen.

User-Agent Analyse

Die Identifikation des Browsers und Betriebssystems hilft dabei, Session-Hijacking zu entlarven. Ändert sich der User-Agent innerhalb einer aktiven Session, ist dies ein sofortiger Indikator für einen Angriff.

Was tun bei einer Kompromittierung?

Wenn du vermutest, dass ein Nutzerkonto oder ein Token kompromittiert wurde, bietet Tuurio ID drei sofortige Schutzmaßnahmen:

1. Token Revocation: Über das Admin-Dashboard können spezifische Refresh-Tokens entwertet werden, was den Zugriff des Angreifers sofort beendet.
2. Password Reset Flow: Das Zurücksetzen eines Passworts führt bei Tuurio ID automatisch zur Entwertung aller aktiven Sessions und Tokens über die Token-Versionierung.
3. Vault-Audit-Check: Prüfe gezielt das Event VAULT_EMERGENCY_EXPORT_GENERATED, um zu sehen, ob der Angreifer versucht hat, sensible Notfalldaten massenhaft abzugreifen.
Security Incident?

Hast du eine Schwachstelle gefunden oder wurde ein Token kompromittiert?

Security Incident melden
Incident Response Checklist
  • Token im Admin-Dashboard revoken.
  • Passwort des Nutzers zurücksetzen (entwertet alle Sessions).
  • Audit-Logs nach verdächtigen IP-Adressen filtern.