Шифрование данных на VPS
На виртуальном сервере полное шифрование корня имеет нюансы, но защитить чувствительные данные и бэкапы можно надёжно и просто. Разберём рабочие подходы.
Содержание
Что реально шифровать на 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\ncryptsetup luksFormat /root/secure.img\ncryptsetup luksOpen /root/secure.img securedata\nmkfs.ext4 /dev/mapper/securedata\nmkdir /mnt/secure\nmount /dev/mapper/securedata /mnt/secure', 'Теперь всё, что лежит в /mnt/secure, физически хранится в зашифрованном контейнере. Отмонтирование и закрытие тома, после которого данные становятся недоступны без пароля:', 'umount /mnt/secure\ncryptsetup luksClose securedata']
Вариант 2: шифрование каталога gocryptfs
['Если нужно шифровать отдельную папку без работы с блочными устройствами и правами root, удобен gocryptfs — он шифрует данные пофайлово поверх обычной файловой системы. Отлично подходит для домашних каталогов и синхронизируемых папок.', 'apt install gocryptfs -y\nmkdir -p ~/.cipher ~/plain\ngocryptfs -init ~/.cipher\ngocryptfs ~/.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\nchmod 400 /root/luks.key\ncryptsetup luksAddKey /root/secure.img /root/luks.key', 'Такой keyfile позволяет автоматически открывать том при загрузке, но помните: если атакующий получил root на работающем сервере, он получит и доступ к keyfile. Автоматизация — это всегда компромисс между удобством и стойкостью, выбирайте его осознанно.']
Частые ошибки
['- Потерять passphrase — данные не восстановит никто, это фундаментальный принцип шифрования, а не недоработка.
- Хранить ключ в том же зашифрованном наборе или в открытом виде рядом с контейнером.
- Считать, что шифрование защищает работающий сервер: смонтированный том полностью виден процессам и root.
- Не шифровать бэкапы, отправляемые в чужое облако.
- Использовать слабый пароль контейнера, сводя на нет стойкость AES.
Нужен сервер под эту задачу?
Разверните VPS MAATRIX за пару минут: NVMe, AMD EPYC, root-доступ, локации UK и США. Оплата картой РФ и по СБП.
Арендовать VPS с NVMeЧастые вопросы
Защищает ли шифрование взломанный сервер?
Нет. Пока том смонтирован, данные доступны системе и злоумышленнику с root-правами. Шифрование защищает «холодные» данные: остановленные диски, снимки и бэкапы.
Сильно ли падает скорость?
На современных CPU с аппаратным AES и NVMe накладные расходы минимальны — единицы процентов. На нодах AMD EPYC у MAATRIX это на практике незаметно.
Можно ли зашифровать весь VPS целиком?
Технически да, через LUKS с remote unlock (dropbear в initramfs), но это сложнее в обслуживании. Для большинства задач достаточно шифровать данные и бэкапы.