2 min read

Шифрование на Linux: что использовать и когда

Шифрование на Linux: что использовать и когда

Один из клиентов обратился после того, как у него украли ноутбук с незашифрованным диском. Там были договоры, клиентская база, финансовые документы. Диск вытащили и прочитали за пять минут. После этого разговора я написал себе заметку: объяснить нормально, какие инструменты есть и когда их использовать.

Шифрование на Linux — не сложно. Сложно понять, что именно нужно в конкретной ситуации.

Четыре инструмента — четыре задачи

Коротко о том, что существует:

  • LUKS — шифрует целый раздел или диск
  • eCryptfs — шифрует домашний каталог пользователя
  • GPG — шифрует отдельные файлы
  • VeraCrypt — создаёт зашифрованный контейнер-файл

Это не взаимозаменяемые вещи. Выбор зависит от того, что именно ты защищаешь.

LUKS: шифруем весь раздел

Подходит для серверов, рабочих станций, внешних дисков. Если диск вытащат физически — без пароля данные не читаются.

sudo apt install cryptsetup
sudo cryptsetup luksFormat /dev/sdX        # форматируем раздел
sudo cryptsetup open /dev/sdX encrypted_volume  # открываем
sudo mkfs.ext4 /dev/mapper/encrypted_volume     # создаём файловую систему

/dev/sdX — замени на свой раздел, например /dev/sdb1.

Это нужно делать до того, как на раздел попадут данные, или при первоначальной настройке сервера. Постфактум — сложнее.

eCryptfs: шифруем домашний каталог

Когда нужно защитить данные конкретного пользователя, а не весь диск. Хорошо работает на многопользовательских системах.

Важный момент: перед миграцией нужно выйти из учётной записи пользователя, которого шифруешь. Делай это из другой сессии.

sudo apt install ecryptfs-utils -y
sudo ecryptfs-migrate-home -u user_name

После миграции зайди под этим пользователем, убедись что данные на месте, и смени пароль:

passwd
ecryptfs-unwrap-passphrase

Перед запуском — сделай бэкап. Всегда. Если процесс прервётся в середине, без бэкапа данные можно потерять.

GPG: шифруем отдельные файлы

Нужно передать файл с договором или зашифровать конкретный документ перед отправкой — это GPG. Минимальный набор команд:

gpg -c file.txt       # зашифровать, создаст file.txt.gpg
gpg file.txt.gpg      # расшифровать

Простой симметричный режим с паролем. Для регулярного обмена файлами между системами можно настроить ключи, но это уже отдельная история.

VeraCrypt: зашифрованный контейнер

Создаёт файл-контейнер, который монтируется как обычный диск. Удобно для переносного хранилища с чувствительными данными — контейнер можно копировать, перемещать, делать бэкап.

sudo apt install veracrypt
veracrypt -c /path/to/container

Дальше интерактивный мастер: размер, алгоритм шифрования, пароль. VeraCrypt кроссплатформенный — контейнер откроется и на Windows, и на macOS.

Что выбрать

Задача Инструмент
Защитить весь диск или сервер LUKS
Защитить данные одного пользователя eCryptfs
Зашифровать конкретный файл GPG
Переносное зашифрованное хранилище VeraCrypt

Чаще всего на сервере ставят LUKS на этапе установки системы и больше не думают об этом. GPG добавляют по мере необходимости — для скриптов, которые передают файлы между системами. VeraCrypt — для бэкапов, которые уходят на внешний носитель или в облако.

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


Если нужно выстроить нормальную защиту данных на серверах или настроить шифрование в инфраструктуре — пиши на [email protected] или заходи на 1it.pro.

Связаться с нами
Telegram
WhatsApp
Email