[[Vorlage(Getestet, , )]] [[Vorlage(Fortgeschritten)]] {{{#!vorlage Wissen [:Pakete_installieren: Installation von Programmen] [:Terminal: Ein Terminal öffnen] [:Editor: Einen Editor öffnen] }}} [[Inhaltsverzeichnis(2)]] [wikipedia:Pluggable_Authentication_Modules:PAM] steht für ''"Pluggable Authentication Modules"''. Durch die Nutzung von PAM-Modulen ist man in der Lage, verschiedene Authentifizierungsmechanismen unter Linux zu implementieren. Als Beispiel sollen Kerberos, LDAP, Public-Key-Authentication oder Smartcards genannt sein. Das hier vorgestellte PAM-Modul ermöglicht es dem Benutzer, sich mit einem handelsüblichen USB-Stick am System zu authentifizieren. = Wie funktioniert pamusb? = Für die Authentifizierung wird auf dem USB-Stick im Verzeichnis '''.pamusb''' der öffentliche Schlüssel '''benutzer.pad''' abgelegt. Im Homeverzeichnis des Benutzers liegt im versteckten Ordner '''.pamusb''' der private Schlüssel '''MeinStick.pad'''. Für den Zugang werden noch der Hersteller des Sticks sowie die Produktbezeichnung und Seriennummer hinzugezogen. {{{#!vorlage Hinweis Ein einfaches Kopieren des Schlüssels reicht also nicht aus, um Zugang zum System zu erhalten. }}} Das "`pamusb`"-Modul arbeitet mit allen Applikationen zusammen, die PAM unterstützen, z.B. [:sudo:] oder Displaymanagern wie [:LightDM:], [:GDM:] und [:KDM:]. = Installation = pamusb kann über die Paketverwaltung installiert werden [1]: {{{#!vorlage Paketinstallation pamusb-tools, universe }}} Es ist darauf zu achten, dass die Passworteingabe nur zur Anmeldung, nicht aber zur Verschlüsselung der privaten Ordner verwendet wird. Bei der Verwendung von pamusb erfolgt die Anmeldung nur über den USB-Stick und ohne eine Passworteingabe. Wenn die Entschlüsselung der privaten Ordner (z.B. '''/home/Benutzer''', '''/home/Benutzer/desktop''') an eine Passworteingabe gebunden ist, findet Ubuntu diese Ordner nach einem Neustart mit pamusb nicht. == Manuell == Die aktuellste Version kann auch von der [http://www.pamusb.org/ Projektseite] {en} heruntergeladen werden. Nach dem Entpacken [5] kann das Programm kompiliert [4] werden. = Konfiguration = Um nun mit der Konfiguration fortzufahren, ist es notwendig, den USB-Stick einzustecken und ein Terminal [2] zu öffnen. == USB-Stick hinzufügen == Mit ``pamusb-conf`` kann nun der USB-Stick der '''/etc/pamusb.conf''' hinzugefügt werden. Dazu ist folgender Befehl notwendig: {{{#!vorlage Befehl sudo pamusb-conf --add-device MeinStick }}} Ausgabe: {{{ Please select the device you wish to add. * Using "Philips USB Flash Drive (1234567890123456)" (only option) Which volume would you like to use for storing data ? * Using "/dev/sdb1 (UUID: E8ED-3F91)" (only option) Name : MeinStick Vendor : Philips Model : USB Flash Drive Serial : 1234567890123456 UUID : E8ED-3F91 Save to /etc/pamusb.conf ? [Y/n] Y Done. }}} Die Frage, ob die Daten der '''/etc/pamusb.conf''' hinzugefügt werden sollen, bestätigt man mit [[Vorlage(Tasten, y)]]. Um weitere USB-Sticks der Konfiguration hinzuzufügen, ist der Befehl zu wiederholen. == Benutzer hinzufügen == Mit ``pamusb-conf`` kann nun der '''/etc/pamusb.conf''' ein Benutzer hinzugefügt werden. {{{#!vorlage Befehl sudo pamusb-conf --add-user benutzer }}} Ausgabe: {{{ Which device would you like to use for authentication ? * Using "MeinStick" (only option) User : benutzer Device : MeinStick Save to /etc/pamusb.conf ? [Y/n] Y Done. }}} Die Frage, ob der Benutzer der '''/etc/pamusb.conf''' hinzugefügt werden soll, bestätigt man mit [[Vorlage(Tasten, y)]]. Um weitere USB-Sticks der Konfiguration hinzuzufügen, ist der Befehl zu wiederholen. Um zu prüfen, ob alles richtig angelegt wurde, nutzt man den Befehl ``pamusb-check``, der die Authentifizierung simuliert. {{{#!vorlage Befehl pamusb-check benutzer}}} Ausgabe: {{{ * Authentication request for user "benutzer" (pamusb-check) * Device "MeinStick" is connected (good). * Performing one time pad verification... * Verification match, updating one time pads... * Access granted. }}} == Konfiguration der Authentifizierung == Um nun die Authentifizierung zu aktivieren, muss die Datei '''/etc/pam.d/common-auth''' angepasst werden. Dazu öffnet man die Datei mit Root-Rechten in einem Editor [3] und ändert den Inhalt der Datei von: {{{ auth [success=1 default=ignore] pam_unix.so nullok_secure }}} in: {{{ auth [success=1 default=ignore] pam_usb.so use_first_pass #auth [success=1 default=ignore] pam_unix.so nullok_secure auth requisite pam_unix.so nullok_secure }}} Die letzte Zeile stellt die Passwort-Abfrage als fallback ein, sodass auch ohne USB-Stick aber mit Passwort einen Anmeldung möglich ist. Ab jetzt ist eine Anmeldung am System nur noch mit dem Benutzer-Kennwort und dem USB-Stick möglich. Dies kann man in einem Terminal [2] testen: {{{#!vorlage Befehl sudo -i Password: root@bernie:~# exit }}} Die Datei '''/var/log/auth.log''' zeigt die korrekte Authentifizierung mit dem Kennwort und dem USB-Stick an. {{{#!vorlage Befehl tail -n 5 /var/log/auth.log}}} Ausgabe: {{{ Jul 15 20:45:44 ubuntu pam_usb[6732]: pam_usb v0.4.1 Jul 15 20:45:44 ubuntu pam_usb[6732]: Authentication request for user "benutzer" (sudo) Jul 15 20:45:44 ubuntu pam_usb[6732]: Device "MeinStick" is connected (good). Jul 15 20:45:44 ubuntu pam_usb[6732]: Access granted. Jul 15 20:45:48 ubuntu sudo: benutzer : TTY=pts/0 ; PWD=/ ; USER=root ; COMMAND=/bin/bash }}} {{{#!vorlage Warnung Soll kein Passwort mehr eingegeben werden bzw. die Authentifizierung nur über den USB-Stick erfolgen, sieht die Konfiguration folgendermaßen aus: {{{ auth [success=1 default=ignore] pam_usb.so #auth [success=1 default=ignore] pam_unix.so nullok_secure \}}} Beachte: Bei der passwortlosen Authentifikation steigt das Sicherheitsrisiko enorm, da jeder Prozess sudo-Rechte verwenden kann, solange der USB-Stick angestöpselt ist. Des Weiteren wird auch der [:GNOME_Schlüsselbund:] nicht automatisch entsperrt, weshalb man dies manuell tun muss, oder ein leeres Passwort setzen muss, damit keine Sperrung des Passwort-Safes erfolgt. }}} == pamusb-agent == Der ''pamusb-agent'' ermöglicht das automatische Ausführen von Befehlen. Damit ist es z.B. möglich, den Bildschirm durch das Entfernen des USB-Sticks zu sperren. Beispiel für das automatische Sperren des Bildschirms beim Entfernen des USB-Sticks: hierzu wird die '''/etc/pamusb.conf''' in der Sektion "`users`" angepasst. Diese ist mit Root-Rechten in einem Editor [3] zu öffnen. {{{#!vorlage Hinweis Bitte den Text von hier kopieren, da das im Programm enthaltene Beispiel nicht funktioniert. }}} {{{ MeinStick gnome-screensaver-command -l gnome-screensaver-command -d }}} Um nun den "`pamusb-agent`" auch unter GNOME nutzen zu können, muss dieser dem [:Autostart:] hinzugefügt werden. === Not removable device error === Es kann dazu kommen, dass alle checks ok sind, der Stick beim Einstecken und Ausführen von "`pamusb-agent`" aber einen Fehler zurückgibt. Als workaround kann man in '''/usr/bin/pamusb-conf''' die Zeilen {{{ if deviceProperties['storage.removable'] != 1: raise Exception, 'Not a removable device' }}} durch ein vorangestelltes `#` deaktivieren. === Fehlermeldung beim Ausführen von pamusb-agent === Es kann beim Ausführen von "`pamusb-agent`" zu folgendem Fehler kommen: {{{ Traceback (most recent call last): File "/usr/bin/pamusb-agent", line 30, in import xml.elementtree.ElementTree as et ImportError: No module named elementtree.ElementTree }}} Sollte dies der Fall sein, muss die Datei '''/usr/bin/pamusb-agent''' gefixt werden. Dazu öffnet man sie mit Root-Rechten in einem Editor [3] und sucht nach folgender Zeile (laut Fehlertext Zeile 30): {{{ import xml.elementtree.ElementTree as et }}} Diese ändert man in: {{{ import xml.etree.ElementTree as et }}} Anschließend den pamusb-agent normal starten. Weitere Einstellungen der '''/etc/pamusb.conf''' sind in der [http://pamusb.org/doc/configuration Dokumentation] {en} zu finden. {{{#!vorlage Warnung Um sich wieder __ohne__ USB-Stick am System anmelden zu können, entfernt man die Zeile: {{{ auth [success=1 default=ignore] pam_usb.so use_first_pass \}}} aus der Datei '''/etc/pam.d/common-auth'''. }}} = Links = * [http://pamusb.org/ Projektseite] {en} * [http://www.pamusb.org/doc/quickstart Quickstart] {en} - Kurzanleitung zur Einrichtung * [topic:pam-usb-funktioniert-nicht-mehr-nach-reboot:Diskussion] zu "Not removable device" # tag: Sicherheit, System, Hardware