LINUX: Slackware 12.1-RC1

On 2008/04/04, in Backtrack.pl, brak, by Tommy

Dziś Patrick Volkerding napisał w changelog-u wydanie wersji kandydującej do stabilnej 12.1!

Dodam że Slackware jest najstarsza aktywnie rozwijaną dystrybucją systemu LINUX! Której jestem wielkim fanem.

Dokładna chistoria zmian: http://www.slackware.com/changelog/current.php?cpu=i386

ISO do pobrania: ftp://ftp.slackware.no/pub/linux/ISO-images/slackware/Current-ISO-build/

Tagged with:
 

Kolejny test, przeprowadzony w podobnych warunkach.

Tym razem konfrontacja dm-crypt-a z TrueCrypt-em

Maszyna oraz warunki są identyczne z tymi w poprzednim teście.

Użyłem algorytmu AES (384bit) hash: sha512 mode of operation XTS
W przypadku TC działającego na pliku który został umieszczony na partycji z systemem plików XFS (sync) o wielkości całej partycji.

Test nr.1 rozpakowywanie kernel-a 2.6.24:

Test nr.2 kasowanie wcześniej rozpakowywanego kernela:

Wniosek:
TrueCrypt za czasów wersji 4.X używał dm-crypt ale wersja 5.0 używa FUSE i jak widać przewaga dm-crypt jest miażdżąca. Nic dodać nic ująć.

Zapowiadam kolejne testy o które zostałem poproszony, tym razem optymalizacja kompilatora GCC 4.X

Tagged with:
 

Niedawno ukazało się nowe jajko w wersji 2.6.24 (aktualnie już 2.6.24.1) w którym dodano nowy algorytm szyfrujący aes-xts-plain, jest to dobra wiadomość bo dm-crypt dostał nową możliwość, a raczej sposób wiązania zaszyfrowanych bloków jakim jest XTS.

XTS jest już dostępne pod linux-em za pomocą TrueCrypt 5.0 który używa XTS jako domyślnego sposobu.

Jednak nie mam zamiaru rozczulać się tu na temat czym się różni starsza metoda LRW od XTS, tylko przetestuje wydajność.

Do tego celu wybrałem maszynę zaopatrzoną w Athlon-a64 taktowanego 1.6GHz na płycie Gigabyte K8Triton Server z 4GB ramu i zainstalowanym Slackware-em 12.0 (aktualizowanym do current) z jajkiem 2.6.24

Podczas testów używam klucza o długości 384bitów algorytmu haszującego sha512 test powtarzałem 10 razy a wyniki uśredniłem.

Pierwszy test to rozpakowywanie kernel-a 2.6.24 na 1GB partycji (na początku dysku) umieszczonej na dysku Samsung SP 250GB SATA2 pod kontrolą systemu plików XFS (sync).

wniosek: realny czas rozpakowania jądra spadł średnio o 15% !

Drugi test to kasowanie wcześniej rozpakowanego źródła

wniosek: podobnie jak w przypadku rozpakowywania prędkość kasowania wzrosła o 8%

Próbowałem jeszcze robić kilka testów np. kasowanie pliku o wielkości 10Mb za pomocą bcwipe metodą Gutmann-a ale rezultaty są podobne i zbliżają się do około 10% różnicy na korzyść XTS.

Co ciekawe gdy użyjemy długości klucza 512bit dla XTS rezultaty spadają bardzo nieznacznie w porównaniu do 384bitów.

Rozpakowywanie kernela:
512/384bit (XTS)

Kasowanie:
512/384bit (XTS)

Wniosek: różnica wydajności żadna, a wzrost mocy szyfrowania bardzo znaczący.

Podobny test przeprowadzałem dla LRW ale różnica też była nieznaczna.

Wniosek końcowy:
Z racji że LRW oraz XTS w kernelu są oznaczone jako eksperymentalne trzeba by było pozostać przy starym CBC jednak wielu użytkowników używa z powodzeniem LRW w tym ja, bez jakichkolwiek kłopotów.

Ja zalecam pozostanie przy LRW do czasu aż XTS się troszkę rozwinie, ponieważ na razie nie budzi zaufania, np. dlatego że w help-ie jądra pisze:
„This implementation currently can’t handle a sectorsize which is not a multiple of 16 bytes.”
Wiem że to teoretycznie nic nie znaczy jednak mi się wydaje że autor chciał tu powiedzieć:
„To jest nieskończona wersja, pracuje nad tym”

KONIEC

W najbliższym czasie przeprowadzę podobny test którego celem będzie sprawdzenie wydajności dm-crypt aes-xts-plain vs. TrueCrypt 5.0 aes-xts , który jak zawsze umieszczę tu 🙂

Po naciskach ze strony czytelników stwierdziłem, że muszę wykonać jeszcze test porównawczy dm-crypt aes-xts vs. TrueCrypt 5.0 aes-xts vs. brak szyfrowania, aby ukazać jak spada wydajność gdy używamy szyfrowania.

Dodatkowe informacje można odszukać na poniższych stronach:
Bardzo bogata dokumentacja TrueCrypt: http://www.truecrypt.org/docs/
Trochę o dm-crypt: http://pl.wikipedia.org/wiki/DM-Crypt
Dokumentacja Cryptsetup+LUKS: http://www.saout.de/tikiw…x.php?page=LUKS
Polska wiki „mode of operation”: http://pl.wikipedia.org/wiki/CBC
Znacznie bogatsza angielska wersja wiki „block cipher mode of operation”: http://en.wikipedia.org/w…es_of_operation
Teoria szyfrowania dysków: http://en.wikipedia.org/w…cryption_theory

Tagged with:
 

devicemapperCiąg dalszy szyfrowania, czyli metoda na Device Mapper-a z cryptsetup (LUKS)

Metodę uważa się za lepszą niż AES-Loop a na 100% wygodniejsza 🙂

Różnice między AES-Loop-em a DM są ogromne, po pierwsze dm, został dodany do jądra systemu i znajduje się w większości nowych 2.6.X tak, że nie wymaga patchowania itp.
Po drugie mamy do wyboru masę różnych algorytmów szyfrujących! Nie tylko AES jak w AES-Loop.

Niestety większość dystrybucji Linux dodaje tylko cryptsetup który jest dobry ale nie tak wygodny jak cryptsetup z LUKS.

LUKS po za tym, że jest jednostką natężenia światła jest też: Linux Unified Key Setup, czyli standard szyfrowania dysków pod kontrolą systemu Linux. Dodatkowo daje nam też możliwość zarządzania hasłami (zmiana, kasowanie, dodawanie) bez potrzeby rekompresowania danych!

Więcej informacji oraz cryptsetup-luks są dostępne na: http://luks.endorphin.org/

Jak to zrobić ?

1. Na początek musimy odpowiednio skompilować jądro, tak aby była w nim obsługa SCSI i DM-Crypt. Nie trzeba posiadać starego crypt-loop-a!

2. Musimy zainstalować cryptsetup-luks z podanej wyżej strony.

3. Tak samo jak przy AES-Loop na początek trzeba wyczyścić dysk.
Wolny sposób:
dd if=/dev/urandom of=/dev/sda1 bs=1m
Szybki sposób:
dd if=/dev/zero of=/dev/sda1 bs=1m

4. Zakładamy partycję LUKS na dysku:
cryptsetup –verbose –cipher „aes-cbc-essiv:sha256” –key-size 256 –verify-passphrase luksFormat /dev/sda1

Oczywiście wolno nam wybrać inny algorytm szyfrowania np. LRW (aes-lrw_benbi), DES (des-cbc, des, des-cfb, des-ofb, des-ecb), AES (aes-cbc-essiv)

Ja polecam AES, odradzam DES, a do eksperymentów LRW (które u mnie działa z powiedzeniem od pół roku)

5. Podpinamy partycję do DM
cryptsetup luksOpen /dev/sda1 zaszyfrowane

6. Tworzymy system plików na naszej partycji
mkfs -t ext /dev/mapper/zaszyfrowane

System plików jest obojętny: xfs, ext2, ext3, jfs, reiserfs

7. Montujemu partycję
mount -t ext3 /dev/mapper/zaszyfrowane /mnt/crypt

To wszystko, mamy już nasz dysk zaszyfrowany 🙂

Aby odmontować:
umount /dev/mapper/zaszyforwane
cryptsetup luksClose zaszyfrowane

Za kilka dni umieszczę kilka moich skryptów pomagających w zabawie z dm.

Jeżeli macie jakieś problemy zawsze możecie napisać coś na forum lub w komentarzu, postaram się pomóc.

Tagged with:
 

Jak już wcześniej pisałem, dziś postanowiłem opisać pierwszą metodę szyfrowanie danych, dziś AES-Loop.

Przez wiele osób kojarzone z jądrem 2.4.X niestety Loop-AES nigdy w nim nie był i pewnie już nigdy nie będzie, jest dostępny tylko i wyłącznie jako patch/moduł na oba 2.4.X i 2.6.X.

Jak sama nazwa wskazuje Loop-AES koduje za pomocą algorytmu AES i nie da się go zmienić na żaden inny. Loop-AES nie używa crypto-loop-a który pojawił się w 2.6.X a na dodatek nie zadziała gdy jest on wkompilowany, co wcale nie jest dobra ani fajne bo dla osób które migrują np. z crypto-loop-a (inny algorytm niż AES) operacja jest utrudniona.
Muszę też dodać że Loop-AES jest „kapryśny” podczas kompilacji, o czym będę pisał później.

A teraz do rzeczy:

1. Musimy mieć źródła kernel-a możliwie nowego które pobieramy do /usr/src (http://www.kernel.org/)
2. Rozpakowywanemu je do /usr/src/linux
3. Pobieramy AES-Loop (http://loop-aes.sourceforge.net/) i rozpakowywanemu do /usr/src/loop-AES-XXXXX
4. Pobieramy i rozpakowywanemu util-linux do /usr/src/util-linux (http://www.kernel.org/pub/linux/utils/util-linux/)

5.MODUŁ – Ustawiamy kernel tak aby NIE posiadał:
< > Loopback device support

Spotkałem się już z kilkoma opisami które piszą że do Loop-AES wymagane są: RAM disk czy też MINIX (system plików), nie wiem do czego to ma być ale testowałem i nie są wymagane. (Ram disk może być gdy ktoś by chciał kodować / ale można to samo zrobić wkompilowując Loop-AES w jądro.
5. WKOMPILOWANY W JĄDRO – zanim przystąpimy do ustawiania kernel-a musimy go zpatchować:
cd /usr/src/linux
patch -p1 < /usr/src/loop-AES-vX.XX/kernel-2.6.X.diff
potem „make menuconfig”
i wybieramy:
<*> Loopback device support
[*] AES encrypted loop device support (NEW)

6. Kompilujemy, instalujemy a potem uruchamiamy nowy kernel.
7. Teraz kompilacja Loop-AES, bardzo zalecam: make clean && make
8. Potem wskakujemy do util-linux i patchujemy jego źródło patchem z loop-AES:
patch -p1 <../loop-AES-vX.XX/util-linux-X.XXX.diff
9. Instalacja util-linux trzeba wykonać dokładnie tak:
# export CFLAGS=-O2
# export LDFLAGS=’-static -s’
# ./configure
# make SUBDIRS=”lib mount”
# cd mount
# install -m 4755 -o root mount umount /bin
# install -m 755 losetup swapon /sbin
# rm -f /sbin/swapoff && ( cd /sbin && ln -s swapon swapoff )
# rm -f /usr/share/man/man8/{mount,umount,losetup,swapon,swapoff}.8.gz
# install -m 644 mount.8 umount.8 losetup.8 /usr/share/man/man8
# install -m 644 swapon.8 swapoff.8 /usr/share/man/man8
# rm -f /usr/share/man/man5/fstab.5.gz
# install -m 644 fstab.5 /usr/share/man/man5
# cp -p /lib/modules/`uname -r`/block/loop.ko /boot/loop-`uname -r`.ko
(zalecenia autora)

10. Na koniec można wykonać mały test funkcjonoania Loop-AES wchodząc do katalogu źródeł Loop-AES i wykonując „make tests” co powinno dać nam wynik:
*** Tests result ok ***

11. KONIEC INSTALACJI :>

UŻYTKOWANIE

A. Szyfrowanie ala cała partycja.

1. Jeżeli mamy jakąś miłą partycję którą możemy wykorzystać pod Loop-AES, musimy wymłócić na niej dane. W tym celu:
dd if=/dev/zero of=/dev/hdaX bs=4k
co skutecznie zastąpi wszelkie dane na partycji losowymi danymi.
wersja hARdCORE (losowymi danymi)
dd if=/dev/urandom of=/dev/hdaX bs=4k
co niestety może potrwać i zależy w dużej mierze od mocy obliczeniowej naszego komputera.

2. Inicjacja szyforwania partycji:
losetup -e AES256 -T /dev/loop0 /dev/hdaX
Potem wpisujemy hasło, im dłuższe i bardziej zróżnicowane tym lepsze.
Zamiast AES 256bit możemy jeszcze użyć AES128 i AES192 jednak trzeba pamiętać że zwiększa to prawdopodobieństwo że ktoś rozkoduje nasze dane. (nieznacznie)

3. Inicjujemy system plików:
mkfs -t xfs /dev/loop0
Ja używam xfs oraz reiserfs ale każdy może wybrać co chcesz np. ext3 i nie wpłynie to w żaden sposób na bezpieczeństwo naszych danych.

4. Montujemy partycję:
losetup -e AES256 /dev/loop0 /dev/hdaX
mount /dev/loop0 /mnt/szyfrowana

GOTOWE :>

5.Aby odmontować:
umount /dev/loop0
losetup -d /dev/loop0

Można też się bawić w skrypty czy wpisy do fstab tak aby system montował naszą partycję przy starcie:

/dev/hdaX /mnt/szyfrowana xfs defaults,loop=/dev/loop0,encryption=AES256 0 0

i pytał o hasło :>

Ja osobiście do zamiast hasło używam pliku umieszczonego na pen-drive w którym mam jakieś kilka kilo danych prosto z /dev/urandom

A montuje to za pomocą skryptu:
#/bin/sh
mount /dev/sda1 /mnt/flash
cat /mnt/flash/klucz | losetup -e AES256 /dev/loop0 /dev/hdaX
mount -t xfs /dev/loop0 /mnt/szyfrowana

B. Szyfrowanie ala plik

1. Tworzymy plik w którym będą nasze dane:
dd if=/dev/zero of=/root/zaszyfrowany bs=4k count=2560

2. Wiążemy pętle z plikiem
losetup -e AES256 -T /dev/loop0 /root/zaszyfrowany

3. Tworzymy system plików:
mkfs -t xfs /dev/loop0

4. Montujemy plik:
losetup -e AES256 /dev/loop0 /root/zaszyfrowany
mount /dev/loop0 /mnt/zaszyfrowany

Tak samo jak z partycją tak i z plik możemy wpisać do fstab.

To chyba tyle 🙂

Dodam jeszcze że X w moim opisie oznacz coś co trzeba zmienić dopasować pod własny system lub jest to wersja programu pakietu itp.

Strona domowa: http://sourceforge.net/projects/loop-aes/

Jeżeli ktoś ma jakieś pytanie to proszę kierować je na forum.

Tagged with:
 

lockOstatnimi czasy wiele osób obawia się kontroli oprogramowania w prywatnych domach. Tego typu obawy są raczej bezpodstawne, głównie dlatego że policja nie może wejść nam do domu bez nakazu a nakaz wydaje prokurator, jednak aby mógł wydać taki nakaz policja musi mu przedstawić dowody udowadniające że dokonujemy przestępstwa.

Tak że jeżeli nie udostępniamy setek GB mp3 czy innych PIRACKICH materiałów lub też nie śpimy na pirackich DVD to nie ma się czego obawiać.

Słyszałem też że są osoby które twierdzą jakoby policja wchodziła na odznakę, co jest MAKSYMALNĄ bzdura. Miśki mogą tak zrobić o ile mają UZASADNIONE podejrzenie dokonywania przestępstwa. Mówi się tu o czymś w rodzaju, zagrożenie życia, strzały etc.

Jeżeli te argumenty was nie przekonują możecie pokusić się zaszyfrowanie swoich danych, przed niepowołanym dostępem osób trzecich i nie mówię tu o miśkach.

Jeżeli chodzi o Window$ do wyboru mamy bardzo dużo programów ale ja znam tylko jeden który zwrócił moją uwagę.
TrueCrypt – darmowy, lekki i prosty. Potrafi kodować do pliku, całe partycje, całe dyski, napędy zewnętrzne takie jak dyski USB/FireWire czy też pamięć flash. Odbywa się to bardzo bez stresowo, do wyboru mamy wiele algorytmów szyfrujących.
Jedyne wady jakie udało mi się doszukać to dziwne niekompatybilność z programami typu Eraser ( do czyszczenia wolnego obszaru dysku ) który może uszkodzić strukturę dysku.
Dziwne rzeczy dzieją się też gdy kompresujemy lub szyfrujemy dane za pomocą wbudowanych możliwości systemu window$. (nie polecam kompilacji)

Gdy jesteśmy użytkownikami LINUX-a mamy do dyspozycji takie rarytasy jak Loop-AES czy Device Mapper, a nawet TrueCrypt dla linux-a.

Mimo że nie posiadam żadnych piratów od jakiegoś czasu (3 lata) kodowałem cały jeden dysk za pomocą Loop-AES a niedawno przeniosłem dane na dm-crypt.

Tak prawdę mówiąc nie wiem co jest lepsze, jednak Loop-AES mnie troszkę denerwował bo jest tylko modułem lub patchem na kernel, czyli każda wymiana jądra wiąże się z kompilacją Loop-AES która jest denerwująca.

Czemu? Może krótki przykład:
Miałem kernel skompilowany i działający, źródła w /usr/src/linux zainstalowałem Loop-AES który skompilował się bez problemu, potem zmieniłem kilka opcji jądra i po zainstalowaniu modułów byłem zmuszony do przekompilowania Loop-AES, a tu loop-AES się sypie bo konfiguracja jadra nie zgadza się z ta na której chodzi system.

Kolejna sprawa, używam 2 patchy na samo jądro plus 4 zewnętrzne moduły do obsługi urządzeń, po co mi w takiej sytuacji kolejny Loop-AES ?!
Dlatego też nie zdecydowałem się na krok dalej, czyli Device Mapper.

Nie wiem który jest wydajniejszy ale wiem który jest bezpieczniejszy… to Device Mapper używany za pomocą cryptsetup z LUKS-em.

LUKS to Linux Unified Key Setup który pozwala nam, między innymi na:
– więcej niż jedno hasło/klucz
– zmianę hasła bez konieczności ponownego szyfrowania danych

Wśród zalet LUKS mówi się też o znacznie większym poziomie bezpieczeństwa, dużej kompatybilności między formatami szyfrowania danych czy też WYGODZIE! 🙂
Dla mnie ważne było też to że nie muszę mieć kolejnego moduły zew. bo dm-crypt jest częścią jajka.

Na koniec pozostaje wybór algorytmu szyfrującego i tu na uwagę zasługują kolejno:

AES – bardzo silny algorytm polecane przez 90% użytkowników
LRW – nie jest to może algorytm szyfrujący a raczej sposób na szyfrowanie które dedykowane jest dla dysków itp. Pierwsze 128, 192, 256 bit klucza to AES reszta to LRW czyli przyporządkowanie każdego zaszyfrowanego bloku do jego logicznego płożenia na dysku. (Rozmiary kluczy: 256, 320, 384)
3DES (TripleDES)- ja nie polecam, mówi się że złamanie go wymaga kilku dni obliczeń, mówi się że jest podatny na ataki kryptoanalityczne. Trzeba jeszcze dodać że wydajność tego algorytmu jest średnio 4-5 razy mniejsza niż AES-a.
TwoFish/BlowFish – wiele osób je poleca, ja testowałem je przez 2-3 miesiące, są wydajniejsze niż AES jednak różnica jest niewielka (~2-4%) a AES jest bezpieczniejszy.

Mój wybór LRW! (ale uwaga bo aktualnie w jadrze widnieje obok niego napis EXPERIMENTAL, jednak ja go używam i nic niepokojącego się nie dzieje.

No i to tyle… na razie… jak będę miał więcej czasu pomyślę o ciekawych opisach sposób szyfrowania.

Cryptsetup LUKS: http://luks.endorphin.org/
Loop-AES: http://sourceforge.net/projects/loop-aes/
TrueCrypt: http://www.truecrypt.org/
Porówanie: http://pl.wikibooks.org/wiki/TrueCrypt

Tagged with:
 

KubuntuPrawdę mówiąc ta opcja jest już dostępna od jakiegoś roku ale pomyślałem że umieszczę ja tutaj w razie gdyby ktoś miał ochotę z niej skorzystać…

https://shipit.kubuntu.org/

Mimo wszystko jest to całkiem dobre wyjście którzy jeszcze nie mogą się zdecydować rozpocząć swoją przygodę z Linux-em, bo do domu po około ~2 tygodniach dostajemy Kubuntu 6.06 LTS (Dapper Drake) na 1 lub nawet 10 CD we wszystkich możliwych wersjach jakie są możliwe 🙂 x86 – dla procesorów 32bitowych tz. Pentium-y, i wszystkie AMD poza tymi które są 64bitowe, bo do nich jest specjalna wersja x64 która odpali się też na Xeon-ach z technologią EM64T, Opteron-ach i Athlon-ach 64.

Z tymi płytami jest tylko jeden problem, nie są najnowsze… nie wiem czy występują w nich jakieś błędy bo mnie osobiście Kubuntu troszkę oblatuje ale dla tych którzy nie mają bardzo sprecyzowanych wymagań i chcą zobaczyć jak to jest na linux-ie to dobrze wyjście.
Kubuntu jest w miarę prosty, ma graficzny instalator a na dodatek zapala z CD.

Dla bardziej wymagających Kubuntu poleca ściągnąć wersję 6.10: http://kubuntu.org/download.php

a ja polecam:
SLACKWARE – http://slackware.com – bardzo dobra ale niestety dedykowana dla użytkowników zaawansowanych, bardziej nadaje się na serwer niż na desktop ale dla mnie może być tu i tu 😉 (bardzo przypomina FreeBSD)

Gentoo – http://www.gentoo.org/ – alternatywna dystrybucja która cieszy się bardzo dobrą opinią. Niestety instalacja bardzo długo trwa, głównie dlatego że polega na kompilacji wszystkiego! Ma to swoje wady (w/w) ale też zalety, dzięki takiemu kompilowaniu pliki wykonywalne są bardzo zoptymalizowane zarazem szybka.

Xubuntu – http://www.xubuntu.org/ – to taki Kubuntu tylko że zamiast KDE mamy do dyspozycji Xfce4, bardzo dobry WM znacznie lepszy niż KDE, Gnome itp… *

* dla mnie

Ubuntu – http://www.ubuntu.com/ – jw. tylko że z Gnome-em 🙂

PLD – http://www.pld-linux.org/ – polska dystrybucja linux, podobno bardzo dobra który tak samo jak Slackware celuje raczej w zaawansowanych użytkowników.

Debian – http://www.debian.org/ – uniwersalna dystrybucja, dysponuje sporą bazą pakietów. Osobiście za nią nie przepadam ale wiem że jest dobra.

Jednak wybór pozostawił bym wam, bo mówi się tak:
„nie ma złych systemów, są źli użytkownicy” *
„są gusta i guściki, każdemu się nie dogodzi”

* windows jest zły 😛

Tagged with:
 

Portal Bezpieczna Sieć - Forum komputerowe, Informatyka śledcza, bezpieczeństwo, backtrack, kali - Kali Linux Polska Edycja - Polska Edycja Backtrack - Seriws Laptopów Katowice - Sklep Komputerowy Katowice - Parking BETA przy lotnisku Pyrzowice - Broń Czarnoprochowa - miejsce Run w sieci

stat4u