LUKS: Linux harde schijf gegevensencryptie met NTFS-ondersteuning in Linux

Het LUKS acroniem staat voor Linux Unified Key Setup wat een veelgebruikte methode van disk-encryptie is die wordt gebruikt door de Linux Kernel en geïmplementeerd is met het cryptsetup pakket.

De cryptsetup command line versleutelt een volume disk on-the-fly met behulp van een symmetrische encryptiesleutel afgeleid van de opgegeven wachtzin die telkens wordt verstrekt wanneer een volume disk, een partitie en zelfs een volledige schijf (zelfs een USB-stick) wordt gemount in de bestandssysteemhiërarchie en maakt gebruik van het aes-cbc-essiv:sha256 cijfer.

Linux Hard Disk Encryption Using LUKS

Omdat LUKS de gehele blokapparaten kan encrypten (harde schijven, USB-sticks, Flash disks, partities, volume groepen etc) op Linux systemen wordt het sterk aanbevolen voor het beveiligen van verwijderbare opslagmedia, laptop harde schijven of Linux swap-bestanden en niet aanbevolen voor bestandsniveau encryptie.

NTFS (New Technology File System) is een gepatenteerd bestandssysteem ontwikkeld door Microsoft.

Ubuntu 14.04 biedt volledige ondersteuning voor LUKS encryptie en ook NTFS native ondersteuning voor Windows met behulp van het ntfs-3g pakket.

Om mijn punt te bewijzen in deze handleiding heb ik een nieuwe harde schijf (4e) toegevoegd aan Ubuntu 14.04 box (het systeem verwijst naar de nieuw toegevoegde HDD als /dev/sdd) die zal worden verdeeld in twee partities.

  1. De eerste partitie (/dev/sdd1 -primair) wordt gebruikt voor LUKS encryptie.
  2. De tweede partitie (/dev/sdd5 – uitgebreid) is geformatteerd als NTFS voor toegang tot gegevens op zowel Linux als op Windows gebaseerde systemen.

Ook zullen de partities automatisch worden gemount op Ubuntu 14.04 na een herstart.

Stap 1: Maak Schijf Partities

1. Nadat je harde schijf fysiek aan je machine is toegevoegd, gebruik je het ls-commando om alle /dev-apparaten op te sommen (de vierde schijf is /dev/sdd</diy5).

# ls /dev/sd*
List Partitions in Linux

2. Controleer vervolgens je nieuw toegevoegde HDD met het fdisk commando.

$ sudo fdisk –l /dev/sdd
Check Linux Hard Disk

Omdat er nog geen bestandssysteem is geschreven, bevat de schijf nog geen geldige partitietabel.

3. De volgende stappen verdelen de harde schijf voor een resultaat met twee partities met behulp van het cfdisk schijfhulpprogramma.

$ sudo cfdisk /dev/sdd

4. Het volgende scherm opent in de interactieve modus van cfdisk. Selecteer de Vrije ruimte op je harde schijf en ga naar de optie Nieuw met behulp van de linker/rechter pijltoetsen.

cfdisk Interactive Mode

5. Kies het partitietype als Primaire en druk op Enter.

Select Your Partition Type

6. Noteer de gewenste partitiegrootte in MB.

Write Down Partition Size

7. Maak deze partitie aan het Begin van de vrije ruimte van de harde schijf.

Create a Partition

8. Ga vervolgens naar de partitie Type optie en druk op Enter.

Partition Type

9. De volgende prompt geeft een lijst weer van alle soorten bestandssystemen en hun nummercode (hexadecimaal nummer). Deze partitie zal een Linux LUKS versleuteling krijgen, kies daarom code 83 en druk nogmaals op Enter om de partitie aan te maken.

Enter File System Type

10. De eerste partitie is gemaakt en het cfdisk hulpprogramma vraagt terug naar het begin. Om de tweede partitie te maken die gebruikt zal worden als NTFS, selecteer de overgebleven Vrije ruimte, navigeer naar de Nieuw optie en druk op Enter.

Create New Partition

11. Deze keer zal de partitie een Uitgebreide Logische zijn. Navigeer naar de Logische optie en druk opnieuw op Enter.

Select Logical Partition Type

12. Voer opnieuw de grootte van uw partitie in. Om de overgebleven vrije ruimte als nieuwe partitie te gebruiken, laat u de standaardwaarde voor grootte staan en druk gewoon op Enter.

Enter Size of Partition

13. Kies opnieuw uw partitietype code. Kies voor het NTFS bestandssysteem volume code 86.

Select Partition Type

14. Nadat u de partities heeft beoordeeld en geverifieerd, selecteer Schrijven, antwoord ja op de volgende interactieve vraag en druk vervolgens op Stoppen om het cfdisk hulpprogramma te verlaten.

Write Partition Table to Disk
Confirm Changes
Quit to leave cfdisk utility

Gefeliciteerd! Uw partities zijn succesvol aangemaakt en zijn nu klaar om geformatteerd en gebruikt te worden.

15. Om opnieuw de schijf Partitietabel te verifiëren, voer opnieuw het fdisk commando uit dat gedetailleerde partitie tabelinformatie zal tonen.

$ sudo fdisk –l /dev/sdd
Confirm Parition Table

Stap 2: Partitiebestandssysteem Creëren

NTFS Bestandssysteem

16. Om een NTFS bestandssysteem op de tweede partitie te maken, voer het mkfs commando uit.

$ sudo mkfs.ntfs /dev/sdd5
Create NTFS Filesystem

17. Om de partitie beschikbaar te maken moet deze aan het bestandssysteem gekoppeld worden aan een aankoppelpunt. Koppel de tweede partitie van de vierde harde schijf aan het aankoppelpunt /opt met behulp van het mount commando.

$ sudo mount /dev/sdd5 /opt

18. Controleer vervolgens of de partitie beschikbaar is en vermeld staat in het /etc/mtab-bestand met behulp van het cat-commando.

$ cat /etc/mtab
Check Partition Availability

19. Gebruik de volgende opdracht om de partitie te demonteren.

$ sudo umount /opt
EXT4 LUKS

20. Zorg ervoor dat het cryptsetup-pakket is geïnstalleerd op uw systeem.

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

# yum install cryptsetup				[On RedHat Based Systems]

21. Het is nu tijd om de eerste partitie op de vierde harde schijf te formatteren met het ext4-bestandssysteem door de volgende opdracht uit te voeren.

$ sudo luksformat  -t ext4  /dev/sdd1

Antwoord met hoofdletters YES op de vraag “Weet u het zeker?” en voer drie keer uw gewenste wachtwoord in.

Format Partition

Opmerking: Afhankelijk van de grootte van uw partitie en de snelheid van de HDD kan het aanmaken van het bestandssysteem even duren.

22. U kunt ook de status van het partitie-apparaat controleren.

$ sudo cryptsetup luksDump  /dev/sdd1
Verify Partition Status

23. LUKS ondersteunt maximaal 8 toegevoegde wachtwoorden. Gebruik de volgende opdracht om een wachtwoord toe te voegen.

$ sudo cryptsetup luksAddKey /dev/sdd1
Add a Password

Om een wachtwoord te verwijderen gebruikt u dit.

$ sudo cryptsetup luksRemoveKey /dev/sdd1
Remove a Password

24. Om deze versleutelde partitie actief te laten zijn, moet deze een naamvermelding hebben (geïnitialiseerd zijn) naar de map /dev/mapper met behulp van het cryptsetup-pakket.

Deze instelling vereist de volgende opdrachtregelsyntax:

$ sudo cryptsetup luksOpen  /dev/LUKS_partiton  device_name

Waarbij “device_naam” elke beschrijvende naam kan zijn die u wilt! (Ik heb de mijne crypted_volume genoemd). De daadwerkelijke opdracht ziet eruit zoals hieronder weergegeven.

$ sudo cryptsetup luksOpen  /dev/sdd1 crypted_volume
Active Encrypted Partition

25. Controleer vervolgens of uw apparaat vermeld staat op /dev/mapper, directory, symbolische link en apparaatstatus.

$ ls /dev/mapper
$ ls –all /dev/mapper/encrypt_volume
Verify Encrypted Partition
$ sudo cryptsetup –v status encrypt_volume
Encrypted Partition Status

26. Om de partitie-apparaat breed beschikbaar te maken, moet u het koppelen aan uw systeem onder een koppelingspunt met behulp van het mount commando.

$ sudo mount  /dev/mapper/crypted_volume  /mnt
Mount Encrypted Partition

Zoals te zien is, is de partitie gemount en toegankelijk om gegevens te schrijven.

27. Om het niet beschikbaar te maken, moet u het ontkoppelen van uw systeem en het apparaat sluiten.

$ sudo umount  /mnt
$ sudo cryptsetup luksClose crypted_volume
Umount Encrypted Partition

Stap 3: Partitie automatisch koppelen

Als u een vaste harde schijf gebruikt en beide partities automatisch wilt laten koppelen na het opnieuw opstarten, moet u deze twee stappen volgen.

28. Bewerk eerst het bestand /etc/crypttab en voeg de volgende gegevens toe.

$ sudo nano /etc/crypttab
  1. Doelnaam: Een beschrijvende naam voor uw apparaat (zie boven punt 22 over EXT4 LUKS).
  2. Bronstation: De harde schijfpartitie geformatteerd voor LUKS (zie boven punt 21 over EXT4 LUKS).
  3. Sleutelbestand: Kies geen
  4. Opties: Specificeer luks

De uiteindelijke regel zou er als volgt uitzien.

encrypt_volume               /dev/sdd1          none       luks
Mount Partition Automatically

29. Bewerk vervolgens /etc/fstab en geef uw apparaatnaam, koppelingspunt, bestandssysteemtype en andere opties op.

$ sudo nano /etc/fstab

Gebruik op de laatste regel de volgende syntaxis.

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

En voeg uw specifieke inhoud toe.

/dev/mapper/encrypt_volume      /mnt    ext4    defaults,errors=remount-ro     0     0
Add Partition Entry in Fstab

30. Gebruik het volgende commando om het apparaat UUID te verkrijgen.

$ sudo blkid
Get Device UUID

31. Om ook het eerder aangemaakte NTFS-partitietype toe te voegen, gebruik dezelfde syntaxis als hierboven op een nieuwe regel in fstab (Hier wordt Linux bestandsappend redirectie gebruikt).

$ sudo su -
# echo "/dev/sdd5	/opt	ntfs		defaults		0              0"  >> /etc/fstab
Add NTFS Partition in fstab

32. Om wijzigingen te controleren, herstart je machine, druk op Enter na het ” Starten van netwerkapparaat configureren” bootbericht en typ je apparaat wachtwoord.

Reboot Machine
Verify Partition is Mounted Automatically

Zoals je kunt zien, werden beide schijfpartities automatisch gemount op het Ubuntu-bestandssysteemhiërarchie. Als advies, gebruik automatisch versleutelde volumes vanuit het fstab-bestand niet op fysiek afgelegen servers als je geen toegang hebt tot de heropstartsequentie voor het invoeren van je versleutelde volumewachtwoord.

Dezelfde instellingen kunnen worden toegepast op alle soorten verwisselbare media zoals een USB-stick, flashgeheugen, externe harde schijf, enzovoort om belangrijke, geheime of gevoelige gegevens te beschermen in geval van afluisteren of diefstal.

Source:
https://www.tecmint.com/linux-hard-disk-encryption-using-luks/