Nextcloud – Zwei-Faktor-Authentifizierung für einen Benutzer deaktivieren

Photo by Rich Smith on Unsplash

Nextcloud bietet seit geraumer Zeit eine Zwei-Faktor-Authentifizierung per Time-Based-Passwort (TOTP), Backup-Codes, Universal 2nd Factor (U2F = Hardwaretoken) an. Nun soll es ja vorkommen, dass der ein oder andere Benutzer seinen zweiten Faktor verliert.

In diesem Fall bleibt nichts anderes übrig, alles die Zwei-Faktor-Authentifizierung für den Benutzer zu deaktivieren.

Der zweite Faktor für die Anmeldung lässt sich in den Nextcloud-Einstellungen für alle Benutzer erzwingen, oder auch für einzelne Gruppen festlegen.

Nextcloud - Zwei-Faktor-Authentifizierung erzwingen
Nextcloud – Zwei-Faktor-Authentifizierung erzwingen

Dann bedeutet das Deaktivieren nicht wirklich deaktivieren, sondern eigentlich ein Reset. Die Zwei-Faktor-Authentifizierung wird für die nächste Anmeldung des Benutzers ausgesetzt und er muss diese neu durchlaufen. Das Passwort ändert sich dabei NICHT.

Nextcloud - Zwei-Faktor-Authentifizierung
Nextcloud – Zwei-Faktor-Authentifizierung

Der Benutzer muss also nach wie vor einen zweiten Faktor für die Anmeldung nutzen, kann aber den angezeigten QR-Code mit der entsprechenden App neu scannen oder seinen Hardwaretoken neu registrieren. Bei einem erneuten Anmelden an der Nextcloud wird dann der Faktor wieder abgefragt und es entsteht keine Sicherheitslücke.


Gib mir gerne einen Kaffee ☕ aus!

Wenn dir meine Beiträge gefallen und geholfen haben, dann kannst du mir gerne einen Kaffee ☕ ausgeben.

PayPal Logo


liberapay.com/strobelstefan.org


Kaffee via Bitcoin

bc1qfuz93hw2fhdvfuxf6mlxlk8zdadvnktppkzqzj


Wie funktioniert das Zurücksetzten?

Das Zurücksetzen oder das temporäre Deaktivieren funktioniert nur über die Konsole und (aktuell) nicht über den Webbrowser.

Also einmal per Terminal am Server anmelden und durchhangeln bis zum Nextcloud-Verzeichnis

cd /var/www/html/nextcloud

Dort angekommen, können wir die occ-Befehle verwenden. Alle verfügbaren Befehle lassen sich mit auflisten

sudo -u www-data php occ list

In der Liste findet ihr die Einträge:

  1. twofactorauth:disable – Disable two-factor authentication for a user
  2. twofactorauth:enable – Enable two-factor authentication for a user
  3. twofactorauth:enforce – Enabled/disable enforced two-factor authentication
  4. twofactorauth:state – Get the two-factor authentication (2FA) state of a user

Den Benutzernamen des betroffenen Benutzer ist vielleicht schon bekannt, ansonsten lassen sich alle Nutzer auflisten

sudo -u www-data php occ user:list

In der Liste sucht ihr den richtigen Benutzer raus uns lasst euch anzeigen, welche „twofactorauth“ aktiv sind.

sudo -u www-data php occ twofactorauth:state benutzername

Das könnte z.B. so aussehen:

Two-factor authentication is enabled for user benutzername

Enabled providers:
- totp
Disabled providers:
- backup_codes
- u2f

Wir sehen in der Ausgabe, dass der Benutzer nur topt verwendet, also Time-based One-time Password evtl. per App.

Wir setzten also das topt für die nächste Anmeldung zurück, so dass der Benutzer die Möglichkeit hat sich neu anzumelden.

sudo -u www-data php occ twofactorauth:disable benutzername totp

Ihr müsst dabei hinter dem Benutzernamen angeben, was zurückgesetzt werden soll. Da in unserem Beispiel nur topt aktiviert war, konnte nur diese Anmeldemöglichkeit resetet werden.

Photo by Rich Smith on Unsplash

Zwei-Faktor-Authentifizierung am Raspberry Pi einrichten

Die Zwei-Faktor-Authentifizierung ist ja zurzeit in aller Munde, da sie eine sichere Möglichkeit für die Anmeldung an Applikationen und Systemen darstellt. Auch an einem Pi kann man sich mit seinem Passwort und einer PIN anmelden.

Bitte beachtet, dass für diese Form der Zwei-Faktor-Authentifizierung zwingend die App Google Authenticator auf eurem Smartphone installiert sein muss. Wer mehr Informationen zum Google Authenticator sucht, wird auf Wikipedia fündig ➡ https://de.wikipedia.org/wiki/Google_Authenticator

Die Installation auf dem Pi ist direkt aus den Repositories möglich.

sudo aptitude install libpam-google-authenticator 

Installation Google Authenticator
Installation Google Authenticator

Nach der erfolgreichen Installation kann man den Authenticator auf dem Pi mit dem Befehl starten:

google-authenticator

Es gilt jetzt nur noch den QR-Code mit der installierten App auf eurem Smartphone zu scannen.

Achtung:

Sichert unbedingt die 5 Notfall-PINs. Solltet ihr mal eurer Smartphone mit der Google Authenticator App nicht zur Hand haben, könnt ihr euch damit am Pi noch anmelden.
Die 4 Fragen habe ich mit yes, yes, no, yes beantwortet und damit ist die Konfiguration auch schon abgeschlossen.

Google Authenticator
Google Authenticator

Nun sind noch an zwei Skripten eine kleine Anpassungen vorzunehmen.

sudo nano /etc/pam.d/sshd 


Fügt am Ende der Datei die Zeile hinzu: auth required pam_google_authenticator.so

/etc/pam.d/sshd
/etc/pam.d/sshd

sudo nano /etc/ssh/sshd_config


Sucht in der Datei den Eintrag ChallengeResponseAuthentication und ändert no auf yes ab.

/etc/ssh/sshd_config
/etc/ssh/sshd_config

Zum Schluß startet ihr den SSH-Dienst neu.

sudo service ssh restart

Die Anmeldung an eurem Pi sieht in Zukunft so aus:

Zwei-Faktor-Authentifizierung
Zwei-Faktor-Authentifizierung

Nachtrag

Ich bin seit kurzem umgestiegen auf eine neue OTP-App. Anstatt den Google Authenticator, wie oben beschrieben zu verwenden, nutze ich FreeOTP. An der App gefällt mir besser,

  • sie ist übersichtlicher
  • es lassen sich Icons für jeden Account vergeben
  • die OTPs lassen sich sortieren
  • etc.
FreeOTP Authenticator
FreeOTP Authenticator
Entwickler: Red Hat
Preis: Kostenlos
  • FreeOTP Authenticator Screenshot
  • FreeOTP Authenticator Screenshot
  • FreeOTP Authenticator Screenshot
  • FreeOTP Authenticator Screenshot
  • FreeOTP Authenticator Screenshot
  • FreeOTP Authenticator Screenshot
  • FreeOTP Authenticator Screenshot
  • FreeOTP Authenticator Screenshot
Google Authenticator
Google Authenticator
Entwickler: Google LLC
Preis: Kostenlos
  • Google Authenticator Screenshot
  • Google Authenticator Screenshot
  • Google Authenticator Screenshot
  • Google Authenticator Screenshot
  • Google Authenticator Screenshot
  • Google Authenticator Screenshot
  • Google Authenticator Screenshot
  • Google Authenticator Screenshot
  • Google Authenticator Screenshot
  • Google Authenticator Screenshot
  • Google Authenticator Screenshot
  • Google Authenticator Screenshot
  • Google Authenticator Screenshot
  • Google Authenticator Screenshot
  • Google Authenticator Screenshot
  • Google Authenticator Screenshot
  • Google Authenticator Screenshot
  • Google Authenticator Screenshot