Odpowiedz 
 
Ocena wątku:
  • 0 Głosów - 0 Średnio
  • 1
  • 2
  • 3
  • 4
  • 5
Linux i Windows zaszyfrowane na jednym dysku (opis)
31.10.2014, 18:26 (Ten post był ostatnio modyfikowany: 31.10.2014 18:50 przez Madlock.)
Post: #1
Linux i Windows zaszyfrowane na jednym dysku (opis)
Przetestowałem na maszynie wirtualnej pewien sposób i się nim podzielę. Polega on na skopiowaniu do niezaszyfrowanej partycji boot obrazu "rescue disk" (iso), przez co GRUB może być "po bożemu" w MBR. Dziś i jutro przetestuję to na dysku fizycznym i jakby coś poszło inaczej, to napiszę. Post już publikuję, żeby mieć jakby co ściągawkę do tych komend w jednym miejscu bez logowania się nigdzie.

Niestety wymaga to wyczyszczenia całego dysku, albo przynajmniej reinstalacji Linuksa. Zadziała też jeśli na dysku jest tylko Windows ale jest miejsce na Linuksa (na przykład po zmniejszeniu partycji windowsowych).

Opis przedstawię na przykładzie Windows XP, Linux Mint, programu do szyfrowania VeraCrypt 1.0e i na czystym dysku. Wszystko robione jest na maszynie wirtualnej, bo inaczej nie miałbym jak zrobić screenów.

Podejrzewam, że sposób zadziała też z programem TrueCrypt 7.1a, gdyby ktoś nie ufał programowi VeraCrypt. Do VeraCrypt można ściągnąć spolszczenie, ale ja go nie ściągnąłem i na screenach będzie po angielsku.

Zamiast Linux Mint można też użyć Ubuntu, bo teraz mają chyba bardzo podobne instalatory.

Disclaimer: wiele komend i rozwiązań skopiowałem jak małpa z netu i nie ręczę za bezpieczeństwo i sensowność tego co tu podam. U mnie działa i chociaż nie wiem do końca jak, to mnie to wystarcza. Chętnie przeczytam każdą krytykę na temat tego sposobu.

Potrzebne rzeczy:
  1. płyta z Windows XP,
  2. płyta z Linux Mint,
  3. połączenie z netem,
  4. dysk twardy "na straty" (czyli backupy porobione).


I. INSTALACJA WINDOWS

Jeśli masz już Windows na dysku i jesteś z niego zadowolony (nie chcesz go reinstalować), to pomiń ten rozdział. Chociaż poleca się zrobić backup danych, na wypadek gdyby coś poszło nie tak w czasie szyfrowania systemu.

Wsadzam płytę i dochodzę do takiego okna:

[Obrazek: 01.png]

Wszystko kasuję (klawiszem D i potwierdzanie klawiszem L, tak jak tam zresztą piszą). Skutkiem będzie pusty dysk.

Trzeba utworzyć nową partycję na Windows. Dla wersji XP i programów na nim zainstalowanych uważam, że dobrze mieć tak z 30 GB minimum na pierdoły typu poczta, net, najniezbędniejsze programy, a więcej w zależności od tego co będziemy instalować (gry bardzo dużo potrafią zająć). Trzeba też brać pod uwagę ile chcemy zostawić sobie miejsca na Linuksa.
Ja mam na dysku wirtualnym tylko 60 GB, więc Windowsowi dam około 30 GB.

[Obrazek: 02.png]

I na tej partycji instaluję Windows, formatując jako system NTFS.

Nie będę opisywał dalszej części instalacji.

II. PIERWSZE ODPALENIE WINDOWSA

Odpalam Internet Explorer i ściągam Firefox. Firefoksem ściągam program VeraCrypt stąd https://veracrypt.codeplex.com/ i program PowerISO (przy jego instalacji trzeba uważać, żeby nie zainstalować dodatkowych śmieci). Zamiast tego drugiego można ściągnąć jakiś inny program do montowania wirtualnych napędów. Chyba każdy się nada, bo montowany będzie plik iso.

Instaluję zarówno VeraCrypt jak i program do napędów. W przypadku PowerISO trzeba zrestartować system.

III. DRUGIE ODPALENIE WINDOWSA I UŻYCIE VERACRYPT

Teraz trzeba zaszyfrować system Windows. Odpalam VeraCrypt i z memu System wybieram Encrypt System Partition/Drive...

[Obrazek: 03.jpg]

Późniejsze moje wybory to: Normal, Encrypt the Windows system partition, Single-boot.
W panelu Encryption Options nic nie zmieniam.

Dochodzę do momentu, gdzie trzeba wybrać hasło. Nie ma co oszczędzać na długości hasła, bo za każdym razem, gdy będzie ono wpisane, będzie mocno przerabiane i na moim komputerze trwa to około minuty, więc krótkie hasło (krótki czas wpisywania) wcale nie przyspieszy startu systemu.

Następnie będzie dosyć zabawny moment:

[Obrazek: 04.jpg]

Trzeba tu ruszać sobie kursorem myszy w obrębie okna, w celu pobrania liczby losowej. Nie ma co się śpieszyć, skoro tę czynność robimy tylko raz, więc najlepiej z pół minuty pomachać tą myszą.

Moment zapisu obrazu iso. Od razu zmieniam tu nazwę pliku na którszą i bardziej neutralną, czyli na rescue.iso.

[Obrazek: 05.jpg]

Zaraz potem jest panel Rescue Disk Recording. Program chce nas tu zmusić do wypalenia płyty rescue i nie pozwala przejść dalej.

[Obrazek: 06.jpg]

Ale ja nie zamierzam na razie wypalać płyty.

[Obrazek: 07.jpg]

Po prostu montuję teraz obraz do wirtualnego napędu i teraz naciśnięcie przycisku Next kieruje mnie dalej.

Wybór metody wymazania danych:

[Obrazek: 08.jpg]

Tu prawdopodobnie chodzi o to, że jeśli wybierzemy None, to nasz wróg może spróbować odszyfrować nasz dysk metodami podobnymi do tych, które stosuje się do odzyskiwania skasowanych danych. Lepiej wybrać przynajmniej 3–krotne wymazywanie, chociaż czas potrzebny na zaszyfrowanie systemu wydłuży się przez to czterokrotnie i będzie pewnie lepiej puścić komputer na całą noc, żeby szyfrował. Później w miarę używania już zaszyfrowanego dysku (defragmentacja, tworzenie plików i ich kasowanie itd.), będzie on samoistnie się nadpisywał zaszyfrowanymi danymi i będzie coraz bardziej odporny na odszyfrowanie danych tą metodą.

Zanim jednak nastąpi właściwe szyfrowanie dysku, będzie wymagany kolejny restart w celu przetestowania bootloadera.

[Obrazek: 09.jpg]

IV. TRZECIE URUCHOMIENIE WINDOWSA I WŁAŚCIWE SZYFROWANIE

Powinien ukazać się czarny ekran VeraCrypt z prośbą o wpisanie hasła.

[Obrazek: 10.png]

Po wpisaniu hasła (u mnie tylko dwu-znakowe, bo ja robiłem to na potrzeby opisu i screenów i nie chciało mi się robić długiego hasła) w przypadku VeraCrypt trzeba odczekać sporo czasu, może to trwać nawet minutę na niezbyt szybkim komputerze zanim zacznie się uruchamiać Windows.

W końcu docieram do właściwego procesu szyfrowania.

[Obrazek: 11.jpg]

Widać tu, że na mojej maszynie wirtualnej te 30 GB będzie robić się około 30 minut i to bez wymazywania danych, czyli niepolecaną metodą.

Gdy dysk się szyfruje, można korzystać z komputera i robić jakieś pierdoły, żeby się nie zanudzić, ale oczywiście będzie trochę wolniej wszystko chodzić.

Ważne: obraz płyty ratunkowej iso skopiować poza dysk, na przykład na pendrive albo na jakiś dysk internetowy. Ten plik iso będzie jeszcze potrzebny z poziomu Linuksa.

V. INSTALACJA LINUX MINT

Wkładam płytę z Mintem (w moim przypadku jest to Mint 17 Cinnamon) i restartuję komputer. Nic nie naciskam, po prostu czekam, aż załaduje się Linux jako tzw. system live.

[Obrazek: 12.jpg]

Teraz należy uruchomić program, którego skrót jest na pulpicie, czyli Install Linux Mint.

Ja zainstaluję system z angielskimi napisami, bo tak mi jest lepiej szukać potem w necie rozwiązań na różne "errory".

W końcu dojdziemy do takiego panelu:

[Obrazek: 13.png]

Bardzo ważne, żeby wybrać tu opcję Something else.

[Obrazek: 14.png]

Tutaj wykorzystam wolną przestrzeń na dysku i zrobię potrzebne partycje. Tworzy się je przez zaznaczenie "free space" i kliknięcie na znak "+". Wtedy pojawi się małe okno, w którym trzeba będzie ustawić szczegóły.

Ja zrobię takie partycje:
  • Logiczna, 3 GB, FAT32, bez punktu montowania. To będzie partycja do wymiany plików między Windowsem a Linuksem. Na przykład siedzisz na Linuksie, a tu ktoś przysyła ci plik do odpalenia tylko na Windowsie. Wtedy ta partycja się przyda. Będzie ona potem sformatowana i zaszyfrowana. Tu na wirtualnej maszynie daję jej 3 GB, ale na prawdziwym dysku dałbym jej ze 20. Ta partycja jest opcjonalna, nie chcesz – nie twórz.
  • Logiczna, 200 MB, Ext4, /boot. To będzie jedyna partycja na dysku niezaszyfrowana. Tu dla testu daję jej 200 MB, ale na prawdziwym dysku można dać więcej, gdyby ktoś chciał na nią wrzucić na przykład jakiś większy obraz jądra czy nawet systemu. Obowiązkowa partycja, bez niej się nie da zaszyfrować Linuksa.
  • Logiczna, 4 GB, physical volume for encryption. Tu będzie partycja wymiany. Trzeba wymyślić hasło i powinno być ono mocne. Można też zaznaczyć opcję nadpisania pustej przestrzeni. Ewentualnie można na razie nie szyfrować tej partycji, czyli jej typ ustawić na swap, a później po zainstalowaniu systemu ustawić szyfrowanie kluczem losowym. Można też w ogóle nie robić tej partycji, jeśli ma się dużo pamięci RAM. Ja tę partycję stworzę i będzie ona zaszyfrowana normalnym wymyślonym przeze mnie hasłem. Chodzi mi o to, by mieć możliwość hibernacji systemu, co nie byłoby możliwe z kluczem losowym. Jednak minusem będzie konieczność wpisywania dodatkowego hasła przy każdym starcie systemu. Do hibernacji potrzeba tego swapu sporo, czyli najlepiej co najmniej tyle, ile ma się pamięci RAM.
  • Logiczna, ile się da, physical volume for encryption. Tu będzie partycja / (główna) systemu Linux. Obowiązkowa. Wymagane mocne hasło.
Nie potrzebuję osobnego /home i innych.

Teraz panel wygląda tak:

[Obrazek: 15.png]

Jednak jeszcze nie można instalować. Trzeba zedytować ustawienia dla "urządzeń" mapper, zaznaczając je i klikając na przycisk "Change...".
Tam gdzie ma być swap (można to poznać po podanym rozmiarze partycji) ustawiam swap. Tam gdzie ma być / zostawiam ext4 i punkt montowania ustawiam na /.

Po tym zabiegu panel wygląda tak:

[Obrazek: 16.png]

Teraz już można kliknąć na Install Now. Tylko upewnić się, że "Device for boot loader installation:" jest ustawione na całe urządzenie dysku, czyli na przykład na sda, a nie na jakąś partycję, czyli na przykład sda5. Ten sposób, który opisuje, polega właśnie na tym, by GRUB był w MBR, a nie na jakiejś partycji.

Warto też zapamiętać numery partycji (tu liczby po "sda") a najlepiej zapisać je sobie. Będą jeszcze potrzebne.

[Obrazek: 17.png]

Tu instalator ostrzega mnie, że nie ustawiłem punktu montowania dla tej partycji, co ją zrobiłem jako FAT32, ale nie przejmuję się tym, bo nią zajmę się później, i klikam na Continue.

Dalej instalacja jest już łatwa: wybór strefy czasowej, układu klawiatury, nazwa usera i jego hasło. Ja nie zaznaczam szyfrowania katalogu domowego, bo nie umiałbym go póki co pewnie odszyfrować, gdyby coś się na przykład popsuło na tym koncie, albo gdybym musiał kopiować stamtąd pliki, działając z innego systemu (po uprzednim odszyfrowaniu partycji /).

[Obrazek: 18.png]

Po wszystkim robię restart, bo nie ma po co już siedzieć na systemie live.

VI. PIERWSZE ODPALENIE LINUKSA I KONFIGURACJA

Pokazało mi się coś takiego:

[Obrazek: 19.png]

Nie wiem do jakiej partycji chce hasło, więc naciskam klawisz Esc.

Widzę teraz, że chodzi o partycję sda8. U mnie jest to partycja /. Potem pyta o hasło dla sda7 czyli swap. A wydawało by się, że powinno być odwrotnie.

W systemie należy otworzyć konsolę i skopiować pewien plik do katalogu /boot taką oto komendą:

Kod:
sudo cp /usr/lib/syslinux/memdisk /boot

Plik memdisk to część pakietu syslinux-common. Podaję opis pakietu: "SYSLINUX is a collection of boot loaders which operates off Linux ext2/3/4 or btrfs filesystems, FAT and NTFS filesystems, network servers using PXE firmware, or from CD-ROMs".

Następnie trzeba skopiować do tego samego katalogu /boot plik iso stworzony przez VeraCrypt. To najlepiej zrobić podobną komendą do poprzedniej, bo kopiowanie do /boot wymaga użycia sudo.

[Obrazek: 20.png]

Trzeba sprawdzić jaki numer UUID ma partycja boot (u mnie reprezentowana przez plik /dev/sda6).

Kod:
sudo blkid /dev/sda6

Numer skopiować — będzie potrzebny.

Teraz trzeba zedytować plik /etc/grub.d/40_custom czyli komenda:

Kod:
sudo nano /etc/grub.d/40_custom

i ja musiałem tam dopisać:

Kod:
# Wubuntu
menuentry "Wubuntu" {
insmod part_msdos
insmod ext2
search --fs-uuid --no-floppy --set=boot a9511f92-a280-463b-9f2c-9c303f58123d
linux16 ($root)/memdisk iso raw
initrd16 ($root)/rescue.iso
}

Trzeba wpisać ext2 nawet jeśli partycja na /boot jest w systemie ext4 (moduł ext2 obsługuje też ext4, a modułu ext4 nie ma).
Tam gdzie jest a9511f92-a280-463b-9f2c-9c303f58123d trzeba wpisać numer uuid swojej partycji boot.
"rescue.iso" to nazwa obrazu ratunkowego w pliku iso stworzonym przez VeraCrypt.
Zamiast "Wubuntu" można wpisać cokolwiek, na przykład "Memtest2" albo "tajny piracki windows".

Plik wygląda u mnie tak:

[Obrazek: 21.png]

W nano plik zapisuje się przez ctrl+o, enter. Wychodzi się przez ctrl+x.

Dobrze jest też zedytować plik /etc/default/grub

Kod:
sudo nano /etc/default/grub

i na początku linii z "GRUB_HIDDEN_TIMEOUT=0" wstawić znak "#"

Kod:
# GRUB_HIDDEN_TIMEOUT=0

I to samo zrobić z linią GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"

Kod:
# GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"

przez co zawsze podczas startu systemu będą wyświetlane logi startowe i będzie można przeczytać do jakiej partycji system chce hasło bez naciskania Escape.

Żeby zmiany w plikach 40_custom i grub były uwzględnione, konieczna jest komenda:

Kod:
sudo update-grub

VII. Znane problemy:

Po wyborze Windowsa w menu GRUB VeraCrypt wypisuje:
"Error: It appears you are creating a hidden OS.
Is this correct? (y/n):"

Tu trzeba odpowiadać "n". Jest to nieszkodliwy błąd. Nie znalazłem pewnego sposobu, żeby go naprawić, a niepewnych nie chciałem testować.

VeraCrypt pisze, że hasło do Windowsa jest nieprawidłowe, chociaż na pewno jest prawidłowe.
Trzeba przywrócić volume header. Zamiast podawać hasło naciśnij F8, by wejść w opcje naprawcze, a potem wybierz Restore key data (volume header), podaj hasło i potwierdź, że chcesz zmodyfikować napęd.

VIII. Szyfrowanie partycji wspólnej dla Linuksa i Windowsa

Specjalnie zostawiłem sobie małą partycję, by można było nią przerzucać lub współdzielić pliki na obu systemach bez potrzeby używania zewnętrznych nośników lub rozwiązań sieciowych. U mnie jest ona reprezentowana przez plik /dev/sda5.

Użyję do tego programu VeraCrypt, ponieważ jest on już zainstalowany na Windowsie, i istnieje też wersja na Linuksa.

Pod Linuksem użyję wersji z GUI.

[Obrazek: 22.png]

Żeby zaszyfrować partycję, trzeba wybrać w menu i opcjach kolejno: Volumes, Create New Volume..., Create a volume within a partition/drive, Standard VeraCrypt volume. Następnie wybrać odpowiednie urządzenie, podać hasło użytkownika, wybrać algorytm szyfrowania, podać wymyślone hasło do szyfrowania, podać format plików (ale to nieistotne, ja zostawiłem FAT, bo nie było do wyboru NTFS, zmienię to później), poruszać myszą i w końcu kliknąć Format.

Żeby teraz zamontować volumin, trzeba kliknąć Select Device..., wybrać te urządzenie, które zaszyfrowaliśmy i kliknąć Mount.

Tylko że teraz mamy volumin w systemie FAT, który ma limit wielkości pliku 4 GB i jest mniej odporny na błędy. Żeby sformatować volumin trzeba go najpierw odmontować, ale nie programem VeraCrypt, bo to odmontuje i zamknie odszyfrowany volumin. Odmontować można na przykład w managerze plików.

[Obrazek: 23.png]

(Kliknąć na Unmount, a nie na Properities, źle mi się zdjęcie zrobiło). Teraz można sformatować odszyfrowany volumin:

Kod:
sudo mkfs.ntfs /dev/mapper/veracrypt1

lub inny numer w zależności od slotu jakiego użyliśmy w programie VeraCrypt.
Po sformatowaniu najprościej jest odmontować volumin przez GUI programu VC i potem znowu go zamontować.

Żeby ułatwić sobie te odmontowywanie i montowanie można dodać sobie partycje do ulubionych, ale tego nie będę tu opisywać.
Odwiedź stronę użytkownika Znajdź wszystkie posty użytkownika
Odpowiedz cytując ten post
31.10.2014, 19:51
Post: #2
RE: Linux i Windows zaszyfrowane na jednym dysku (opis)
Ładny art. Chyba dobrze by było przenosić takie dłuższe i wyczerpujące wpisy na jakiś blog czy coś. Można by było je wtedy wpisywać do CV ;]
Znajdź wszystkie posty użytkownika
Odpowiedz cytując ten post
01.11.2014, 13:14 (Ten post był ostatnio modyfikowany: 01.11.2014 14:22 przez Madlock.)
Post: #3
RE: Linux i Windows zaszyfrowane na jednym dysku (opis)
Już sprawdziłem jak jest na dysku fizycznym. Tylko zamiast Windows XP sprawdziłem na Windows 7. Wszystko podobnie, jedyne różnice wynikały właśnie z tego, że był to Win 7, a nie XP.
Na przykład:
- Przy instalacji winda chciała zrobić dodatkową partycję 100 MB, nie wiadomo na co. To by mi mogło namieszać, więc ominąłem to tak, że najpierw Linuksem live i programem GParted zrobiłem dla windy partycję podstawową w ntfs i rozszerzoną na reszcie dysku (na rozszerzonej nie robiłem jeszcze dysków logicznych). I dopiero wtedy uruchomiłem instalator Windows 7.
- Druga różnica to taka, że winda żadnego sprzętu nie rozpoznała i nie miałem nawet netu po kablu. Na szczęście był Linux live.
- Trzecia różnica była przy tym jak VeraCrypt stworzył plik iso i uruchomił wbudowany program windy do wypalania płyt. Wystarczyło go zamknąć i zamontować plik jak w opisie.

W opisie zauważyłem literówki, ale nie mogę już ich zedytować przez limit obrazków w poście.

Edit: Na dysku fizycznym, partycja około 90 GB, szyfrowanie z 3–krotnym wymazywaniem trwało zaledwie 2 godziny. U mnie nie miało to znaczenia, bo i tak przedtem miałem na dysku inne zaszyfrowane dane, ale jak ktoś miał dane nieszyfrowane, to niech rozważy większą ilość nadpisań.
Odwiedź stronę użytkownika Znajdź wszystkie posty użytkownika
Odpowiedz cytując ten post
16.11.2014, 2:46
Post: #4
RE: Linux i Windows zaszyfrowane na jednym dysku (opis)
Jako, że VeraCrypt bazuje na kodzie TrueCrypta, a jakiś czas temu miałem identyczny, trochę denerwujący błąd przy wyborze Windowsa czyli:
Cytat:"Error: It appears you are creating a hidden OS.
Is this correct? (y/n):"

Rozwiązałem go w sposób następujący, znaleziony gdzieś na forum Ubuntu (i pomogł nie tylko u mnie, więc chyba można uznać jako sprawdzony)
Wydajemy w konsoli jako root nasępujące polecenia:
1. Sprawdzamy czy w danej lokalizacji faktycznie znajduje się MBR TrueCryp'a
Kod:
dd if=$yourhd count=8 bs=1 skip=6
Wypisze nam na konsoli: "TrueCryp" (w przypadku VeraCrypt, wypisze zapewne VeraCryp)

2. Usuwamy ten znacznik poprzez nadpisanie:
Kod:
echo 'grub<3tc' | dd of=$yourhd count=8 bs=1 seek=6

U mnie to działa i bootloader odpala się bez żadnych problemów.
Link do źródła: http://ubuntuforums.org/showthread.php?t=1229541&page=4

Jest to błąd w samym kodzie TrueCrypta/VeraCrypt, z tego co czytałem podlinkowany wątek to był on zgłaszany do deweloperów TC ale pewnie już nie zdążyli tego poprawić po "zarzuceniu" rozwoju.
Znajdź wszystkie posty użytkownika
Odpowiedz cytując ten post
23.12.2014, 13:42 (Ten post był ostatnio modyfikowany: 24.12.2014 22:57 przez Madlock.)
Post: #5
RE: Linux i Windows zaszyfrowane na jednym dysku (opis)
To ja jeszcze hint na temat swapu. Wygodniej jest nie robić partycji swap, a zrobić plik swap. Plik ten robi się już po instalacji wszystkiego. A przy samej instalacji po prostu nie robić partycji swap.
Ja zrobiłem wg tego opisu i działa https://www.digitalocean.com/community/t...untu-14-04
Plus jest taki, że plik swap jest na zaszyfrowanej partycji, czyli jest tylko jedna zaszyfrowana partycja Linuksa i przy jego starcie wymagane jest tylko jedno hasło. Minus: być może wolniejsze działanie swap, jednak przy 8 GB RAM-u nie wiem czy w ogóle się tego swap używa (zwłaszcza gdy zrobi się to, co w sekcji "Tweak your Swap Settings"). Kilka razy sprawdzałem i nigdy nie przyłapałem Linuksa, żeby używał. Swap chciałem dla hibernacji, więc dałem sporo, bo 9 GB, ale hibernacja u mnie i tak nie działa i podejrzewam, że przez sterowniki graficzne i wieczne problemy z nvidią.
Odwiedź stronę użytkownika Znajdź wszystkie posty użytkownika
Odpowiedz cytując ten post
25.10.2015, 21:47
Post: #6
RE: Linux i Windows zaszyfrowane na jednym dysku (opis)
Tutaj macie filmik pokazujący jak zaszyfrować windows i linux na jednym dysku z wykorzystaniem truecrypt działa to też z veracrypt
https://www.youtube.com/watch?v=eLy2tmgMDzk
Znajdź wszystkie posty użytkownika
Odpowiedz cytując ten post
Odpowiedz 


Skocz do:


Użytkownicy przeglądający ten wątek: 1 gości