Wem eine Vollverschlüsselung zu viel des Guten ist, der kann auch lediglich sein $HOME Verzeichnis verschlüsseln. Ich beschreibe es hier einmal für Arch Linux, sollte aber generell für alle Linux Distributionen gelten. Als Vorteil sehe ich beispielsweise, dass wir über SSH unseren Rechner nach einem Reboot erreichen können, es gibt keine Passwortabfrage beim Booten.
Punkt 1: eCryptFS Pakete installieren
pacman -S keyutils ecryptfs-utils pam_mount
Punkt 2: Gruppe anlegen
groupadd ecryptfs
Punkt 3: Benutzer der Gruppe hinzufügen
Nun fügen wir unseren Benutzer der neu angelegten Gruppe hinzu.
usermod -aG ecryptfs BENUTZER
Punkt 4: Modul laden
Das Modul wird später automatisch geladen, aber nun laden wir es einmal manuell.
modprobe ecryptfs
Punkt 5: PAM Konfiguration vornehmen
Zuerst editieren wir die Datei /etc/pam.d/login, die hervorgehobenen Zeilen müssen an der korrekten Stelle einfügt werden.
#%PAM-1.0
auth required pam_securetty.so
auth requisite pam_nologin.so
auth required pam_unix.so nullok
auth optional pam_ecryptfs.so unwrap
auth required pam_tally.so onerr=succeed file=/var/log/faillog
# use this to lockout accounts for 10 minutes after 3 failed attempts
#auth required pam_tally.so deny=2 unlock_time=600 onerr=succeed file=/var/log/faillog
account required pam_access.so
account required pam_time.so
account required pam_unix.so
#password required pam_cracklib.so difok=2 minlen=8 dcredit=2 ocredit=2 retry=3
password optional pam_ecryptfs.so
#password required pam_unix.so md5 shadow use_authtok
session required pam_unix.so
session optional pam_ecryptfs.so unwrap
session required pam_env.so
session required pam_motd.so
session required pam_limits.so
session optional pam_mail.so dir=/var/spool/mail standard
session optional pam_lastlog.so
session optional pam_loginuid.so
-session optional pam_ck_connector.so nox11
Für GDM bearbeiten wir /etc/pam.d/gdm-password, andere Display Manager bitte ähnlich behandeln.
#%PAM-1.0
auth requisite pam_nologin.so
auth required pam_env.so
auth requisite pam_unix.so nullok
auth optional pam_ecryptfs.so unwrap
auth optional pam_gnome_keyring.so
auth sufficient pam_succeed_if.so uid >= 1000 quiet
auth required pam_deny.so
account required pam_unix.so
password required pam_unix.so
password optional pam_ecryptfs.so
session required pam_loginuid.so
-session optional pam_systemd.so
session optional pam_keyinit.so force revoke
session required pam_limits.so
session required pam_unix.so
session optional pam_ecryptfs.so unwrap
session optional pam_gnome_keyring.so auto_start
Damit wir unser $HOME Verzeichnis auch über SSH entschlüsseln können, fügen wir die drei Zeilen ebenfalls in der Datei /etc/pam.d/sshd ein.
#%PAM-1.0
#auth required pam_securetty.so #Disable remote root
auth required pam_unix.so
auth optional pam_ecryptfs.so unwrap
auth required pam_env.so
account required pam_nologin.so
account required pam_unix.so
account required pam_time.so
password required pam_unix.so
password optional pam_ecryptfs.so
session required pam_unix_session.so
session optional pam_ecryptfs.so unwrap
session required pam_limits.so
-session optional pam_ck_connector.so nox11
Punkt 6: Dein $HOME Verzeichnis verschlüsseln
Mit einem Befehl kann der komplette $HOME Inhalt verschlüsselt werden, ohne das Daten verloren gehen.
Bitte beachte nach der Migration die Bildschirmanweisung!
ecryptfs-migrate-home -u BENUTZER
Punkt 7: Login prüfen und altes $HOME Verzeichnis löschen
Sobald der Login und die damit verbundene Entschlüsselung deines $HOME Verzeichnis funktioniert, kann der Backup Ordner /home/BENUTZER.XXXXX gelöscht werden.
Nun habt ihr ein verschlüsseltes Heimatverzeichnis wie es auch unter Ubuntu üblich ist.
Der Vorteil dieser Verschlüsselung ist ganz klar die Mischung normaler $HOME Ordner mit verschlüsselten und nach einem Logout sind deine Daten sicher.
Falls der Swap Speicher verschlüsselt werden soll, schaut euch ecryptfs-setup-swap an.
-Dominion