senn-techsenn-tech
Security
Security2025-03-04· von Mag. (FH) Franz Senn

Single Sign-On & IAM: Keycloak sichert interne Dienste

Jeder interne Dienst hat sein eigenes Login — das nervt nicht nur, es ist ein Sicherheitsproblem. Passwörter werden wiederverwendet, Accounts vergessen, Rechte bleiben nach Ausscheiden bestehen. Keycloak räumt das auf.

Was Keycloak ist

Ein Identity- und Access-Management-Server unter Apache-2.0-Lizenz. Er spricht OIDC, SAML und kann externe Identitätsquellen einbinden (LDAP, Active Directory, Social Logins).

Die logische Einheit ist der Realm — eine abgeschlossene Identitätsdomäne. Kunden bekommen einen Realm, interne Dienste einen anderen. Das trennt sauber, ohne mehrere Installationen.

Zentrale Absicherung interner Dienste

Wir betreiben Keycloak hinter demselben Reverse Proxy wie die Dienste, die es schützt. Der Ablauf:

  1. Dienst X leitet unauthentifizierte Requests an Keycloak weiter
  2. Login mit Benutzername/Passwort oder zusätzlichem MFA-Faktor
  3. Keycloak stellt Access- und Refresh-Token aus
  4. Dienst X validiert den Token, Nutzer ist drin

Kein Dienst muss sich selbst um Credentials kümmern. Das vereinfacht die Sicherheitsarchitektur erheblich.

Auch für Dienste ohne OIDC: Forward-Auth

Nicht jede Anwendung spricht OIDC oder SAML. Für diese Fälle setzt man einen Forward-Auth-Proxy davor (etwa oauth2-proxy oder die forward_auth-Direktive in Caddy): Der Proxy erzwingt den Keycloak-Login, bevor der Request die Anwendung überhaupt erreicht. So lässt sich selbst eine alte Admin-Oberfläche ohne eigenes Loginsystem zentral absichern.

MFA und Passkeys

Keycloak bringt mehrere zweite Faktoren mit — TOTP (Authenticator-App), aber auch WebAuthn/Passkeys. Gerade für administrative Realms ist phishing-resistente Passkey-Anmeldung der Schritt, der Brute-Force und Credential-Phishing weitgehend aushebelt.

Identity Brokering

Keycloak kann selbst zu einem externen IDP delegieren — etwa ein Kunden-Azure-AD oder Google Workspace. Der Nutzer loggt sich bei seinem gewohnten Anbieter ein, Keycloak übersetzt die Identität in den eigenen Realm. Föderiertes Identity-Management ohne wildes SAML-Gestricke.

Was Keycloak nicht ist

Kein Verzeichnisdienst. Keycloak ersetzt kein AD oder LDAP — es nutzt sie als Quellen. Und: die Oberfläche ist funktional, aber nichts für Endbenutzer ohne Schulung.

Fazit

Für jeden, der mehr als drei interne Webanwendungen betreibt, ist ein zentraler SSO-Dienst keine Option mehr, sondern Notwendigkeit. Keycloak liefert ihn mit allem, was dazugehört — bis hin zu Git-Diensten wie Gitea, die sich direkt anbinden lassen.

FAQ
Ab wie vielen internen Webanwendungen lohnt sich ein zentraler SSO-Dienst?+

Wer mehr als drei interne Webanwendungen betreibt, für den ist ein zentraler Single Sign-On keine Option mehr, sondern Notwendigkeit. Getrennte Logins führen zu wiederverwendeten Passwörtern, vergessenen Accounts und bestehen bleibenden Rechten nach Ausscheiden. Keycloak beseitigt das als lizenzkostenfreier Identity- und Access-Management-Server unter Apache-2.0-Lizenz und spricht OIDC und SAML.

Wie sichern wir auch Anwendungen ab, die kein OIDC oder SAML sprechen?+

Für Anwendungen ohne eigenes OIDC- oder SAML-Login setzt man einen Forward-Auth-Proxy davor – etwa oauth2-proxy oder die forward_auth-Direktive in Caddy. Der Proxy erzwingt den Keycloak-Login, bevor der Request die Anwendung überhaupt erreicht. So lässt sich selbst eine alte Admin-Oberfläche ohne eigenes Loginsystem zentral absichern, ohne die Anwendung selbst anpassen zu müssen.

Ersetzt Keycloak unser Active Directory oder LDAP?+

Nein. Keycloak ist kein Verzeichnisdienst und ersetzt weder AD noch LDAP, sondern nutzt sie als Identitätsquellen. Es kann LDAP, Active Directory und Social Logins einbinden und via Identity Brokering auch an einen externen IDP wie ein Azure-AD delegieren. Die Oberfläche ist funktional, aber nichts für Endbenutzer ohne Schulung – Keycloak bleibt ein Werkzeug für die IT.