NAS als Authentifizierungsdienst mit OAuth oder Keycloak OAuth auf Synology-NAS einrichten und sicher nutzen

Von Thomas Joos 3 min Lesedauer

Anbieter zum Thema

Authentifizierung ohne Passwortweitergabe? Mit OAuth lassen sich Zugriffs­rechte über signierte Tokens sicher steuern. Auch auf einem Synology-NAS ist das möglich, entweder mit dem integrierten OAuth-Service oder mit der Open-Source-Lösung Keycloak im Docker-Container.

Ein Synology-NAS lässt sich als zentraler Authentifizierungsdienst nutzen. Wahlweise mit dem integrierten OAuth-Paket oder per Keycloak im Docker-Container.(Bild: ©  everythingpossible - stock.adobe.com)
Ein Synology-NAS lässt sich als zentraler Authentifizierungsdienst nutzen. Wahlweise mit dem integrierten OAuth-Paket oder per Keycloak im Docker-Container.
(Bild: © everythingpossible - stock.adobe.com)

Authentifizierung delegieren, Autorisierung präzise steuern, Anwendungen sauber voneinander trennen, OAuth zählt zu den praxistauglichsten Protokollen, um Zugriffsrechte kontrolliert zu vergeben. Statt Passwörter zwischen Systemen weiterzureichen, nutzt das Verfahren signierte Zugriffstokens mit definiertem Gültigkeitsbereich. Die Einrichtung geht auch auf einem Synology-NAS.

Synology bietet mit dem Paket "OAuth Service" eine lokal betreibbare Lösung, die sich in die NAS-Umgebung integriert. Damit lassen sich interne Anwendungen, APIs und Dienste über einen zentralen Authorization Server absichern, ohne externe Cloud-Komponenten zu involvieren. Die native OAuth-Implementierung auf Synology-Systemen entstand ursprünglich als Voraussetzung für die Alexa-Anbindung von Audio Station. Diese ist allerdings nicht optimal praxistauglich. Allerdings gibt es auch die Möglichkeit die IAM-Lösung Keycloak auf einem Synology-NAS als Docker-Container zu betreiben.

Bildergalerie
Bildergalerie mit 8 Bildern

Das Standard-Paket für OAuth ist nur eingeschränkt nutzbar

Eine vollständige Nutzung des OAuth-Dienstes auf einem Synology-NAS erfordert direkten Zugriff auf die zugrunde liegende SQLite-Datenbank unter /usr/local/packages/@appstore/OAuthService/etc/oauth.db, einschließlich Root-Rechten über SSH. Über Kommandozeilentools wie oauth_clientinfo lassen sich dort manuell neue Clients eintragen. Der Zugriff auf die OAuth-Login-URL ist dabei nicht dokumentiert, funktioniert aber prinzipiell, sofern die Infrastruktur, etwa Zertifikate und DDNS, korrekt konfiguriert ist.

Die OAuth-Seite selbst wird von Synology nur eingeblendet, wenn das Backend den Dienst erreichbar erkennt, was durch kleinste Abweichungen blockiert werden kann. Für experimentelle Umgebungen, Testszenarien reicht die Implementation unter Umständen aus. Für produktive Anwendungen bleibt sie nicht richtig nutzbar. Wer ernsthaft einen Identity Provider betreiben will, sollte auf dedizierte Lösungen wie Keycloak wechseln. Die Lösung lässt sich per Docker in wenigen Minuten aufsetzen, bringt eine vollständige Oberfläche zur Clientverwaltung mit und unterstützt moderne Grant-Typen inklusive Tokenaustausch, Scopes, Rollenmodellen und SSO-Integration. KeyCloack lässt sich wiederum über den Container-Manager auf einem Synology-NAS betreiben.

Bildergalerie
Bildergalerie mit 8 Bildern

OAuth-Paket installieren und starten

Synology stellt mit "OAuth Service" ein offizielles Zusatzmodul bereit, das über das Paketzentrum installiert wird und in den meisten Fällen bereits vorinstallier ist. Nach der Aktivierung erscheint der Dienst im Hauptmenü. Unterstützt werden nahezu alle aktuellen Plus-, XS- und SA-Modelle ab DSM 7. Der Dienst erscheint im Hauptmenü als eigener Punkt mit drei zentralen Menüs: "Anwendung", "Autorisiertes Element" und "Protokoll".

Über die Registerkarte "Anwendung" lassen sich alle aktuell registrierten Anwendungen einsehen, verwalten und bei Bedarf aktivieren oder deaktivieren. Die Oberfläche erlaubt auch Mehrfachauswahl durch Strg- oder Umschalttaste. Hier findet sich eine Übersicht aller bestehenden OAuth-Clients, ergänzt um Funktionen zur Bearbeitung, Deaktivierung und Registrierung neuer Einträge. Bei der Verbindung müssen grundlegende Informationen hinterlegt werden: den Namen der Anwendung, die Redirect-URI für den Rücksprung nach erfolgreicher Authentifizierung sowie gegebenenfalls weitere Parameter abhängig vom gewählten Anwendungstyp. Nach dem Speichern erzeugt das System automatisch eine eindeutige "Client-ID" sowie ein zugehöriges "Client-Secret", die beide künftig bei allen Autorisierungs­prozessen zwischen Anwendung und OAuth Service verwendet werden. Sobald die Registrierung abgeschlossen ist, erscheint der neue Eintrag in der Übersicht und kann dort aktiviert, angepasst oder bei Bedarf auch wieder entfernt werden.

Über den Menüpunkt "Autorisiertes Element" finden sich sämtliche aktiven Freigaben, die über den Dienst erteilt wurden. Jeder Eintrag entspricht einer autorisierten Verbindung zwischen Client und NAS-Dienst. Der Widerruf erfolgt durch Auswahl des gewünschten Elements und Klick auf "Widerrufen". Auch hier erlaubt die Oberfläche Mehrfachaktionen. Der Löschvorgang trennt sofort die Tokenverbindung, nachfolgende Anfragen der betroffenen Anwendung werden abgewiesen, bis eine neue Autorisierung erfolgt.

Jetzt Newsletter abonnieren

Täglich die wichtigsten Infos zur IT-Sicherheit

Mit Klick auf „Newsletter abonnieren“ erkläre ich mich mit der Verarbeitung und Nutzung meiner Daten gemäß Einwilligungserklärung (bitte aufklappen für Details) einverstanden und akzeptiere die Nutzungsbedingungen. Weitere Informationen finde ich in unserer Datenschutzerklärung. Die Einwilligungserklärung bezieht sich u. a. auf die Zusendung von redaktionellen Newslettern per E-Mail und auf den Datenabgleich zu Marketingzwecken mit ausgewählten Werbepartnern (z. B. LinkedIn, Google, Meta).

Aufklappen für Details zu Ihrer Einwilligung
Bildergalerie
Bildergalerie mit 8 Bildern

Der Menüpunkt "Protokoll" listet alle vergangenen Ereignisse innerhalb des OAuth-Systems. Dazu zählen erfolgreiche Anmeldungen, Tokenanforderungen, Fehler und abgelehnte Verbindungen. Die Protokolle lassen sich mit einem Klick exportieren, wahlweise als HTML-Datei für externe Dokumentation. Die Option "Löschen" entfernt sämtliche gespeicherten Einträge dauerhaft, eine Wiederherstellung ist nicht möglich. Wer ernsthaft das NAS als Authentifizierungsdienst nutzen will, sollte sich Lösungen wie Keycloak genauer anschauen.

Keycloak auf dem Synology-NAS betreiben

Keycloak ist eine Identity and Access Managament-Lösung (IAM) auf Basis von Open Source. Betreiben lässt sich Keycloak als Docker-Container am besten über Portainer. Wir haben die Installation und Einrichtung von Portainer bereits in einem eigenen Beitrag beschrieben, um die Überwachungslösung CheckMK auf einem Synology-NAS in Betrieb zu nehmen. Sobald Portainer funktioniert, kann über "Stacks -> Add Stack" auch KeyCloak implementiert werden. Das geht allerdings nicht mit wenigen Klicks, sondern erfordert einiges an Konfiguration. Sobald KeyCloak aktiviert ist, lässt sich die IAM-Lösung über eine eigene Oberfläche verwalten. Wer OAuth 2.0 mit einem Synology-NAS nutzen will, sollte besser diesen Weg gehen.

Bildergalerie
Bildergalerie mit 8 Bildern

(ID:50548836)