Пошук «приватного VPS із повним шифруванням диска» зазвичай закінчується галочкою на сторінці тарифів. Галочка справжня, але купує вона менше, ніж обіцяє маркетинг. Перш ніж щось шифрувати, варто чітко зрозуміти, від кого ви захищаєте дані, — бо в одному важливому випадку шифрування диска не робить нічого.
Що шифрування на VPS захищає, а що ні
VPS — це віртуальна машина на чужому залізі. Поки вона працює, диск розблоковано, а ключ шифрування живе в пам'яті ВМ. Хост-машина в принципі може цю пам'ять прочитати. Тому:
Шифрування допомагає проти:
- Копії образу диска чи знімка, що опинилася не там, де треба.
- Старих накопичувачів, які списують після заміни заліза.
- Когось, хто отримав доступ до сховища чи бекапів, але не до працюючого сервера.
Шифрування не допомагає проти:
- Того, хто керує працюючим хостом.
- Зловмисника з shell на вашому сервері — для нього диск уже розблоковано.
- Запитів влади, що надійшли, поки сервер працює.
Це не привід від нього відмовлятися. Це привід використовувати його для правильної задачі й не плутати з невидимістю.
Чому б не зашифрувати весь кореневий диск?
Можна, але кожне перезавантаження зупиниться на запиті пароля. Розблоковувати доведеться через вебконсоль або зібрати SSH-сервер в initramfs (dropbear) і відкривати віддалено. Оновлення ядра тепер вимагають вашої присутності; перезавантаження без нагляду означає простій, поки ви не зайдете. Для більшості кращий компроміс такий: системний диск як завжди, чутливі дані — на зашифрованому томі, який ви відкриваєте після завантаження.
Зашифроване сховище за п'ять команд
LUKS-контейнер у файлі працює на будь-якому VPS — додатковий диск не потрібен:
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
Змонтуйте й користуйтеся:
mkdir -p /mnt/vault && mount /dev/mapper/vault /mnt/vault
Після перезавантаження сховище лишається закритим, поки ви не відкриєте його знову:
cryptsetup open /srv/vault.img vault && mount /dev/mapper/vault /mnt/vault
Додайте другий пароль як запасний ключ (cryptsetup luksAddKey /srv/vault.img) і зберігайте обидва в менеджері паролів. Втратите їх — дані зникнуть назавжди, жоден тікет у підтримку їх не поверне.
Спрямуйте чутливі сервіси в /mnt/vault (тека бази даних, сховище документів, дані менеджера паролів) і зробіть так, щоб вони стартували лише після монтування сховища.
Часто краще: шифруйте дані, а не диск
Шифрування диска закінчується на диску. Дані, які ви копіюєте кудись іще — бекапи, вивантаження, синхронізації, — їдуть незашифрованими, якщо не зашифрувати їх окремо. Захист, що йде за даними, зазвичай цінніший:
- Бекапи: restic шифрує все на боці клієнта до відправлення.
- Файли:
age -p secrets.tar > secrets.tar.ageшифрує паролем. - Секрети в застосунках: використовуйте вбудоване шифрування самого застосунку (багато менеджерів паролів, серверне шифрування Nextcloud, шифрування колонок у базі).
Як це виглядає в EQVPS
Ми не просимо документів, не продаємо ваших даних і публікуємо warrant canary. Managed Backups шифруються до того, як залишать хост, і зберігаються зашифрованими — але нашим ключем, бо бекап, який ми не можемо відновити, — не бекап. Якщо вам потрібні дані, яких не прочитає ніхто, крім вас, шифруйте їх самі до того, як вони потраплять на диск. Це правда на будь-якому сервері, включно з нашими.
Висновок
Зашифруйте том із даними для всього, що вам було б неприємно побачити в знімку, що витік. Шифруйте бекапи біля джерела. І не дайте галочці переконати вас, що працюючий віртуальний сервер — це сейф: найсильніший інструмент приватності — не зберігати даних, які вам не потрібні.
Коментарі
Поки немає коментарів. Будьте першим.