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.
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.
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
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"
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.
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>.