Fuld kryptering af Ubuntu 7.04

Ubuntu

Da bærbare computere i de sidste par år har indhentet stationære i både pris og ydelse, er det blevet mere og mere almindeligt, at folk køber en bærbar som primær computer. En sådan computer kan tages med overalt, og det er praktisk, når man lige sidder i skolen eller på caféen og vil have adgang til sine dokumenter eller surfe på nettet.
På grund af denne mobilitet beskytter vi os ofte mod tyveri med forsikringer, da vi jo gerne vil beskytte vores investering. Men hvad med de personlige data, såsom e-mails, dokumenter og gemte password i browseren, som vi ofte opbevarer på computeren? De er jo frit tilgængelige, når man blot har fat i harddisken, og kan bruges til at stjæle mere fra dig end blot computeren. En måde at undgå dette på er at kryptere hele harddisken. Det kan lyde voldsomt, men når man først har krypteret systemet, ligger man faktisk ikke mærke til det i det daglige arbejde, og det kræver ikke noget ekstra arbejde fra brugerens side udover indtastningen af adgangskoden.

Om guiden:
Denne guide viser, hvordan man kan kryptere en nyinstalleret Ubuntu 7.04, hvor man benytter sig af en midlertidig partition, som senere vil blive brugt som "home"-partition. LUKS-systemet vil blive brugt, da det giver mulighed for let administrering af de krypterede drev, som blandt andet ændring af password og tilføjelse af nye password. Guiden kan virke meget lang, men den er forsøgt gjort så forståelig så muligt.

Guiden:
Start computeren med Ubuntu 7.04 cd'en, og start installationen som normalt. Når du kommer til det punkt, hvor du skal lave partitioner på harddisken, skal du vælge "manuelt", og lave 4 partitioner:

------------------------------------------------------
sda1 /boot 500MB
sda2 / 15GB
sda3 --GB #Skal fylde resten af drevet, minus 1000MB til swap.
sda4 swap 1000MB
------------------------------------------------------

(sda2 vil til sidst blive din krypterede "root" partition, og sda3 vil blive din krypterede "home" partition.)

Når installationen er færdig, rebooter du ind i dit nye (ukrypterede) system.

Når den er færdig med at boote, logger du ind og åbner en terminal. Log derefter ind som superbruger ved at skrive:

"$ sudo su"

Opdater nu dit system:

"$ apt-get update && apt-get dist-upgrade"

og installer cryptsetup:

"$ apt-get install cryptsetup"

Til sidst rebooter du dit system med følgende kommando:

"$ reboot"

Når den er færdig med at boote, logger du ind, og åbner en terminal igen. Log derefter ind som superbruger igen med:

"$ sudo su"

Nu skal du til at rette i dit system, således at du kan boote ind i det, når det er krypteret. Du kan bruge programmet "gedit" til at rette i filerne.

"$ gedit "

Den første fil der skal rettes er "/etc/fstab".
Find de to linjer som ser således ud:

------------------------------------------------------
UUID= / ext3 defaults,errors=remount-ro 0 1
UUID= none swap sw 0 0
------------------------------------------------------

og erstat dem med:

------------------------------------------------------
/dev/mapper/root / ext3 defaults,errors=remount-ro 0 1
/dev/mapper/swap none swap sw 0 0
------------------------------------------------------

Derudover skal du tilføje følgende linje til filen:

------------------------------------------------------
/dev/mapper/home /home ext3 defaults 0 1
------------------------------------------------------

Derefter skal du sørge for, at systemet åbner for de krypterede drev. Det gør du ved at tilføje følgende linjer til filen "/etc/crypttab":

------------------------------------------------------
root /dev/sda2 none luks
home /dev/sda3 none luks
swap /dev/sda4 /dev/urandom swap
------------------------------------------------------

Så skal du sørge for, at grub sætter rod-mappen til det krypterede drev. Det gør du ved at rette filen "/boot/grub/menu.1st". I filen skal du finde alle række som ser således ud:

------------------------------------------------------
title Ubuntu, kernel
root (hd0,0)
kernel /vmlinuz- root=UUID= ro quiet splash
initrd /initrd.img-
quiet
savedefault
------------------------------------------------------

og rette tredje linje (kernel), så den kommer til at se således ud:

------------------------------------------------------
kernel /vmlinuz- root=/dev/mapper/root ro quiet
------------------------------------------------------

Nu mangler du bare at rette i filen "/etc/initramfs-tools/modules". Følgende fire linjer skal tilføjes:

------------------------------------------------------
dm_mod
dm_crypt
aes
sha256
------------------------------------------------------

Til sidst skal du opdaterer ramdisk-filen, som bliver brugt, når systemet booter. Dette gør du ved at køre følgende kommando:

"$ update-initramfs -c -k all"

Når du er færdig, skal du indsætte Ubuntu cd'en igen, og reboote med kommandoen:

"$ reboot"

Efter Ubuntu-live-cd'en er startet, er det en god idé at sætte dit keyboard-layout, før du fortsætter, ellers risikerer du, at du ikke får skrevet det rigtige password ind.
Du retter dit keybord-layout ved at gå ind i menu'en "system->preferences->keyboard". Vælg flaget "Layout", tryk på "add", vælg "Denmark" under "Available layouts" og tryk "ok". Nu skal du bare vælge "U.S. English" og trykke "Remove", hvorefter du skulle have dansk layout. Tryk på "close" for at lukke vinduet.

Nu skal du til at kryptere dine drev. Du skal starte med at åbne en terminal og logge ind som superbruger:

"$ sudo su"

Gå ind i mappen /mnt:

"$ cd /mnt"

og opret to nye mapper:

"$ mkdir root"
"$ mkdir home"

Formater "home"-partitionen (sda3) med ext3 filsystemet

"$ mkfs.ext3 /dev/sda3"

og mount sda2 til mappen "root", og sda3 til mappen "home":

"$ mount /dev/sda2 root/"
"$ mount /dev/sda3 home/"

Nu skal du midlertidig flytte det nyinstalleret system fra "root" til "home":

"$ cp -ax root/* home/"

Dette gør du for at gemme systemet imens du krypterer "root"-partitionen.
Nu skal sda2 krypteres. Det gør du ved at bruge cryptsetup. Derfor skal du først ligge det ind. Det gør du ved at rette i filen "/etc/apt/sources.list".
Du skal fjerne "#"-tegnet i starten af de to linjer, som slutter på "universe". De skal se således ud:

------------------------------------------------------
deb http://archive.ubuntu.com/ubuntu feisty universe
deb-src http://archive.ubuntu.com/ubuntu feisty universe
------------------------------------------------------

og derefter installere cryptsetup med kommandoen:

"$ apt-get update && apt-get install cryptsetup"

Til sidst skal du indsætte cryptsetup's moduler i kernen vha. kommandoerne:

"$ modprobe dm_crypt"
"$ modprobe aes"
"$ modprobe sha256"

Nu er du klar til at kryptere dine drev. Start med at afmonterer "root"-partitionen:

"$ umount root/"

Hvorefter du kan kryptere den:

"$ cryptsetup luksFormat /dev/sda2 -v -y -c aes-cbc-essiv:sha256 -h sha1 -s 128"

og derefter skal du åbne for det krypterede drev:

"$ cryptsetup luksOpen /dev/sda2 root"

For at vi kan flytte systemet tilbage, skal der oprettes et filsystem på det krypteret drev. Det gør du på følgende måde:

"$ mkfs.ext3 /dev/mapper/root".

Hvorefter du mounter det nye drev:

"$ mount /dev/mapper/root root/"

og kopierer det ukrypterede system over på det krypterede drev:

"$ cp -ax home/* root/"

Når du er færdig, er det tid til at kryptere "home"-partitonen. Først skal den lige afmonteres:

"$ umount home/"

Hvorefter du kan kryptere den:

"$ cryptsetup luksFormat /dev/sda3 -v -y -c aes-cbc-essiv:sha256 -h sha1 -s 128"

og åbner den:

"$ cryptsetup luksOpen /dev/sda3 home"

Nu kan du formaterer "home"-partitionen

"$ mkfs.ext3 /dev/mapper/home"

og mounte den

"$ mount /dev/mapper/home home/"

Hvorefter du kan flytte filerne fra home på "root"-partitionen til din nye krypterede "home"-partition.

"$ cp -ax root/home/* home/"
"$ rm -rf root/home/*"

Til sidst skal du reboot ind i dit nye krypterede system.

"$ reboot"

Hvis alt er gået rigtig til, skulle du nu have et fuldt krypteret system, og dit personlige data skulle være en lille smule mere sikkert.
Husk ofte at tage backup af dit data, da kryptering jo ikke hjælper dig med at få den tilbage.