Szukanie „VPS-a nastawionego na prywatność z pełnym szyfrowaniem dysku” zwykle kończy się na polu wyboru na stronie z cennikiem. To pole jest prawdziwe, ale to, co daje, jest węższe, niż sugeruje marketing. Zanim cokolwiek zaszyfrujesz, warto dokładnie określić, przed kim chronisz dane, bo w jednym ważnym przypadku szyfrowanie dysku nie robi zupełnie nic.
Co szyfrowanie na VPS-ie chroni, a czego nie
VPS to maszyna wirtualna na cudzym sprzęcie. Gdy działa, dysk jest odblokowany, a klucz szyfrowania żyje w pamięci VM. Maszyna hosta może w zasadzie odczytać tę pamięć. Zatem:
Szyfrowanie pomaga przeciwko:
- Kopii obrazu dysku albo snapshotu, która trafia tam, gdzie nie powinna.
- Starym dyskom wycofywanym po wymianie sprzętu.
- Komuś, kto uzyskuje dostęp do magazynu lub kopii zapasowych bez dostępu do działającego serwera.
Szyfrowanie nie pomaga przeciwko:
- Każdemu, kto kontroluje działający host.
- Atakującemu, który zdobył powłokę na twoim serwerze: dla niego dysk jest już odblokowany.
- Żądaniom prawnym doręczonym, gdy serwer działa.
To nie powód, żeby z niego rezygnować. To powód, żeby używać go do właściwego zadania i nie mylić go z niewidzialnością.
Dlaczego nie szyfrować całego dysku głównego?
Możesz, ale wtedy każdy restart zatrzymuje się na pytaniu o hasło. Odblokowywałbyś go przez konsolę WWW albo wbudował serwer SSH w initramfs (dropbear) i odblokowywał zdalnie. Aktualizacje jądra wymagają wtedy twojej obecności; restart bez nadzoru oznacza przestój, dopóki się nie zalogujesz. Dla większości osób lepszy układ to: dysk systemowy jak zwykle, wrażliwe dane na zaszyfrowanym wolumenie, który odblokowujesz po starcie.
Zaszyfrowany sejf w pięciu poleceniach
Kontener LUKS w pliku działa na każdym VPS-ie i nie wymaga dodatkowego dysku:
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
Zamontuj i używaj:
mkdir -p /mnt/vault && mount /dev/mapper/vault /mnt/vault
Po restarcie sejf pozostaje zamknięty, dopóki go ponownie nie otworzysz:
cryptsetup open /srv/vault.img vault && mount /dev/mapper/vault /mnt/vault
Dodaj drugie hasło jako zapasowy klucz (cryptsetup luksAddKey /srv/vault.img) i trzymaj oba w menedżerze haseł. Zgubisz je, a dane przepadną na zawsze: żadne zgłoszenie do wsparcia ich nie przywróci.
Skieruj wrażliwe usługi na /mnt/vault (katalog bazy danych, magazyn dokumentów, katalog danych menedżera haseł) i ustaw, żeby startowały dopiero po zamontowaniu sejfu.
Często lepiej: szyfruj dane, nie dysk
Szyfrowanie dysku kończy się na dysku. Dane, które kopiujesz gdzie indziej (kopie zapasowe, eksporty, synchronizacje), podróżują niezaszyfrowane, chyba że też je zaszyfrujesz. Ochrona, która idzie za danymi, jest zwykle więcej warta:
- Kopie zapasowe: restic szyfruje wszystko po stronie klienta przed wysłaniem.
- Pliki:
age -p secrets.tar > secrets.tar.ageszyfruje hasłem. - Sekrety w aplikacjach: używaj szyfrowania samej aplikacji (wiele menedżerów haseł, szyfrowanie po stronie serwera w Nextcloud, szyfrowanie kolumn w bazie danych).
Jak to wygląda w EQVPS
Nie prosimy o dokumenty, nie sprzedajemy twoich danych i publikujemy warrant canary. Managed Backups są szyfrowane, zanim opuszczą host, i pozostają zaszyfrowane w magazynie, ale naszym kluczem, bo kopia, której nie możemy przywrócić, nie jest kopią. Jeśli potrzebujesz danych, których nikt poza tobą nie przeczyta, zaszyfruj je sam, zanim trafią na dysk. To prawda na każdym serwerze, także u nas.
Wniosek
Szyfruj wolumen danych dla wszystkiego, czego nie chciałbyś zobaczyć w wyciekłym snapshocie. Szyfruj kopie zapasowe u źródła. I nie pozwól, żeby pole wyboru przekonało cię, że działający serwer wirtualny to sejf: najsilniejsze narzędzie prywatności, jakie masz, to nietrzymanie danych, których nie potrzebujesz.
Komentarze
Brak komentarzy. Bądź pierwszy.