Het versleutelen van de wisselbestand ruimte is gemakkelijk met FreeBSD te configureren. Afhankelijk van welke versie er gebruikt wordt zijn er verschillende configuratie opties en instellingen mogelijk. De gbde(8) en geli(8) programma's kunnen gebruikt worden voor het versleutelen van het wisselbestand. Beide systemen maken gebruik van het encswap rc.d script.
De vorige sectie, Schijfpartities versleutelen, biedt een korte discussie over de verschillende versleutel systemen.
Net als met het versleutelen van harde schijven, wordt het versleutelen van het wisselbestand gebruikt om gevoelige data te beschermen. Stelt u eens een applicatie voor dat omgaat het wachtwoorden. Zolang deze wachtwoorden in het fysieke geheugen blijven is er niets aan de hand. Echter zodra deze verplaatst worden naar het wisselbestand om ruimte te maken voor andere applicaties, kan het gebeuren dat de wachtwoorden onbeschermd op de harde schijf geschreven worden, waardoor het makkelijk te achterhalen is voor iemand die kwaad wilt. Het versleutelen van het wisselbestand biedt hierin een mogelijke uitkomst.
Opmerking: Tot het einde van deze sectie zal ad0s1b het wisselbestand bevatten.
Tot op dit moment is het wisselbestand niet versleuteld. Het is mogelijk dat er reeds wachtwoorden of andere gevoelige data onbeschermd op de harde schijf geschreven zijn. Om dit te corrigeren, moet de data op de swap partitie overschreven worden met willekeurige data:
# dd if=/dev/random of=/dev/ad0s1b bs=1m
Er moet gebruik gemaakt worden van het .bde achtervoegsel aan het apparaat in de respectievelijke /etc/fstab-regel betreffende het wisselbestand:
# Device Mountpoint FStype Options Dump Pass# /dev/ad0s1b.bde none swap sw 0 0
Het opzetten van geli(8) voor het versleutelen van het wisselbestand is hetzelfde als dat van gbde(8). Hier moet echter gebruik gemaakt worden van het .eli achtervoegsel aan het apparaat in de respectievelijke /etc/fstab wisselbestand regel:
# Device Mountpoint FStype Options Dump Pass# /dev/ad0s1b.eli none swap sw 0 0
geli(8) maakt standaard gebruik van het AES algoritme met een sleutellengte van 128 bits.
Optioneel kunnen deze standaardwaarden worden aangepast door gebruik te maken van de geli_swap_flags optie in /etc/rc.conf. De volgende regel verteld het encswap rc.d bestand om een geli(8) wisselbestand te maken met het Blowfish algoritme met een sleutel lengte van 128 bit, een sectorgrootte van 4 kilobytes en met de optie “ontkoppelen nadat de laatste afsluiting” gezet:
geli_swap_flags="-e blowfish -l 128 -s 4096 -d"
Zie de uitleg over het onetime commando in de geli(8) handleiding voor een lijst van mogelijke opties.
Zodra het systeem opnieuw opgestart is kan gekeken worden of alles nog goed werkt door gebruik te maken van het swapinfo commando.
Als gebruik gemaakt wordt van gbde(8):
% swapinfo Device 1K-blocks Used Avail Capacity /dev/ad0s1b.bde 542720 0 542720 0%
Als gebruik gemaakt wordt van geli(8):
% swapinfo Device 1K-blocks Used Avail Capacity /dev/ad0s1b.eli 542720 0 542720 0%