close Warning: Can't synchronize with repository "keplertools" (/srv/svn/keplertools does not appear to be a Subversion repository.). Look in the Trac log for more information.

Opened 7 years ago

Closed 6 years ago

#3337 closed Verbesserung (im Image)

Authenticator für Linux

Reported by: Rüdiger Kupper Owned by: Rüdiger Kupper
Priority: bei Gelegenheit Milestone: Image „Ideale Inge”
Component: Software: Ubuntu Severity: beeinträchtigt keinen Unterricht
Keywords: Cc: bau

Description (last modified by Rüdiger Kupper)

Eine Linux-Implementation vom Google-Authenticator gibt es als Flatpak bei flathub. Falls wir mit der 2-Faktor-Authentifizierung in WebUntis Ernst machen, sollte das auf jedem Klassenraumrechner verfügbar sein.

Auch so ist es eine sinnvolle Anwendung, weil immer mehr Webseiten auf 2-Faktor-Authentifizierung setzen.

– Weitere Infos siehe #3334 –

Change History (16)

comment:1 by Rüdiger Kupper, 7 years ago

Im Gegensatz zu Snaps scheinen sich Flatpaks bei uns immerhin ordentlich installieren zu lassen.

comment:2 by Rüdiger Kupper, 7 years ago

Verwende das Programm seit kurzem auch privat es scheint zu funktionieren, ist allerdings ständig gegenüber den Anwendungen auf Smartphone zurück (was nicht so praktisch ist, weil die Codes üblicherweise alle 30 Sekunden neu generiert werden).

Ich kenne aber keine alternative Anwendung für Linux (warum?)

Last edited 7 years ago by Rüdiger Kupper (previous) (diff)

comment:3 by bau, 7 years ago

Ich hätte gerne etwas flexibleres - vor allem etwas, was uns von diesen amerikanischen Riesen unebhängig macht - sprich, mal wieder ein eigenes System:

comment:4 by Rüdiger Kupper, 7 years ago

Generell stimme ich Dir zu, in dem Fall implementiert der Google Authenticator aber wohl einen offenen Standard:

https://de.m.wikipedia.org/wiki/Time-based_One-time_Password_Algorithmus

Auf der Wikipediaseite steht sogar der Pseudocode, sind nur wenige Zeilen:
https://de.m.wikipedia.org/wiki/Google_Authenticator

Die Programme für Linux implementieren alle diesen Algorithmus und das scheint gut zu klappen. Mit meiner App für Ubuntu Touch habe ich keine Probleme. Das Programm für den Linux-Desktop (s.o.) macht das selbe.

TOTP ist derzeit wohl einer der Standards für zwei-Faktor-Authentifizierung. Und vermutlich haben viele Nutzer die App bereits auf dem Smartphone.

SMS versenden ist natürlich auch ein verbreitetes Verfahren. Nachteile: SMS ist nun wirklich komplett unverschlüsselt, der Mobil-Provider hat den Klartext, das SMS-Gateway ebenfalls. Und der Empfänger braucht Empfang.
TOTP funktioniert auch komplett offline, das bracht nur die aktuelle Zeit und den Schlüssel, den man irgendwann mal eingegeben hat.

Ein Hardware-Token ist natürlich noch sicherer, unterstützt WebUntis das denn? Von Selbstbasteln würde ich absehen, viel zu viel Aufwand und am Ende ist es doch wieder unsicher :-).
 
 
Am Montag, Oktober 28, 2019 10:59 CET, "Kepler-Trac" <trac@kg-fds.de> schrieb: 
 

comment:5 by Rüdiger Kupper, 7 years ago

Aber ich würde dann gegenüber den Nutzern aber auch nicht von „Google Authenticator” reden, sondern von „(zeitbasiertem) Einmalpasswort” und dann erwähnen, dass es verschiedene Anwendungen dafür gibt, unter anderen die von Google.
 
 
 
 
Am Dienstag, Oktober 29, 2019 08:54 CET, "Kepler-Trac" <trac@kg-fds.de> schrieb: 
 

comment:6 by Rüdiger Kupper, 7 years ago

Description: modified (diff)

comment:7 by bau, 7 years ago

Aus Datenschutzgründen müssen wir langsam aber sicher auf ein Zweifaktor-Athentifizierung umsteigen. Es bietet sich das TOTP-Verfahren an, das macht vor allem auch unser WebUntis. Dabei wird das Sicherheits-Token ausgetauscht:

  • bei Google-Authenticator gibt das der Server vor und die App auf dem Handy erhält diesen über einen QRCode
  • bei den Hardware-OTP-Tokens (Karte oder Schlüsselanhänger) hat dieses Token den Schlüssel drauf und muss dem Server eingegeben werden.

Es wird jeweils ein nur kurze Zeit gültiges Token auf beiden Seiten erzeugt, vom Server abgefragt, eingegeben und überprüft. Ohne den zweiten Faktor kommt man nicht rein.

Integration:

  • WebUntis - quasi sofort verlangt von allen KollegINNen
  • Kepler-Login, WebMailer, Moodle müssen nach und nach umgestellt werden
  • Anmeldung an unseren Rechnern
    Problemstellung: Wie machen wir das mit den SuS?
  • weitere Dienste?

comment:8 by bau, 7 years ago

Zur Erzeugung eines OTP mittels TOTP gibt es neben der Google-Authenticator-APP und den Hardware-Token auch Software für Windows und Linux:

Damit kann dann auf dem Desktop das OTP erzeugt werden.

comment:9 by bau, 7 years ago

Test mit Hardware-Tokens (Token2 Scheckkarte)

  • Auf der Karte steht die Seriennummer, diese muss unter ​https://www.token2.com/getkeys mit der OrderID und der eMail-Adresse eingegeben werden, die Shared-Secrets kommen dann per Mail
  • das Shared-Secret bei Webuntis eingeben (HEX und 30s SHA1)
  • das Shared Secret wird in der WebUntis-Datenbank Tabelle users im Feld SharedSecret abgelegt und kann von dort aus auch für die anderen Logins benutzt werden
  • das Shared Secret kann auch mit Key-Erzeugern wie oathtool benutzt werden, muss dazu von HEX nach base32 umgewandelt werden (so steht es auch in der WebUntis-DB):
      echo "..HEXSecret.." | xxd -r -p | base32
    

comment:10 by bau, 7 years ago

Anmeldung an den Clients im Schulhaus:

  • das SharedSecret liegt in der WebUntis-DB Tabelle users Feld SharedSecret
  • unter #3389 wird das pam_modul beschrieben, gdm3 fordert bei konfiguriertem Modul nach dem Passwort den sechsstelligen Code an
  • die Konfiguration erfolgt im HomeVZ des Users in der Datei .google_authenticator, in der ersten Zeile steht das SharedSecret
  • Konfiguration des pam-Modules:
      google-authenticator -t -f -D -w 17 -r 3 -R 30 -q
    
    erzeugt eine .google_authenticator-Datei im HomeVZ mit einem SharedSecret, dieses dann mit dem aus der DB ersetzen
  • auf den Clients ein Python-Qt5 Script bereitstellen, welches ein neues OTP erzeugt
Version 0, edited 7 years ago by bau (next)

comment:11 by bau, 7 years ago

Python-APP erstellt: Kepler-Einmalpasswort-Erzeuger (TOTP):

  • Paket python3-pyotp benötigt
  • Starter: /usr/share/applications/OTP.desktop
  • ICON: /usr/share/icons/OTP.png
  • Script (compilied): /usr/local/sbin/OTP.pyc
  • Script: /usr/local/sbin/OTP.py

@kup: Bitte Starter in Seitenleiste einfügen

comment:12 by Rüdiger Kupper, 7 years ago

Milestone: Image „Humane Henrike” → Image „Ideale Inge”
Priority: normal → gering
Severity: normal → unkritisch

Mit dem OTP-Erzeuger nicht mehr zwingend nötig, vielleicht mal ein nettes Utility.

comment:13 by Rüdiger Kupper, 6 years ago

Das Programm gibt es inzwischen in den normalen Software-Quellen als .deb-Paket. -> installieren

comment:14 by Rüdiger Kupper, 6 years ago

Denkste. Es ist ein Snap. Naja, mal probieren.

comment:15 by Rüdiger Kupper, 6 years ago

Funktioniert prinzipiell, ich konnte sowohl mein WebUntis-Secret als auch mein Google-Secret importieren. Musste halt den secret Sting eintippen …

comment:16 by Rüdiger Kupper, 6 years ago

Resolution: → im Image
Status: new → closed

Habe es mal ins Image gepackt.

Note: See TracTickets for help on using tickets.