Instalacja na zaszyfrowanej partycji cryptroot

Uwagi: Istnieje kilka zastrzeżeń co do stosowania tej instrukcji w celu szyfrowania partycji z głównym katalogiem (root) lub partycji z danymi. Są nimi:

Przykłady szyfrowania:

Szyfrowanie w grupie woluminu LVM

Ten przykład stosuje szyfrwewnątrz woluminu LVM dla umożliwienia przyzwolenia na rozdział kartoteki home od / oraz posiadanie partycji wymiany (swap) bez konieczności posiadania wielu haseł i ma zastosowanie do aptosid-2010-03-apate i późniejszych.

Przed uruchomieniem instalatora trzeba przygotować systemy plików, które będą używane przy instalacji. Podstawowe wskazówki partycjonowania grup wolumenów LVM, znajdziesz w Menedżer Woluminów Logicznych - LVM partycjonowanie.

Potrzebna ci będzie co najmniej niezaszyfrowany system plików /boot i zaszyfrowany główny system plików / a także utworzenie zaszyfrowananych systemów plików /home i swap.

  1. Jeśli nie planujesz użyć istniejącego wolumenu grup lvm, utwórz zwyczajny wolumen grup lvm. Ten przykład zakłada, że wolumen grupy nazwany vg będzie zawierał system plików boot i zaszyfrowane dane.
  2. Bedziesz potrzebował logiczny wolumen dla /boot i zaszyfrowanych danych, dlatego użyj lvcreate aby utworzyć wolumeny logiczne w wolumenie grup vg z żądaną wielkością:
    lvcreate -n boot --size 250m vg
    lvcreate -n crypt --size 300g vg
    
    Tutaj zostały nazwane wolumeny logiczne boot i crypt z przydzielonymi odpowiednio 250Mb i 300Gb.
  3. Utworzenie systemu plików dla /boot będzie dostepne w instalatorze:
    mkfs.ext4 /dev/mapper/vg-boot
    
  4. Użyj cryptsetup aby zaszyfrować vg-crypt przy użyciu szybszej opcji xts posiadającej najwyższej mocy klucz długości 512 bitów a następnie owtórz ją. Zostanie dwukrotnie zadane pytanie o hasło, aby je ustawić, a trzeci raz dla otwarcia. Otwórz ją przy pomocy domyślnych opcji startowych cryptopts wskazując nazwę gałęzi cryptroot:
    cryptsetup --verify-passphrase --cipher aes-xts-plain:sha512 luksFormat /dev/mapper/vg-crypt
    
    cryptsetup luksOpen /dev/mapper/vg-crypt cryptroot
    
  5. Teraz użyj lvm wewnątrz zaszyfrowanego urządzenia aby utworzyć drugi wolumen grupy, który będzie używany dla urzadzeń /swap i /home. Uzyj pvcreate aby cryptroot uczynić wolumenem fizycznym, a następnie użyj vgcreate aby utworzyć kolejny wolumen grupy, nazwany tutaj cryptvg:
    pvcreate /dev/mapper/cryptroot
    vgcreate cryptvg /dev/mapper/cryptroot
    
  6. Nastepnie użyj lvcreate dla nowo zaszyfrowanego wolumenu grup cryptvg aby utworzyć wolumeny logiczne / , /swap i /home o potrzebnych wielkościach:
    lvcreate -n swap --size 2g cryptvg
    lvcreate -n root --size 40g cryptvg
    lvcreate -n home --size 80g cryptvg
    
    Oto zostały nazwane wolumeny logiczne swap, root i home i ustanowione odpowiednio jako 2Gb, 40Gb i 80Gb.
  7. Utwórz systemy plików dla cryptvg-swap, cryptvg-root i cryptvg-home tak aby dostępne w instalatorze:
    mkswap /dev/mapper/cryptvg-swap
    mkfs.ext4 /dev/mapper/cryptvg-root
    mkfs.ext4 /dev/mapper/cryptvg-home
    
  8. W tym momencie istnieje gotowość aby uruchomić instalator z użyciem:
    vg-boot dla /boot,
    cryptvg-root dla /,
    cryptvg-home dla /home,
    i cryptvg-swap dla swap co powinno być automatycznie rozpoznane.

Instalację kończymy linią komendy jądra z załączeniem następujących opcji:

root=/dev/mapper/cryptvg-root cryptopts=source=/dev/mapper/vg-crypt,target=cryptroot,lvm=cryptvg-root

Teraz masz crypt i boot pod wolumenem grup lvm - vg oraz root, home i swap wewnątrz wolumenu grup lvm - vgcrypt, który jest zaszyfrowanym urządzeniem wewnętrznie zabezpieczonym hasłem.

cryptsetup luksOpen /dev/mapper/cryptvg-root cryptvg
vgchange -a y

Uwagi co do szyfrowania dla tradycyjnych metod partycjonowania

Najpierw zdecyduj się jakiego chcesz układu dysku. Będziesz potrzebował co najmniej 2 partycje, normalną partycję dla /boot i jedną dla danych zaszyfrowanych.

Zakładając, że będziesz potrzebował partycji danych (która także powinna być zaszyfrowana) potrzebna będzie trzecia partycja i potrzeba oddzielnego wprowadzenia hasła dla niej (swap) podczas startu systemu (dlatego pojawi się podwójne żądanie wprowadzenia hasła).

Możliwe jest stosowanie kluczy dla partycji wymiany (swap) od wewnątrz szyfrowanego systemu z tradycyjnym partycjonowaniem, jednak nie będziesz mógł wstrzymać systemu (suspend) na dysku. Ze względu na te problemy, lepszym rozwiązaniem na dłuższą metę jest użycie woluminów LVM z w pełni szyfrowanymi partycjami i kluczami.

Podstawowe założenia:

Teraz, gdy już zostało wykonane partycjonowanie, należy przygotować szyfrowane partycje tak, by zostały one rozpoznane przez instalatora.

Jeśli był używany program do partycjonowania z GUI, należy go zamknąć i otworzyć terminal, ponieważ polecenia szyfrowania muszą być wykonane z linii poleceń.

Partycja /boot

Utwórz na partycji /boot system plików ext4, jeśli to nie zostało już zrobione:

/sbin/mkfs.ext4 /dev/sda1
Zaszyfrowana partycja swap

Dla zaszyfrowanej partycji swap musisz najpierw sformatować i otworzyć urządzenie w trybie raw, /dev/sda2, jako urządzenie zaszyfrowane, podobnie jak urządzenie vg-crypt powyżej, lecz otwierając je pod inną nazwą - swap.

  1. cryptsetup --verify-passphrase --cipher aes-xts-plain:sha512 luksFormat /dev/sda2
    
  2. cryptsetup luksOpen /dev/sda2 swap
    
  3. echo "swap UUID=$(blkid -o value -s UUID /dev/sda2) none luks" >> /etc/crypttab
    

Dokonaj formatu utworzonego /dev/mapper/swap tak, aby został rozpoznany przez instalatora:

/sbin/mkswap /dev/mapper/swap
Zaszyfrowana partycja /

Dla zaszyfrowanej partycji / musisz najpierw sformatować i otworzyć urządzenie w trybie raw, /dev/sda3, jako urządzenie zaszyfrowane, podobnie jak urządzenie vg-crypt powyżej.

cryptsetup --verify-passphrase --cipher aes-xts-plain:sha512 luksFormat /dev/sda3
cryptsetup luksOpen /dev/sda3 cryptroot

Dokonaj formatu utworzonego /dev/mapper/cryptroot tak, aby został rozpoznany przez instalatora:

/sbin/mkfs.ext4 /dev/mapper/cryptroot

Uruchomienie instalatora

Teraz jesteś gotowy do uruchomienia instalatora, gdzie powinieneś użyć:
sda1 dla /boot,
cryptroot dla / oraz /home
swap powinien zostać rozpoznany automatycznie.

Instalacja powinna zakończyć się linią poleceń jądra, z następującymi opcjami (z użyciem twojego UUID):

root=/dev/mapper/cryptroot cryptopts=source=UUID=12345678-1234-1234-1234-1234567890AB,target=cryptroot

Teraz masz /boot na zwykłej partycji, zaszyfrowaną hasłem partycję wymiany (swap) oraz zaszyfrowane root i /home.

Źródła i zasoby

Wymagana literatura:

man cryptsetup

LUKS.

Redhat and Fedora .

Protect Your Stuff With Encrypted Linux Partitions.

KVM how to use encrypted images.

aptosid wiki.

Page last revised 06/09/2011 0920 UTC