NetBSD.SE Logotype
Meny
Välkommen till NetBSD.se

Sök bland pkgsrc/wip:Sök efter manual:
 


Hårddiskkryptering med cgd
2005-04-08 22:47:32 inskickat av Mikael Höjdh

GuiderOm någon skulle komma över din dator fysiskt är det stor risk att din data kommer i orätta händer.
Det går alltid att montera disken i en annan dator och på så sätt komma åt datat. Bra rootlösenord eller säkrade tty:er spelar ingen roll.

Genom att kryptera delar av hårddisken så blir ditt data skyddat. Du får ett extra
lösenord att hålla reda på som fungerar som nyckel till disken.

Börja med att kompilera en kernel som har stöd för cgd:
pseudo-device cgd 4 # cryptographic disk driver

Kryptera en partition

I detta exampel tänker jag kryptera /home som ligger som en egen partition.

Först säkerhetskopiera
#tar -cpf - /home | gzip > backup.tgz

/home ligger på partition /dev/wd0f enligt /etc/fstab
#cat /etc/fstab
/dev/wd0a / ffs rw 1 1
/dev/wd0b none swap sw 0 0
/dev/wd0e /var ffs rw 1 2
/dev/wd0f /home ffs rw 1 2
kernfs /kern kernfs rw
procfs /proc procfs rw,noauto


Vi kan inte ändra den om den är monterad.
#umount /dev/wd0f

Eventuellt kan du rensa partitionen först så att inget data kan återskapas. Detta kan ta en stund.
#dd if=/dev/zero of=/dev/wd0f bs=1024k

Vi definierar cgd enheten i /etc/cgd/cgd.conf
cgd0 /dev/wd0f

Konfigurera den krypterade disken, i detta fall med 128 bit AES.
#cgdconfig -g -V disklabel -o /etc/cgd/wd0f aes-cbc 128
#cgdconfig -V re-enter cgd0 /dev/wd0f


Du får då ange ett lösenord.

Den krypterade partitionen ses som en egen disk och behandlas därefter.
Vi måste köra disklabel och vi har bara en partition på den 'nya disken' nämligen /home som kommer ligga på cgd0a.

#disklabel -I -i cgd0
partition> a
Filesystem type [?] [4.2BSD]:
Start offset ('x' to start after partition 'x') [0c, 0s, 0M]: 0
Partition size ('$' for all remaining) [15000.9c, 30721761s, 15000.9M]: $
partition> P
4 partitions:
# size offset fstype [fsize bsize cpg/sgs]
a: 30721761 0 4.2BSD 0 0 0 # (Cyl. 0 - 15000*)
d: 30721761 0 unused 0 0 # (Cyl. 0 - 15000*)
partition> W
Label disk [n]? y
Label written
partition> Q


Skapa sedan ett filsystem, kolla newfs(8) för andra filsystem än FFSv1 som är default.
#newfs cgd0a

Så! Dags att montera /home på den nya krypterade disken istället.
Ändra i /etc/fstab

...
#/dev/wd0f /home ffs rw 1 2
/dev/cgd0a /home ffs rw 1 2
...


Boota om och se om det fungerar. Du kommer att bli ombedd att ange diskens lösenord när den monteras.

Återställ dina filer på den krypterade disken:
#zcat backup.tgz | tar xpf - -C /

Skulle du vilja ha tillbaka din disk utan kryptering så:
1. Gör backup av partitionen
2. Kör #newfs wd0f
3. Ta bort disken från /etc/cgd/cgd.conf
4. reboot
5. Återställ datat


Krypterad swap

Det behövs ingen speciell nyckel när man skall kryptera växlingspartitionen (swap).
Anledningen är att vi inte bryr oss om av avkryptera det efter en omstart.
Det gör inget om informationen går förlorad.
Vi kan använda en slumpnyckel varje gång växlingspartitionen monteras.

I detta fall heter växlingspartitionen wd0b.

Skapa definitionsfilen, i detta fall med 128 bit Blowfish:
#cgdconfig -g -V none -k randomkey -o /etc/cgd/wd0b blowfish-cbc 128

Inaktivera växlingspartitionen
#swapctl -U

Konfigurera cgd över wd0b.
#cgdconfig cgd1 /dev/wd0b /etc/cgd/wd0b

#disklabel -I -i cgd1
partition> a
Filesystem type [?] [4.2BSD]: swap
Start offset ('x' to start after partition 'x') [0c, 0s, 0M]: 0
Partition size ('$' for all remaining) [128.461c, 263088s, 128.461M]: $
partition> P
4 partitions:
# size offset fstype [fsize bsize cpg/sgs]
a: 263088 0 swap # (Cyl. 0 - 128*)
d: 263088 0 unused 0 0 # (Cyl. 0 - 128*)
partition> W
Label disk [n]? y
Label written
partition> Q



Vi måste lägga till den krypterade växlingspartitionen i /etc/cgd/cgd.conf:
cgd1 /dev/wd0b

Eftersom ingen verifiering används, och vi använder en slumpnyckel så 'försvinner' disklabeln
efter varje reboot, så den måste sättas på plats igen vid varje omstart.

Spara undan disklabeln
#disklabel cgd1 > /etc/cgd/wd0b.disklabel

Skapa /etc/rc.conf.d/cgd

swap_device="cgd1"
swap_disklabel="/etc/cgd/wd0b.disklabel"
start_postcmd="cgd_swap"
cgd_swap()
{
if [ -f $swap_disklabel ]; then
disklabel -R -r $swap_device $swap_disklabel
fi
}


Lägg till den i /etc/fstab

...
#/dev/wd0b none swap sw 0 0
/dev/cgd1a none swap sw 0 0
...


Montera den krypterade växlingspartitionen
#swapctl -a /dev/cgd1a

Lycka till!


skrivut.gif Utskriftsformat mail.gif Skicka artikeln till någon


Kommentarer tillhörande (Hårddiskkryptering med cgd)


Namn (tomt = anonym):
Din email:






© 2003-2008 NetBSD.se
Materialet som publicerats på denna sida tillhör respektive författare. Materialet får kopieras med förutsättning av att källanvisning medförs som i detta fall är www.netbsd.se. Eventuella kommentarer tillhör skrivande individ. All information erbjuds utan garanti på funktion och duglighet och NetBSD.se tar inget ansvar för händelser som åsakats på grund av något på denna sida. NetBSD är ett registrerat varumärke som tillhör The NetBSD Foundation. Alla varumärken och copyright på denna sida ägs av deras respektive ägare. Vår maskot går under BSD-licensen och är fri att användas.