Slik konfigurerer du krypterte filsystemer og bytter plass ved å bruke 'Cryptsetup'-verktøyet i Linux - Del 3


En LFCE (forkortelse for Linux Foundation Certified Engineer) er opplært og har ekspertisen til å installere, administrere og feilsøke nettverkstjenester i Linux-systemer, og er ansvarlig for design, implementering og løpende vedlikehold av systemarkitekturen.

Vi introduserer Linux Foundation Certification Program (LFCE).

Ideen bak kryptering er å la bare pålitelige personer få tilgang til dine sensitive data og for å beskytte dem mot å falle i feil hender i tilfelle tap eller tyveri av maskinen/harddisken din.

Enkelt sagt brukes en nøkkel for å «låse» tilgang til informasjonen din, slik at den blir tilgjengelig når systemet kjører og låses opp av en autorisert bruker. Dette innebærer at hvis en person prøver å undersøke diskinnholdet (plugger det til sitt eget system eller ved å starte opp maskinen med en LiveCD/DVD/USB), vil han bare finne ulesbare data i stedet for de faktiske filene.

I denne artikkelen vil vi diskutere hvordan du setter opp krypterte filsystemer med dm-crypt (forkortelse for enhetsmapper og kryptografisk), standard krypteringsverktøy på kjernenivå. Vær oppmerksom på at siden dm-crypt er et blokknivåverktøy, kan det bare brukes til å kryptere hele enheter, partisjoner eller sløyfeenheter (fungerer ikke på vanlige filer eller kataloger).

Forberede en stasjon/partisjon/sløyfeenhet for kryptering

Siden vi vil slette alle data som finnes i den valgte stasjonen (/dev/sdb), må vi først og fremst ta en sikkerhetskopi av alle viktige filer i den partisjonen FØR går videre.

Slett alle data fra /dev/sdb. Vi skal bruke kommandoen dd her, men du kan også gjøre det med andre verktøy som for eksempel shred. Deretter vil vi lage en partisjon på denne enheten, /dev/sdb1, etter forklaringen i del 4 – Lag partisjoner og filsystemer i Linux av LFCS-serien.

dd if=/dev/urandom of=/dev/sdb bs=4096 
Tester for krypteringsstøtte

Før vi går videre, må vi sørge for at kjernen vår er kompilert med krypteringsstøtte:

grep -i config_dm_crypt /boot/config-$(uname -r)

Som skissert i bildet ovenfor, må dm-crypt-kjernemodulen lastes inn for å sette opp kryptering.

Installerer Cryptsetup

Cryptsetup er et grensesnitt for å lage, konfigurere, få tilgang til og administrere krypterte filsystemer ved hjelp av dm-crypt.

aptitude update && aptitude install cryptsetup 		[On Ubuntu]
yum update && yum install cryptsetup 				[On CentOS] 
zypper refresh && zypper install cryptsetup 			[On openSUSE]

Sette opp en kryptert partisjon

Standard driftsmodus for kryptoppsett er LUKS (Linux Unified Key Setup), så vi holder oss til det. Vi begynner med å sette LUKS-partisjonen og passordfrasen:

cryptsetup -y luksFormat /dev/sdb1

Kommandoen ovenfor kjører cryptsetup med standardparametere, som kan vises med,

cryptsetup --version

Hvis du ønsker å endre chiffer, hash eller nøkkel parametere, kan du bruke –chiffer, < b>–hash og –key-size-flagg, henholdsvis med verdiene hentet fra /proc/crypto.

Deretter må vi åpne LUKS-partisjonen (vi vil bli bedt om passordfrasen som vi skrev inn tidligere). Hvis autentiseringen lykkes, vil vår krypterte partisjon være tilgjengelig i /dev/mapper med det angitte navnet:

cryptsetup luksOpen /dev/sdb1 my_encrypted_partition

Nå vil vi formatere partisjonen som ext4.

mkfs.ext4 /dev/mapper/my_encrypted_partition

og lag et monteringspunkt for å montere den krypterte partisjonen. Til slutt vil vi kanskje bekrefte om monteringsoperasjonen lyktes.

mkdir /mnt/enc
mount /dev/mapper/my_encrypted_partition /mnt/enc
mount | grep partition

Når du er ferdig med å skrive til eller lese fra det krypterte filsystemet, er det bare å avmontere det

umount /mnt/enc

og lukk LUKS-partisjonen ved å bruke,

cryptesetup luksClose my_encrypted_partition
Tester kryptering

Til slutt vil vi sjekke om vår krypterte partisjon er trygg:

1. Åpne LUKS-partisjonen

cryptsetup luksOpen /dev/sdb1 my_encrypted_partition

2. Skriv inn passordfrasen

3. Monter skilleveggen

mount /dev/mapper/my_encrypted_partition /mnt/enc

4. Lag en dummy-fil inne i monteringspunktet.

echo “This is Part 3 of a 12-article series about the LFCE certification” > /mnt/enc/testfile.txt

5. Bekreft at du har tilgang til filen du nettopp opprettet.

cat /mnt/enc/testfile.txt

6. Avmonter filsystemet.

umount /mnt/enc

7. Lukk LUKS-partisjonen.

cryptsetup luksClose my_encrypted_partition

8. Prøv å montere partisjonen som et vanlig filsystem. Det bør indikere en feil.

mount /dev/sdb1 /mnt/enc

Krypter inn bytteplassen for ytterligere sikkerhet

passordet du skrev inn tidligere for å bruke den krypterte partisjonen er lagret i RAM-minnet mens det er åpent. Hvis noen kan få tak i denne nøkkelen, vil han kunne dekryptere dataene. Dette er spesielt enkelt å gjøre når det gjelder en bærbar datamaskin, siden innholdet i RAM holdes på swap-partisjonen under dvalemodus.

For å unngå å la en kopi av nøkkelen være tilgjengelig for en tyv, krypter swap-partisjonen ved å følge disse trinnene:

1 Opprett en partisjon som skal brukes som swap med passende størrelse (/dev/sdd1 i vårt tilfelle) og krypter den som forklart tidligere. Gi det navnet «bytte» for enkelhets skyld.'

2.Sett den som swap og aktiver den.

mkswap /dev/mapper/swap
swapon /dev/mapper/swap

3. Deretter endrer du den tilsvarende oppføringen i /etc/fstab.

/dev/mapper/swap none        	swap	sw          	0   	0

4. Til slutt, rediger /etc/crypttab og start på nytt.

swap               /dev/sdd1         /dev/urandom swap

Når systemet er ferdig med å starte opp, kan du bekrefte statusen til bytteplassen:

cryptsetup status swap

Sammendrag

I denne artikkelen har vi utforsket hvordan du krypterer en partisjon og bytter plass. Med dette oppsettet bør dataene dine være betydelig trygge. Gjerne eksperimenter og ikke nøl med å komme tilbake til oss hvis du har spørsmål eller kommentarer. Bare bruk skjemaet nedenfor - vi vil være mer enn glade for å høre fra deg!