В своей практике во времена поддержки офисов, когда я работал как аутсорсер, пару раз сталкивался с ситуациями, когда у заказчиков воровали диски. Первую историю мне рассказали, когда я спросил, зачем вам зашифрованный корень на Linux. Оказалось, что у них приходящий админ стащил один из дисков hot-swap в сервере. Там был RAID1, так что пропажу не сразу заметили. А он, судя по всему, знал, что уведомлений никаких нет, поэтому тиснул диск.
У другого заказчика кто-то стащил внешний USB диск, который использовался для бэкапов. Компания не очень большая, серверная (небольшая стойка) была не закрыта. Кто-то зашёл и забрал диск. После этого перенесли всё в отдельное помещение и стали закрывать. А до этого оборудование стояло в подсобном помещении в закутке без дверей.
Когда есть риск, что ваше хранилище с данными могут украсть, имеет смысл его зашифровать. Тут проще всего использовать LUKS (Linux Unified Key Setup), с помощью которого можно зашифровать раздел, а потом работать с ним как с обычной файловой системой.
Кратко покажу, как выглядит работа с LUKS. Устанавливаем в Debian:
Код:
apt install cryptsetup
Шифруем отдельный раздел. Если подключили чистый диск, то сначала этот раздел создайте с помощью fdisk или parted.
Код:
cryptsetup luksFormat /dev/sdb1
Подключаем этот раздел к системе, указывая любое имя:
Код:
cryptsetup luksOpen /dev/sdb1 lukscrypt
В разделе /dev/mapper появится устройство lukscrypt. Дальше с ним можно работать, как с обычным устройством. Например, сделать LVM раздел или сразу же файловую систему создать. При желании, с помощью LUKS и BTRFS можно и корневой раздел поднять на этой связке. Видел такие инструкции для рабочего ноута. Для загрузки нужно будет интерактивно пароль вводить.
Я такие крайности не очень люблю, поэтому показываю на примере EXT4:
Код:
mkfs.ext4 /dev/mapper/lukscrypt
mkdir /mnt/crypt
mount /dev/mapper/lukscrypt /mnt/crypt
Теперь если кто-то тиснет диск, то не увидит его содержимое. Диск расшифровывается после команды cryptsetup luksOpen. После этого его можно смонтировать в систему и прочитать данные.
Для внешних устройств, которые используются как хранилища бэкапов, очень рекомендуется так делать. Можно не шифровать сами данные, которые на них льются, если не боитесь раздать их по дороге. Так как LUKS позволяет работать с шифрованным разделом, как с обычным блочным устройством, можно без проблем настроить шифрованный бэкап сервер. Например, собрать из нескольких дисков любой mdadm массив, зашифровать его и подключить к системе. А если потом нужны разные разделы на шифрованном диске, пустить поверх LVM и разбить этот массив на логические разделы.