BLOG

Computer & Software => LINUX => Thema gestartet von: Jo am 2020-07-09 | 23:37:16

Titel: Zwei-Faktor-Authentifizierung
Beitrag von: Jo am 2020-07-09 | 23:37:16
Die Zwei-Faktor-Authentifizierung (2FA) gilt als sehr sicher (siehe BSI (https://www.bsi-fuer-buerger.de/BSIFB/DE/DigitaleGesellschaft/OnlineBanking/Zwei_Faktor_Authentisierung/Zwei_Faktor-Authentisierung.html)) und sorgt bei vielen Online-Diensten für mehr Sicherheit bei den User Accounts
-> siehe auch Passwortmanager KeePassXC mit YubiKey (https://secure.jolichter.de/smf/index.php/topic,324.0.html)

Anstatt ein Hardware Dongle (Token) wie z.B. YubiKey immer mit zu tragen, nutze ich eine Open Source Lösung auf dem Smartphone (FreeOTP (https://freeotp.github.io/)) und unter Linux (oathtool (http://www.nongnu.org/oath-toolkit/man-oathtool.html)).

Hauptsächlich verwende ich dafür mein Smartphone, daher ist das Handy eine sehr wichtige Authentifizierungsmaschine geworden.
Die Anwendung unterstützt TOTP- oder HOTP-Protokolle. Das Anlegen von neuen Zugängen erfolgt per QR-Code und es können auch achtstellige Codes zum Einsatz kommen.

Gute Gründe für FreeOTP:

(https://secure.jolichter.de/smf/tutorials/2FA/FreeOTP.jpg)

Das One-Time-Passwort (OTP) kann auch per Linux generiert werden. Wichtig bei einem Verlust oder Defekt. Die passenden Schlüssel müssen natürlich vorhanden sein.
-> Also als Backup an einem sicheren Ort ablegen!
Der einfachste Weg zur Sicherung der 2-Faktor-Authentifizierung besteht darin, die Schlüsselnummer und optional auch den QR-Code (Print Screen) auf einem sicheren Speicher abzulegen, wenn diese euch zum ersten Mal gezeigt werden. Solltet ihr nur den Schlüssel haben und den QR-Code benötigen, kann man diesen hier generieren: freeotp.github.io/qrcode.html (https://freeotp.github.io/qrcode.html). Umgekehrt ist es möglich mit einem QR-Scanner die Schlüsselnummer zu lesen.

Als Kommandozeilenclient für die 2FA nutze ich das Tool oathtool und ist z.B. in Linux Manjaro schon enthalten (oath-toolkit).
Per Terminal lässt sich das OTP einfach generieren, z.B:
oathtool --totp -b abcdefqwertzy
Wichtig: Datum und Uhrzeit muss automatisch mit einem Internetzeitserver synchronisiert sein (KDE -> Systemeinstellungen -> Persönliche Informationen -> Regionaleinstellungen -> Datum & Zeit), ansonsten ist das One-Time-Passwort falsch.

:-[


Bei Google ist das ohne deren 2FA-App etwas tricky (siehe usefulvid.com (https://usefulvid.com/2fa-replace-google-authenticator-with-keepass-and-freeotp/)):
Erst muss als 2FA die SMS aktiviert werden, dann ist es als 2te Option möglich die App "Google Authenticator" zu aktivieren und statt deren App z.B. FreeOTP zu nutzen. Danach kann die SMS und Handynummer gelöscht werden. SMS ist eine schlechte Idee, was wenn Handy kaputt/verloren oder keine Verbindung zum Mobilfunknetz? Zudem werden SMS-Nachrichten normalerweise unverschlüsselt übertragen, was bedeutet, dass der Inhalt der Nachrichten von jemandem, der Zugriff auf das Netzwerk hat, eingesehen oder abgefangen werden kann.

(https://secure.jolichter.de/smf/tutorials/2FA/GMail_2FA.jpg)

GMail kann weiterhin mit Linux E-Mail-Clients wie z.B. Evolution, Thunderbird oder KMail ohne OTP genutzt werden. Jedoch muss dafür im Google Konto unter Sicherheit ein App-Passwort generiert werden. Damit funktioniert dann E-Mail, Kalender und Kontakte per E-Mail Programm. Alle Sicherheitseinstellungen lassen sich damit natürlich nicht ändern.