DecaTec

Home-Server | Linux | Nextcloud | Raspberry Pi | Programmierung | Fotografie

Nextcloud Zwei-Faktor-Authentifizierung mit Nitrokey FIDO2

Nextcloud Nitrokey Logo

Für die eigene Nextcloud spielt das Thema Sicherheit eine große Rolle, da in einer Cloud meistens auch sensible Daten gespeichert sind. Dass man für solche Dienste stets sichere Passwörter nutzen sollte, versteht sich von selbst. Dennoch kann ein Passwort noch so sicher sein, es bleibt der einzige „Faktor“ bei der Authentifizierung. Sollte dieses Passwort abhanden kommen, ist der Zugang zur Cloud nicht mehr als sicher zu betrachten.

Hier kommt das Konzept der Zwei-Faktor-Authentifizierung zum tragen: Neben Benutzername/Passwort wird hier ein zweiter Faktor für die Anmeldung benötigt. Nextcloud unterstützt mittlerweile viele Varianten der Zwei-Faktor-Authentifizierung. Das bekannteste Verfahren ist hier sicherlich TOTP – dabei wird z.B. auf dem Smartphone lediglich eine TOTP-App (beispielsweise andOTP) benötigt. Dies macht die Anmeldung schon einmal sicherer, aber dennoch handelt es sich beim Smartphone um ein Gerät, welches ebenfalls kompromittiert werden kann.

Am sichersten ist hier ein Gerät, welches ausschließlich für die Zwei-Faktor-Authentifizierung genutzt wird. Ich habe mir daher mal die Authentifizierung mittels des Nitrokey FIDO2 näher angeschaut.

Nitrokey FIDO2 – Hardware

Beim Nitrokey FIDO2 handelt es sich um ein USB-Device (USB Typ A), welches für die Zwei-Faktor-Authentifizierung genutzt werden kann. Auch wenn das Aussehen an einen USB-Stick erinnert, können jedoch keine Daten auf dem Nitrokey gespeichert werden.

Nitrokey FIDO2

Nitrokey FIDO2

Nitrokey FIDO2 als zweiten Faktor bei Nextcloud hinzufügen

Für die Nutzung eines Hardware-Devices als zweiten Faktor benötigt man zunächst einmal zwei zusätzliche PHP-Pakete, die auf dem Nextcloud-Server installiert sein sollten. Wenn dies noch nicht geschehen ist, holen wir dies nun nach:

Als nächstes muss nun in der Nextcloud die App Two-Factor Webauthn aus dem Nextcloud App Store heruntergeladen und aktiviert werden. Hiermit kann als zweiter Faktor WebAuthn genutzt werden.

Die App Two-Factor Webauthn im Nextcloud App Store

Die App Two-Factor Webauthn im Nextcloud App Store

Anschließend gibt es in den persönlichen Einstellungen unter Sicherheit eine weitere Option Webauthn Devices. Hier einfach auf den Button Add Webauthn device klicken, den Nitrokey einstecken und einen Namen für das Gerät vergeben.

Nitrokey als WebAuthn Device hinzufügen

Nitrokey als WebAuthn Device hinzufügen

Zum Test nun einfach einmal von der Cloud ab- und nochmal neu anmelden. Hier sollte dann nach Eingabe von User/Passwort die entsprechende Option für den zweiten Faktor angeboten werden.

Nextcloud: Login mit Nitrokey/WebAuthn

Nextcloud: Login mit Nitrokey/WebAuthn

Hier wieder den Nitrokey einstecken, kurz berühren und der Login sollte damit erfolgreich abgeschlossen sein.

Das ganze funktioniert auch analog mit der App Two-Factor U2F. Damit kann als zweiter Faktor U2F verwendet werden. WebAuthn ist allerdings das modernere Verfahren, daher gebe ich WebAuthn den Vorrang.

Hinweis: Wenn die Zwei-Faktor-Authentifizierung aktiviert wurde, ist es für viele Clients (z.B. Nextcloud Desktop-Client) keine direkte Anmeldung per Benutzername/Passwort möglich. In diesem Fall muss man hier sog. App-Passwörter generieren, die dann bei der Anmeldung der Clients genutzt werden können. Dies erledigt man in den persönlichen Einstellungen unter Sicherheit (Geräte & Sitzungen).

Ab Nextcloud 19: Passwortlose Anmeldung

Nextcloud unterstützt ab Version 19 auch eine rein passwortlose Authentifizierung. Diese wird ebenfalls unter den persönlichen Einstellungen im Bereich Sicherheit aktiviert. Der Ablauf zum Hinzufügen des Nitrokeys ist dabei prinzipiell der gleiche wie bei der Zwei-Faktor-Authentifizierung.

Nitrokey für passwortlose Authentifizierung hinzufügen

Nitrokey für passwortlose Authentifizierung hinzufügen

Nach der Einrichtung kann im Anmeldebildschirm der Cloud neben der klassischen Eingabe von Benutzername und Passwort die Option Mit einem Gerät anmelden gewählt werden.

Nextcloud: Anmeldung mit einem Gerät

Nextcloud: Anmeldung mit einem Gerät

Hier reicht dann die Eingabe des Benutzernamens und das anschließende Bestätigen des Logins mittels des Nitrokeys.

Zusätzlich kann natürlich noch ein beliebiger zweiter Faktor für die Authentifizierung genutzt werden.

Nitrokey FIDO2 unter Linux

Unter Linux kann es passieren, dass der Nitrokey nicht sofort erkannt wird – beim Einstecken passiert hier einfach nichts. In diesem Fall muss nur ein kleiner Schritt durchgeführt werden, damit der Nitrokey auch unter Linux verwendet werden kann:

Anschließend sollte der Nitrokey einwandfrei funktionieren.

Firmware-Updates

Der Nitrokey FIDO2 unterstützt ebenfalls Firmware-Updates. Dazu muss der Stick lediglich eingesteckt werden und die Firmware-Update-Seite mit einem Browser aufgerufen werden. Nun einfach den Anweisungen folgen, falls ein Firmware-Update verfügbar ist, wird dieses automatisch heruntergeladen und installiert.

Nitrokey FIDO2: Firmware-Update im Browser

Nitrokey FIDO2: Firmware-Update im Browser

Weitere Einsatzgebiete

Neben der Anmeldung an Nextcloud kann der Nitrokey auch für weitere Anmeldungen genutzt werden. Viele Webdienste unterstützen mittlerweile die Anmeldung per WebAuthn. Dazu gehören u.a.:

Auf dongleauth.info gibt es eine gute Zusammenstellung, welche Dienste bereits mit dem Nitrokey verwendet werden können.

Fazit

Der Nitrokey FIDO2 ist in ein paar Minuten in Nextcloud als zweiter Faktor bei der Authentifizierung eingerichtet und kann anschließend auf jedem Gerät genutzt werden – und ja: sogar am Smartphone.

Links

, , , , ,

Kommentare: 4

  • Tom sagt:

    Hallo Jan,

    danke für diesen interessanten Beitrag !
    Es steht auch auf meiner ToDo-Liste mich mit dem Thema zu beschäftigen ;)

    Was mich noch interessieren würde :
    – Was sollte man tun um keine Probleme zu kriegen wenn der Stick verloren oder kaputt geht ? Wie kann ich mich trotzdem z.B. bei GitHub einloggen ?
    Brauche ich einen (registrierten) zweiten Stick ?

    – Zu eigener Nextcloud-Instanz hat man in der Regel einen SSH-Zugang. Wie könnte man den 2. Faktor deaktivieren falls der o.g. Fall eintritt ?

    Gruss

    • Jan sagt:

      Hi Tom,

      in Normalfall erhältst du sog. Backup-Keys, wenn du die Zwei-Faktor-Authentifizierung aktivierst (so auch bei Nextcloud). Diese können dann einfach verwendet werden, sollte der zweite Faktor mal verloren gehen.
      Bei Nextcloud kannst du auch „hinten rum“ mittels OCC Apps deaktivieren und ggf. weiter konfigurieren. Hilfreich ist hier auch die App Two-Factor Admin Support: Hier kann bei Bedarf ein zweiter Faktor durch den Admin mittels OCC bereit gestellt werden.

      Gruß,
      Jan

  • Marcel sagt:

    Hallo Jan,

    wie immer ein super Artikel. Wenn ich fragen darf, warum Nitrokey und nicht SoloKey oder Yubico?

    Ich persönlich benutze ein SoloKey aus dem einfach Grund weil er Open Source ist und ich mir da durch mehr Möglichkeiten und ein längeren Support erhoffe.

    Gruß Marcel

    • Jan sagt:

      Hi Marcel,

      ja, hier ein ähnlicher Grund: Die Nitrokeys bestehen auf offener Hard- Und Software. Hier fällt zumindest mal der Yubikey raus.
      Darüber hinaus wurde ich eigentlich erst auf Nitrokey aufmerksam, weil diese Firma mit Nextcloud zusammen arbeitet (siehe hier). Daher musste ich mir dies einfach mal näher ansehen.

      Gruß,
      Jan

Schreibe einen Kommentar

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