A leírás a www.hogyan.org leírása és néhány angol fórum leírása alapján készült.
Követelmények:
- Ne home könyvtár legyen titkosított, csak az alatta lévő saját könyvtár
- Külön partíciót titkosítunk a biztonság érdekében, nem egy konténer fájlt
- Üzemelő, belakott rendszer is átlakítható legyen biztonságosan
- tmp is titkosított legyen
Az én gépemet (laptop) többen is használják a családban. Ha a home partíciót titkosítom, akkor mindenkinek hozzáférési kulcsot kellett volna adnom. Az kellett, hogy a gép elindítható legyen a titkosítás felolása nélkül is (ekkor a / könyvtárban levő /home/akármi könyvtár a használatos), illetve amikor a saját adataimmal akarok dolgozni, akkor boot során egy pendriveon tárolt kulccsal automatikus legyen a feloldás (ekkor a / könyvtárban lévő /home/akármi helyettesítődik egy külső titkosított partícióval). Így akár publikálhatom is a fiókjelszavamat :-). A gyerekeim nem tudják még rendszergazdaként sem módosítani a beállításaimat, emiljeimet... stb. Ha ellopják a laptomomat, akkor bekaphatják, és az ügyfelek adatai sincsenek veszélyben! Külső konténerfájl nem járható út, mert a beállításokat, a levelezőrendszeremet, útvonalakat nem tudom rugalmasan módosítani.
Hát lássuk:
Az alapfelépítés eredetileg: hda1 - root partíció, hda2 - home partíció, hda3 - swap
Elölről újratelepítettem a rendszeremet így: hda1 - root, és itt van a home könyvtár is, hda2 - létezik, de telepítés alatt nem jelöltem neki ki csatolási pontot, hda3 - swap
apt-get install cryptsetup
Kéretik a hda2 partíciót ideiglenesen egészben kimenteni egy dvd-re, hda4-re, akárhová!!!
Ezután az üres partíciónkat töltsük fel véletlenszerű adattal a nagyobb biztonság kedvéért:
sudo dd if=/dev/urandom of=/dev/hda2
Titkosított partíció létrehozása: Tegyük be a kívánt pendrive-ot és csatoljuk fel azt a partíciót, ahol a kulcsot akarjuk tárolni. Én erre a célra a pendrive-omon létrehoztam egy 2MByte-os ext2 fájlrendszerű felületet. A következő 2 paranccsal létrehozzuk azt a kulcsot, amivel a partíciónkat titkosítjuk és ami a feloldáshoz szükséges.
head -c 2880 /dev/urandom | uuencode -m - | head -n 65 | tail -n 64 > /media/usb/home.key
sudo cryptsetup --verbose -c aes-cbc-essiv:sha256 luksFormat /dev/hda2 /media/usb/home.key
Ezután feloldjuk a titkosított partíciót a kulcs segítségével. Az utolsó [nev] mezo a feloldott partíció hivatkozási neve, ami pl. a telepítéskor létrehozott saját könyvtár neve. Nálam például polyp.
sudo cryptsetup --key-file /media/usb/home.key luksOpen /dev/hda2 polyp
Létrehozzuk a fájlrendszert a partíción. A [nev] mező a feloldott partíció előbb megadott hivatokzási neve.
sudo mkfs.ext3 -O dir_index /dev/mapper/polyp
Az indító scriptek létrehozása: A következő lépések ahhoz kellenek, hogy ha rendszerbetöltés alatt bedugjuk a pendrive-ot, akkor aktiválódjon a titkosított partíció. Ehhez szerkesztenünk kell a /etc/rc.local fájlt.
létrehoztam a /mnt könyvtárba egy ideiglenes könyvtárat cryptousb néven.
/bin/mount /dev/sda1 /mnt/cryptousb #pendrive felcsatolasa
/sbin/cryptsetup -d /mnt/cryptousb/home.key luksOpen /dev/hda2 polyp #particio feloldasa
/bin/mount /dev/mapper/polyp /home/polyp #feloldott particio felcsatolasa
/bin/umount /mnt/cryptousb #pendrive levalasztas
Amikor az egésszel végeztél, hozz létre a könyvtáradban egy alkönyvtárat, oda csatold fel ideiglenesen a titkosított partíciót, és arra az összes konfig fájlt be kell másolni, amit a rendszer a home könyvtáradban keres!!! Ez vagy a friss telepítésből származik, vagy amit az elején kimentettél a hda2-ről. A pendriveon lévő home.key fájlt két helyen kell tartani!!!, és ha megsérül a pendrive, akkor csak be kell másolni az új pen főkönyvtárába.
Extraként a swap partíciónkat is titkosíthatjuk, ugyanis az oda kiírt adatok egyelőre nyíltan tárolódnak, és akár leállítás után is visszanyerhető olyan információ, melyből megfejthető a feloldási kulcs. Adjuk hozzá az alábbi pár sort a /etc/rc.local fájlhoz.
/usr/local/sbin/cryptsetup -c aes -s 256 -d /dev/urandom create swap0 /dev/hda3
/sbin/mkswap /dev/mapper/swap0
/sbin/swapon /dev/mapper/swap0
Ez a pár sor minden indításnál egy véletlenszerű 256bit-es kulccsal újratitkosítja a swap partíciót, megformázza és felcsatolja. Ne felejtsük el kivenni a swap sort a /etc/fstab fájlból.