web2 logo

Een partitie van een USB-stick versleutelen

Een hele USB-sick versleutelen maakt deze geheel onleesbaar, je kunt dus alleen partities versleutelen. Deze partities moet je eerst aanmaken. Om te zien welke partities er zijn kun je het volgende commando gebruiken:

ls /dev/sd*

Als je dit commando een keer uitvoert zonder dat de USB-stick is gemount en een keer met de USB-stick wel gemount, dan kun je aan de verschillen in de uitvoer van dit commando zien wat de partities op de USB-stick zijn.
Als cryptsetup nog niet op je computer staat, dan moet je deze eerst installeren:

apt-get install cryptsetup

Als voorbeeld nemen we een USB-stick sdc met partitie sdc1.
Om de partitie te kunnen versleutelen, mag deze niet meer gemount zijn. Dit kun je controleren via:

mount | grep sdc1

Mocht de partitie nog gemount zijn, dan kan deze ge-unmount worden via:

umount hier het pad dat met mount | grep sdc1 gevonden werd

De partitie (als voorbeeld sdc1) versleutelen doe je dan met:

cryptsetup --verbose --verify-passphrase -s 512 luksFormat /dev/sdc1

Er volgt een waarschuwing, je moet YES intypen en de passphrase voor de te versleutelen partitie (2x, want we hebben verify als parameter toegevoegd).
Nadat dit voltooid is, moet de partitie gemapt worden zodat deze aangekoppeld kan worden:

cryptsetup luksOpen /dev/sdc1 mijnpartitie

Hiermee wordt de versleutelde partitie gemapt naar mijnpartitie. De naam mijnpartitie is iets wat je zelf kiest, kan dus van alles zijn. Met onderstaand commando kun je controleren of dit gelukt is:

ls /dev/mapper

De uitvoer van dit commando geeft je dan control (deze is er altijd) en mijnpartitie.
Nu kun je de versleutelde partitie gaan formatteren:

mkfs.ext4 /dev/mapper/mijnpartitie

Als je nu in de grafische omgeving van je desktop in de bestandsmanager deze partitie probeert aan te koppelen, dan wordt er gevraagd om de passphrase.

Automisch aankoppellen via een keyfile

Elke keer een wachtwoord voor de usb in moeten typen kan onpraktisch zijn. Een keyfile op de computer plaatsen kan er voor zorgen dat de usb automatisch aangekoppeld kan worden. Dit kan alleen op de computer waar de keyfile staat. Op andere computers moet nog steeds eerst het wachtwoord worden ingetypt.
Om ervoor te zorgen dat alleen de root-gebruiker bij de keyfile kan, maken we de keyfile aan in /root. het eerste wat we nu moeten doen is root worden, dat kan via sudo (tijdelijk) of su of sudo su, afhankelijk van de instellingen hiervoor in het systeem.
Het aanmaken van de keyfile kan via het volgende commando:

dd if=/dev/urandom of=/root/usb1.key bs=1024 count=4

Na het aanmanken van de keyfile moeten we deze toevoegen, dat kan alleen als je het wachtwoord weet, anders zou het versleutelen niet veilig zijn.

cryptsetup luksAddKey /dev/sdc1 /root/usb1.key

Het wachtwoord wordt nu gevraagd.
Het mappen gaan we doen via de luksUUID, deze moeten we eerst opvragen:

cryptsetup luksUUID /dev/sdc1

De luksUUID kopieren we.
Nu crypttab aanvullen, usb1 is de naam die gekozen is voor de usb, deze is vrij te kiezen. Het bestand /etc/crypttab moet aangevuld worden (als root):

usb1 /dev/disk/bu-uuid/luksUUID /root/usb.key luks

Nu rebooten of het volgende commando gebruiken:

cryptdisks_start usb1

Een koppelmap aanmaken in je home directory en deze immutable maken:

mkdir usb1
chattr +i usb1

Het bestand /etc/fstab aanpassen (als root):

/dev/mapper/usb1 /home/debian/usb1 ext4 defailts,nofail,rw,user,x-systemd.device-timeout=5 0 0

De nofail is nodig om te voorkomen dat het systeem hangt als de usb niet wordt gevonden.
De usb nu met de hand aankoppelen:

mount -a

Toegevoegd door: Kees de Keijzer
Twitter: @kdkq

~ linux ~

~ Onderwerpen ~

Dit is een website zonder pop-ups

~ Links ~

Design & Development by Cyberwebdesign.nl for web2.nl © 2020.