Open-Source-Projekt
authelia/authelia avatar
authelia/authelia

Authelia im Check: SSO-Portal mit Zwei-Faktor für Reverse-Proxy-Setups

Das Single-Sign-On-Multi-Faktor-Portal für Web-Apps, jetzt OpenID Certified™

28.977 Sterne1.482 ForksGoApache-2.0

Auf einen Blick

Was ist das?
Wie Authelia v4.39 Anmeldung und Zwei-Faktor-Login für Web-Apps hinter nginx, Traefik und Caddy abwickelt, was die OpenID-Zertifizierung abdeckt und wo die Grenzen liegen.
Für wen ist es gedacht?
Authelia passt zu Betreibern mehrerer selbst gehosteter Web-Apps hinter nginx, Traefik oder Caddy, die eine zentrale Zwei-Faktor-Schwelle, Passkeys und für native Clients einen OpenID-Connect-Provider wollen. Weniger geeignet ist es, wenn eine einzige Anwendung geschützt werden soll und keine 2FA-Pflicht besteht, denn dann übernimmt ein einfacher auth_basic-Block dieselbe Aufgabe ohne Zusatzdienst.
Darf ich es kommerziell nutzen?
Ja. Apache-2.0 ist eine freizügige Lizenz: Sie dürfen darauf aufbauende Software nutzen, verändern und verkaufen, solange Sie die Urheberrechts- und Lizenzhinweise beibehalten.
Wird es noch gepflegt?
Ja. Das Repository hat innerhalb des letzten Tages neue Commits erhalten.
In welcher Sprache ist es geschrieben?
Hauptsächlich Go, laut der Sprachstatistik von GitHub.

Die Antworten beruhen auf den GitHub-Daten des Projekts (zuletzt abgeglichen am 15. September 2026) und auf unserer Analyse. Sie sind keine Rechtsberatung.

TIEFGEHENDE OPEN-SOURCE-ANALYSE

Authelias Rolle vor dem Reverse Proxy: Zugang statt Anwendung

Authelia ist ein Authentifizierungs- und Autorisierungsserver in Go, den das README als Single-Sign-On- und Multi-Faktor-Portal für Webanwendungen beschreibt. Das Problem, das er löst, kennen viele Betreiber selbst gehosteter Dienste: Dutzende Apps hinter einem Reverse Proxy, von denen jede ein eigenes Login mitbringt oder gar keines. Statt jede Anwendung einzeln abzusichern, schiebt man Authelia dazwischen. Der Server entscheidet über jeden Request, ob er durchgelassen, umgeleitet oder abgewiesen wird.

Technisch hängt der Proxy jede Anfrage zuerst an Authelia an. Laut README sind nginx, Traefik, Caddy, Skipper, Envoy und HAProxy unterstützt, bei Traefik läuft die Anbindung über die ForwardAuth-Middleware, bei Caddy über die forward_auth-Direktive. Unauthentifizierte Nutzer landen im Web-Portal, hinterlegen dort ihre Zwei-Faktor-Methode und werden danach zur ursprünglichen Adresse zurückgeleitet. Die Liste der Mindestfunktionen liegt offen im Abschnitt Features summary des README.

OpenID Connect 1.0: was OpenID Certified bei Authelia abdeckt

Authelia ist laut README als OpenID-Provider zertifiziert, und zwar für die Profile Basic OP, Implicit OP, Hybrid OP, Form Post OP und Config OP von OpenID Connect 1.0. Konkret heißt das: Anwendungen lassen sich über Standard-OAuth-2.0-Flows an den Server anbinden, ohne dass der Admin pro App einen separaten Proxy-Endpunkt konfiguriert. Der Server stellt Token aus, die eine Anwendung unabhängig vom Reverse Proxy prüfen kann.

Ein Detail verdient Aufmerksamkeit. Die Zertifizierung existiert, gleichzeitig stuft das Projekt sein OpenID-Connect-Angebot auf der Roadmap als Beta ein. Das ist kein Widerspruch, aber eine Einschränkung: Das Feature ist breit nutzbar, trägt laut Projekt jedoch weiterhin dieses Label. Details stehen im OpenID Connect 1.0 Integration Guide auf authelia.com. Wer eine kritische Anwendung anbinden will, testet den Token-Flow zuerst in einer Wegwerf-Instanz und prüft, welche Scopes und Claims die eigene App tatsächlich erwartet.

Zwei-Faktor-Methoden in Authelia: FIDO2-Keys, TOTP und Duo Push

Das Portal kennt mehrere zweite Faktoren: Security Keys nach FIDO2 und WebAuthn, etwa einen YubiKey, zeitbasierte Einmalpasswörter aus Authenticator-Apps sowie Mobile Push Notifications über den Dienst Duo. Wer den ersten Faktor gleich ganz streichen möchte, meldet sich per WebAuthn-Passkeys ohne Passwort an. Das Zurücksetzen des Passworts läuft über E-Mail-Bestätigung mit Identitätsprüfung.

Die Methodenwahl ist keine Geschmacksfrage, sondern eine Betriebsfrage. Duo bedeutet einen externen Cloud-Dienst im Anmeldepfad, TOTP und FIDO2 bleiben vollständig lokal. Dazu kommt ein Schutz, den das README unter dem Stichwort Access restriction aufführt: Nach zu vielen ungültigen Anmeldeversuchen wird der Zugang eingeschränkt, was einfache Wörterbuchattacken auf dem Portal deutlich unattraktiver macht. Beide Punkte zusammen bestimmen, wie viel Vertrauen man dem Portal als einziger Eingangstür für alle dahinterliegenden Apps entgegenbringt.

Zugriffsregeln in Authelia: Subdomain, Gruppe und Netzwerk pro Policy

Die eigentliche Konfigurationsfläche sind Regeln, die Kriterien wie Subdomain, Nutzer, Gruppenzugehörigkeit, Request-URI, HTTP-Methode und Herkunftsnetzwerk auswerten. Pro Regel legt man fest, ob Ein-Faktor oder Zwei-Faktor gilt. Endpunkte hinter der Ein-Faktor-Policy dürfen zusätzlich Basic Authentication sprechen, was Kommandozeilen-Tools ohne Login-Seite bedient.

Diese Granularität hat eine Schattenseite. Eine Regel, die ein zu großes Netzwerk als vertrauenswürdig einstuft, senkt den Schutz für genau diesen Bereich stillschweigend auf eine Stufe ab. Nach jeder Regeldatei-Änderung lohnt daher ein Test-Request, um zu sehen, welche Regel tatsächlich greift. Für hochverfügbare Setups sieht das README einen entfernten Datenbank-Store plus Redis als KV-Speicher vor, womit mehrere Authelia-Instanzen denselben Zustand teilen. Der Preis dafür ist eine zweite Betriebskomponente, die im Ausfallfall die Anmeldung für alle Anwendungen blockiert.

Authelia installieren: APT-Repo, Helm Chart und die Compose-Bundles

Der Einstieg ist flexibel. Authelia läuft als eigenständiger Dienst aus dem APT-Repository unter apt.authelia.com, aus den Arch-Linux-Paketen authelia und authelia-bin, über die FreeBSD Ports, als statisches Binary oder .deb-Paket von den GitHub Releases sowie als Container unter Docker und Kubernetes. Für Kubernetes gibt es ein Helm Chart auf charts.authelia.com, das laut README als Beta ausgewiesen ist.

Am schnellsten zeigt die Software ihr Verhalten in den docker-compose-Bundles. Local definiert Domains über die lokale hosts-Datei und nutzt selbstsignierte Zertifikate, gedacht für Tests ohne Internetanbindung. Lite richtet sich an den betriebenen Server, verlangt ein DNS-Setup und erzeugt Zertifikate über Let's Encrypt. Beide Bundles sind Ausgangspunkte zum Anpassen, keine fertigen Produktivkonfigurationen. Wer nginx oder Caddy einsetzt, findet mit der SWAG-Container-Konfiguration von LinuxServer zusätzlich einen gepflegten Verbindungspfad samt Anleitung im Blog von LinuxServer. Die aktuelle Version trägt die Nummer v4.39.20 vom 26. Mai 2026, gefolgt von v4.39.19 und v4.39.18 im April.

Wo Authelia an Grenzen stößt: Beta-Label, Duo-Cloud und HA-Aufwand

Das README dokumentiert Funktionen, keine Betriebsgarantien. Performance-Werte, eine Kompatibilitätsmatrix für Proxy-Versionen oder Zahlen zur Last bei tausenden Sessions sucht man vergebens. Das Helm Chart ist als Beta markiert, ebenso das OpenID-Connect-Angebot auf der Roadmap. Multi-Faktor über Duo zieht einen Cloud-Dienst in den Anmeldepfad, den viele Selbsthoster bewusst vermeiden wollen; in dem Fall bleibt TOTP oder ein FIDO2-Key.

Als Alternative mit anderem Zuschnitt genügt in Minimalumgebungen ein klassischer auth_basic-Block des Proxys: kein eigener Dienst, keine Session-Datenbank, dafür auch keine Zwei-Faktor-Pflicht, keine Passkeys und keine per-Regel-Steuerung. Der Unterschied liegt also weniger im Preis als in der Angriffsfläche und im Betriebsaufwand. Wer Passwort-Reset, 2FA und eine zentrale Policy über viele Apps will, kommt um einen Dienst wie Authelia kaum herum. Wer lediglich ein Dashboard hinter einem Passwort verstecken möchte, zahlt für den Portal-Ansatz mehr Komplexität als nötig.

Redaktionelles Fazit

Authelia passt zu Betreibern mehrerer selbst gehosteter Web-Apps hinter nginx, Traefik oder Caddy, die eine zentrale Zwei-Faktor-Schwelle, Passkeys und für native Clients einen OpenID-Connect-Provider wollen. Weniger geeignet ist es, wenn eine einzige Anwendung geschützt werden soll und keine 2FA-Pflicht besteht, denn dann übernimmt ein einfacher auth_basic-Block dieselbe Aufgabe ohne Zusatzdienst. Vor dem Produktivbetrieb sollte man im Local-Bundle die Regeldatei so anpassen, dass ein Test-Request die Zwei-Faktor-Policy greift, einen Login mit einem FIDO2-Key durchspielen und im Proxy-Log kontrollieren, ob die ForwardAuth-Kette wirklich jede Anfrage an Authelia übergibt.

Offizielle Quellen

  1. Official documentation
  2. Official README
  3. Project repository
  4. Release notes
Community-Notizen

Community-Notizen