Mit PAM-Mount beim Anmelden verschlüsselte Partitionen einhängen

© sxc.hu

Generalschlüssel

Verschlüsseln sichert Daten auf mobilen Datenträgern. Mit PAM-Mount binden Sie solche Laufwerke komfortabel ein, denn das Programm entsperrt beim Anmelden am System gleichzeitig den externen Datenspeicher.

README

Das Modul PAM-Mount für Linux-PAM hilft dabei, verschlüsselte Dateisysteme komfortabel zu mounten. Dieser Artikel zeigt, wie Sie eine entsprechende Partition von einer mobilen Festplatte beim Anmelden ans System mit nur einmaliger Eingabe des Passwortes entschlüsseln und einbinden.

Manche Verschlüsselungsysteme fragen zum Entschlüsseln ein Passwort ab. Allerdings trägt gerade die gehäufte Eingabe von Passwörtern dazu bei, dass diese Methoden als unkomfortabel gelten und nicht zum Einsatz kommen. Das gilt besonders, wenn es sich um viele verschiedene Passwörter handelt, wie für Mailkonto, Arbeitsplatz-PC und Notebook sowie die verschlüsselte Partition auf der mobilen Festplatte.

Als Kompromiss aus Sicherheit und Komfort bietet es sich an, bei einer klar definierten Umgebung das gleiche Passwort für zwei verschiedene Anmeldevorgänge zu nutzen – zum Beispiel das Anmelden am System sowie als Passphrase zum Entschlüsseln einer Partition oder eines Verzeichnisses. Genau diese Möglichkeit bietet das bereits seit 1995 existente Linux-PAM [1]. Nahezu alle Distributionen enthalten diese Software.

Modul-Baukasten

Linux-PAM funktioniert nach einem einfachen Prinzip: Meldet Sie sich am System an, arbeitet PAM die einzelnen Module wie Glieder einer Kette in der Reihenfolge ab, wie es sie in einer entsprechenden Konfigurationsdatei unterhalb von »/etc/pam.d« findet. Bei Ubuntu liegen dort bereits Dateien wie beispielsweise »gdm« oder »kdm« , die einen Login-Vorgang beschreiben. Sie steuern das grafische Anmelden für Gnome und KDE.

Des weiteren finden sich dort »login« für die Terminals und »sshd« für das Anmelden von entfernten Rechnern. Linux-PAM unterteilt die Anmeldeprozedur in vier Schritte. Jeder Schritt hat eine eigene Konfiguration, die mit »common-« beginnt, auf das ein Bezeichner für den jeweiligen Abschnitt (siehe Tabelle 1) folgt.

Tabelle 1

Aufgabenteilung

Bezeichner

Funktion

»account«

überprüft, ob der Benutzer berechtigt ist sich anzumelden – abhängig von beispielsweise der Tageszeit oder der Systemlast

»auth«

authentifiziert den Benutzer und erzeugt die notwendigen Daten wie die User- und die Group-ID

»password«

überprüft das Benutzerpasswort

»session«

Aufgaben, die PAM am Ende der Anmeldung abarbeitet (Beispiel: Mounten von Verzeichnissen)

Die Programmierschnittstelle von Linux-PAM ermöglicht es, die Module den jeweiligen Anforderungen anzupassen. Das bereits im PAM-Paket enthaltene Modul »pam_cracklib.so« findet sich in der Konfiguration »common-password« und definiert, wieviele Anmeldeversuche erlaubt sind, wie lang das Passwort sein muss und welcher Komplexität es entsprechen soll. Näheres zu einzelnen Beispiel-Modulen finden Sie in Tabelle 2 und in den jeweiligen Manpages.

Tabelle 2

Beispielmodule

Modul

Aufgabe

»pam_unix.so«

prüft den Benutzer gegen die Datei »/etc/passwd« .

»pam_nologin«

existiert die Datei »/etc/nologin« , gibt PAM den Inhalt der Datei aus und erlaubt ausschließlich root das Anmelden.

»pam_env.so«

setzt und erlaubt das Setzen von Umgebungsvariablen.

»pam_limits.so«

erlaubt es, für Benutzer und Gruppen bestimmte Maximalwerte in Bezug auf die Systemlast in der Datei »/etc/security/limits.conf« zu definieren (Beispiel: Anzahl der Prozesse für einen Benutzer oder Anzahl der offenen Dateien).

PAM-Mount

PAM-Mount [2] gehört zu den Spezialisten unter den Modulen für Linux-PAM. Das aus einem freien Projekt entwickelte Modul ermöglicht es, verschiedene Dateisysteme automatisch beim Anmelden einzuhängen. Dabei dürfen auch Netzwerkprotokolle wie SMB/CIFS oder NFS zum Einsatz kommen. Darüber hinaus unterstützt PAM-Mount alle gängigen lokalen Dateisysteme, solche im Userspace mit FUSE [3] und verschlüsselte mit DM-Crypt/LUKS [4] oder EncFS [5] via FUSE.

Da die Konfiguration etwas mehr umfasst, als nur Kommandozeilenoptionen an ein Skript in der PAM-Konfiguration zu übergeben, hält PAM-Mount eine eigene Konfigurationsdatei parat. Die Arbeit mit dieser »/etc/security/pam_mount.conf.xml« erscheint zunächst gewöhnungsbedürftig, da es sich um eine XML-Datei handelt. Hatten Sie aber bereits einmal mit HTML-Dateien zu tun, dürfte Ihnen auch der Umgang mit XML keine Probleme bereiten.

Die Installation von PAM-Mount auf erledigen Sie unter den gängigen Distributionen bequem per Paketmanager. Auf Debian-basierten Systemen genügt ein schlichtes »sudo apt-get install libpam-mount« im Terminal.

Danach schalten Sie als erstes in der Konfigurationsdatei den Debug-Modus ein. Das hilft bei ersten Tests, da der Modus mögliche Probleme deutlich beschreibt. Haben Sie eine funktionierende Konfiguration, deaktivieren Sie den Debug-Modus wieder, in dem Sie das Attribute »enable« auf »0« zurücksetzen. In »/etc/security/pam_mount.conf.xml« sieht das Einschalten des Debug-Modus folgendermaßen aus:

<debug enable="1" />

Um beim Anmeldevorgang gleichzeitig die Ausgabe des Debug-Modus sehen zu können, müssen Sie die Datei »/etc/pam.d/login« für PAM-Mount vorbereiten, indem Sie die Datei um die Zeile »@include common-pammount« erweitern. Beim grafischem Login erscheint die Ausgabe allerdings nur in »/var/log/auth.log« . Das macht erste Tests mit dem Modul äußerst umständlich. Einfacher geht es, wenn Sie mit [Strg]+[Alt]+[F3] zu einem Terminal wechseln und sich dort anmelden.

Es empfiehlt sich auch, ein Terminal mit einer Benutzer-Session offen zu halten, die es erlaubt, mit Sudo zu arbeiten. Sollte sich ein Fehler in die Konfiguration einschleichen, funktioniert unter Umständen das gesamte Anmelden nicht mehr. Da hilft dann nur noch eine Rescue-CD weiter, um Linux-PAM wieder in den Ausgangszustand zu versetzen.

Mit einer simplem Anweisung in der Konfigurationsdatei PAM-Mount erlauben Sie benutzereigene Konfigurationen im Home-Verzeichnis. Dazu kommentieren Sie folgende Zeile aus:

<!--
<luserconf name=".pam_mount.conf↩
.xml" />
-->

Als Kommentarzeichen fungieren dabei, wie bei HTML, das führende »<!--« sowie »-->« als Abschluss. Haben Sie diese entfernt, darf jeder Benutzer im System eine eigene Konfigurationsdatei in der Datei »~/.pam_mount.conf.xml« in seinem Home-Verzeichnis erstellen. Diese liest das Modul beim Anmelden.

Die anderen Einstellungen in der Konfigurationsdatei beschreiben Befehle zum Einhängen verschiedener Dateisysteme, die Sie in aller Regel nicht benötigen. Möchten Sie trotzdem Hand anlegen, helfen Ihnen die ausführlichen Kommentare und Beispiele in der Datei bei Schreiben der gewünschten Regel. Eine Manpage existiert ebenfalls.

Ähnliche Artikel

comments powered by Disqus

Artikel der Woche

Support-Ende von SMBv1

Mit dem aktuellen Update für Windows 10 und Windows Server 2016 steht eine Änderung ins Haus, die gerade für Benutzer älterer Linux-Distributionen große Auswirkungen hat. Nachdem Microsoft es über viele Jahre schon angekündigt hat, entfernt der Konzern mit dem aktuellen Update-Release den Support für das SMB-Protokoll 1. (mehr)
Einmal pro Woche aktuelle News, kostenlose Artikel und nützliche ADMIN-Tipps.
Ich habe die Datenschutzerklärung gelesen und bin einverstanden.

Linux-Backup

Welche Backup-Lösung setzen Sie für Linux im professionellen Umfeld ein?

  • keine
  • eigene Scripts
  • rsnapshot
  • rdiff-backup
  • Bacula
  • Bareos
  • Borg
  • Duplicity
  • Amanda
  • Burp
  • Clonezilla
  • Acronis
  • Arkeia
  • SEP sesam
  • Veeam
  • Redo Backup
  • Relax-and-Recover
  • andere kommerzielle Software
  • andere Open-Source-Software

Google+

Ausgabe /2017

Microsite