Ubuntu 16.04 LTS verschlüsselt installieren

In der heutigen Zeit ist es evtl. Wichtig sein(e) Rechner zu verschlüsseln.
Hier die Schritt-für-Schritt Anleitung um Ubuntu 16.04 LTS (Long Time Support) verschlüsselt zu installieren. Es ist eine Neu Installation, daher alle vorhandenen Daten gehen Verloren (Backup.…).

1- Ubuntu 16.04 Live Session Starten

Image bekommt man hier : https://www.ubuntu.com/download/

Von USB oder DVD Ubuntu Booten, Sprache Auswählen und dann „Ubuntu ausprobieren“ wählen.

ubuntu_02

Texteingabe auf Deutsch ändern:

2- Festplatte mit „Nonsens“ füllen (Optional)

erschwert später einem Angreifer die Nutzdaten vom Rest zu unterscheiden.
Da gibt es mehrere Möglichkeiten, ich habe mich für folgende entschieden:

Terminal öffnen (Dash Suche)

ubuntu_06

$ sudo –i
# openssl enc -aes-256-ctr -pass pass:"$(dd if=/dev/urandom bs=128 count=1 2>/dev/null | base64)" -nosalt  /dev/sdX

/dev/sdX anpassen (sda, sdb, etc.…) bitte HDD auswählen zum Installieren.

ACHTUNG Alle vorhandenen Daten werden zerstört!

eine andere Methode wäre folgende, kann bei größeren Platten sehr lange dauern:

# dd if=/dev/urandom of=/dev/sdX bs=4096

3- Die HDD Partitionieren

Gparted starten (wieder Dash Suche)
wir nehmen an die Festplatte wäre /dev/sda (bitte anpassen), dann wie folgt aufteilen:

  • /dev/sda1 ext2 boot 250MB => wird NICHT verschlüsselt
  • /dev/sda2 swap swap 4GB => wird verschlüsselt
  • /dev/sda3 ext4 root Rest => wird verschlüsselt

4- Partitionen verschlüsseln:

# cryptsetup luksFormat --cipher twofish-xts-plain64 --key-size 512 --hash sha512 --iter-time 2000 /dev/sda2
# cryptsetup luksFormat --cipher twofish-xts-plain64 --key-size 512 --hash sha512 --iter-time 2000 /dev/sda3

ich habe mich für die Verschlüsselung mit twofisch entschieden, man kann auch andere Arten nehmen.
Hier ein sehr gutes Passwort vergeben, diese muss man immer beim Starten eingeben.

Wie gut der Rechner damit klar kommt, kann man folgendermaßen raus finden:

# cryptsetup benchmark

Hier gibt es Hinweise dazu : http://unix.stackexchange.com/questions/254017/how-to-interpret-cryptsetup-benchmark-results

5- Verschlüsselte Container öffnen

# cryptsetup luksOpen /dev/sda3 root
# cryptsetup luksOpen /dev/sda2 swap

6- Partitionen formatieren

# mkfs.ext4 /dev/mapper/root
# mkswap /dev/mapper/swap

7- Installation

Installer vom Desktop starten (Doppelklick)

ubuntu_07

wenn dieser gestartet ist, 2 mal „Weiter“, dann „etwas anderes“ wählen und weiter, jetzt werden die Partitionen gewählt, der Mountpoint festgelegt:

  • /dev/sda1 wählen, „Ändern“ klicken, ext2 und mountpoint (Einbindungspunkt) /boot wählen, „Partition formatieren“ NICHT auswählen
  • /dev/mapper/swap wählen, „Ändern“ klicken, swap wählen
  • /dev/mapper/root wählen, „Ändern“ klicken, ext4 und mountpoint (Einbindungspunkt) / wählen, „Partition formatieren“ NICHT auswählen

ubuntu_09

Jetzt Installieren klicken und ein Moment warten

WICHTIG, danach die Live Session nicht verlassen, also weiter Testen auswählen am Ende.

8- chroot Magic…

Wir brauchen wieder ein Root Terminal, um dann folgendes einzugeben:

# cd /mnt
# mkdir root
# mount /dev/mapper/root root
# mount /dev/sda1 root/boot

jetzt wechseln wir root und mounten noch ein paar Sachen:

# chroot root
# mount -t proc proc /proc
# mount -t sysfs sys /sys

ein 2.Terminal öffnen um die UUID der Partitionen raus zu finden:

$ Blkid

ubuntu_10

crypttab anlegen:

# nano /etc/crypttab

Die Datei sollte in etwa so aussehen:

root UUID=xxxxxxxxxxxxxxx none luks
swap UUID=xxxxxxxxxxxxxxx none luks,swap

falls man eine SSD verwendet und Trimm benutzen möchte (ist ein kleines Sicherheitsleck) muss man die erste Zeile so ändern :

root UUID=xxxxxxxxxxxxxxx none luks,discard

Die UUID natürlich einsetzen, die man im 2 Terminal findet, gut zu erkennen an TYPE=“crypto_LUKS“.

Speichern: CTRL + o enter

Schließen: CTRL + x

fstab anlegen:

# nano /etc/fstab

die Datei sollte in etwa so aussehen:

/dev/mapper/root /  ext4    errors=remount-ro   0   1
UUID=xxxxxx /boot   ext2    defaults            0   2
/dev/mapper/swap    none    swap sw             0   0

UUID von /boot nicht vergessen…

Speichern: CTRL + o enter

Schließen: CTRL + x

Fix Hibernate:

# nano /etc/initramfs-tools/conf.d/resume

folgender Eintrag so ändern:
RESUME=/dev/mapper/swap

ram Disk erstellen und chroot beenden

# update-initramfs –u
# exit

9- LUKS Header Backup

Wichtig diesen Schritt nicht überspringen, sonst kommt man nicht mehr rein falls etwas mit dem Header oder dem Schlüssel passiert:

# cryptsetup luksHeaderBackup /dev/sdXy --header-backup-file /root/partition_name.img

für alle verschlüsselten Partitionen machen und die *.img Files außerhalb dieser aufbewahren, z.Bsp. auf USB sichern.

Zurückspielen geht so:

# cryptsetup luksHeaderRestore /dev/sdXy --header-backup-file BACKUP-DATEI

Das war’s, rebooten, wenn alles ok war, wird nach dem Passwort gefragt (root und swap).
Ich habe noch eine Daten Partition auf einem ZFS Raid (auch verschlüsselt), diese öffnet sich automatisch mit einer Key Datei, das auf root liegt.

Have Fun.…

Advertisements
Dieser Beitrag wurde unter Allgemein veröffentlicht. Setze ein Lesezeichen auf den Permalink.

Kommentar verfassen

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden / Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden / Ändern )

Verbinde mit %s