Verzi�t�rt�net |
---|
Verzi�: v1.1 | 2003.12.01 | �tdolgozta: cd |
GRUB t�mogat�s hozz�adva. |
Verzi�: v1.0 | 2003.09.24 | �tdolgozta: cd |
Els� kiad�s, az LDP �ltal ellen�rizve. |
Verzi�: v0.9 | 2003.09.11 | �tdolgozta: cd |
Friss�tve, DocBook XML form�tumba konvert�lva. |
K�t nagyobb projekt l�tezik, ami er�s titkos�t�si t�mogat�st ad a rendszermaghoz:
a CryptoAPI �s a 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.
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.0b.tar.bz2
tar -xvjf loop-AES-v2.0b.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.23.tar.bz2
tar -xvjf linux-2.4.23.tar.bz2
cd linux-2.4.23
patch -Np1 -i ../loop-AES-v2.0b/kernel-2.4.23.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-2.4.23 |
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-2.4.23 ro root=/dev/hda3 vga=4
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-2.4.23
label=Linux
read-only
root=/dev/hda3
vga=4
EOF
lilo |
Ind�tsuk �jra a rendszert.
A c�lpart�ci� felt�lt�se v�letlenszer� adattal:
A titkos�tott loopback eszk�z be�ll�t�sa:
losetup -e aes256 -S xxxxxxxxxx /dev/loop0 /dev/hda2
Password: |
A sz�t�rral optimaliz�lt t�mad�sok kiv�d�se �rdek�ben aj�nlott a
-S xxxxxxxxxx opci� haszn�lata, ahol "xxxxxxxxxx" a v�letlenszer�en kiv�lasztott
�lv�letlen sorozat kiindul��rt�k (random seed). Ezen k�v�l a rendszerind�t�skor esetleg fell�p� billenty�zetkioszt�si
hib�k megel�z�se �rdek�ben ne haszn�ljunk nem-ASCII karaktereket (�kezeteket stb.) a jelsz�ban.
Hozzuk l�tre az ext3 f�jlrendszert:
Ellen�rizz�k, hogy helyesen �rtuk be a jelsz�t:
losetup -d /dev/loop0
losetup -e aes256 -S xxxxxxxxxx /dev/loop0 /dev/hda2
Password: |
mkdir /mnt/efs
mount /dev/loop0 /mnt/efs |
�sszehasonl�thatjuk a titkos�tott �s az eredeti adatokat:
xxd /dev/hda2 | less
xxd /dev/loop0 | less |
Itt az ideje, hogy telep�ts�k a titkos�tott Linux f�jlrendszert. Ha egy GNU/Linux
terjeszt�st haszn�lunk (p�ld�ul Debian-t, Slackware-t, Gentoo-t, Mandrake-et, RedHat/Fedora-t,
SuSE-t stb.), futtassuk a k�vetkez� parancsot:
Ha a Linux From Scratch k�nyvet haszn�ljuk, az al�bbi elt�r�seket kiv�ve
a dokumentum szerint folytathatjuk a munk�t:
Els� l�p�sk�nt chroot-oljunk a titkos�tott part�ci�ra, �s hozzuk l�tre
a boot eszk�zh�z a felcsatol�si pontot:
chroot /mnt/efs
mkdir /loader |
Ezut�n hozzuk l�tre a virtu�lis rendszerind�t� f�jlrendszert (initial ramdisk, initrd),
amelyre k�s�bb sz�ks�g�nk lesz:
cd
dd if=/dev/zero of=initrd bs=1k count=4096
mke2fs -F initrd
mkdir ramdisk
mount -o loop initrd ramdisk |
Hozzuk l�tre a f�jlrendszer k�nyvt�rszerkezet�t, �s m�soljuk be a sz�ks�ges f�jlokat:
mkdir ramdisk/{bin,dev,lib,mnt,sbin}
cp /bin/{bash,mount,umount} ramdisk/bin/
ln -s bash ramdisk/bin/sh
mknod -m 600 ramdisk/dev/console c 5 1
mknod -m 600 ramdisk/dev/hda2 b 3 2
mknod -m 600 ramdisk/dev/loop0 b 7 0
cp /lib/{ld-linux.so.2,libc.so.6,libdl.so.2} ramdisk/lib/
cp /lib/{libncurses.so.5,libtermcap.so.2} ramdisk/lib/
cp /sbin/{losetup,pivot_root} ramdisk/sbin/ |
Ha a k�vetkez� vagy hasonl� hiba�zenetet kapjuk, az nem jelent probl�m�t:
"/lib/libncurses.so.5: No such file or directory", vagy
"/lib/libtermcap.so.2: No such file or directory";
a bash-nek csak ezen programk�nyvt�rak egyike sz�ks�ges. Megtudhatjuk azt, hogy eset�nkben melyik
sz�ks�ges:
Hozzuk l�tre a rendszerind�t� (init) szkriptet (ne felejts�k a "xxxxxxxxxx"
hely�re be�rni a kiv�lasztott �lv�letlen sorozat kiindul��rt�ket (random seed)):
cat > ramdisk/sbin/init << "EOF"
#!/bin/sh
/sbin/losetup -e aes256 -S xxxxxxxxxx /dev/loop0 /dev/hda2
/bin/mount -r -n -t ext2 /dev/loop0 /mnt
while [ $? -ne 0 ]
do
/sbin/losetup -d /dev/loop0
/sbin/losetup -e aes256 -S xxxxxxxxxx /dev/loop0 /dev/hda2
/bin/mount -r -n -t ext2 /dev/loop0 /mnt
done
cd /mnt
/sbin/pivot_root . loader
exec /usr/sbin/chroot . /sbin/init
EOF
chmod 755 ramdisk/sbin/init |
Csatoljuk le a loopback eszk�zt, �s t�m�r�ts�k be a virtu�lis rendszerind�t� f�jlrendszert:
umount -d ramdisk
rmdir ramdisk
gzip initrd
mv initrd.gz /boot/ |