Stell dir vor, du müsstest dich nur noch einmal anmelden, um Zugriff auf all deine Dienste zu erhalten – vom Wiki bis zur Cloud. Und das komplett selbst gehostet. Willkommen bei Authentik, dem modernen Open-Source-Tool für Single Sign-On (SSO) und Identity Management!

Für eine detaillierte Anleitung und Erklärung aller Konfigurationsmöglichkeiten empfehle ich das unten verlinkte YouTube-Video. In diesem Video wird ausführlich auf jede einzelne Einstellung eingegangen, sodass du eine umfassende Anleitung zur genauen Einrichtung erhältst. Eventuellen Code aus dem Video findest du in diesem Beitrag, so dass du ihn direkt nutzen kannst ohne abtippen zu müssen.

Dieser Blogbeitrag inklusive Video ist Teil einer Serie in der wir unseren eigenen Homeserver erstellen und einrichten. Wir fangen bei den Basics wie ein Ubuntu VM Installation mit Docker an und machen dann weiter mit der Konfiguration einer eigenen Domain, Sicherheitsvorkehrungen und vor allem jede Menge coole und nützliche selbstgehostete Dienste. Egal ob Medienserver wie Plex oder Jellyfin oder Dokumentenmanagement wie Paperless-NGX. Wir bauen gemeinsam das Setup auf, das ihr sehen möchtet. Selbst Themen wie Single-Sign-On (SSO) gehen wir zusammen an.

Was ist Single Sign-On (SSO) und Identity Management?

Bevor wir in die Welt von Authentik eintauchen, ist es wichtig zu verstehen, was Single Sign-On (SSO) und Identity Management überhaupt sind.

Single Sign-On (SSO)

SSO erlaubt es dir, dich einmalig anzumelden und dann auf mehrere verbundene Dienste zuzugreifen, ohne dich erneut authentifizieren zu müssen. Egal ob Nextcloud, Gitea oder Grafana: Ein Login – alles offen.

Vorteile von SSO:

  • Benutzerfreundlich: Weniger Logins, weniger Frust.
  • Sicherheit: Weniger Passwörter heißt weniger Angriffsfläche.
  • Verwaltung: Zentralisierte Kontrolle über den Zugriff.

Identity Management

Beim Identity Management geht es um die Verwaltung von Benutzeridentitäten, ihren Berechtigungen und den Zugriff auf Systeme. Moderne Systeme erlauben dir die Verwaltung von:

  • Externe Identitätsprovider (z. B. Google, Azure AD)
  • Benutzerkonten
  • Rollen & Gruppen
  • Authentifizierungsmethoden (Passwort, 2FA, Zertifikate)

Was ist Authentik?

Authentik ist ein modernes, quelloffenes Identity-Management- und Authentifizierungssystem, das sich auf Selfhosting spezialisiert. Es verbindet zentrale Authentifizierungsdienste mit ausgeklügelten Zugriffsrichtlinien, Benutzerverwaltung und Protokollkompatibilität. Authentik spricht Protokolle wie OAuth2, OpenID Connect, SAML 2.0 und LDAP – was es zur idealen SSO- und IAM-Lösung für nahezu jede Infrastruktur macht.

Es wurde in Python entwickelt, nutzt Django als Framework und bietet eine moderne, nutzerfreundliche Weboberfläche für Admins und Benutzer. Dabei richtet sich Authentik sowohl an Einsteiger im Selfhosting als auch an professionelle Administratoren mit komplexen Anforderungen.

Begriffe erklärt

  • TOTP (Time-based One-Time Password): Ein Einmalcode, der auf Zeitbasis generiert wird (z. B. Google Authenticator).
  • WebAuthn: Moderne, passwortlose Authentifizierung mittels Hardware-Token (z. B. YubiKey) oder biometrischer Geräte.
  • Reverse Proxy Outposts: Vorgefertigte Integrationen, die als Reverse Proxy agieren und Authentik vorschalten – etwa für Dienste, die keine nativen Authentifizierungsprotokolle unterstützen.
  • Externe IdPs (Identity Provider): Systeme wie Google, Microsoft oder GitHub, über die Benutzer sich alternativ bei Authentik anmelden können – hilfreich bei föderierten Identitäten oder Hybrid-Setups.

Zentrale Funktionen im Überblick

  • OpenID Connect & OAuth2 Provider: Für moderne Web-Apps und APIs
  • SAML 2.0: Kompatibilität mit Enterprise-Diensten
  • LDAP Proxy: Legacy-Unterstützung für ältere Dienste
  • MFA-Unterstützung: TOTP, WebAuthn, FIDO2, Backup-Codes
  • Reverse Proxy Outposts: Einbindung ohne Code-Integration
  • Granulare Zugriffsrichtlinien: Zeitabhängig, IP-basiert, rollenbasiert
  • Externe IdPs einbinden: Google, Azure, GitHub, SAML etc.
  • Benutzer-Flow-System: Registrierungs-, Login- und Genehmigungsprozesse individuell anpassbar
  • Audit Logging & Analytics: Transparenz für Admins
  • API & Webhook-Support: Automatisierung und DevOps-Freundlichkeit
Zuletzt aktualisiert am 12. August 2025 um 09:21 . Wir weisen darauf hin, dass sich hier angezeigte Preise inzwischen geändert haben können. Alle Angaben ohne Gewähr.

Aufbau und Architektur von Authentik

Authentik ermöglicht es dir, den gesamten Loginprozess detailliert zu steuern – und das auf visuelle Weise über eine klare Weboberfläche.

Komponenten von Authentik:

  • Core: Der zentrale Dienst, der Logik, Benutzermanagement, Authentifizierung und Richtlinien orchestriert.
  • Flows: Benutzerinteraktionen wie Login, Registrierung, Passwort-Reset oder Genehmigungsprozesse. Jeder Flow ist modular anpassbar.
  • Applications: Abstraktionen für die zu schützenden Dienste. Hier wird festgelegt, wie und über welches Protokoll sich ein Dienst authentifizieren soll.
  • Providers: Technische Schnittstellen für OAuth2, OpenID Connect, SAML oder LDAP – sie verbinden Authentik mit den Anwendungen.
  • Policies: Regelsysteme, mit denen du definieren kannst, wer Zugriff bekommt – abhängig von Zeit, IP-Adresse, Benutzerattributen oder Gruppenzugehörigkeit.
  • Outposts: Authentiks eigene Reverse-Proxy-Komponenten auf Basis von Nginx oder Traefik, die sich direkt vor Dienste schalten lassen und die Authentifizierung über Authentik abwickeln.

Wie funktioniert Authentik in der Praxis?

  1. Du meldest dich über Authentik an.
  2. Authentik überprüft Identität, MFA, Richtlinien.
  3. Nach erfolgreicher Authentifizierung wirst du zu deinem Dienst weitergeleitet.
  4. Authentik gibt ein Token oder SAML-Assertion an die App weiter.

Security Features im Detail

Multi-Faktor-Authentifizierung (MFA)

Authentik bietet MFA mit:

  • TOTP (Time-based One-Time Password): Ein zeitbasierter Code, z. B. über Google Authenticator.
  • WebAuthn/FIDO2: Hardware-Authentifizierung per YubiKey, Fingerabdrucksensor oder biometrischen Methoden.
  • Backup-Codes: Einmal-Codes zur Notfall-Anmeldung.

Policy Engine

Die Policies sind das Herzstück von Authentiks Sicherheitsmodell. Du kannst:

  • Fein granular Zugriffsrechte definieren.
  • Zugriff abhängig machen von Zeit, IP, Geostandort oder Benutzerrolle.
  • Dynamisch entscheiden lassen, ob ein Flow fortgeführt oder abgebrochen wird.

Protokollkompatibilität

Authentik unterstützt sichere Standards wie:

  • OAuth2 & OpenID Connect: Für moderne Webanwendungen und APIs.
  • SAML 2.0: Für Legacy-Anwendungen und Enterprise-Software.
  • LDAP Proxy: Zur Integration älterer Dienste.

Auditing und Transparenz

Jede Aktion, jeder Login, jede Policy-Entscheidung wird protokolliert. Du erhältst:

  • Nachvollziehbare Logs
  • Einblick in fehlgeschlagene Loginversuche
  • Diagnosehilfen bei Integrationsproblemen

Sichere Speicherung

  • Passwörter werden mit sicheren Algorithmen wie PBKDF2 + SHA256 gespeichert.
  • Secrets und Tokens sind verschlüsselt im Backend abgelegt.

Integrationen & Kompatibilität

Das Beste an Authentik: Du kannst nahezu jede Anwendung einbinden, die eines der gängigen Authentifizierungsprotokolle unterstützt – und das sind heutzutage fast alle webbasierten Tools.

Dank der Unterstützung von OAuth2, OpenID Connect, SAML 2.0 und LDAP ist Authentik kompatibel mit:

  • klassischen Webdiensten wie Nextcloud, GitLab, Gitea, Grafana, Mattermost
  • Unternehmenssoftware wie Jira, Confluence, Rocket.Chat, Zammad
  • Dashboard- und Admin-Tools wie Portainer, Kubernetes Dashboards
  • internen Eigenentwicklungen, APIs oder Admin-Interfaces

Egal ob moderne API-Authentifizierung via OAuth2 oder Legacy-Login via SAML oder LDAP – Authentik passt sich an.

Ein Admin kann also eine durchgehende Single-Sign-On-Lösung bauen, bei der Benutzer nur einmal ihr Passwort eingeben und danach über alle Systeme hinweg autorisiert sind – ohne Passwortchaos oder Doppellogin.

Du kannst sogar externe Identitätsprovider wie Google oder Azure AD integrieren – perfekt, wenn du hybrides Identity Management mit Selfhosting kombinieren willst.

Praxisbeispiele für Authentik im Einsatz

Beispiel 1: Homelab mit mehreren Diensten

Du betreibst ein Homelab mit Nextcloud, Gitea, Grafana und Portainer? Statt überall ein separates Passwort zu verwalten, richtest du Authentik als zentralen Identity Provider ein. Alle Dienste werden via OAuth2 oder SAML mit Authentik verbunden. Ergebnis: Ein Login – alle Dienste verfügbar. Und das auch für alle anderen Nutzer. Das gilt natürlich gerade für Dienste, die du frei im Internet verfügbar machst.

Beispiel 2: Kleine Agentur mit internem Wiki und Kundenzugang

In deiner Agentur nutzen interne Mitarbeiter ein Wiki (z. B. Wiki.js oder Outline) und Kunden greifen auf ein Support-Portal zu. Mit Authentik richtest du zwei verschiedene Benutzergruppen ein. Deine Policies erlauben Kunden nur Zugriff auf das Support-Portal, während Mitarbeiter Vollzugriff haben – gesteuert über Rollen und Gruppen.

Beispiel 3: Legacy-Software per LDAP

Ein altes ERP-System unterstützt nur LDAP zur Authentifizierung. Anstatt einen eigenen LDAP-Server zu pflegen, nutzt du Authentiks LDAP-Proxy. So bleiben alle Identitäten zentral verwaltet und synchron.

Beispiel 4: Externer Login via Google

Du willst es Benutzern einfach machen, sich mit bestehenden Google-Konten anzumelden? In Authentik konfigurierst du Google als externen IdP. Nutzer melden sich mit ihrem Google-Account an, erhalten jedoch Rollen und Rechte, die zentral über Authentik gesteuert werden. Du kennst diese Variante sicherlich von vielen Anbietern bei denen du dich mit Google, Microsoft, Apple oder sonst etwas anmelden kannst. Es ist dasselbe Prinzip und für Nutzer einfach sehr angenehm und einfach.

Vergleich: Authentik vs. Keycloak vs. Authelia vs. Entra ID

FeatureAuthentikKeycloakAutheliaEntra ID (Azure AD)
Self-hostedJaJaJaNein
Open SourceJaJaJaNein
OAuth2 / OpenID ConnectJaJaNeinJa
SAMLJaJaEingeschränktJa
LDAP-UnterstützungJa (Proxy)JaNeinEingeschränkt
MFA (TOTP, WebAuthn, etc.)JaJaJaJa
Benutzer-Management UIModern & intuitivFunktionalMinimalistischSehr modern
Rollen & Gruppen (RBAC)JaJaEingeschränktJa
Flow-basierte ProzesseJaTeilweiseNeinJa
Policy EngineStark & flexibelStarkMittelStark
DevOps/API IntegrationSehr gut (Webhooks, API)GutEingeschränktJa
SkalierbarkeitHochHochMittelSehr hoch
KomplexitätMittelHochNiedrigHoch
Hosting-OptionenDocker, K8s, Bare MetalDocker, K8s, Bare MetalDockerCloud only

Fazit: Authentik ist ein guter Kompromiss zwischen Funktionalität, Usability und Selfhosting-Freundlichkeit.

Vorteile von Authentik auf einen Blick

  • Open Source & kostenlos
  • Einfaches Selfhosting mit Docker
  • DSGVO-konform, da keine Cloud notwendig
  • Moderne UI & schnelle Weiterentwicklung
  • Flexibel erweiterbar
  • Integration mit fast allen modernen Webdiensten

Für wen eignet sich Authentik?

  • Homelab-Enthusiasten
  • Selbsthoster mit mehreren Webanwendungen
  • Kleine bis mittlere Unternehmen, die Datenschutz ernst nehmen
  • Entwickler, die sichere Login-Systeme bauen wollen

Installation von Authentik via Docker

Dazu erstellst du auf deinem Server ganz einfach eine YAML-Datei mit folgendem Inhalt (natürlich machst du Anpassungen für sensitive Daten wie Passwörter, oder Mail-Dienste):

services:
  authentik:
    image: beryju/authentik:2025.6.4
    container_name: authentik
    command: server
    restart: unless-stopped
    networks:
      - sascha
    ports:
      - 9002:9000
      - 9444:9443
    environment:
      TZ: Europe/Berlin
      AUTHENTIK_REDIS__HOST: redis
      AUTHENTIK_POSTGRESQL__HOST: authentik-db
      AUTHENTIK_POSTGRESQL__USER: authentik
      AUTHENTIK_POSTGRESQL__NAME: authentik
      AUTHENTIK_POSTGRESQL__PASSWORD: superSafePassword
      AUTHENTIK_ERROR_REPORTING__ENABLED: true
      AUTHENTIK_SECRET_KEY: superSecretKey
      AUTHENTIK_REDIS__PASSWORD:
      AUTHENTIK_REDIS__DB: 1
      AUTHENTIK_EMAIL__HOST: mail.host.net
      AUTHENTIK_EMAIL__PORT: 587
      AUTHENTIK_EMAIL__USERNAME: [email protected]
      AUTHENTIK_EMAIL__PASSWORD: mailPassword
      AUTHENTIK_EMAIL__USE_TLS: true
      AUTHENTIK_EMAIL__USE_SSL: false
      AUTHENTIK_EMAIL__TIMEOUT: 10
      AUTHENTIK_EMAIL__FROM: [email protected]
    volumes:
      - /mnt/cache/appdata/security/authentik/templates:/templates:rw
      - /mnt/cache/appdata/security/authentik/media:/media:rw

  authentik-worker:
    image: beryju/authentik:2025.6.4
    container_name: authentik-worker
    command: worker
    user: root # needed for Docker Socket to work
    restart: unless-stopped
    networks:
      - sascha
    environment:
      TZ: Europe/Berlin
      AUTHENTIK_REDIS__HOST: redis
      AUTHENTIK_POSTGRESQL__HOST: authentik-db
      AUTHENTIK_POSTGRESQL__USER: authentik
      AUTHENTIK_POSTGRESQL__NAME: authentik
      AUTHENTIK_POSTGRESQL__PASSWORD: superSafePassword
      AUTHENTIK_SECRET_KEY: superSecretKey
      AUTHENTIK_REDIS__PASSWORD:
      AUTHENTIK_REDIS__DB: 1
    volumes:
      - /mnt/cache/appdata/security/authentik/backups:/backups:rw
      - /mnt/cache/appdata/security/authentik/media:/media:rw
      - /mnt/cache/appdata/security/authentik/certs:/certs:rw
      - /mnt/cache/appdata/security/authentik/templates:/templates:rw

  authentik-db:
    image: postgres:latest
    container_name: authentik-db
    restart: unless-stopped
    networks:
      - sascha
    ports:
      - 5436:5432
    environment:
      TZ: Europe/Berlin
      POSTGRES_PASSWORD: superSafePassword
      POSTGRES_USER: authentik
      POSTGRES_DB: authentik
    volumes:
      - /mnt/cache/appdata/security/authentik-db:/var/lib/postgresql/data:rw
    healthcheck:
      test: ["CMD-SHELL", "pg_isready -U authentik -d authentik"]
      interval: 10s
      timeout: 5s
      retries: 3

networks:
  sascha:
    external: true

Du kannst die Services dann ganz einfach mit folgendem Befehl starten (der Name muss natürlich angepasst werden):

docker compose -f "docker-compose-authentik.yml" up -d

Erklärung der Docker Compose

In einem typischen Setup mit Docker Compose besteht Authentik aus mehreren Services:

Der Container authentik ist der Hauptserver. Er verwendet das offizielle Docker-Image beryju/authentik in einer bestimmten Version und wird mit dem Kommando server gestartet. Der Container ist Teil eines benannten Netzwerks und lauscht auf den Ports 9000 (HTTP) und 9443 (HTTPS), die lokal auf 9002 bzw. 9444 gemappt werden. Um sicherzustellen, dass der Dienst nach einem Absturz neu startet, ist restart: unless-stopped aktiviert.

Die Umgebungsvariablen konfigurieren Zeitzone, die Verbindung zur PostgreSQL-Datenbank (AUTHENTIK_POSTGRESQL__HOST, USER, PASSWORD), die Redis-Instanz für Caching sowie Sicherheitseinstellungen wie einen geheimen Schlüssel (AUTHENTIK_SECRET_KEY). Zusätzlich sind Mailserver-Einstellungen hinterlegt, die Authentik ermöglichen, E-Mails für Passwort-Resets oder Benachrichtigungen zu verschicken.

Die Volumes binden lokale Verzeichnisse ins System ein – unter anderem für Templates und hochgeladene Medien.

Der zweite Container authentik-worker führt Hintergrundaufgaben aus, etwa das Verarbeiten von E-Mails, Webhooks oder Aufgaben aus Flows. Auch hier wird die gleiche Image-Version verwendet, aber mit dem Startkommando worker. Der Container benötigt Zugriff auf dieselbe Datenbank und Redis-Instanz wie der Hauptserver. Außerdem mountet er zusätzliche Volumes, z. B. für Backups und Zertifikate.

Der Container authentik-db stellt die PostgreSQL-Datenbank bereit. Er basiert auf dem offiziellen postgres-Image, speichert Daten im lokalen Volume, nutzt ein Gesundheitscheck-Command (pg_isready) zur Überwachung und ist über den Port 5436 extern erreichbar. Auch hier wird sichergestellt, dass der Container bei einem Fehler automatisch neustartet.

Alle drei Dienste befinden sich im Netzwerk sascha, das als extern deklariert ist – möglicherweise ein benutzerdefiniertes, bestehendes Netzwerk für eine größere Infrastruktur. Das kann natürlich beliebig geändert werden und wird hier nur so für mein Beispiel genannt.

Bonus: Einbindung in NGINX Proxy Manager

Umsetzung im YouTube-Video

Fazit: Deine Identitätszentrale in deiner Hand

Mit Authentik bekommst du eine leistungsfähige, moderne und selbst gehostete Lösung für zentrale Authentifizierung und Benutzerverwaltung. Ob du nur Nextcloud sichern oder ein komplettes Unternehmensnetzwerk kontrollieren willst – Authentik bietet dir alle Werkzeuge, um das sicher, effizient und transparent zu tun.

Wenn du genug hast von unsicheren Passwörtern, inkonsistenter Benutzerverwaltung und Abhängigkeit von Cloud-Diensten, dann ist jetzt der perfekte Zeitpunkt, auf Authentik zu setzen.

Nützliche Links

Die Anzeige der Produkte wurde mit dem affiliate-toolkit WordPress Plugin umgesetzt.

0 Kommentare

Schreibe einen Kommentar

Avatar-Platzhalter

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahren Sie, wie Ihre Kommentardaten verarbeitet werden.

de_DE