Jako, że nigdzie u nas nie znalazłem sensownego opisu jak uruchomić TrueCrypta na Synology postanowiłem opisać to zadanie.
Niestety, sam napotkałem na problem z którym sobie jeszcze nie poradziłem - i liczę na pomoc bardziej doświadczonych kolegów z urządzeniami Synology i ich systemem.
Oczywiscie kompiluję tutaj wersję z samym CLI bez interfejsu graficznego, bo ten raczej na niewiele się zda.
Dzięki Truecryptowi na Synology możemy tworzyć i ubsługiwać kontenery TC.
Prosze nie zadawać pytań po co to komu - nie interesuje Cie - nie czytaj dalej. Jeśli z jakiegoś powodu potrzebujesz obsługiwać kontenery TC na Synology
to ten opis jest dla Ciebie.
Jako,że oficjalnie projekt TC został zamknięty, a oficjalna wersja 7.2 Nie pozwala tworzyć kontenerów, zainstalujemy tutaj wersję 7.1a.
Oczywiście wiem - że istnieje VeraCrypt - czyli nowy fork TrueCrypta dalej rozwijany którego sam używam. Opis robiłem jednak jeszcze zanim ten się pojawił, a dopiero go publikuję. - Obiecuję, że kiedyś i VeraCrypta ugryzę, jak uda się w pełni uruchomić to co mamy tutaj.
Uruchamiam TC na DS212j, ale można go przygotować dla innych systemów. W Większości opisów które linkuje poniżej jest kompilowana wesja dla procesorów intela - jeśli więc potrzebujesz zainstalować go właśnie na takim synku - zachęcam do przejrzenia artykułów podlinkowanych poniżej.
Proces ten jest podzielony na dwie części. Jedna to kompilacja samego TrueCrypta. Druga część to kompilacja modułu kernela, umożliwiającego montowanie szyfrowanych kontenerów.
Opis jest bazowany na tych materiałach:
Informany Blackhole: Truecrypt 7 on Synology
Informany Blackhole: DM-Crypt on Synology with Truecrypt 7
Informany Blackhole: Macintosh filesystem support on Synology
How to compile Truecrypt from source
Upgrade Synology, install TrueCrypt - Borlet - Confluence
http://hallard.me/how-to-install-kernel-modules-on-synology-ds1010-dsm-4-1/
Synology Forum • View topic - [pre-HOWTO] Getting dmcrypt work on CS-406
Service et support - Serveur de stockage sur réseau (NAS) Synology
Do zainstalowania TC potrzebujemy:
Musimy mieć zainstalowany bootstrap i mieć możliwość instalacji narzędzi przez ipkg
Jeśli nie masz: http://pronas.pl/post547.html#p547
Wszystko robię jako użytkownik root. Można ew robić na innym koncie, ale chociażby podczas make install będą potrzebne Ci prawa do zapisu w różnych miejscach.
Jak chcesz - możesz używać sudo przed poleceniami jeśli nie chcesz pracowac jako root.
Musimy pobrać wymagane elementy:
Najpierw łatwizna
Kompiluje tutaj wszystko dla DS212j. Jeśli masz innego synka - musisz pobierać odpowiednie źródła, i modyfikować niektóre rzeczy samemu
Wszystko instaluje do /opt/local/
Bacznie zwracajcie uwagę na katalogi do których kopiuję pliki - mogłem coś popsuć, mogłem zjeść jednego cd w którym gdzieś wchodzę, - wszelkie błędy jakie wyłapię ja lub wy poprawię, ale odpowiednie myślenie powinno zaowocować dobrym wynikiem![Smile :-) :-)]()
Teraz jedziemy po kolei:
TrueCrypt:
I na razie tyle. Jeszcze tu wrócimy.
NASM:
Pobieramy plik ze źródłami (tar.gz) z The Netwide Assembler - Browse /nasm sources/2.07 at SourceForge.net
lub nowszy z The Netwide Assembler - Browse /nasm sources at SourceForge.net
FUSE:
Zapomnij o najnowszym fuse. Nie ruszy. Pobierz wersję 2.8.5
(Z katalogu include, pliki *.h do głównego katalogu z wypakowanymi na początku źródłami TC - jesli gdzies indziej wypakowałeś TC - pewnie musisz skopiować dane gdzie indziej.
wxWidgets
Pobieramy wxWidgets w wersji 2.8.12 - nie nowszą!
Teraz nagłówki PKCS
Teraz ruszamy dalej z kopyta.
wracamy do katalogu z naszymi plikami
i tam wchodzimy do katalogu ze źródłami TC
cd truecrypt-7.1a-source/
i budujemy wxWidgets
Potrwa to długo! Pamiętaj o zawieszeniu tego na screenie
Osoby z innymi prockami muszą dodawać czasem inne parametry do konfiguracji. Przejrzyjcie dokładnie oryginalne tematy które są podpięte na początku tego tematu.
np. -march=i686
i na koniec dajemy:
Koniec
I tyle z pierwszej czesci.
TADAM
Teraz jednak potrzebujemy modułu kernela aby mapować kontenery TC
To robimy na PC
Ja uruchomiłem ubuntu na Virtualboxie
Potrzebujemy Do Ubuntu pobrać odpowiedni toolchain dla naszego synology.
Jak to zrobić jest opisane w wielu miejscach, dlatego chyba nie ma sensu, abym to tutaj powtarzał.
Generalnie w skrócie - rozpoznajemy jaki mamy procesor w synology, i pobieramy odpowiedni toolchain oraz kody źródłowe dla naszej wersji DSM.
Tutaj ładny opis, choć może trochę nieaktualny:
http://hallard.me/how-to-install-kernel-modules-on-synology-ds1010-dsm-4-1/
Odpalamy
Co zainstaluje nam troche potrzebnych lub przydatnych rzeczy - bo jak widzicie część rzeczy to tylko moduły współpracy z Virtualboxem którego akurat ja użyłem.
Tutaj bardzo zachęcam do skorzystania z podlinkowanego artykułu.
Są tam linki do toolchainów, sourceów, informacje jak i gdzie je rozpakować
oraz jak przygotować plik .config dla naszego modelu.
po
Wybieramy przy użyciu menu:
Device Drivers
Multiple Devices drivers support
Zaznaczamy (spacją)
Device Mapper support, a pod nim crypt
Cryptographic API
Zaznaczamy XTS i LRW
Wychodzimy do głównego menu i zapisujemy konfigurację
Gotowe, mamy potrzebne moduły - crypto (dm-crypto), xts i lrw
Znajdują się w katalogu
./crypto/lrw.ko
./crypto/xfs.ko
./drivers/md/dm-crypt.ko
./crypto/gf128mul.ko
kopiujemy je na synology (scp, rsync czy czym tam wolicie i wam pasuje)
Teraz na synology:
Teraz tworzymy mały plik startowy, który będzie startował z synology i wczytywał te moduły przy każdym restarcie. Ale możecie tę część na razie pominąć. Na końcu wyjaśnię dlaczego.
Ustawiamy mu prawa do zapisu
I tutaj można by obwieścić sukces. Ale tak nie jest.
1. TrueCrypt działa prawidłowo - można stworzyć nim nowy kontener, czy jakoś obsłuzyć inny (zmienić hasło itd)
2. Mapowanie w DSM nie działa niestety zupełnie -przynajmniej u mnie. Moduły kernela niby są, ale próba podmontowania kontenera TC u mnie kończy się bardzo długą zwiechą i wywaleniem błędu.
3. Skrypt do wczytywania w obecnych wersja DSM jest troche już nieaktualny, wiec raczej nie ma co liczyć na to, że system go sam wczyta. Teraz jakoś inaczej się to wczytuje - jak rozgryzę gdzie to zmodyfikuję opis.
I tutaj potrzebuję pomocy bardziej doświadczonych z DSM osób -
Czy może wiecie gdzie jest jakiś błąd?
Może jakiegoś modułu zapomniałem dodać? Może jednak coś jeszcze jest potrzebne?
Może na DSM trzeba cuś przestawić, ustawić jakoś inaczej jakąś zmienną, parametr gdzieś przy boocie, aby dało się montować te kontenery od TC ?
Gdzie najlepiej było by umieścić skrypt startowy teraz?
Mam nadzieję, że z waszą pomocą uda się ten temat rozgryźć do końca.
Niestety, sam napotkałem na problem z którym sobie jeszcze nie poradziłem - i liczę na pomoc bardziej doświadczonych kolegów z urządzeniami Synology i ich systemem.
Oczywiscie kompiluję tutaj wersję z samym CLI bez interfejsu graficznego, bo ten raczej na niewiele się zda.
Dzięki Truecryptowi na Synology możemy tworzyć i ubsługiwać kontenery TC.
Prosze nie zadawać pytań po co to komu - nie interesuje Cie - nie czytaj dalej. Jeśli z jakiegoś powodu potrzebujesz obsługiwać kontenery TC na Synology
to ten opis jest dla Ciebie.
Jako,że oficjalnie projekt TC został zamknięty, a oficjalna wersja 7.2 Nie pozwala tworzyć kontenerów, zainstalujemy tutaj wersję 7.1a.
Oczywiście wiem - że istnieje VeraCrypt - czyli nowy fork TrueCrypta dalej rozwijany którego sam używam. Opis robiłem jednak jeszcze zanim ten się pojawił, a dopiero go publikuję. - Obiecuję, że kiedyś i VeraCrypta ugryzę, jak uda się w pełni uruchomić to co mamy tutaj.
Uruchamiam TC na DS212j, ale można go przygotować dla innych systemów. W Większości opisów które linkuje poniżej jest kompilowana wesja dla procesorów intela - jeśli więc potrzebujesz zainstalować go właśnie na takim synku - zachęcam do przejrzenia artykułów podlinkowanych poniżej.
Proces ten jest podzielony na dwie części. Jedna to kompilacja samego TrueCrypta. Druga część to kompilacja modułu kernela, umożliwiającego montowanie szyfrowanych kontenerów.
Opis jest bazowany na tych materiałach:
Informany Blackhole: Truecrypt 7 on Synology
Informany Blackhole: DM-Crypt on Synology with Truecrypt 7
Informany Blackhole: Macintosh filesystem support on Synology
How to compile Truecrypt from source
Upgrade Synology, install TrueCrypt - Borlet - Confluence
http://hallard.me/how-to-install-kernel-modules-on-synology-ds1010-dsm-4-1/
Synology Forum • View topic - [pre-HOWTO] Getting dmcrypt work on CS-406
Service et support - Serveur de stockage sur réseau (NAS) Synology
Do zainstalowania TC potrzebujemy:
Musimy mieć zainstalowany bootstrap i mieć możliwość instalacji narzędzi przez ipkg
Jeśli nie masz: http://pronas.pl/post547.html#p547
Wszystko robię jako użytkownik root. Można ew robić na innym koncie, ale chociażby podczas make install będą potrzebne Ci prawa do zapisu w różnych miejscach.
Jak chcesz - możesz używać sudo przed poleceniami jeśli nie chcesz pracowac jako root.
Musimy pobrać wymagane elementy:
Najpierw łatwizna
Kod (Text):
- ipkg update
- ipkg install gcc
- ipkg install optware-devel
- ipkg install make
Kompiluje tutaj wszystko dla DS212j. Jeśli masz innego synka - musisz pobierać odpowiednie źródła, i modyfikować niektóre rzeczy samemu
Wszystko instaluje do /opt/local/
Bacznie zwracajcie uwagę na katalogi do których kopiuję pliki - mogłem coś popsuć, mogłem zjeść jednego cd w którym gdzieś wchodzę, - wszelkie błędy jakie wyłapię ja lub wy poprawię, ale odpowiednie myślenie powinno zaowocować dobrym wynikiem

Teraz jedziemy po kolei:
TrueCrypt:
Kod (Text):
- wget https://www.grc.com/misc/truecrypt/TrueCrypt%207.1a%20Source.tar.gz --no-check-certificate
- tar xzvf TrueCrypt\ 7.1a\ Source.tar.gz
NASM:
Pobieramy plik ze źródłami (tar.gz) z The Netwide Assembler - Browse /nasm sources/2.07 at SourceForge.net
lub nowszy z The Netwide Assembler - Browse /nasm sources at SourceForge.net
Kod (Text):
- wget http://downloads.sourceforge.net/project/nasm/nasm%20sources/2.07/nasm-2.07.tar.gz?r=http%3A%2F%2Fsourceforge.net%2Fprojects%2Fnasm%2Ffiles%2Fnasm%2520sources%2F2.07%2F&ts=1422449029&use_mirror=kent
- tar xzvf nasm-2.07.tar.gz
- cd nasm-2.07
- ./configure --prefix=/opt/local CC=gcc
- make
- make install
Zapomnij o najnowszym fuse. Nie ruszy. Pobierz wersję 2.8.5
Kod (Text):
- wget http://downloads.sourceforge.net/project/fuse/fuse-2.X/2.8.5/fuse-2.8.5.tar.gz?r=http%3A%2F%2Fsourceforge.net%2Fprojects%2Ffuse%2Ffiles%2Ffuse-2.X%2F2.8.5%2F&ts=1422449411&use_mirror=kent
- tar xzvf fuse-2.8.5.tar.gz
- cd fuse-2.8.5
- ./configure --prefix=/opt/local
- make
- make install
- cd include
- cp *.h ../../truecrypt-7.1a-source/
Kod (Text):
- cd ..
- make install-pkgconfigDATA
- export PKG_CONFIG_PATH=/opt/local/lib/pkgconfig
- cd ..
wxWidgets
Pobieramy wxWidgets w wersji 2.8.12 - nie nowszą!
Kod (Text):
- wget http://downloads.sourceforge.net/project/wxwindows/2.8.12/wxWidgets-2.8.12.tar.gz?r=http%3A%2F%2Fwww.wxwidgets.org%2Fdownloads%2F&ts=1422350001&use_mirror=heanet
- tar xzvf wxWidgets-2.8.12.tar.gz
Teraz nagłówki PKCS
Kod (Text):
- mkdir /tmp/pkcs
- cd /tmp/pkcs
- wget ftp://ftp.rsasecurity.com/pub/pkcs/pkcs-11/v2-20/pkcs11.h
- wget ftp://ftp.rsasecurity.com/pub/pkcs/pkcs-11/v2-20/pkcs11f.h
- wget ftp://ftp.rsasecurity.com/pub/pkcs/pkcs-11/v2-20/pkcs11t.h
- export PKCS11_INC=/tmp/pkcs
Teraz ruszamy dalej z kopyta.
wracamy do katalogu z naszymi plikami
i tam wchodzimy do katalogu ze źródłami TC
cd truecrypt-7.1a-source/
i budujemy wxWidgets
Potrwa to długo! Pamiętaj o zawieszeniu tego na screenie
Kod (Text):
- (sudo) make NOGUI=1 WX_ROOT=/sciezka/do/zrodel/wxWidgets-2.8.12 wxbuild CC=gcc
np. -march=i686
i na koniec dajemy:
Kod (Text):
- export LD_LIBRARY_PATH='/opt/lib:/opt/local/lib'
- make NOGUI=1 WXSTATIC=1 PKCS11_INC=/tmp/pkcs PKG_CONFIG_PATH=/opt/local/lib/pkgconfig CC=gcc AS=/opt/local/bin/nasm
Kod (Text):
- cp Main/truecrypt /opt/local/bin
Kod (Text):
- /opt/bin/truecrypt
Teraz jednak potrzebujemy modułu kernela aby mapować kontenery TC
To robimy na PC
Ja uruchomiłem ubuntu na Virtualboxie
Potrzebujemy Do Ubuntu pobrać odpowiedni toolchain dla naszego synology.
Jak to zrobić jest opisane w wielu miejscach, dlatego chyba nie ma sensu, abym to tutaj powtarzał.
Generalnie w skrócie - rozpoznajemy jaki mamy procesor w synology, i pobieramy odpowiedni toolchain oraz kody źródłowe dla naszej wersji DSM.
Tutaj ładny opis, choć może trochę nieaktualny:
http://hallard.me/how-to-install-kernel-modules-on-synology-ds1010-dsm-4-1/
Odpalamy
Kod (Text):
- sudo apt-get install virtualbox-guest-dkms virtualbox-guest-utils virtualbox-guest-x11 libncurses5-dev
Tutaj bardzo zachęcam do skorzystania z podlinkowanego artykułu.
Są tam linki do toolchainów, sourceów, informacje jak i gdzie je rozpakować
oraz jak przygotować plik .config dla naszego modelu.
po
make menuconfig
i make modules
Wybieramy przy użyciu menu:
Device Drivers
Multiple Devices drivers support
Zaznaczamy (spacją)
Device Mapper support, a pod nim crypt
Cryptographic API
Zaznaczamy XTS i LRW
Wychodzimy do głównego menu i zapisujemy konfigurację
Gotowe, mamy potrzebne moduły - crypto (dm-crypto), xts i lrw
Znajdują się w katalogu
./crypto/lrw.ko
./crypto/xfs.ko
./drivers/md/dm-crypt.ko
./crypto/gf128mul.ko
kopiujemy je na synology (scp, rsync czy czym tam wolicie i wam pasuje)
Teraz na synology:
Kod (Text):
- mkdir /opt/modules
- mv *.ko /opt/modules/ (będąc w katalogu do którego skopiowaliście pliki z PC)
- insmod /opt/modules/dm-crypt.ko
- insmod /opt/modules/gf128mul.ko
- insmod /opt/modules/lrw.ko
- insmod /opt/modules/xts.ko
Teraz tworzymy mały plik startowy, który będzie startował z synology i wczytywał te moduły przy każdym restarcie. Ale możecie tę część na razie pominąć. Na końcu wyjaśnię dlaczego.
vi /opt/etc/init.d/S20modules
Kod (Text):
- #!/volume1/@optware/bin/bash
- start_modules(){
- echo "Loading modules"
- insmod /opt/modules/dm-crypt.ko
- insmod /opt/modules/gf128mul.ko
- insmod /opt/modules/lrw.ko
- insmod /opt/modules/xts.ko
- done
- }
- stop_modules(){
- echo "Unloading modules"
- rmmod /opt/modules/dm-crypt.ko
- rmmod /opt/modules/gf128mul.ko
- rmmod /opt/modules/lrw.ko
- rmmod /opt/modules/xts.ko
- }
- case "$1" in
- start)
- start_modules
- ;;
- stop)
- stop_modules
- ;;
- *)
- echo "usage: $0 { start | stop }" >&2
- exit 1
- ;;
- esac
chmod ug+x /opt/etc/init.d/S10modules
I tutaj można by obwieścić sukces. Ale tak nie jest.
1. TrueCrypt działa prawidłowo - można stworzyć nim nowy kontener, czy jakoś obsłuzyć inny (zmienić hasło itd)
2. Mapowanie w DSM nie działa niestety zupełnie -przynajmniej u mnie. Moduły kernela niby są, ale próba podmontowania kontenera TC u mnie kończy się bardzo długą zwiechą i wywaleniem błędu.
3. Skrypt do wczytywania w obecnych wersja DSM jest troche już nieaktualny, wiec raczej nie ma co liczyć na to, że system go sam wczyta. Teraz jakoś inaczej się to wczytuje - jak rozgryzę gdzie to zmodyfikuję opis.
I tutaj potrzebuję pomocy bardziej doświadczonych z DSM osób -
Czy może wiecie gdzie jest jakiś błąd?
Może jakiegoś modułu zapomniałem dodać? Może jednak coś jeszcze jest potrzebne?
Może na DSM trzeba cuś przestawić, ustawić jakoś inaczej jakąś zmienną, parametr gdzieś przy boocie, aby dało się montować te kontenery od TC ?
Gdzie najlepiej było by umieścić skrypt startowy teraz?
Mam nadzieję, że z waszą pomocą uda się ten temat rozgryźć do końca.