18.17. A lapozóterület titkosítása

Írta: Christian Brüffer.

A FreeBSD-ben a lapozóterület titkosítása nagyon könnyen beállítható és már a FreeBSD 5.3-RELEASE változata óta elérhető. Attól függően, hogy konkrétan a FreeBSD melyik verzióját használjuk, a konfigurációhoz kapcsolódó beállítások némileg eltérhetnek. A FreeBSD 6.0-RELEASE változatától kezdődően a gbde(8) és a geli(8) alrendszerek is használhatóak a lapozóterület titkosítására. A korábbi verziókban egyedül csak a gbde(8) érhető el. Mind a két rendszer az encswap rc.d szkriptet használja.

Az előző szakaszban, vagyis a A lemezpartíciók titkosításában már röviden összefoglaltuk a különböző titkosítással foglalkozó alrendszereket.

18.17.1. Miért kellene titkosítanunk a lapozóterületet?

Hasonlóan a lemezpartíciók titkosításához, a lapozóterület titkosításának is az a célja, hogy védjük az érzékeny információkat. Képzeljük el, hogy egy olyan alkalmazással dolgozunk, amely jelszavakat kezel. Amíg ezek a jelszavak a memóriában maradnak, addig minden a legnagyobb rendben van. Azonban amikor az operációs rendszer nekilát a fizikai memória felszabadításához kilapozni ezeket az adatokat, a jelszavak titkosítatlanul kerülnek a lemez felületére és egy támadó számára könnyű prédává válnak. Ilyen helyzetekben csak lapozóterület titkosítása jelenthet megoldást.

18.17.2. Előkészületek

Megjegyzés: A szakasz további részében a ad0s1b lesz a lapozásra használt partíció.

Egészen mostanáig nem titkosítottuk a lapozóterületet. Így elképzelhető, hogy a lemezre már titkosítatlanul kikerültek jelszavak vagy bármilyen más érzékeny adatok. A csorba kiköszörülésére a lapozóterületen található összes adatot írjuk felül véletlenszerűen generált szeméttel:

# dd if=/dev/random of=/dev/ad0s1b bs=1m

18.17.3. A lapozóterület titkosítása a gbde(8) használatával

Ha a FreeBSD 6.0-RELEASE vagy újabb változatát használjuk, akkor az /etc/fstab állományban tegyük hozzá a .bde utótagot az a lapozóterülethez tartozó eszköz nevéhez.

# Device                Mountpoint      FStype  Options         Dump    Pass#
/dev/ad0s1b.bde         none            swap    sw              0       0
      

A FreeBSD 6.0-RELEASE előtti kiadások esetében a következő sort is hozzá kell tennünk az /etc/rc.conf állományhoz:

gbde_swap_enable="YES"

18.17.4. A lapozóterület titkosítása a geli(8) használatával

A gbde(8) használatához hasonlóan a geli(8) által felajánlott titkosítást is alkalmazhatjuk a lapozóterület védelmére. Ilyenkor az /etc/fstab állományban az .eli utótagot kell hozzátenni a lapozóterülethez tartozó eszköz névhez.

# Device                Mountpoint      FStype  Options         Dump    Pass#
/dev/ad0s1b.eli         none            swap    sw              0       0
      

Az geli(8) az AES algoritmust alapértelmezés szerint 256 bites kulccsal használja.

Ezek az alapértelmezések megváltoztathatóak az /etc/rc.conf állományban a geli_swap_flags beállítás használatával. A következő sor arra utasítja az encswap rc.d szkriptet, hogy a geli(8) és a Blowfish algoritmus használatával hozzon létre egy lapozópartíciót 128 bites kulccsal, 4 kilobyte-os szektormérettel és a “detach on last close” (“lekapcsolás használat után”) beállítással:

geli_swap_flags="-e blowfish -l 128 -s 4096 -d"

A FreeBSD 6.2-RELEASE verzió előtti rendszerekben a következő sort kell használni:

geli_swap_flags="-a blowfish -l 128 -s 4096 -d"

A többi beállításhoz a geli(8) man oldalán a onetime parancs leírását érdemes áttanulmányozni.

18.17.5. Ellenőrizzük a működését

Miután újraindítottuk a rendszert, a titkosított lapozóterület helyes működését a swapinfo paranccsal ellenőrizhetjük le.

A gbde(8) esetében:

% swapinfo
Device          1K-blocks     Used    Avail Capacity
/dev/ad0s1b.bde    542720        0   542720     0%
      

Valamint a geli(8) esetében:

% swapinfo
Device          1K-blocks     Used    Avail Capacity
/dev/ad0s1b.eli    542720        0   542720     0%
      

Ha kérdése van a FreeBSD-vel kapcsolatban, a következő címre írhat (angolul): <freebsd-questions@FreeBSD.org>.
Ha ezzel a dokumentummal kapcsolatban van kérdése, kérjük erre a címre írjon: <gabor@FreeBSD.org>.