Zoeken op website

Hoe gecodeerde bestandssystemen in te stellen en ruimte te wisselen met behulp van de 'Cryptsetup'-tool in Linux - Deel 3


Een LFCE (afkorting van Linux Foundation Certified Engineer) is opgeleid en heeft de expertise om netwerkservices in Linux-systemen te installeren, beheren en problemen op te lossen, en is verantwoordelijk voor de ontwerp, implementatie en voortdurend onderhoud van de systeemarchitectuur.

Introductie van het Linux Foundation Certification Program (LFCE).

Het idee achter encryptie is om alleen vertrouwde personen toegang te geven tot uw gevoelige gegevens en te voorkomen dat deze in verkeerde handen vallen in geval van verlies of diefstal van uw machine/harde schijf.

In eenvoudige bewoordingen wordt een sleutel gebruikt om de toegang tot uw informatie te “vergrendelen”, zodat deze beschikbaar wordt wanneer het systeem actief is en wordt ontgrendeld door een geautoriseerde gebruiker. Dit houdt in dat als iemand de inhoud van de schijf probeert te onderzoeken (door deze op zijn eigen systeem aan te sluiten of door de machine op te starten met een LiveCD/DVD/USB), hij alleen onleesbare gegevens zal vinden in plaats van de daadwerkelijke bestanden.

In dit artikel bespreken we hoe je versleutelde bestandssystemen kunt opzetten met dm-crypt (afkorting van device mapper en cryptographic), de standaard versleutelingstool op kernelniveau. Houd er rekening mee dat aangezien dm-crypt een tool op blokniveau is, het alleen kan worden gebruikt om volledige apparaten, partities of loop-apparaten te coderen (werkt niet op gewone bestanden of mappen).

Een schijf/partitie/loop-apparaat voorbereiden voor codering

Omdat we alle gegevens op de door ons gekozen schijf (/dev/sdb) zullen wissen, moeten we allereerst een back-up maken van alle belangrijke bestanden op die partitie VOOR verder gaan.

Wis alle gegevens van /dev/sdb. We gaan hier het commando dd gebruiken, maar je kunt het ook doen met andere tools zoals shred. Vervolgens zullen we een partitie op dit apparaat maken, /dev/sdb1, volgens de uitleg in Deel 4 – Partities en bestandssystemen maken in Linux van de LFCS-serie.

dd if=/dev/urandom of=/dev/sdb bs=4096 
Testen op ondersteuning voor versleuteling

Voordat we verder gaan, moeten we ervoor zorgen dat onze kernel is gecompileerd met ondersteuning voor encryptie:

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

Zoals aangegeven in de afbeelding hierboven, moet de kernelmodule dm-crypt worden geladen om de codering in te stellen.

Cryptosetup installeren

Cryptsetup is een frontend-interface voor het maken, configureren, openen en beheren van gecodeerde bestandssystemen met behulp van dm-crypt.

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

Een gecodeerde partitie instellen

De standaard werkingsmodus voor cryptsetup is LUKS (Linux Unified Key Setup), dus daar blijven we bij. We beginnen met het instellen van de LUKS-partitie en de wachtwoordzin:

cryptsetup -y luksFormat /dev/sdb1

De bovenstaande opdracht voert cryptsetup uit met standaardparameters, die kunnen worden vermeld met:

cryptsetup --version

Als u de parameters cipher, hash of key wilt wijzigen, kunt u de –cipher, < respectievelijk de vlaggen b>–hash en –key-size, met de waarden uit /proc/crypto.

Vervolgens moeten we de LUKS-partitie openen (we zullen worden gevraagd om de wachtwoordzin die we eerder hebben ingevoerd). Als de authenticatie slaagt, zal onze gecodeerde partitie beschikbaar zijn in /dev/mapper met de opgegeven naam:

cryptsetup luksOpen /dev/sdb1 my_encrypted_partition

Nu formatteren we de partitie als ext4.

mkfs.ext4 /dev/mapper/my_encrypted_partition

en maak een koppelpunt om de gecodeerde partitie te koppelen. Ten slotte willen we misschien bevestigen of de mount-bewerking is geslaagd.

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

Wanneer u klaar bent met schrijven naar of lezen van uw gecodeerde bestandssysteem, kunt u het eenvoudigweg ontkoppelen

umount /mnt/enc

en sluit de LUKS-partitie met behulp van,

cryptesetup luksClose my_encrypted_partition
Encryptie testen

Ten slotte zullen we controleren of onze gecodeerde partitie veilig is:

1. Open de LUKS-partitie

cryptsetup luksOpen /dev/sdb1 my_encrypted_partition

2. Voer uw wachtwoordzin in

3. Monteer de scheidingswand

mount /dev/mapper/my_encrypted_partition /mnt/enc

4. Maak een dummybestand in het koppelpunt.

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

5. Controleer of u toegang hebt tot het bestand dat u zojuist hebt gemaakt.

cat /mnt/enc/testfile.txt

6. Ontkoppel het bestandssysteem.

umount /mnt/enc

7. Sluit de LUKS-partitie.

cryptsetup luksClose my_encrypted_partition

8. Probeer de partitie als een normaal bestandssysteem te mounten. Het zou een fout moeten aangeven.

mount /dev/sdb1 /mnt/enc

Versleutel de swapruimte voor verdere beveiliging

De wachtwoordzin die u eerder hebt ingevoerd om de gecodeerde partitie te gebruiken, wordt opgeslagen in het RAM-geheugen terwijl dit open is. Als iemand deze sleutel in handen kan krijgen, kan hij de gegevens ontsleutelen. Dit is vooral gemakkelijk te doen in het geval van een laptop, omdat tijdens de slaapstand de inhoud van het RAM-geheugen op de swappartitie wordt bewaard.

Om te voorkomen dat een kopie van uw sleutel toegankelijk blijft voor een dief, codeert u de swappartitie door deze stappen te volgen:

1 Maak een partitie die u als swap wilt gebruiken met de juiste grootte (/dev/sdd1 in ons geval) en codeer deze zoals eerder uitgelegd. Noem het voor het gemak gewoon ‘ruilen’.’

2.Stel het in als swap en activeer het.

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

3. Wijzig vervolgens het overeenkomstige item in /etc/fstab.

/dev/mapper/swap none        	swap	sw          	0   	0

4. Bewerk ten slotte /etc/crypttab en start opnieuw op.

swap               /dev/sdd1         /dev/urandom swap

Zodra het systeem klaar is met opstarten, kunt u de status van de swapruimte verifiëren:

cryptsetup status swap

Samenvatting

In dit artikel hebben we onderzocht hoe je een partitie kunt coderen en ruimte kunt uitwisselen. Met deze opstelling zouden uw gegevens aanzienlijk veilig moeten zijn. Experimenteer gerust en aarzel niet om contact met ons op te nemen als u vragen of opmerkingen heeft. Gebruik gewoon het onderstaande formulier – we horen graag van u!