Поиск «приватного 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 шифруются до того, как покинут хост, и хранятся зашифрованными — но нашим ключом, потому что бэкап, который мы не можем восстановить, — не бэкап. Если вам нужны данные, которые не прочтёт никто, кроме вас, шифруйте их сами до того, как они попадут на диск. Это верно на любом сервере, включая наши.
Вывод
Зашифруйте том с данными для всего, что вам было бы неприятно увидеть в утёкшем снимке. Шифруйте бэкапы у источника. И не дайте галочке убедить вас, что работающий виртуальный сервер — это сейф: самый сильный инструмент приватности — не хранить данные, которые вам не нужны.
Комментарии
Пока нет комментариев. Будьте первым.