Authelia ist ein Open-Source-Authentifizierungs- und Autorisierungsserver, der 2FA und SSO für Anwendungen über ein Webportal anbietet. Er arbeitet mit Reverse-Proxys zusammen, um Anfragen zuzulassen, abzulehnen oder umzuleiten.
Authelia stellt eine direkte Verbindung zum Reverse-Proxy her, jedoch nie zu den Anwendungs-Backends. Daher erreichen Payloads, die von Clients der geschützten API gesendet werden, Authelia nie – nur die Authentifizierungskomponenten, wie z. B. der Autorisierungsheader, erreichen dies. Daher können die geschützten APIs REST, GraphQL oder jede andere Art von API über HTTP sein.
Authelia-Funktionen
James Elliott, einer der Entwickler von Authelia, skizzierte mehrere Funktionen, die sich völlig von den meisten anderen Lösungen in diesem Bereich unterscheiden:
Deklarative Konfiguration. Diese Funktion ist wahrscheinlich das, was die meisten Benutzer als Unterscheidungsmerkmal empfinden. Da die Konfiguration vollständig ohne Benutzeroberfläche erfolgt und eine Konfigurationsdatei ist, ist die Arbeit damit unglaublich einfach, wenn Bereitstellungsmethoden wie Ansible (und andere Konfigurationsmanager), Helm und anschließend GitOps-Workflows in Betracht gezogen werden.
Sehr geringer Platzbedarf. Authelia selbst verwendet im Normalbetrieb zwischen 20 und 25 MB RAM und weist häufig eine CPU-Auslastung auf, die mit Ausnahme von Kennwort-Hashing-Vorgängen nicht sichtbar ist.
Der Entwicklungsprozess für Authelia zielt darauf ab, Implementierungen in Fällen zu vermeiden, in denen die Auswirkungen auf die Sicherheit fraglich sind. Wir sagen lieber Nein zu einer Funktion, als eine Funktion einzuführen, bei der ein Missverständnis leicht zu negativen Sicherheitsergebnissen für Benutzer führen kann. Dies spiegelt sich in unseren Bemühungen wider, unsere Praktiken zu verbessern, um mehr der OpenSSF-Sicherheits-Best-Practices zu erfüllen. Wir sind derzeit mit der Bestehensnote zufrieden, streben aber Gold oder zumindest Silber an.
Wir begannen mit einer direkten Integration mit gängigen Reverse-Proxys, um die Sicherheit der vom Reverse-Proxy bereitgestellten Anwendungen zu erhöhen. Dies ermöglicht einen für den Benutzer transparenten und größtenteils anwendungsunabhängigen Authentifizierungsablauf. Selbst wenn die Apps keinerlei Unterstützung für eine SSO-Implementierung bieten, wird dieser Ablauf wahrscheinlich irgendwie damit funktionieren.
Authelia funktioniert mit nginx, Traefik, Caddy, Skipper, Envoy oder HAProxy.
Das Tool unterstützt hardwarebasierte zweite Faktoren für zusätzliche Sicherheit mithilfe von FIDO2 WebAuthn-kompatiblen Sicherheitsschlüsseln wie YubiKeys.
Zukunftspläne und Download
Elliott sagte uns, ihr Schwerpunkt liege auf OpenID Connect 1.0 und WebAuthn.
OpenID Connect 1.0
Die nächste Version von Authelia:
- 100 % der Standardkonformitätsprofile werden bestanden, mit der bemerkenswerten Ausnahme der dynamischen Client-Registrierung.
- Beinhaltet den Gerätecodefluss.
- Enthält Unterstützung für den Anspruchsautorisierungsparameter, der es den vertrauenden Parteien ermöglicht, nur die für sie relevanten Ansprüche anzufordern.
„Wir blicken auch in die Zukunft, was die Sicherheit und den Datenschutz unserer Implementierung betrifft, indem wir Authelia nach und nach die Aspekte der Financial-Grade-API hinzufügen, wie beispielsweise RFC9126 Pushed Authorization Requests, das bereits implementiert ist. Die Financial-Grade-API scheint in den meisten Situationen ein sinnvoller Satz von Sicherheitsstandards und hilfreichen Funktionen zu sein, die die Sicherheit und den Datenschutz verbessern und gut zu den Zielen von Authelia passen“, sagte Elliott onetrust.
WebAuthn
Die nächste Version von Authelia wird die WebAuthn-Unterstützung durch Folgendes erweitern:
- Passkey-Registrierung und Anmeldung.
- AAGUID-Filterung.
- Strengere Validierung der Atteste über die MDS3-Einträge.
Authelia ist kostenlos auf GitHub verfügbar .