Szyfrowanie partycji na Linuksie

No więc, niedawno zrobiłem sobie takie cuś i postanowiłem, że
opiszę co i jak. Wprawdzie większość jest podstawie, już gotowego
artykułu, jednak to czego tam nie było warto będzie i tak napisać :)

Aby zacząć zabawę potrzebne będą nam cryptsetup oraz
dmsetup.
Pod Ubuntu wystarczy wpisać:

sudo apt-get install cryptsetup dmsetup

Ok, skoro mamy potrzebne programy należy teraz załadować
odpowiednie moduły:

# modprobe aes
# modprobe modprobe dm_crypt
# modprobe dm_mod

Jeśli wszystko jest ok to w konsoli powinniśmy otrzymać coś
podobnego jak poniżej:

[email protected]:~$ cat /proc/crypto | grep aes
name : aes
module : aes

[email protected]:/home/radmen# dmsetup targets
crypt v1.1.0
striped v1.0.2
linear v1.0.1
error v1.0.1

Ja u siebie zaszyfrowałem partycję /dev/hda4 takim
poleceniem:

#cryptsetup -y create SECURE /dev/hda4

Teraz trzeba będzie wpisać hasełko. Chyba nie muszę mówić, że im
dłuższe tym lepiej :]

Teraz warto zapełnić dysk śmieciami.

Wypełnienie zerami (SZYBKIE) wygląda tak:
# dd if=/dev/zero of=/dev/hda4 bs=1M
Wypełnienie danymi losowymi (ZALECANE) wygląda tak:
# dd if=/dev/urandom of=/dev/hda4 bs=1M

Ten proces chwilkę trwa. Jeśli Ci zależy możesz użyć programu
badblocks, który zapełni dysk ‘gorszymi’ śmieciami.

# badblocks -w -s -t random /dev/hda4

Teraz czas na system plików. Ja wybrałem ext3, ale można użyć
dowolnego.

# mkfs.ext3 /dev/mapper/SECURE

Teraz się pewnie spytacie czemu /dev/mapper/SECURE, a nie
/dev/hda4. Otóż cryptsetup zmapował dysk i tylko w ten sposób
możemy mieć dostęp do plików.

Praktycznie wszystko już jest zrobione. Warto dodać jakiś wpis do
fstab’a, żeby system wiedział gdzie ma montować partycję. U mnie
ten wpis wygląda tak:

/dev/mapper/SECURE /media/tajne ext3
noauto,defaults,user 0 0

No i czas aby zamontować naszą partycję :)

mount /media/tajne

Aby zwykły użytkownik mógł cokolwiek skopiować na nasza ‘tajna’
partycję ja musiałem ustawić chmody katalogu ‘/media/tajne’ na
777

No i partycja jest gotowa. Po restarcie komputera, trzeba będzie
znowu zamontować partycję używając poleceń:

# cryptseetup -y create /dev/hda4
mount /media/tajne

Trzeba będzie wpisać znowu to samo hasło, które wpisaliśmy
podczas tworzenia partycji. Jeśli 2 wpiszesz inne hasło to nici z
montowania partycji :)

Ja dla ułatwienia sobie życia zrobiłem, mały skrypt, który będzie
za mnie montował, lub odmontowywał partycję:

#!/bin/bash
#

case “$1″ in
montuj)
echo “Montuje…”
if [ $USER <> "root" ]
then
sudo cryptsetup -y create SECURE /dev/hda4
else
cryptsetup -y create SECURE /dev/hda4
fi
mount /media/tajne
echo “OK”
;;

odmontuj)
echo “Odmontowuje…”
umount /media/tajne
if [ $USER <> "root" ]
then
sudo cryptsetup -y remove SECURE /dev/hda4
else
cryptsetup -y remove SECURE /dev/hda4
fi
echo “OK”
;;

*)
echo “Usage: $0 {montuj|odmontuj}”
;;
esac

Oczywiście aby skrypt działał wszystko musi być ustawione i
wymagany będzie program sudo. Nie robiłem żadnych zmiennych
konfiguracyjnych, bo nie były mi potrzebne.

Szczerze mówiąc to prawie wszystko jest z "http://forum.ubuntu.pl/viewtopic.php?p=68374" class="external"
rel="external">forum ubuntu
. Część dopisałem sam. Na
skopiowanie części treści posta otrzymałem zgodę.

2 Responses to “Szyfrowanie partycji na Linuksie”

  1. arti74 October 27, 2006 at 5:53 pm #

    DZIĘKI! Bardzo pomocne, przejrzyście i zrozumiale napisane. Do zakładek (ulubionych) ;)