LUKS: Linux-harddiskdatakryptering med NTFS-støtte i Linux


LUKS akronym står for Linux Unified Key Setup som er en utbredt metode for diskkryptering som brukes av Linux Kernel og implementeres med cryptsetup-pakken.

Kommandolinjen cryptsetup krypterer en volumdisk i farten ved hjelp av symmetrisk krypteringsnøkkel avledet fra den medfølgende passordfrasen som leveres hver gang en volumdisk, en partisjon og også en hel disk (til og med en USB-pinne) er montert i filsystemhierarki og bruker aes-cbc-essiv:sha256 chiffer.

Fordi LUKS kan kryptere hele blokkenhetene (harddisker, USB-pinner, Flash-disker, partisjoner, volumgrupper osv.) på Linux-systemer anbefales i stor grad for å beskytte flyttbare lagringsmedier, bærbare harddisker eller Linux-byttefiler og anbefales ikke for fil nivå kryptering.

NTFS (New Technology File System) er et proprietært filsystem utviklet av Microsoft.

Ubuntu 14.04 gir full støtte for LUKS-kryptering og også NTFS-native støtte for Windows ved hjelp av ntfs-3g-pakken.

For å bevise poenget mitt i denne opplæringen har jeg lagt til en ny harddisk (4.) på Ubuntu 14.04-boksen (systemreferansen til nylig lagt til HDD er /dev/sdd ) som den vil bli delt i to partisjoner.

  1. Én partisjon (/dev/sdd1 -primær) brukt for LUKS-kryptering.
  2. Den andre partisjonen (/dev/sdd5 – utvidet) formaterte NTFS for tilgang til data på både Linux- og Windows-baserte systemer.

Også partisjonene vil automatisk bli montert på Ubuntu 14.04 etter omstart.

Trinn 1: Lag diskpartisjoner

1. Etter at harddisken er fysisk lagt til på maskinen din, bruk ls-kommandoen for å liste alle /dev/devices (den fjerde disken er /dev/sdd).

ls /dev/sd*

2. Deretter kontrollerer du den nylig lagt til harddisken med kommandoen fdisk.

sudo fdisk –l /dev/sdd

Fordi det ikke var skrevet noe filsystem, inneholder ikke disken en gyldig partisjonstabell ennå.

3. De neste trinnene deler opp harddisken for et resultat med to partisjoner ved å bruke cfdisk diskverktøy.

sudo cfdisk /dev/sdd

4. Det neste skjermbildet åpner cfdisk interaktiv modus. Velg harddisken Ledig plass og naviger til Ny-alternativet ved å bruke venstre/høyre piltaster.

5. Velg partisjonstype som Primær og trykk Enter.

6. Skriv ned ønsket partisjonsstørrelse i MB.

7. Opprett denne partisjonen ved begynnelsen av ledig plass på harddisken.

8. Naviger deretter til Type-alternativet for partisjon og trykk Enter.

9. Den neste ledeteksten viser en liste over alle typer filsystemer og deres nummerkode ( Hex-nummer). Denne partisjonen vil være en Linux LUKS-kryptert, så velg 83-kode og trykk Enter igjen for å opprette partisjon.

10. Den første partisjonen er opprettet og cfdisk-verktøyledeteksten går tilbake til begynnelsen. For å opprette den andre partisjonen brukt som NTFS, velg den gjenværende Ledig plass, naviger til Ny-alternativet og trykk Enter-tasten .

11. Denne gangen vil partisjonen være en utvidet logisk. Så, naviger til Logisk-alternativet og trykk på Enter igjen.

12. Skriv inn partisjonsstørrelsen på nytt. For å bruke den gjenværende ledige plassen som den nye partisjonen la standardverdien stå på størrelse og trykk bare Enter.

13. Velg partisjonstypekoden igjen. For NTFS filsystem velg 86 volumkode.

14. Etter å ha gjennomgått og bekreftet partisjoner velg Skriv, svar ja på neste interaktive spørsmål og deretter Avslutt for å forlate b>cfdisk-verktøyet.

Gratulerer ! Partisjonene dine har blitt opprettet og er nå klare til å formateres og brukes.

15. For å bekrefte igjen disk Partisjonstabell, utfør kommandoen fdisk igjen som vil vise en detaljert partisjonstabellinformasjon.

sudo fdisk –l /dev/sdd

Trinn 2: Opprett partisjonsfilsystem

NTFS filsystem

16. For å lage NTFS filsystem på andre partisjon kjør mkfs kommando.

sudo mkfs.ntfs /dev/sdd5

17. For å gjøre partisjonen tilgjengelig må den monteres på filsystemet til et monteringspunkt. Monter den andre partisjonen på den fjerde harddisken til /opt monteringspunkt ved å bruke kommandoen mount.

sudo mount /dev/sdd5 /opt

18. Deretter sjekker du om partisjonen er tilgjengelig og er oppført i filen /etc/mtab ved å bruke cat-kommandoen.

cat /etc/mtab

19. Bruk følgende kommando for å avmontere partisjonen.

sudo umount /opt
EXT4 LUKS

20. Sørg for at pakken cryptsetup er installert på systemet ditt.

sudo apt-get install cryptsetup		[On Debian Based Systems]

yum install cryptsetup				[On RedHat Based Systems]

21. Nå er det på tide å formatere den første partisjonen på den fjerde harddisken med ext4 filsystem ved å gi følgende kommando.

sudo luksformat  -t ext4  /dev/sdd1

Svar med store bokstaver JA på spørsmålet «Er du sikker?» og skriv inn tre ganger ønsket passordfrase.

Merk: Avhengig av partisjonens størrelse og HDD-hastigheten kan filsystemet ta en stund.

22. Du kan også bekrefte status for partisjonsenhet.

sudo cryptsetup luksDump  /dev/sdd1

23. LUKS støtter maksimalt 8 passord lagt til. For å legge til et passord bruk følgende kommando.

sudo cryptsetup luksAddKey /dev/sdd1

Bruk for å fjerne et passord.

sudo cryptsetup luksRemoveKey /dev/sdd1

24. For at denne krypterte partisjonen skal være aktiv må den ha en navneoppføring (initialiseres ) til katalogen /dev/mapper ved hjelp av cryptsetup-pakken.

Denne innstillingen krever følgende kommandolinjesyntaks:

sudo cryptsetup luksOpen  /dev/LUKS_partiton  device_name

Hvor «device_name» kan være et hvilket som helst beskrivende navn du liker! (Jeg har kalt den min kryptert_volum). Selve kommandoen vil se ut som vist nedenfor.

sudo cryptsetup luksOpen  /dev/sdd1 crypted_volume

25. Bekreft deretter om enheten din er oppført på /dev/mapper, katalog, symbolsk kobling og enhetsstatus.

ls /dev/mapper
ls –all /dev/mapper/encrypt_volume

sudo cryptsetup –v status encrypt_volume

26. Nå for å gjøre partisjonsenheten allment tilgjengelig, monter den på systemet ditt under et monteringspunkt ved å bruke mount-kommandoen.

sudo mount  /dev/mapper/crypted_volume  /mnt

Som du kan se er partisjonen montert og tilgjengelig for skriving av data.

27. For å gjøre den utilgjengelig, må du bare koble den fra systemet og lukke enheten.

sudo umount  /mnt
sudo cryptsetup luksClose crypted_volume

Trinn 3: Monter partisjonen automatisk

Hvis du bruker en fast harddisk og trenger at begge partisjonene automatisk skal systemmonteres etter omstart, må du følge disse to trinnene.

28. Rediger først /etc/crypttab-filen og legg til følgende data.

sudo nano /etc/crypttab
  1. Målnavn: Et beskrivende navn for enheten din (se punkt 22 ovenfor på EXT4 LUKS).
  2. Kildestasjon: Harddiskpartisjonen formatert for LUKS (se punkt 21 ovenfor på EXT4 LUKS).
  3. Nøkkelfil: Velg ingen
  4. Alternativer: Spesifiser luks

Den siste linjen vil se ut som vist nedenfor.

encrypt_volume               /dev/sdd1          none       luks

29. Rediger deretter /etc/fstab og spesifiser enhetsnavnet, monteringspunktet, filsystemtypen og andre alternativer.

sudo nano /etc/fstab

På siste linje bruker du følgende syntaks.

/dev/mapper/device_name (or UUID)	/mount_point     filesystem_type     options    dump   pass

Og legg til ditt spesifikke innhold.

/dev/mapper/encrypt_volume      /mnt    ext4    defaults,errors=remount-ro     0     0

30. Bruk følgende kommando for å få enhetens UUID.

sudo blkid

31. For å også legge til NTFS-partisjonstypen opprettet tidligere, bruk samme syntaks som ovenfor på en ny linje i fstab (Her Linux-filen legger til omdirigering benyttes ).

sudo su -
echo "/dev/sdd5	/opt	ntfs		defaults		0              0"  >> /etc/fstab

32. For å bekrefte endringene start maskinen på nytt, trykk Enter etter "Starter konfigurere nettverksenhet" oppstartsmelding og skriv inn enhetens passord.

Som du kan se ble begge diskpartisjonene automatisk montert på Ubuntu-filsystemhierarki. Som et råd ikke bruk automatisk krypterte volumer fra fstab-fil på fysisk eksterne servere hvis du ikke kan ha tilgang til omstartssekvensen for å oppgi ditt krypterte volumpassord.

De samme innstillingene kan brukes på alle typer flyttbare medier som USB-pinne, Flash-minne, ekstern harddisk osv. for å beskytte viktige, hemmelige eller sensitive data i tilfelle avlytting eller tyveri.