Изготовление зашифрованного раздела в Linux средствами ядра
Всем пользователям Linux предоставляется мощнейшее криптографическое средство, но не каждый пользователь догадывается о его существовании. Cryptoloop является частью ядра и позволяет шифровать разделы промышленным алгоритмом AES.
Использовать Cpyptoloop довольно легко. Для начала убедитесь, что модуль загружен:
# lsmod | grep cryptoloop
cryptoloop 12671 1
...и если не загружен, то загрузите его:
# modprobe cryptoloop
Теперь нужно специальным образом подготовить раздел, который предполагается сделать зашифрованным. Подготовка носит необязательных характер и рекомендуется лишь параноикам и тем, кто хочет обеспечить самый высокий класс защиты. Допустим, требуется подготовить раздел /dev/sdb1. Заполним этот раздел случайными данными, чтобы усложнить возможную работу криптоаналитиков:
# dd if=/dev/urandom of=/dev/sdb1 bs=1M
Наверное, не стоит отдельно упоминать, что данная операция уничтожит все данные на разделе /dev/sdb1.
Теперь основная часть работы. Создадим виртуальный раздел /dev/loop0, который будет использоваться для доступа к расшифрованным данным. В качестве алгоритма шифрования выберем AES256, который стабильно демонстрирует отличные показатели криптостойкости.
# losetup -e aes -k 256 /dev/loop0 /dev/sdb1
Password:
Пользователя попросят придумать пароль. Желательно придумать стойкий вариант и хорошо его запомнить. В случае утраты пароля, восстановить данные будет невозможно.
Теперь создадим на устройстве /dev/loop0 файловую систему ext4 (вы можете выбрать любую другую):
# mkfs.ext4 /dev/loop0
Затем нужно смонтировать раздел и.... всё — можно работать:
# mkdir /mnt/cryptoloop
# mount -t ext4 /dev/loop0 /mnt/cryptoloop/
Теперь точка монтирования /mnt/cryptoloop может использоваться как самая обычная директория для хранения файлов. Физически, данные из /mnt/cryptoloop будут храниться в зашифрованном виде на разделе /dev/sdb1. После работы необходимо размонтировать все обратно:
# umount /mnt/cryptoloop/
# losetup -d /dev/loop0
Если пользователь пожелает, то можно можно прописать соответствующие параметры монтирования в файл /etc/fstab:
/dev/sdb1 /mnt/cryptoloop ext4 noauto,encryption=aes
Теперь в любой момент можно использовать команду mount /mnt/cryptoloop для доступа к зашифрованным данным и команду umount /mnt/cryptoloop для отключения.
Кроме раздела, можно создавать создавать и отдельные криптоконтейнеры в виде файлов (просто замените /dev/sdb1 на произвольное имя файла). Можно шифровать и флешки. Как видите, все просто и эффективно. А главное, что вы сможете получить доступ к своим данным на любом компьютере с Линуксом, ведь никаких дополнительных программ не требуется.
Комментировать