Zoeken naar een „privacygerichte VPS met volledige schijfversleuteling” eindigt meestal bij een vinkje op een prijspagina. Dat vinkje is echt, maar wat het je oplevert is smaller dan de marketing doet vermoeden. Voordat je iets versleutelt, helpt het om precies te zijn over tegen wie je de data beschermt, want in één belangrijk geval doet schijfversleuteling helemaal niets.
Wat versleuteling op een VPS beschermt, en wat niet
Een VPS is een virtuele machine op de hardware van een ander. Zolang hij draait, is de schijf ontgrendeld en leeft de versleutelingssleutel in het geheugen van de VM. De hostmachine kan dat geheugen in principe lezen. Dus:
Versleuteling helpt tegen:
- Een kopie van je schijfimage of snapshot die ergens belandt waar hij niet hoort.
- Oude schijven die na een hardwarevervanging worden afgedankt.
- Iemand die toegang krijgt tot opslag of back-ups zonder toegang tot je draaiende server.
Versleuteling helpt niet tegen:
- Iedereen die de draaiende host beheert.
- Een aanvaller die een shell op je server krijgt: voor hem is de schijf al ontgrendeld.
- Juridische verzoeken die worden ingediend terwijl de server draait.
Dat is geen reden om het over te slaan. Het is een reden om het voor de juiste taak te gebruiken en het niet te verwarren met onzichtbaarheid.
Waarom niet de hele rootschijf versleutelen?
Dat kan, maar dan stopt elke herstart bij een vraag om een wachtwoordzin. Je ontgrendelt via de webconsole, of je bouwt een SSH-server in de initramfs (dropbear) en ontgrendelt op afstand. Kernelupdates vragen dan om je aanwezigheid; een onbewaakte herstart betekent downtime tot je inlogt. Voor de meeste mensen is de betere ruil: systeemschijf zoals gewoonlijk, gevoelige data op een versleuteld volume dat je na het opstarten ontgrendelt.
Een versleutelde kluis in vijf commando's
Een LUKS-container in een bestand werkt op elke VPS, zonder extra schijf:
apt install -y cryptsetup
fallocate -l 10G /srv/vault.img
cryptsetup luksFormat /srv/vault.img # set a strong passphrase
cryptsetup open /srv/vault.img vault
mkfs.ext4 /dev/mapper/vault
Koppel hem en gebruik hem:
mkdir -p /mnt/vault && mount /dev/mapper/vault /mnt/vault
Na een herstart blijft de kluis dicht tot je hem opnieuw opent:
cryptsetup open /srv/vault.img vault && mount /dev/mapper/vault /mnt/vault
Voeg een tweede wachtwoordzin toe als reservesleutel (cryptsetup luksAddKey /srv/vault.img) en bewaar beide in een wachtwoordmanager. Raak je ze kwijt, dan is de data voorgoed weg: geen supportticket krijgt hem terug.
Richt je gevoelige diensten op /mnt/vault (een databasemap, documentopslag, de datamap van een wachtwoordmanager) en laat ze pas starten nadat de kluis gekoppeld is.
Vaak beter: versleutel de data, niet de schijf
Schijfversleuteling stopt bij de schijf. Data die je elders naartoe kopieert (back-ups, exports, synchronisaties) reist onversleuteld, tenzij je die ook versleutelt. Bescherming die met de data meereist, is meestal meer waard:
- Back-ups: restic versleutelt alles aan de clientkant vóór het uploaden.
- Bestanden:
age -p secrets.tar > secrets.tar.ageversleutelt met een wachtwoordzin. - Geheimen in apps: gebruik de eigen versleuteling van de app (veel wachtwoordmanagers, de serverversleuteling van Nextcloud, kolomversleuteling in de database).
Hoe dit er bij EQVPS uitziet
We vragen geen identiteitsbewijs, verkopen je data niet en publiceren een warrant canary. Managed Backups worden versleuteld voordat ze de host verlaten en blijven versleuteld in de opslag, maar met onze sleutel, want een back-up die we niet kunnen terugzetten is geen back-up. Heb je data nodig die niemand behalve jij kan lezen, versleutel die dan zelf voordat ze de schijf raakt. Dat geldt op elke server, ook op die van ons.
De conclusie
Versleutel een datavolume voor alles wat je niet in een gelekte snapshot wilt zien. Versleutel back-ups bij de bron. En laat je niet door een vinkje wijsmaken dat een draaiende virtuele server een kluis is: het sterkste privacymiddel dat je hebt, is geen data bewaren die je niet nodig hebt.
Reacties
Nog geen reacties. Wees de eerste.