Installering på cryptroot
BEMÆRK: Der er nogle ting du skal være særligt opmærksom på hvis du anvender denne guide til at kryptere root eller data partitioner:
- Det her er en basal guide for at få dig igang. Det er dit eget ansvar at lære mere om LVM, LUKS, cryptsetup og kryptering. Du finder kildehenvisninger samt nyttige links nederst på denne side, men listen er ikke på nogen måde komplet.
- cryptsetup kan ikke kryptere eksisterende partitioner, så du skal oprette nye partitioner og konfigurere dem med cryptsetup før du kan flytte dine data over på dem.
- Du kan anvende nøglefiler og have flere nøgler for data (helt op til 8), men det vil ikke blive yderligere beskrevet i denne guide.
- Glem ikke dit kodeord! Du mister adgang til dine data hvis du mister dit kodeord! Selv brug af chroot er, uden kodeordet, nyttesløst pånær for /boot.
- I starten af boot processen vil du blive spurgt efter dit kodeord (passphrase) for crypt enheden og systemet vil herefter starte op som vanligt.
Krypterings eksempler:
kryptering med LVM grupper
I dette eksempel anvendes crypt indeni LVM volumen for at gøre det muligt for dig at splitte din /home partition fra din / og for at have en separat swap partition uden brug for adskillige passfrases/ kodeord. Metoden er anvendelig på systemer fra aptosid-2010-03-apate og fremefter.
Før du starter installationsprogrammet skal du forberede dit filsystem der skal anvendes under installationen. For at læse om basal LVM partitionering, se her Logical Volume Manager - LVM partitionering.
Du har som minimum brug for et ukrypteret /boot filsystem og et krypteret / filsystem og ligeså krypterede /home og swap filesystemer.
- Hvis du ikke har planlagt at anvende en allerede eksisterende lvm volume gruppe, så skal du oprette en normal lvm volume gruppe. I det her eksempel antages det at din volume gruppe hedder vg og skal indeholde din /boot og dine krypterede data.
- Du har brug for en logisk volumen til din /boot og dine krypterede data så brug lvcreate for at oprette en logisk volumen i vg volumen gruppen, med den størrelse du ønsker:
lvcreate -n boot --size 250m vg lvcreate -n crypt --size 300g vg
Med disse kommandoer bliver LVM'er kaldt boot og crypt oprettet, med størrelserne 250Mb og 300Gb. - Opret filsystemet for /boot så det er tilgængeligt i installationsprogrammet:
mkfs.ext4 /dev/mapper/vg-boot
- Anvend cryptsetup for at kryptere vg-crypt, anvend den hurtigere xts mulighed med den stærkeste nøgle længde på 512bit og åben den så. Når du gør det vil du blive purgt efter dit kodeord to gange for at indstille det, og en tredie gang for at bruge det til at åbne med. Det bliver åbnet med standard boot-indstillingerne for cryptopt og med navnet cryptroot:
cryptsetup --verify-passphrase --cipher aes-xts-plain:sha512 luksFormat /dev/mapper/vg-crypt
cryptsetup luksOpen /dev/mapper/vg-crypt cryptroot
- Nu skal du anvende lvm inden i den krypterede enhed for at oprette en sekundær volumen gruppe, som skal bruges til /swap og /home enhederne. pvcreate cryptroot for at oprette en fysisk LVM og vgcreate for at oprette yderligere en LVM-gruppe, denne kalder vi cryptvg:
pvcreate /dev/mapper/cryptroot vgcreate cryptvg /dev/mapper/cryptroot
- Nu skal du anvende lvcreate med den just oprettde krypterede cryptvg LVM gruppe for at oprette de logiske volumener / , /swap and /home med de ønskede størrelser:
lvcreate -n swap --size 2g cryptvg lvcreate -n root --size 40g cryptvg lvcreate -n home --size 80g cryptvg
Her hedder de logiske volumener swap, root og home og størrelsen er 2Gb, 50Gb og 250Gb. - Opret nu filsystemet for for cryptvg-swap, cryptvg-root og cryptvg-home så installeren kan se dem:
mkswap /dev/mapper/cryptvg-swap mkfs.ext4 /dev/mapper/cryptvg-root mkfs.ext4 /dev/mapper/cryptvg-home
- Nu er du klar til at køre installationsprogrammet hvor du skal anvende følgende indstillinger:
vg-boot for /boot,
cryptvg-root for /,
cryptvg-home for /home,
and cryptvg-swap for swap should be automagically recognised.
Det installerede system skulle gerne ende med en kernel kommando linie der indeholder følgende valg:
root=/dev/mapper/cryptvg-root cryptopts=source=/dev/mapper/vg-crypt,target=cryptroot,lvm=cryptvg-root
Nu har du crypt og boot under vg lvm volumen gruppe og root, home og swap indeni vgcrypt lvm volumen gruppen som er indeni din kodeords-beskyttede krypterede enhed.
Note: If reinstalling to a previously encrypted lvm volume the installer needs to be made aware of the crypt:
cryptsetup luksOpen /dev/mapper/cryptvg-root cryptvg vgchange -a y
Bemærkninger for anvendelse af crypt med traditionelle partitionerings metoder
Det første du skal overveje er dit layout af dine diske. Du skal bruge minimun 2 partitioner, en normal til din /boot og en til alt den krypterede data.
Hvis vi antager at du vil anvende en swap (som i så tilfælde også bør være krypteret), så skal du bruge en tredie partition og du vil blive spurgt efter et kodeord ved opstart for swap partitionen (så du skal skrive kodeord ind to gange under boot-processen).
Det er muligt at anvende nøgler til swap indefra det krypterede system med normal partitionering, men du vil så ikke være i stand til at bruge "suspend to disk". På grund af dette er en bedre løsning at anvende LVM volumen med fuldt krypterede partitioner og nøgler.
Essentielle antagelser:
- Der er kun 3 partitioner på disken:
/boot, på 250mb
swap, på 2 gig
/ og /home kombineret, resten af pladsen. - Der skal anvendes 2 kodeord, 1 til swap og det andet til / og /home kombineret.
Nu da partitioneringen er overstået skal du forberede de krypterede partitioner så de bliver genkendt af instalationsprogrammet.
IHvis du har anvendt et partitionerings program med en grafisk brugerflade skal du lukke det og starte en terminal/ konsol, eftersom krypterings kommandoerne skal afgives fra en kommandolinie.
/boot partitionen
Formater /boot partitionen som ext4, hvis du ikke allered har gjort det:
/sbin/mkfs.ext4 /dev/sda1
krypteret swap partition
For den krypterede swap skal du først formatere og åbne den ny raw enhed, /dev/sda2, som en krypteret enhed, ligesom vg-crypt enheden ovenfor, men åben den under et andet navn, swap.
cryptsetup --verify-passphrase --cipher aes-xts-plain:sha512 luksFormat /dev/sda2
cryptsetup luksOpen /dev/sda2 swap
echo "swap UUID=$(blkid -o value -s UUID /dev/sda2) none luks" >> /etc/crypttab
Format the created /dev/mapper/swap so it will be recognised by the installer:
/sbin/mkswap /dev/mapper/swap
Krypteret / partition
For den krypterede / skal du først formattere og åbne raw enheden, /dev/sda3, som en krypteret enhed, ligesom ovenfor med vg-crypt enheden.
cryptsetup --verify-passphrase --cipher aes-xts-plain:sha512 luksFormat /dev/sda3
cryptsetup luksOpen /dev/sda3 cryptroot
Format den oprettede /dev/mapper/cryptroot så også den kan ses i instalationsprogrammet:
/sbin/mkfs.ext4 /dev/mapper/cryptroot
Åben nu installationsprogrammet
Nu er du klar til at installere, her skal du anvende følgende indstillinger:
sda1 for /boot,
cryptroot for / and /home
swap should be automagically recognised.
Det installerede system skal gerne ende med en kernel kommando linje der inkluderer følgende (dine UUID'er vil selvfølgelig være anvendt):
root=/dev/mapper/cryptroot cryptopts=source=UUID=12345678-1234-1234-1234-1234567890AB,target=cryptroot
Nu har du en /boot som er en regulær partition, en krypteret kodeords beskyttet swap sammen med en krypteret root og /home.
kilder og henvisninger:
Anbefalet læsning:
man cryptsetup
LUKS.
Protect Your Stuff With Encrypted Linux Partitions.
KVM how to use encrypted images.