1. A rendszer előkészítése

1.1. A partíciók kialakítása

A lemezünk (hda) legalább három partíciót tartalmazzon:

Ekkor még a hda1 és a hda2 partíciók nincsenek használatban. A hda3 partíció tartalmazza az aktuálisan telepített Linux terjesztést; az /usr és a /boot nem lehet ettől a partíciótól elkülönítve.

me egy példa, amely bemutatja milyen partícióknak kell lennie:

# fdisk -l /dev/hda

Disk /dev/hda: 255 heads, 63 sectors, 2432 cylinders
Units = cylinders of 16065 * 512 bytes

   Device Boot    Start       End    Blocks   Id  System
/dev/hda1             1         1      8001   83  Linux
/dev/hda2             2       263   2104515   83  Linux
/dev/hda3           264       525   2104515   83  Linux
/dev/hda4           526      2047  12225465   83  Linux

1.2. A Linux-2.4.27 rendszermag telepítése

Két nagyobb projekt létezik, ami visszacsatolt titkosítási támogatást (loopback encryption support) ad a rendszermaghoz: cryptoloop és loop-AES. Ez a HOGYAN a loop-AES projekten alapul, mivel ez egy assembly nyelven írt, nagyon gyors és optimalizált implementáció, így maximális teljesítményt nyújt az IA-32 (x86) alapú processzorok számára. Készítője Rijndael. Mindezek mellett van néhány aggasztó biztonsági kérdés a cryptoloop-pal kapcsolatban.

Mindenek előtt töltsük le, majd csomagoljuk ki a loop-AES csomagot:

wget http://loop-aes.sourceforge.net/loop-AES/loop-AES-v2.2b.tar.bz2
tar -xvjf loop-AES-v2.2b.tar.bz2

Ezután töltsük le a rendszermag forrását, majd alkalmazzuk a foltot:

wget http://ftp.kernel.org/pub/linux/kernel/v2.4/linux-2.4.27.tar.bz2
tar -xvjf linux-2.4.27.tar.bz2
cd linux-2.4.27
patch -Np1 -i ../loop-AES-v2.2b/kernel-2.4.27.diff

Állítsuk be a billentyűzet kiosztását:

dumpkeys | loadkeys -m - > drivers/char/defkeymap.c

A következő lépésben beállítjuk a rendszermagot; a következő lehetőségek mindenképp legyenek beállítva:

make menuconfig

    Block devices  --->

        <*> Loopback device support
        [*]   AES encrypted loop device support (NEW)

        <*> RAM disk support
        (4096)   Default RAM disk size (NEW)
        [*]   Initial RAM disk (initrd) support

    File systems  --->

        <*> Ext3 journalling file system support
        <*> Second extended fs support

(fontos: ne legyen beállítva a /dev file system support lehetőség)

Fordítsuk le és telepítsük a rendszermagot:

make dep bzImage
make modules modules_install
cp arch/i386/boot/bzImage /boot/vmlinuz

Ha a grub rendszerbetöltőt használjuk, szerkesszük a /boot/grub/menu.lst illetve /boot/grub/grub.conf fájlt:

cat > /boot/grub/menu.lst << EOF
default 0
timeout 10
color green/black light-green/black
title Linux
    root (hd0,2)
    kernel /boot/vmlinuz ro root=/dev/hda3
EOF

Ha viszont lilo-t használunk, akkor szerkesszük az /etc/lilo.conf fájlt, és futtassuk a lilo-t:

cat > /etc/lilo.conf << EOF
lba32
boot=/dev/hda
prompt
timeout=100
image=/boot/vmlinuz
    label=Linux
    read-only
    root=/dev/hda3
EOF
lilo

Indítsuk újra a rendszert.

1.3. A Linux-2.6.8.1 rendszermag telepítése

Az előző fejezetben leírtakhoz hasonlóan alkalmazzuk a loop-aes' kernel-2.6.8.1.diff foltot. Figyeljünk arra, hogy a modul támogatás szükséges, ha a module-init-tools csomag telepítve van.

1.4. Az util-linux-2.12b telepítése

A losetup programon - amely az util-linux csomag része - alkalmaznunk kell a foltot, és újra kell fordítanunk az erős titkosítás támogatásához. Töltsük le és csomagoljuk ki az util-linux csomagot, majd alkalmazzuk a foltot:

wget http://ftp.kernel.org/pub/linux/utils/util-linux/util-linux-2.12b.tar.bz2
tar -xvjf util-linux-2.12b.tar.bz2
cd util-linux-2.12b
patch -Np1 -i ../loop-AES-v2.2b/util-linux-2.12c.diff

20 karakternél rövidebb jelszó használata esetén írjuk be:

CFLAGS="-O2 -DLOOP_PASSWORD_MIN_LENGTH=8"; export CFLAGS

A biztonság talán a legfontosabb kérdések egyike, ezért ne engedélyezzünk 20 karakternél rövidebb jelszavakat. A biztonságnak megvan az ára, jelen esetben ez a hosszú jelszó használata.

Fordítsuk le a losetup-ot, majd root felhasználóként telepítsük azt:

./configure && make lib mount
mv -f /sbin/losetup /sbin/losetup~
rm -f /usr/share/man/man8/losetup.8*
cd mount
gzip losetup.8
cp losetup /sbin
cp losetup.8.gz /usr/share/man/man8/