Jak wstępnie szyfrować tylko partycję root?


13

Mam 3 partycje: EFI ( /boot/efi), boot ( /boot) i root ( /). Chcę po prostu zaszyfrować /. Mogę to zrobić ręcznie za pomocą instalatora, ale chcę to wstępnie zaprogramować.

Jak to zdefiniować? Mój (niezaszyfrowany) przepis wygląda mniej więcej tak: Jest to coś w rodzaju pomieszania sugestii dla partycji systemowych EFI, które znalazłem (nie znalazłem jasnego przewodnika).

boot-root ::
  100 100 100 fat32
    $primary
    $iflabel{ gpt }
    $reusemethod( }
    use_filesystem{ } filesystem{ vfat }
    method{ efi } format{ }
    mountpoint{ /boot/efi }
  .
  300 300 300 ext4
    use_filesystem{ } filesystem{ ext4 }
    method{ format } format{ }
    mountpoint{ /boot }
  .
  100% 3000 100% ext4
    use_filesystem{ } filesystem{ ext4 }
    method{ format } format{ }
    mountpoint{ / }
  .

Jak mogę sda3stać się fizyczną partycją do szyfrowania LUKS, a następnie mieć na niej system plików?

AKTUALIZACJA:

Odkryłem, że mogę ustawić partycję jako kryptograficzną, jak poniżej, ale nadal występują 3 problemy:

  1. Nadal muszę utworzyć i aktywować zaszyfrowane woluminy na wybranej partycji
  2. Nadal muszę ustawić poprawny system plików ext4 na zaszyfrowanym woluminie po utworzeniu i aktywacji
  3. Przepis nie wybiera typu szyfrowania, dm-cryptktóry jest wymagany do utworzenia i aktywacji zaszyfrowanych woluminów.

Wciąż mocno się zmaga

boot-root ::
  100 100 100 fat32
    $primary
    $iflabel{ gpt }
    $reusemethod( }
    use_filesystem{ } filesystem{ vfat }
    method{ efi } format{ }
    mountpoint{ /boot/efi }
  .
  300 300 300 ext4
    use_filesystem{ } filesystem{ ext4 }
    method{ format } format{ }
    mountpoint{ /boot }
  .
  100% 3000 100% ext4
    method{ crypto } format{ }
  .

FYI, etykiety podoba sda, sdb, sdcitp nie zawsze te same litery (a, b, c) pomiędzy butami (kopalnia przełączyć każdym rozruchu)
— Xen2050

2
@ Xen2050 prawo jesteś, UUIDlub PARTUUIDlub LABELlub PARTLABELsą znacznie lepsze. W moim przypadku uruchamiam obraz do sformatowania, więc jest tylko jeden dysk. Tak czy inaczej, jak skonfigurować go do szyfrowania pojedynczej partycji? Mogę to zrobić interaktywnie, ale potrzebuję tego wcześniej.
— rów

Hmm, może gdzieś się dostaję, ale więcej pytań. Wyśle inne q.
— roszenie

@deitch - czy jest to konfiguracja partycji serwera, klient czy tylko przykład partycji pulpitu? Te 3 partycje to za mało dla twojej intencji - brakuje / swap i / home - więc musisz jakoś skonfigurować rozszerzoną część dysku twardego z partycjami logicznymi - zwykle partycje zezwalają tylko na 4, ale rozszerzone z partycjami logicznymi pozwalają Maksymalnie 4 razy 63 partycje (a GPT pozwala na znacznie więcej)?! - unix.stackexchange.com/questions/33555/… - w odniesieniu do partycji master i slave.
— dschinn1001

@ dschinn1001 faktycznie jest szablonem dla bezpiecznego serwera. Podstawowy system operacyjny znajduje się na dysku wymiennym. Dane użytkownika i wymiany znajdują się na dysku wewnętrznym, który usystematyzowana usługa odpowiednio znajduje i montuje. Ale ignorując to ... jak mogę skonfigurować root do szyfrowania bez LVM?
— roszenie

Odpowiedzi:


1

Najpierw otwórz terminal główny:

sudo -i

Następnie wypełnij partycję, która powinna być zaszyfrowana, losowymi danymi za pomocą następującego polecenia:

openssl enc -aes-256-ctr -pass pass:"$(dd if=/dev/urandom bs=128 count=1 2>/dev/null | base64)" -nosalt < /dev/zero > /dev/sdxy

Musisz zastąpić sdxypartycję, która zostanie zaszyfrowana. Następnie wpisz

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

do szyfrowania partycji sdxy. Otwórz wolumin i nazwij go root:

cryptsetup luksOpen /dev/sdxy root

Użyj tego polecenia, aby utworzyć w nim system plików ext4:

mkfs.ext4 /dev/mapper/root

Następnie możesz uruchomić instalatora. Wybierz „Coś innego”, gdy zostaniesz zapytany, co chcesz zrobić. Następnie wybierz punkty montowania dla wszystkich niezaszyfrowanych partycji. W przypadku rootpartycji wybierz /dev/mapper/rootopcję „Zmień”. Następnie wybierz ext4typ systemu plików i ustaw punkt montowania na /. Następnie kliknij „Zainstaluj teraz” i zainstaluj Ubuntu normalnie.

Po zakończeniu instalacji kliknij „Kontynuuj testowanie”. Otwórz terminal i wpisz:

sudo -i
cd /mnt
mkdir root
mount /dev/mapper/root root
mount /dev/sdyz root/boot

sdyznależy zastąpić bootpartycją. Następnie wpisz:

chroot root
mount -t proc proc /proc
mount -t sysfs sys /sys
nano /etc/crypttab

Otwórz drugi terminal i wpisz sudo blkid. Znajdź UUID dla root(tego, który mówi crypto_luksna końcu) i wklej go do /etc/crypttab. Plik /etc/crypttabpowinien wyglądać mniej więcej tak:

root UUID=d68911dd-172a-4608-86d4-084eb72f409c none luks

Zamknij plik z Ctrl+ x, ya Enter. Wpisz nano /etc/fstabterminal i sprawdź, czy wszystko wygląda poprawnie (np. UUID).

W końcu zamknij środowisko chroot i wpisz:

cryptsetup luksHeaderBackup /dev/sdxy --header-backup-file /root/root.img

Spowoduje to umieszczenie obrazu nagłówka zaszyfrowanej partycji w folderze /rooti nadanie mu nazwy root.img. Następnie przenieś obraz na dysk zewnętrzny (w przypadku zapomnienia hasła). Teraz możesz ponownie uruchomić system w nowo zainstalowanym systemie Ubuntu.

Źródło: http://thesimplecomputer.info/full-disk-encryption-with-ubuntu


Witamy w Ask Ubuntu! Chociaż teoretycznie może to odpowiedzieć na pytanie, lepiej byłoby zawrzeć tutaj istotne części odpowiedzi i podać odnośnik.
— Karl Richter,

@ Earl sugerujesz wcześniej zbudować partycję w środowisku chroot (lub w kontenerach), a następnie włożyć ją do instalatora?
— deitch

Jak miałbym pracować z tym siewnikiem?
— deitch

Nie wiem, ale jest to przynajmniej rozwiązanie, aby utworzyć rootpartycję zaszyfrowaną LUKS bez LVM.
— Earl Nick
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.