Szyfrowanie dysku w FreeBSD

Szyfrowanie:

Osobiście od początku kiedy szyfruję dyski pod FreeBSD używam GELI i dalszy opis będzie obejmował tylko ten sposób. Póki co nie szyfruję dysku systemowego, więc również póki co na temat tego szczególnego przypadku nic tu nie można poczytać. Po tych kilku słowach wstępu zaczynamy. Na początek ładujemy odpowiedni moduł kernela:

# kldload geom_eli

Jeżeli nam nie przeszkadza brak stuprocentowej kontroli nad procesem szyfrowania i deszyfrowania, a właściwie nad sposobem przechowywania kluczy, to włączamy wsparcie sprzętowe (oczywiście o ile nasz procesor je wspiera):

# kldload aesni

Na początek generujemy klucz szyfrujący:

# dd if=/dev/random of=/root/diskXX.key bs=64 count=1

A następnie inicjalizujemy proces szyfrowania:

geli init -K /root/diskNN.key -s 4096 /dev/adaNN
Enter new passphrase:
Reenter new passphrase:

Po dwukrotnym wpisaniu hasła pojawia się komunikat:

Metadata backup for provider /dev/adaNN can be found in /var/backups/adaNN.eli
and can be restored with the following command:

        # geli restore /var/backups/adaNN.eli /dev/adaNN

Użytkowanie:

Zanim skorzystamy z szyfrowanego dysku trzeba załadować wspomniane wcześnie moduły. Można to zrobić jak podano wyżej za pomocą kldload albo w pliku /boot/loader.conf:

geom_eli_load="YES"
aesni_load="YES"

Kiedy moduły są załadowane można podpiąć szyfrowany dysk do systemu:

# geli attach -k /root/adaNN.key /dev/adaNN
Enter passphrase:

Po poprawnym wpisaniu hasła w systemie pojawia się nowe urządzenia, przykładowo:

# ls -al /dev | grep ada0
crw-r-----   1 root  operator  0x77 Nov 17 19:21 ada0
crw-r-----   1 root  operator  0x7c Nov 17 19:53 ada0.eli

Urządzenie /dev/ada0 to dysk fizyczny, którego już nie będziemy używali w systemie. Dane na nim są zaszyfrowane. Urządzenie, na którym będziemy operowali to /dev/ada0.eli, którego używamy jak wcześniej dowolnego dysku. Można je podzielić na partycje czy stworzyć bezpośrednio system plików. Można też podłączyć do puli ZFSa:

# zpool status work
  pool: work
 state: ONLINE
config:

        NAME          STATE     READ WRITE CKSUM
        work          ONLINE       0     0     0
          mirror-0    ONLINE       0     0     0
            ada0.eli  ONLINE       0     0     0
            ada1.eli  ONLINE       0     0     0

Jak długo trwa szyfrowanie? Trudno powiedzieć. Realizowane jest na bieżąco podczas operacji dyskowych. Po podpięciu dysku szyfrowanego do systemu (geli attach) wszystkie operacji zapisu i odczytu przechodzą przez moduł szyfrujący i deszyfrujący dane.

Kopia zapasowa:

Przyznaję, że jeszcze nigdy nie musiałem dokonywać próby naprawy, czy też jakiegokolwiek odzyskiwania danych z zaszyfrowanego dysku, ale zachowuję dla każdego z szyfrowanych dysków:

  • plik klucza, czyli stworzony na początku diskNN.key
  • kopię metadanych, która powstaje podczas inicjalizacji geli, czyli plik adaNN.eli
  • oczywiście hasło, którego użyłem do szyfrowania – w głowie i w szyfrowanym menadżerze haseł

Literatura:


Opublikowano

w

przez

Tagi:

Komentarze

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *