2013. december 26., csütörtök

$HOME mappa titkosítása

Mindig érdemes a legrosszabbra készülni, és bár a legtöbben nem gondolnak rá, ha idegen kezekbe kerül a számítógépünk, akkor az adataink már nincsenek biztonságban. Sok fejfájástól szabadíthatjuk meg magunkat, ha valamilyen módon titkosítjuk az adatainkat. Ehhez nem is kell akkora áldozatot hoznunk, a műveletek végrehajtása se túl bonyolult, így csak magunkat hibáztathatjuk, ha nem gondolkozunk előre.

A következő titkosítási lehetőség az eCryptfs lesz, mely egy titkosított fájlrendszer amely transzparens módon működik a használt fájlrendszer fölött. Előnyei a blokk szintű titkosítással ellentétben (mint például a dm-crypt, vagy TrueCrypt), hogy nincs szükség előre allokált helyre a titkosításhoz, nem kell külön partíciót létrehozni, és viszonylag könnyű a használata. A hátrányok közé tartozik, hogy teljes partíciót nem lehet vele titkosítani (így például swap-et sem), valamint a ritka fájlok kezelésekor a teljes lefoglalt méretet titkosítja sok erőforrást felhasználva (így például Bittorrent fájlok titkosítására nem igazán hatékony).

Az újabb disztribúciók telepítéskor gyakran választhatjuk könyvtárak titkosításának létrehozását (az Ubuntu is eCryptfs-t használ, a $HOME könyvtár titkosításához), azonban később is titkosíthatjuk ezzel a módszerrel a $HOME könyvtárunkat. A titkosítás csak bejelentkezés után lesz feloldva, így senki nem férhet hozzá illetéktelenül az adatainkhoz.

  1. Telepítsük az eCryptfs kezelését megkönnyítő szkripteket:
$ sudo apt-get install ecryptfs-utils
  1. Töltsük be az eCryptfs kernel modult:
$ sudo modprobe ecryptfs
  1. Hozzunk létre egy root jogosultságokkal rendelkező felhasználót, ahova át kell lépnünk, míg a saját felhasználónk könyvtárát titkosítjuk.
$ sudo adduser testuser
$ sudo adduser testuser sudo
  1. Jelentkezzünk ki (logout), lépjünk át tty6-ra (CTRL + ALT + F6), lépjünk be az előbb létrehozott felhasználóval, majd ellenőrizzük, hogy nincs-e tényleg bejelentkezve a titkosítani szánt felhasználónk.
$ ps -fu <username>
  1. Titkosítsuk a $HOME könyvtárat:
$ sudo ecryptfs-migrate-home -u <username>
  1. Ha készen van, még újraindítás előtt jelentkezzünk ki (logout), lépjünk vissza tty7-re (CTRL + ALT + F7), lépjünk be az eredeti felhasználóval.

  2. Írjuk fel egy biztonságos helyre, és őrizzük meg a titkosítás feloldásához szükséges kódot:

$ ecryptfs-unwrap-passphrase
  1. Töröljük az ideigleneses létrehozott felhasználót, és a $HOME könyvtárunk titkosítatlan mentését:
$ sudo userdel -r testuser
$ rm -rf /home/<username>.<random karakterek>

Megjegyzés:

Innentől kezdve más rajtunk kívül más nem férhet hozzá az adatainkhoz. Meg kell jegyeznem még, hogy ha használunk swap-et, akkor előfordulhat, hogy egyes adataink a swap-re kerülnek, így azokat is érdemes titkosítani. Én SSD-t használok, így swap partícióm sincsen, de aki használ annak, hogy teljes legyen a kép leírok egy megoldást a swap titkosítására is. Telepítsünk egy eszközt (ez a megoldás a korábban már említett dm-crypt-et használja), amivel lehetséges a swap titkosítása, majd titkosítsuk azt.

$ sudo apt-get install cryptsetup
$ sudo ecryptfs-setup-swap

Ha titkosítjuk a swap-et nem fogjuk tudni hibernálni a gépünket, erre érdemes ügyelni!