Zapewne już wiesz, że większość podstawowych zabezpieczeń może nas tutaj zawieść, jeśli ktoś dostanie chociaż na chwilę dostęp do naszego fizycznego sprzętu. W takich sytuacjach wręcz zbawienna może okazać się szyfrowanie dysku.
Szyfrowanie dysku zwane też czasem enkrypcją to proces zabezpieczenia danych na dysku w takich sposób, aby dostępu do nich nie otrzymały osoby trzecie. Schemat działania szyfrowania jest dość prosty: najpierw wszystkie dane na dysku są szyfrowane w taki sposób, że z zewnątrz wyglądają na bezwartościowe/śmieciowe dane.
Podczas procesu szyfrowania zostaje wygenerowany klucz pozwalający na zamianę tych śmieciowych danych w pełnowartościowe, użyteczne pliki. Z szyfrowania warto korzystać praktycznie na każdym nośniku danych przechowującym wrażliwe dane, które nigdy nie powinny wpaść w ręce niepowołanych/obcych osób.
Choć brzmi ono na bezpieczniejsze, to warto tutaj pamiętać, że normalny użytkownik zwykle operuje na danych w obrębie swojego katalogu domowego. Czyli przykładowo, jeśli na użytkowniku mateusz używam programu Mozilla Thunderbird (klient poczty) to wszelkie dane do skrzynki, czyli konta, hasła do nich, wiadomości offline, załączniki itp są przechowywane w katalogu /home/mateusz/.thunderbird.
W każdym razie chodzi tu o to, że wszystkie moje dane są w moim katalogu domowym, z kolei w katalogach nazwijmy to „systemowych” czyli /usr czy /opt są tylko pliki powiązane z samym programem, czyli binarka, pliki z ikonami, bibliotekami itp.
I tu dochodzimy do sedna sprawy: szyfrowanie całego dysku to zazwyczaj overkill, który niewiele wnosi, skoro wszystkie ważne dane są składowane w katalogu domowym. Oczywiście, takie szyfrowanie może mieć sens, jeśli ktoś ma ważne dane lub ustawienia poza swoim katalogiem domowym.
Jeżeli zaszyfrujemy cały dysk, a pod tym pojęciem rozumiem wszystkie partycje, to będziemy mieć pod górkę przy ewentualnym odzyskiwaniu systemu. Jednym z najgorszych rodzajów faili, które można “popełnić” przy szyfrowaniu całego dysku lub całych partycji, to zapomnienie się i zrepartycjonowanie dysku lub nawet mały resize partycji.
Innym problemem staje się backup takiego dysku - zaszyfrowane całe partycje lub cały dysk, trzeba kopiować metodą całościową, sector by sector. Fani programów typu np. Acronis mogą tu od razu się oburzyć, że tego typu programy na Windowsie z BitLockerem robi backup tylko rzeczywiście użytych danych. Jeśli jest włączone szyfrowanie całego dysku, zrzucany nań obraz stanu systemu, czy to do ramu, czy na dysk, nie jest szyfrowany.
W dystrybucjach linuksowych są różne podejścia do tematu szyfrowania. Przy instalacji możemy wybrać, czy chcemy szyfrowanie katalogu domowego czy np. szyfrowanie całego dysku.
Linux jest trochę inny niż Windows czy macOS pod względem szyfrowania partycji systemowych. Większość dystrybucji pozwala nam bowiem na dobrowolne zaszyfrowanie dysku systemowego przy przeprowadzeniu instalacji (zazwyczaj wystarczy zaznaczyć stosowną opcję i wpisać hasło, którego chcemy używać przy odblokowaniu dostępu do dysku/partycji).
Jeżeli mamy już zainstalowany system Linux na komputerze, to zaszyfrowania partycji/dysku systemowego będzie 'technicznie' możliwe, jednak jest to proces należący do tych trudniejszych i żmudniejszych. Na całe szczęście szyfrowanie partycji, na których nie znajdują się pliki potrzebne do uruchamiania Linuxa, da się już w łatwy sposób zaszyfrować bez wspomnianych wyżej ograniczeń.
Natomiast w każdej chwili możemy ustawić szyfrowanie zawartości katalogu domowego, co też ma znaczenie w kontekście bezpieczeństwa. O ile system zapisuje wiele danych, np. logów z działania usług w katalogach poza /home, to prywatne dane przechowujemy zwykle w strukturze katalogu domowego. Dlatego warto zaszyfrować tę część systemu plików.
W tym celu sprawdza się systemowe narzędzie eCryptfs. Nie możemy bezpośrednio zaszyfrować swojego katalogu domowego, dlatego musimy zalogować się jako inny użytkownik z uprawnieniami sudo. Należy się wylogować, po czym zalogować z użyciem poświadczeń nowego użytkownika.
Wpisujemy hasło użytkownika, którego katalog szyfrujemy. Ponownie logujemy się jako ten użytkownik. Sprawdzamy, czy możemy utworzyć zawartość w naszym katalogu. W przypadku powodzenia usuwamy katalog zawierający kopię katalogu domowego przed zaszyfrowaniem.
Wykonujemy polecenie ecryptfs-unwrap-passphrase podając hasło naszego użytkownika. Zapisujemy wygenerowany ciąg w bezpiecznym miejscu.
Dzięki zastosowaniu szyfrowania katalogu domowego inni użytkownicy nie będą mogli odczytać naszych danych, nawet z uprawnieniami root.
Szyfrowanie partycji root (systemowej)? Wykonalne, musisz wtedy mieć osobną partycję boot, i obraz systemu initramfs, który będzie miał w sobie narzędzia do zamontowania szyfrowanych partycji. Jak już zdecydujesz się na konkretny system szyfrowania, to wtedy zacznij od /home, a jak opanujesz daną technikę szyfrowania, to z czasem możesz się rzucać na szyfrowany rootfs.
O tym, ze musisz mieć aktualny backup szyfrowanych danych w domu chyba przypominać nie muszę.
Przygotowywujemy nośnik instalacyjny z Ubuntu (np. Następnie (o ile jej nie mamy) tworzymy nową partycję dla UEFI z systemem FAT - w moim wypadku wielkości ok. W uruchomionym środowisku możemy posługiwać się np. W moim przypadku używany został dysk NVME dostępny jako urządzenie /dev/nvme0n1.
Po podaniu danych na kolejnych ekranach takich jak nazwa użytkownika systemu i hasła przez końcem instalacji należy dodać do pliku /target/etc/default/grub linijkę "GRUB_ENABLE_CRYPTODISK=y" (można np. Na pewno nie jest to bardzo trudne, ale również w 2020 oczekiwałbym czegoś znacznie bardziej cywilizowanego.
W skrócie - po starcie komputera odpowiednio skonfigurowany GRUB z partycji UEFI po podaniu hasła dostaje się do klucza na partycji systemowej i odblokowywuje dostęp do niej z poziomu LUKS.
Jeżeli zaszyfrowanie ma dotyczyć partycji np. /home, to wtedy system potrafi poprosić o hasło do kontenera przy uruchamianiu. Tu pewna ciekawostka, dla tych, którzy lubią wieść pewnego rodzaju “podwójne życie” lub po prostu chcą rozdzielić swój profil.
Jeśli używasz tej metody z szyfrowanym katalogiem domowym, możesz sobie zostawić profil domyślny, czyli taki, który jest aktywny, w przypadku, gdyby szyfrowany katalog domowy nie był podmontowany.
Jeżeli nie masz potrzeby ciągle pracować i używać zaszyfrowanego /home/USER, można go nie montować, wtedy w /home/$USER tworzony jest “normalny” profil, niezaszyfrowany, tak jak w każdym innym systemie. Można tam sobie funkcjonować z zupełnie osobnymi ustawieniami, a jak zajdzie potrzeba, zamontować kontener - którego montowanie nie uszkodzi “normalnego” katalogu, tylko go niejaki “zakryje”.
Inny OS: Gentoo Linux
Na początek potrzebujemy wolnej partycji (w moim przypadku /dev/sda4), więc jeśli jej nie mamy, musimy utworzyć nową partycję za pomocą narzędzia takiego jak GParted. Gdy już będziemy mieli wolne miejsce, zaczniemy od instalacji cryptsetup , jeśli jeszcze go nie mamy.
Teraz zaczniemy od zainicjowania partycji , którą zamierzamy zaszyfrować . W tym celu wykorzystamy wspomnianą wcześniej wolną partycję. Otrzymamy komunikat ostrzegawczy informujący, że zawartość aktualnie przechowywana w /dev/sda4 jest chroniona i pytający, czy na pewno.
Zostaliśmy poproszeni o klucz LUKS , który utworzyliśmy wcześniej; wpisujemy go i gotowe.
Jeżeli operuję na domyślnym ustawieniach, w tym domyślnym algorytmie szyfrującym, itp. powodów wydajności i/lub bezpieczeństwa jak również np. W odpowiedzi dostaniemy pytanie czy chcemy sformatować - to pytanie jest “awaryjnie”, gdyby ktoś chciał celowo lub, co gorsza, omyłkowo, “sformatować” w ten sposób prawdziwą partycję. Are you sure?
Na tym etapie mamy nasz szyfrowany kontener, ale teraz musimy go użyć. dwukrotnie.
Jeśli hasło jest niepoprawne LUB kontener jest uszkodzony to dostaniemy taką informację.
dowolna nazwa, ale nazwałem to tak, aby pokazać, “czym” to jest. wylistowane.
Zatem, jesteśmy na etapie, że mamy nasz plik, który jest zaszyfrowanym kontenerem i jest on “otwarty”. otwarty, to ktoś pomyśli, że można to od razu używać. Jednak nie tak szybko.
Tym razem zadziałało i w miejscu katalogu /disc mamy zamontowany nasz otwarty szyfrowany kontener typu LUKS, który, gdy jest otwarty, jest partycją z systemem plików ext4.
na początku - wielkość tego pliku jest “ograniczeniem” pojemności naszej partycji, którą utworzyliśmy. nie ulega najmniejszej nawet zmianie i jest to całkowicie normalne.
Na szczęście, tą całą “ceremonię” można nieco zautomatyzować, np. domowy.
Oczywiście warto pamiętać, że nazwę użytkownika, którą ja używam to mateusz, a katalog domowy to oczywiście /home/mateusz.
Plik /etc/crypttab to nie wszystko. Jeżeli wszystko zrobiliśmy dobrze, to jak testowane na Arch, Manjaro, Ubuntu oraz Mint, przy startowaniu systemu powinien nam wyskoczyć monit o hasło do /home/kontener.luks.
UWAGA! Szyfrowanie często wymaga sformatowania dysku, do formatu najbardziej zgodnego z danym systemem operacyjnym (np. NTFS dla Windowsa, APFS dla macOS, czy ext4 dla systemu Linux).
Szyfrowanie może zakończyć się niepowodzeniem i uniemożliwi start systemu, dlatego przed rozpoczęciem należy przygotować kopię ważnych danych.
Jednym z najgorszych rodzajów faili, które można “popełnić” przy szyfrowaniu całego dysku lub całych partycji, to zapomnienie się i zrepartycjonowanie dysku lub nawet mały resize partycji.
Innym problemem staje się backup takiego dysku - zaszyfrowane całe partycje lub cały dysk, trzeba kopiować metodą całościową, sector by sector.
Truecrypt/Veracrypt - można w ten sposób szyfrować także Windowsa, na łamaniu szyfrowania Trucrypta poległa kiedyś amerykańska NSA, dlatego obecny Veracypt (fork Truecrypta) finansują szwajcarscy bankierzy.
Szyfrowanie partycji root (systemowej)? Wykonalne, musisz wtedy mieć osobną partycję boot, i obraz systemu initramfs, który będzie miał w sobie narzędzia do zamontowania szyfrowanych partycji.
Jak już zdecydujesz się na konkretny system szyfrowania, to wtedy zacznij od /home, a jak opanujesz daną technikę szyfrowania, to z czasem możesz się rzucać na szyfrowany rootfs.
Oczywiście warto pamiętać, że nazwę użytkownika, którą ja używam to mateusz, a katalog domowy to oczywiście /home/mateusz.
Szyfruj za pomocą VeraCrypt
Popularnym bezpłatnym rozwiązaniem do szyfrowania jest VeraCrypt. Instalator lub wersję portable pobierzemy ze strony producenta. W otwartym kreatorze zaznaczamy opcję „Zaszyfruj partycję lub cały dysk systemowy”. Typ systemu szyfrowania w tej opcji jest ograniczony do „Normalny”, podobnie z kolejnym pytaniem o obszar do zaszyfrowania, gdzie wybór jest tylko jeden.
Dalej jesteśmy pytani, czy na dysku zainstalowane są inne systemy operacyjne. Następnie wybieramy algorytm szyfrowania i haszowanie. Domyślne opcje, czyli odpowiednio AES i SHA-512, są dobrym wyborem.
Dalszy krok to ustalenie hasła służącego do odszyfrowania. Po jego wpisaniu nastąpi zbieranie danych losowych, powinniśmy wykonywać ruchy myszą w oknie kreatora, aby tworzona pula była lepszej jakości.
Później zapisujemy obraz płyty ratunkowej, który będzie potrzebny w razie ewentualnych problemów np. uszkodzenia programu rozruchowego. Plik należy rozpakować na pendrive. Następnie wybieramy sposób wymazywania lub jego brak, ogólnie nie ma potrzeby korzystania z tej opcji.
Rozpocznie się test, w którym zostanie podmieniony bootloader.
W Windows możemy wykorzystać natywne rozwiązanie Bitlocker. Ograniczeniem jest wersja systemu Windows Home, gdzie BitLocker nie jest dostępny. Microsoft zaleca też korzystanie z modułu TPM, co jednak może być przeszkodą w przypadku starszych urządzeń i maszyn wirtualnych.
W tym celu uruchamiamy Edytor lokalnych zasad grupy (skrót Win+R i wpisujemy gpedit.msc, wciskamy Enter). Rozwijamy kolejno: Konfiguracja komputera -> Szablony administracyjne -> Składniki systemu Windows -> Szyfrowanie dysków funkcją Bitlocker -> Dyski z systemem operacyjnym. Dwukrotnie klikamy na politykę „Wymagaj dodatkowego uwierzytelnienia przy uruchamianiu”.
Włączamy tę politykę i zwracamy uwagę, czy wyróżniona na poniższym zrzucie ekranu opcja jest zaznaczona. Otwieramy „Panel sterowania” i wchodzimy w „System i zabezpieczenia -> Szyfrowanie dysków funkcją Bitlocker -> Włącz funkcję BitLocker”.
W przypadku szyfrowania na macOS wykorzystuje się FileVault. Wystarczy uruchomić FileVault i poprzez kliknięcie ikony kłódki oraz wpisanie hasła, odblokować ustawienia. Następnie naciskamy przycisk Włącz FileVault.
Jeśli nasze urządzenie jest powiązane z kontem Apple iCloud, wtedy możemy je wykorzystać do odblokowywania dysku. Natomiast w innym przypadku standardowo tworzymy klucz odzyskiwania i zapisujemy ciąg w bezpiecznym miejscu.
Jak już zdecydujesz się na konkretny system szyfrowania, to wtedy zacznij od /home, a jak opanujesz daną technikę szyfrowania, to z czasem możesz się rzucać na szyfrowany rootfs.
Jeżeli operujesz w układzie, gdzie partycja nie jest potrzebna do startu systemu, to szyfrowanie jest prostsze. Natomiast Linux jest trochę inny niż Windows czy macOS pod względem szyfrowania partycji systemowych. Większość dystrybucji pozwala nam bowiem na dobrowolne zaszyfrowanie dysku systemowego przy przeprowadzeniu instalacji.
W skrócie: szyfrowanie całości wymaga więcej uwagi, bo dochodzą kwestie odzyskiwania systemu i awaryjnych scenariuszy z bootloaderem oraz przechowywaniem zaszyfrowanych danych.
Wciąż, jak mówi popularne przysłowie: przezorny zawsze ubezpieczony. Warto więc szyfrować dane, przynajmniej te najbardziej istotne.
Prostymi sposobami można osiągnąć większe bezpieczeństwo poprzez zaszyfrowanie dysku. Nie ma większych przeszkód, aby zastosować opisane kroki w praktyce.

tags: #jak #zaszyfrowac #partycje #ubuntu
About the author