Nach meinen diversen Experimenten mit PAM und der Authentifizierung am System habe ich nunmehr verschiedene weitere Möglichkeiten untersucht, Hardware-Token als Hilfsmittel einzubeziehen.
Ich versuchte, mehrere neue Authentifikationsmechanismen in mein Setup zur Mehrfaktor-Authentifizierung einzubauen. Der erste Schritt dazu war Bluetooth - wann immer ein bekanntes Gerät in der Nähe ist und Bluetooth aktiviert hat, ist die Authentifizierung (bzw. dieser Authentifizierungsschritt - erfolgreich.
Der zweite Versuch bestand in der Nutzung von Yubi-Tokens. Ich nutzte für meine Untersuchungen den Yubi neo und einen HyperFido. Beide funktionieren hervorragend für diese Zwecke. Ich war besonders neugierig auf die Möglichkeiten, den Neo auch zur Authentifizierung für Windows anzuwenden - aber das wird noch auf sich warten lassen: Im Netz findet man dazu zwar Anleitungen, aber so weit ich diese verstehe, kann man sich bei Miskonfiguration sofort aus dem System ausschließen und es existiert keine Möglichkeit, ein Fallback einzurichten: Jede der Anleitungen spricht davon, auf jeden Fall einen zweiten Neo zu konfigurieren und an einem sicheren Platz zu verwahren. Das kommt für mich nicht in Frage - wer hat schon zu Hause eine Windows-Installation zum Spielen und Vergeigen rumliegen. Und die Investition in zwei Yubis ist für mich einfach ums mal auszuprobieren viel zu fett.
Im Job sehe ich es eher ebenfalls unwahrscheinlich, denn um sich mit Yubis an einer Domäne anzumelden, muss man Löhnware kaufen. Das würde nicht nur die Anschaffung von Yubis bedeuten, sondern auch noch ausführliche Tests: Wir haben derzeit keinen Domänenserver zum Spielen, den müssten wir uns also auch erst aufsetzen. Positiv ist dennoch, dass es eine Evaluierungsversion der Löhnware gibt. Falls unser Management also einwilligen würde, dass wir uns die Zeit nehmen dürfen, könnten wir es ohne größeres finanzielles Risiko ausprobieren.
Schön fand ich an der Yubi-Lösung auch, dass sie sich nicht sperrt, wenn man mittels Putty und SSH auf einen Linux-Server verbinden möchte. Ich habe das bisher nur mit 2Faktor probiert. Auf meinem Neo könnte ich das GPG-Applet nutzen um dort Schlüssel zu verwalten und diese dann ebenfalls zur Authentifizierung nutzen - aber dazu hatte ich bisher noch keine Zeit; vielleicht wird das ja etwas in den nächsten Wochen...
Den Neo hatte ich mir angeschafft, weil ich NFC wollte. Eine wunderbare, von mir noch gar nicht so realisierte Möglichkeit möchte ich inzwischen nicht mehr missen: Um meine OTPs aus dem Google-Authenticator zu schützen, musste ich bisher eine recht komplexe Pin für mein Smartphone einrichten, da die Authenticator-App sofort nach Start die nächsten OTPs anzeigt. Mit dem Neo ist das nun nicht mehr möglich: Ich habe alle Geheimnisse auf dem Neo und nur, wenn der ans Smartphone gehalten wird, kommen OTPs heraus. Damit ist es nicht schlimm, wenn ich mein Smartphone verliere oder vergesse, kann ich einen beliebigen Passanten auf der Straße (mit NFC-fähigem Smartphone) bitten, mir zu helfen, ein neues OTP zu generieren.
Als letztes schließlich habe ich die Authentifizierung mittels NFC kurz angerisssen - ich kann mich also jetzt authentifizieren, indem ich meine Brieftasche auf den Kartenleser lege und mein Passwort eingebe. Auch das meines Wissens aber eine reine Linux-Kiste... Auch das funktionierte gut und wie die beiden anderen Varianten out-of-the-box.
Schließlich noch ein Wort der Warnung: NFC-Tags lassen sich kopieren und Bluetooth-Geräte werden an ihren MAC-Adressen erkannt. Beides ist nicht sicher - daher sollte man diese beiden Methoden wenn überhaupt nur als zusätzlichen Faktor und nie alleine nutzen!!
Hier jetzt noch einige Links, die mir geholfen haben, die beschriebenen Untersuchungen durchzuführen...
Bluetooth Login and Locking
PAM module for local authenticaction with bluetooth devices
How to use pam_blue with lightdm, and unity-greeter?
Bluetooth fun (blueproximity + libpam_blue + motion)
The Yubico PAM module provides an easy way to integrate the Yubikey into your existing user authentication infrastructure. PAM is used by GNU/Linux, Solaris and Mac OS X for user authentication, and by other specialized applications such as NCSA MyProxy.
Mit Yubikey unter Arch Linux einloggen (Challenge-Response, offline)
Adding Yubikey 2-factor authentication to SSH and sudo in Debian
Einfaches Multifaktor-Login mit Yubikey und Debian
The YubiKey Personalization Tool is a Qt based Cross-Platform utility designed to facilitate re-configuration of YubiKeys on Windows, Linux and Mac platforms. The tool provides a same simple step-by-step approach to make configuration of YubiKeys easy to follow and understand, while still being powerful enough to exploit all functionality both of the YubiKey 1 and YubiKey 2 generation of keys. The tool provides the same functionality and user interface on Windows, Linux and Mac platforms.
Configure 2-factor Yubikey authentication for Debian : the easiest way
Yubikey : Configure your yubikey with pam
The purpose of this document is to guide readers through the configuration steps to use two factor authentication for SSH using Yubikey. This document assumes that the reader has advanced knowledge and experience in Linux system administration, particularly for how PAM authentication mechanism is configured on a Linux platform.
Local Authentication Using Challenge Response
Protect multiple online accounts with just a press of a button
The PAM U2F module provides an easy way to integrate the Yubikey (or other U2F-compliant authenticators) into your existing user authentication infrastructure. PAM is used by GNU/Linux, Solaris and Mac OS X for user authentication.
Pluggable Authentication Module which allows to login using NFC targets.
Host-based Card Emulation
Touchatag is a RFID tag reader from Touchatag. It is a cheap set consisting of an ACR122U USB tag reader and MiFare Ultralight RFID tags.
Using the ACS ACR122 NFC card reader under linux
Ubuntu 14.04 with ACS ACR122U
Playing with touchatag reader
02.12.2018
Ich habe bereits über einige Stolpersteine beim Umstieg auf Ubuntu 18.04 berichtet - nunmehr bin ich auf einen neuen gestoßen, der den Fork und einen Pull-Request zur Folge hatte
13.10.2018
Ich hatte hier ja schon verschiedentlich über Möglichkeiten des Einsatzes meines Yubi-Key berichtet - nun kam noch eine hinzu...
15.07.2017
Nachdem ich bereits in der Vergangenheit verschiedene Experimente mit der NFC-Technologie gemacht habe, wollte ich endlich mein großes Ziel erreichen: Ein Smartphone als NFC-Smartcard zu nutzen...
02.12.2016
Nachdem ich meine neue Liebe für NFC entdeckt habe und unter anderem das entsprechende PAM-Modul ausprobiert habe, wollte ich nun versuchen, NFC-Tags in Linux-Skripten als Trigger einzusetzen.
24.10.2016
Ich habe meine Tests zum Yubikey nochmals intensiviert und einige neue Informationen gewonnen...
Multi-User-WebDAV, Docker, GitHub
17.11.2019
Nachdem ich mich in letzter Zeit verstärkt mit Docker und dem zugehörigen Ökosystem beschäftige, habe ich begonnen, verschiedenste Dienste in Containern zu testen um zu sehen, ob in manchen Fällen LXC oder KVM nicht doch die bessere Wahl wäre...
Weiterlesen...Android Basteln C und C++ Chaos Datenbanken Docker dWb+ ESP Wifi Garten Geo Go GUI Gui Hardware Java Jupyter Komponenten Links Linux Markdown Markup Music Numerik OpenSource PKI-X.509-CA Python QBrowser Rants Raspi Revisited Security Software-Test sQLshell TeleGrafana Verschiedenes Video Virtualisierung Windows Upcoming...
In eigener Sache...
Weiterlesen...Ich habe eine neue Java Swing Komponente erstellt: Es handelt sich um einen Wrapper für von JToolBar abgeleitete Klassen, die die Werkzeugleiste minimieren und sie nur dann einblenden, wenn der Mauszeiger über ihnen schwebt.
Weiterlesen...Ich habe bereits in einem früheren Artikel über meine ersten Erfolge berichtet, der sQLshell auf Basis des bestehenden Codes aus dem Projekt EBMap4D eine bessere Integration für Geo-Daten zu spendieren und entsprechende Abfragen, bzw. deren Ergebnisse auf einer Kartenansicht zu visualisieren.
Weiterlesen...Manche nennen es Blog, manche Web-Seite - ich schreibe hier hin und wieder über meine Erlebnisse, Rückschläge und Erleuchtungen bei meinen Hobbies.
Wer daran teilhaben und eventuell sogar davon profitieren möchte, muss damit leben, daß ich hin und wieder kleine Ausflüge in Bereiche mache, die nichts mit IT, Administration oder Softwareentwicklung zu tun haben.
Ich wünsche allen Lesern viel Spaß und hin und wieder einen kleinen AHA!-Effekt...
PS: Meine öffentlichen Codeberg-Repositories findet man hier.