Dateisystem verschlüsseln mit LUKS

Mit dm-crpyt kann man unter Linux Festplatten bzw. Dateisysteme verschlüsseln. LUKS (Linux Unified Key Setup) erweitert dm-crypt um einige Funktionen. LUKS ermöglicht zum Beispiel das Verwalten von mehreren Schlüsseln, sowie das automatische erkennen und einbinden von verschlüsselten Geräten ins Dateisystem. LUKS wird mit dem Tool cryptsetup eingerichtet.

Logical Volume verschlüsseln
10 GB grosses Logical Volume mit dem Namen seucre in der Volume Group rootvg anlegen:

lvcreate -n secure -L 100G rootvg

Logical Volume verschlüsseln (sicheres Passwort auswählen):

cryptsetup -c aes-xts-plain -y -s 512 luksFormat /dev/mapper/rootvg-secure

Verschlüsseltes Logical Volume öffnen (Passwort eingeben):

cryptsetup luksOpen /dev/mapper/rootvg-secure secure

Dateisystem anlegen:

mkfs.ext4 /dev/mapper/secure

Mountpoint erstellen:

mkdir /home/emanuel/secure

Filesystem mounten:

mount /dev/mapper/secure /home/emanuel/secure

Jetzt werden alle Dateien für den Benutzer transparent verschlüsselt.

Dateisystem aushängen:

umount /home/emanuel/secure

Verschlüsseltes Logical Volume schliessen (erst dann ist das Logical Volume wieder geschützt!!!):

cryptsetup luksClose /dev/mapper/secure

Verschlüsseltes Logical Volume verwenden
Folgende Schritte sind immer nötig um das Logical Volume verwenden zu können:

Filesystem einbinden:

cryptsetup luksOpen /dev/mapper/rootvg-secure secure
mount /dev/mapper/secure /home/emanuel/secure

Filesystem aushängen:

umount /home/emanuel/secure
cryptsetup luksClose /dev/mapper/secure

Automatisch mounten
Das verschlüsselte Dateisystem kann beim Booten automatisch gemountet werden. Man wird während dem Bootvorgang nach dem Passwort gefragt.

Label anlegen:

tune2fs -L secure /dev/mapper/secure

Datei /etc/crypttab bearbeiten:

vi /etc/crypttab
secure          /dev/mapper/rootvg-secure      ASK

Datei /etc/fstab bearbeiten:

vi /etc/fstab
/dev/mapper/secure /home/emanueL/secure ext4 defaults 0 1

Logical Volume über ein Skript mounten
Ich mounte mein verschlüsseltes Dateisystem lieber bei Gebrauch mit einem kleinen Skript:

#!/bin/bash
########################################################################
#
# securelv
# Mountet ein LUKS verschuesseltes Device
#
# Copyright 2011 Emanuel Duss
# Licensed under GNU General Public License
#
# 2011-03-14; Emanuel Duss; Erste Version
#
########################################################################

########################################################################
# Variabeln
MOUNTPATH="/home/emanuel/secure"
LV="/dev/mapper/rootvg-secure"
NAME="secure"

########################################################################
# Funktionen
usage () {
echo "Usage:
  $0 { mount | umount }"

}

########################################################################
# Main
case $1 in
  mount)
    cryptsetup luksOpen $LV $NAME
    mount /dev/mapper/secure $MOUNTPATH
    ;;
  umount)
    umount $MOUNTPATH
    cryptsetup luksClose /dev/mapper/$NAME
    ;;
  *)
    usage
    ;;
esac

#EOF

Weitere Aufgaben
Status vom verschlüsseltem Logical Volumes abfragen:

cryptsetup status secure

Weiteres Passwort hinzufügen:

cryptsetup luksAddKey /dev/mapper/rootvg-secure

Passwort entfernen:

cryptsetup luksDelKey /dev/mapper/rootvg-secure

Links für weitere Informationen

One thought on “Dateisystem verschlüsseln mit LUKS

  1. Super Tut, danke.
    Brainstorm allgemein:
    – eine direkt druckbare Version per Button erzeugen lassen
    —> best usability (auch für den DAU wie den, der aktuell kommentiert ^^ )

    Viele Grüße
    setName

    PS: Natürlich kann man es auch einfach in ein Office-Dok kopieren und es dann ausdrucken, eine sinnvolle (manuelle) Formatierung ist dann meist noch nötig. LG

Leave a Reply

Your email address will not be published. Required fields are marked *