Aus LinuxUser 08/2014

Praktikable Zwei-Faktor-Authentifizierung für Linux

© Dwight Smith,123RF

Doppeldecker

Mobile Geräte benötigen ein Plus an Sicherheit, sollen die darauf gespeicherten Daten nicht in unbefugte Hände gelangen. Deswegen sichern Sie den Zugang am besten mit einem zweiten Faktor in Form eines YubiKeys ab.

Bislang melden Sie sich als Benutzer nur mit der Kombination aus Nutzername und Passwort am System an. Daneben stehen weitere Schnittstellen zur Verfügung, etwa via Smartcard [1], SSH-Key [2] oder gegenüber einem LDAP-Server ([3],[4]). Dagegen hat sich das Anmeldung per Fingerabdruck [5], via GPG-Key oder Personalausweis [6] bislang noch nicht durchgesetzt.

Bei den meisten gängigen Verfahren beruht die Überprüfung Ihrer Identität auf nur einem einzigen Faktor, der Kombination aus Nutzername (Login) und Passwort beziehungsweise Schlüssel. Das genügt in vielen Fällen, nicht aber für die Sicherheit mobiler Geräte sowie sicherheitskritischer Zugänge. Insbesondere die verteilte Rechenpower verkürzt das Knacken von Passworten immer mehr, sodass ein schlichtes Verlängern des Passworts das Ganze nur etwas nach hinten schiebt.

Hier kann nur ein zweiter Faktor Abhilfe schaffen, der weitere Zugangsinformationen über einen zusätzlichen Kanal bereitstellt. Das Verfahren ähnelt der PIN/TAN-Nutzung, wie Sie es vom Onlinebanking her kennen. Als Authentifizierungstoken kommt hier der YubiKey des skandinavischen Herstellers Yubico [7] zum Einsatz, der bereits in unterschiedlichen Szenarien hervorragende Dienste leistete ([8], [9], [10], [11]).

Welches konkrete Modell Sie verwenden, spielt hier keine Rolle. Das Token generiert dynamische Einmalpassworte (One Time Password, OTP), welche das Phishing – also das Ausspähen und Abfangen von Zugangsdaten – sinnlos machen. Große Portale wie beispielsweise Google und Owncloud [12] unterstützen das Token als Authentifizierungsmethode seit Längerem.

Kasten: Einstieg in PAM

Als zentrales Authentifizierungssystem unter Linux dient PAM [23]. Es entscheidet darüber, ob Sie Zugang zum System erhalten oder nicht. PAM steht für Pluggable Authentication Modules und beschreibt sich selbst als „flexibler Mechanismus zur Authentifizierung von Benutzern“. Die verfügbaren Verfahren zur Authentifizierung stehen als separate Module bereit, die Sie nach Bedarf mit einem Dienst (Service) verbinden.

PAM gibt es nicht nur für Linux und Solaris, sondern auch als OpenPAM [24] für diverse BSD-Derivate sowie Mac OS X ab 10.6 „Snow Leopard“ [25]. Für Debian/Ubuntu heißen die entsprechenden Pakete libpam-modules, libpam-modules-bin, libpam-runtime und libpam0g. Der verwendete Mechanismus hat sich bislang bewährt. Er gilt als sicher, zuverlässig und flexibel.

Das machen sich auch die Anwendungen zunutze, die auf PAM aufbauen: Sie greifen auf die Module zurück, die Sie in der PAM-Konfiguration unter /etc/pam.d/ eintragen und aktivieren (Listing 1). So muss nicht jede Applikation die benötigten Mechanismen zur Authentifizierung nochmals neu entwickeln. PAM verteilt die Überprüfung auf verschiedene Dateien – im Prinzip eine Datei pro Programm, Werkzeug oder Dienst – und gibt Ihnen damit den Freiraum, deren Nutzung nach Bedarf zu justieren.

Listing 1

# ls /etc/pam.d
atd              common-session                 gdm-autologin  ppp
chfn             common-session-noninteractive  gdm-welcome    samba
chpasswd         cron                           login          sshd
chsh             cups                           newusers       su
common-account   gdm                            other          sudo
common-auth      gdm3                           passwd         xscreensaver
common-password  gdm3-autologin                 polkit-1
#

Zwei-Faktor-Authentifizierung

Der YubiKey folgt einem einfachen Prinzip: Die von Ihrem Token generierte Zeichenkette wird von einem Authentifizierungssystem auf Gültigkeit überprüft. Liefert dieses eine positive Rückmeldung, gilt die Zeichenkette als OTP für eine Anmeldung und die Authentifizierungsschritte somit als erfolgreich. Als Authentifizierungssystem existieren aktuell fünf Varianten.

Bei Variante 1, dem YubiCloud-Dienst des Herstellers Yubico, erfolgt die Abfrage via Internet als HTTP(S)-Request. Die lokale Basis dafür bildet das PAM-Modul libpam-yubico. Variante 2 nutzt ebenfalls dieses PAM-Modul, aber im Modus HMAC-SHA1 [13] zur lokalen Authentifizierung über ein kryptografisches Hash-Verfahren. Variante 3 nennt sich YubiHSM und entspricht Variante 1, kommt aber in Form zusätzlicher Hardware, die Sie über die USB-Schnittstelle an das (lokale) Authentifizierungssystem anstecken.

Variante 4 heißt YubiX, entspricht ebenfalls Variante 1, und kommt als vorkonfigurierte virtuelle Maschine, die bereits alle Komponenten zur Authentifizierung umfasst und somit als Teil Ihrer eigenen lokalen Infrastruktur [14] dienen kann. Variante 5 stellt das PAM-Modul YubiPAM [15], das Ihnen eine lokale Authentifizierung auf dem System ermöglicht und keine externen Dienste zur Überprüfung benötigt.

Die Varianten 1, 2, 4 und 5 lassen sich kostenfrei nutzen, die ersten drei beziehen Sie von der Webseite des Herstellers beziehungsweise über die Paketverwaltung des Systems. Variante 5 steht als Quellcode auf Github bereit. Für Variante 3 fallen hingegen Kosten von rund 650 Euro für die Crypto-Hardware an.

Da sich Variante 3 eher nicht für Endanwender rechnet und Variante 4 sich noch im Test befindet, betrachten wir nachfolgend nur die Varianten 1, 2 und 5. Die Einrichtung erfolgte auf Debian „Wheezy“. Für Fedora gibt es eine schon etwas ältere, ausführliche Beschreibung ([16],[17]), die uns plausibel erscheint.

Variante 1

Das PAM-Modul libpam-yubico liegt als separates Paket in den Repositories der Distributionen. Dieses Modul pflegt der Hersteller Yubico eigenständig. Es prüft die Gültigkeit des erzeugten OTPs über eine Kommunikation mit der YubiCloud, also dem Yubico-eigenen cloudbasierten Validierungsdienst. Das PAM-Modul und die YubiKeys sind im Auslieferungszustand so konfiguriert, dass sie mit diesem Dienst kommunizieren. Das vereinfacht die Benutzung erheblich und führt sehr schnell zu einem Erfolgserlebnis und höherer Sicherheit.

Bitte beachten Sie aber, dass die vorgestellte Einrichtung und nachfolgende Nutzung im Alltag eine stabile Internetverbindung benötigt. Über diesen Kanal prüft der Yubico-Authentifizierungsserver die Validität des vom YubiKey generierten OTPs als zweiten Faktor. Führen Sie die vorgestellten Schritte ohne bestehende Internet-Verbindung aus, können Sie sich nicht auf dem System anmelden. Halten Sie daher während der Konfiguration eine zusätzliche Root-Shell offen, um die Einstellungen im Bedarfsfall zurücksetzen zu können, falls bei den Experimenten etwas schiefgeht.

DIESEN ARTIKEL ALS PDF KAUFEN
EXPRESS-KAUF ALS PDFUmfang: 7 HeftseitenPreis €0,99
(inkl. 19% MwSt.)
KAUFEN
LinuxUser 08/2014 KAUFEN
EINZELNE AUSGABE Print-Ausgaben Digitale Ausgaben
ABONNEMENTS Print-Abos Digitales Abo
TABLET & SMARTPHONE APPS
Deutschland

Hinterlasse einen Kommentar

  E-Mail Benachrichtigung  
Benachrichtige mich zu: