Dies ist die archivierte Version des Blogs vom 05.01.2017. Aktuelle Beiträge findest du unter thomas-leister.de
 

PAM USB Authentifizierung

Über das PAM USB Modul kann die Anmeldung am Linux-Computer entweder bequemer oder sicherer gestaltet werden: Bequemer, wenn ein USB-Stick als real existierender „Schlüssel“ zur Anmeldung genügen soll, sicherer, indem neben einem Passwort auch der Besitz eines bestimmten Sticks nachgewiesen werden muss. Die Authentifizierung funktioniert systemweit – also wohl auf dem Anmeldebildschirm als auch in der Konsole z.B. beim Einsatz von „sudo“.

Im folgenden wird die Einrichtung unter Arch Linux erklärt. Der Ablauf ist bei anderen Distributionen sehr ähnlich, daher kann diese Anleitung auch mit anderen Linux Betriebssystemen genutzt werden.

PAM_USB installieren

Das USB PAM Modul ist nicht im offiziellen Arch Repository verfügbar und muss aus dem AUR installiert werden. Ein fertig eingerichtetes Yaourt ist Voraussetzung. Für andere Linux-Distributionen lautet der Paketname ähnlich (Unter Ubuntu Trusty: „libpam-usb“)

yaourt -S pam_usb

Neuen USB Stick konfigurieren

Die Konfiguration kann entweder manuell in der Datei „/etc/pamusb.conf“ vorgenommen werden oder über ein kleines Helferprogramm „pamusb-conf“. Verbindet euren „Schlüssel-Stick“ mit dem Rechner und registriert ihn im System. Gebt ihm eine Bezeichnung wie z.B. „meinstick“.

sudo pamusb-conf --add-device=meinstick

Möglicherweise werdet ihr gefragt, welchen Stick oder welche Partition auf dem USB Stick ihr zur Authentifizierung nutzen wollt. Wählt über die Eingabe der entsprechenden Zahl die gewünschte Partition aus. Bestätigt das Speichern nach /etc/pamusb.conf. Der Stick ist nun registriert und kann mit einem Benutzer („benutzername“) verbunden werden.

sudo pamusb-conf --add-user=benutzername

Wenn ihr bisher nur einen USB Stick registriert habt, habt ihr an dieser Stelle keine weitere Auswahlmöglichkeit – ansonsten könnt ihr hier wählen, welcher Stick zur Anmeldung benutzt werden soll (deshalb wurden für die Sticks Namen vergeben! ;) )

Bestätigt wieder das Speichern in die Konfigurationsdatei.

PAM_USB aktivieren

Damit eine Anmeldung über das USB PAM Modul möglich ist, muss dieses erst aktiviert werden. Öffnet dazu unter Arch Linux die Datei /etc/pam.d/system-auth (auf anderen Systemen evtl. „common-auth“).

sudo nano /etc/pam.d/system-auth

Über der Zeile

auth    required        pam_unix.so [...]

wird diese neue Zeile eingefügt:

auth    sufficient      pam_usb.so

Das „sufficient“ bedeutet, dass eine USB-Authentifizierung ausreicht und nicht mehr nach dem Passwort gefragt werden soll. Wer lieber eine zwei-Faktor-Authentifizierung haben will, stellt hier „required“ ein, sodass beides – USB Stick UND Passwort – zur Anmeldung angegeben muss.

Funktion testen

Um die Funktion zu testen, genügt es, das aktuelle Terminal zu schließen, ein neues zu öffnen, und den „sudo -i“ Befehl zu nutzen. Normalerweise wird an dieser Stelle ein Passwort abgefragt. Wenn der Stick verbunden ist, sollte das nun nicht mehr der Fall sein. Der Stick wird erkannt und der Zugang freigegeben „Access granted.“

Der Stick funktioniert sowohl bei der Anmeldung am Computer (z.B. GDM oder Lightdm) als auch bei sudo-Kommandos. Leider unterstützt beispielsweise der Gnome-Keyring keine USB-Authentifizierung, sodass es sein kann, dass man nach dem Login am System weiterhin nach einem Passwort für alle weiteren Schlüssel im Schlüsselbund gefragt wird. Das lässt sich zwar abschalten, indem ein leeres Passwort für den Schlüsselring gesetzt wird, jedoch werden die Passwörter dann nicht mehr verschlüsselt auf der Festplatte abgelegt, was insbesondere auf unverschlüsselten Festplatten ein Problem darstellen kann.

Benutzer oder USB-Stick abmelden

Wenn die PAM-Authentifizierung nicht mehr genutzt werden soll, kann die entsprechende Zeile in der Konfiguration der PAM Module entfernt werden (/etc/pam.d/system-auth bzw. common-auth). Einzelne Sticks oder Benutzer können außerdem aus der Konfigurationsdatei /etc/pamusb.conf entfernt werden (XML-Syntax!). Danach ist für die betroffenen Nutzer keine Anmeldung über USB-Stick mehr möglich.

 

Noch ein Hinweis zum Schluss:

… weil ich gerade in den Kommentaren daran erinnert wurde: Die beste PAM Authentifizierung nützt im Extremfall nichts, wenn die Festplatte unverschlüsselt ist. Persönliche Daten bzw. die ganze Festplatte sollten vor allem auf mobilen Geräten verschlüsselt sein! Über den Boot von einem Livemedium (physischer Zugriff zum Gerät) kann die PAM Authentifizierung sehr einfach umgangen werden.


Post published on 20. Juli 2014 | Last updated on 20. Juli 2014
Tags:             

Diesen Blog unterstützen

Wenn Dir der Beitrag gefallen hat, freue ich mich über einen kleinen Obolus :-) Bitcoin QR Code

PayPal-Seite: https://www.paypal.me/ThomasLeister
Meine Bitcoin-Adresse: 15z8 QkNi dHsx q9WW d8nx W9XU hsdf Qe5B 4s

Siehe auch: Unterstützung

Informationen zum Autor

Thomas Leister

Geb. 1995, Kurzhaar-Metaller, Geek und Blogger. Nutzt seit Anfang 2013 ausschließlich Linux auf Desktop und Servern. Student der Automobilinformatik an der Hochschule für angewandte Wissenschaften in Landshut.

16 thoughts on “Linux Anmeldung über einen USB Stick als „Schlüssel“ zum Computer

  • Hallo Thomas,
    toller Post. Bin am überlegen, sowas für meinen Laptop einzusetzen.
    Warscheinlich würde ich mir dann gleich ein Image des Sticks mit dd erstellen. Oder was passiert, wenn der Stick mal kaputt/verloren geht?
    Toll finde ich aber auch Token Lösung, wie Google Authenticator
    https://de.wikipedia.org/wiki/Google_Authenticator
    Ich glaube das kann man frei implementieren. Z.B. bietet inwx.de das seinen Kunden zum Login auch an. Und sowas sollte doch auch am Rechner lokal zu hause funktionieren
    sonnigen Sonntag wünscht DxU

    • Ein Backup ist auf alle Fälle vernünftig wenn man ohne nicht mehr reinkommen würde ;)
      Wenn du die Einstellung auf „sufficient“ lässt kommst du aber nach wie vor mit Passwort rein – auch wenn der Stick gerade nicht da ist.

  • Ich hätte eine Frage zum USB-Stick. Was genau benutzt er zur Authentifizierung? (Dateien auf den Stick?) Ist er rein passiv und liest irgendwelche IDs oder schreibt er selbst einen Schlüssel auf den Stick?

  • Ein Hinweis darauf, dass jede noch so ausgefeilte PAM-Authentifizierung natürlich nicht gegen den physischen Zugriff auf den Datenträger hilft, fehlt noch (Live-USB-Stick dran und fertig, im Extremfall Festplatte ausbauen). Ansonsten ist der Artikel sehr informativ, danke dafür.

    Vale,
    Quintus

  • Ist diese Art von Authentifizierung auch mit einer sd card möglich? Bzw kombinierbar mit USB und sd card? Und wie wäre eine live Entschlüsselung denkbar für die Zukunft?

    • Mit einer SD Karte habe ich es noch nicht versucht, aber ich gehe davon aus, dass das auch mit einer solchen Karte funktioniert. „Einfach ausprobieren“ würde ich sagen ;) Wie man USB und SD kombinieren soll, wüsste ich nicht.

      Eine einfache Verschlüsselung (z.B. des Home-Verzeichnisses) ist mit encfs möglich. Wenn es eine richtige Festplattenverschlüsselung sein soll, nutzt man am besten dm-crypt mit LUKS und LVM.

      LG Thomas

      • Ich danke Ihnen für die Antwort. Doch sehe ich bei den Verschlüsselung Methoden keine live encryption ist dies denn überhaupt möglich? Eine Kombination aus sd und USB wäre wirklich interessant auch im Bezug auf die Entschlüsselung sensibler Daten für Journalisten wie es der Herr snowden bereits angesprochen hatte vor wenigen Tagen. Vielleicht wäre es ja möglich etwas technisch tiefer in eine Diskussion zu kommen ich finde dieses Thema sehr interessant. Grüße.

  • Hi. Noch eine kurze Anmerkung.
    Niemals das terminal Fenster in dem man noch root rechte hat schließen wenn man an der pam Konfiguration herum spielt. Lieber ein neues Fenster öffnen und dort testen. So kann man wenigstens die Änderung die man gemacht hat ohne große Umwege zurück nehmen. Funktioniert das login nicht mehr und man hat keinen Zugriff mehr wird es schwierig(er) das wieder ans laufen zu bekommen

  • Hallo Thomas,

    ist zwar jetzt Off-Topic, aber für’s Studium kann ich dir auch den Bachelor Internet Computing in Passau empfehlen.
    https://www.uni-passau.de/bachelor-internet-computing/

  • Danke für den Tipp!

    Unter Ubuntu Trusty hatte ich das Problem das es mit meinem Stick partout nicht funktionieren wollte. Ursache war das der Stick, warum keine Ahnung, ohne Serial reported wurde. Habe dann einen anderen Stick, der mit Serial gemeldet wird, genommen und es klappte.

  • Wenn schon nano, dann bitte richtig!

    sudo nano -w /etc/pam.d/system-auth

    Andernfalls kann dir Line-Wrapping deine Configs zerschießen.
    Würde bei vim natürlich nicht passieren :D

  • Hey Danke für den Tip!
    Kleine Anmerkungen noch: der unter Mint und Manjaro Linux per default genutzte Display Manager MDM, kann pam_usb scheinbar nicht. Ich bin deswegen unter Manjaro auf LightDM umgestiegen. Hier gibts eine Anleitung wie das geht:
    Manjaro: Install Display Managers
    Weiterhin erscheint es mir sinnvoll automatisch den Login zu überspringen, wenn der USB Stick angesteckt ist, damit gar nicht erst noch auf Login geklickt werden muss. Wie das geht ist unter
    highmem.blogspot.de
    beschrieben. Im Grunde muss die Datei /etc/pam.d/-autologin in einer Zeile angepasst werden.
    Grüße,
    tuxflo

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.