MAATRIX / Блог / Шифрование данных на VPS

Шифрование данных на VPS

Шифрование данных на VPS: диск и каталоги
Блог MAATRIX · 2026-07-07

На виртуальном сервере полное шифрование корня имеет нюансы, но защитить чувствительные данные и бэкапы можно надёжно и просто. Разберём рабочие подходы.

Обсудить статью, задать вопрос или начать новую тему

Есть вопрос по этой статье, идея для обсуждения или просто хотите поделиться опытом? Сообщество MAATRIX ждёт. Для общения, пожалуйста, зарегистрируйтесь в нашем личном кабинете.

Перейти в сообщество →

Что реально шифровать на VPS

Полное шифрование корневого диска (root) на VPS осложнено тем, что при загрузке кто-то должен ввести пароль для расшифровки. На физической машине это делает администратор с клавиатуры, а на VPS требуется доступ к консоли или настройка remote unlock через dropbear в initramfs. Это возможно, но усложняет обслуживание. Поэтому на практике чаще шифруют не всю систему, а то, что действительно важно: отдельный том с данными, конкретные каталоги и резервные копии.

Такой подход защищает от утечки при доступе к «холодным» дискам, снимкам виртуальной машины и резервным копиям, которые уезжают во внешние хранилища. На VPS MAATRIX быстрый NVMe и современные процессоры с аппаратным AES снижают накладные расходы шифрования почти до незаметных, так что «за безопасность» вы почти не платите производительностью.

Определите заранее, что именно нужно защитить: ключи API, персональные данные пользователей, дампы базы, бэкапы. Шифровать всё подряд смысла нет — это усложняет работу без выигрыша.

Нужен сервер под эту задачу?

Разверните VPS MAATRIX за пару минут: NVMe, AMD EPYC, root-доступ, локации UK, США и РФ. Оплата картой РФ и по СБП.

Арендовать VPS с NVMe

Вариант 1: шифрованный том LUKS

Если у вас есть отдельный блочный диск или вы готовы использовать файл-контейнер, оберните его в LUKS — стандарт дискового шифрования Linux. Пример с файлом-контейнером на 5 ГБ:

fallocate -l 5G /root/secure.img
cryptsetup luksFormat /root/secure.img
cryptsetup luksOpen /root/secure.img securedata
mkfs.ext4 /dev/mapper/securedata
mkdir /mnt/secure
mount /dev/mapper/securedata /mnt/secure

Теперь всё, что лежит в /mnt/secure, физически хранится в зашифрованном контейнере. Отмонтирование и закрытие тома, после которого данные становятся недоступны без пароля:

umount /mnt/secure
cryptsetup luksClose securedata

Вариант 2: шифрование каталога gocryptfs

Если нужно шифровать отдельную папку без работы с блочными устройствами и правами root, удобен gocryptfs — он шифрует данные пофайлово поверх обычной файловой системы. Отлично подходит для домашних каталогов и синхронизируемых папок.

apt install gocryptfs -y
mkdir -p ~/.cipher ~/plain
gocryptfs -init ~/.cipher
gocryptfs ~/.cipher ~/plain

Вы работаете в примонтированном каталоге ~/plain, а на диске физически лежит зашифрованный ~/.cipher — именно его безопасно бэкапить в чужое облако. Размонтирование, после которого plain-каталог становится пустым:

fusermount -u ~/plain

Вариант 3: шифрование бэкапов

Даже если вы не шифруете диск, обязательно шифруйте резервные копии перед отправкой во внешнее хранилище — там они вне вашего контроля. Простой и надёжный способ — симметричное шифрование GPG с паролем.

tar czf - /var/www | gpg -c --cipher-algo AES256 -o backup.tar.gz.gpg

Расшифровка при восстановлении:

gpg -d backup.tar.gz.gpg | tar xzf -

Ежедневные бэкапы MAATRIX хранятся на стороне провайдера и служат первым уровнем защиты. Свои дополнительные копии, которые вы отправляете в сторонние облака (S3, Backblaze и т.п.), отправляйте уже зашифрованными — тогда компрометация облака не раскроет ваши данные.

Управление ключами

Шифрование бесполезно, если пароль лежит рядом в открытом виде. Ключевые правила: не храните passphrase на том же сервере незашифрованным, держите резервную копию ключа в надёжном месте офлайн, а для автоматического монтирования используйте keyfile со строгими правами и продуманной защитой доступа.

dd if=/dev/urandom of=/root/luks.key bs=512 count=4
chmod 400 /root/luks.key
cryptsetup luksAddKey /root/secure.img /root/luks.key

Такой keyfile позволяет автоматически открывать том при загрузке, но помните: если атакующий получил root на работающем сервере, он получит и доступ к keyfile. Автоматизация — это всегда компромисс между удобством и стойкостью, выбирайте его осознанно.

Частые ошибки

  • Потерять passphrase — данные не восстановит никто, это фундаментальный принцип шифрования, а не недоработка.
  • Хранить ключ в том же зашифрованном наборе или в открытом виде рядом с контейнером.
  • Считать, что шифрование защищает работающий сервер: смонтированный том полностью виден процессам и root.
  • Не шифровать бэкапы, отправляемые в чужое облако.
  • Использовать слабый пароль контейнера, сводя на нет стойкость AES.

Шифрование — важный, но не единственный рубеж: оно закрывает утечку «холодных» данных, но не заменяет фаервол, обновления и контроль доступа. Комбинируйте его с остальными мерами из раздела безопасности.

Нужен сервер под эту задачу?

Разверните VPS MAATRIX за пару минут: NVMe, AMD EPYC, root-доступ, локации UK, США и РФ. Оплата картой РФ и по СБП.

Арендовать VPS с NVMe

Обсудить статью, задать вопрос или начать новую тему

Есть вопрос по этой статье, идея для обсуждения или просто хотите поделиться опытом? Сообщество MAATRIX ждёт. Для общения, пожалуйста, зарегистрируйтесь в нашем личном кабинете.

Перейти в сообщество →

Частые вопросы

Защищает ли шифрование взломанный сервер?

Нет. Пока том смонтирован, данные доступны системе и злоумышленнику с root-правами. Шифрование защищает «холодные» данные: остановленные диски, снимки и бэкапы.

Сильно ли падает скорость?

На современных CPU с аппаратным AES и NVMe накладные расходы минимальны — единицы процентов. На нодах AMD EPYC у MAATRIX это на практике незаметно.

Можно ли зашифровать весь VPS целиком?

Технически да, через LUKS с remote unlock (dropbear в initramfs), но это сложнее в обслуживании. Для большинства задач достаточно шифровать данные и бэкапы.