- DisLocker. Или находим общий язык с BitLocker в Linux Mint
- Шифрование root + home + еще один хард при установке Linux Mint 18.2
- Шифрование дисков в Linux
- Методы шифрования данных в Linux
- Как работает LUKS?
- Утилита Cryptsetup
- Шифрование диска Linux
- 1. Создание раздела
- 2. Форматирование раздела
- 3. Монтирование раздела
- 4. Отключение раздела
- 5. Повторное монтирование
- 6. Проверить файловую систему luks
- 7. Изменить парольную фразу luks
- Выводы
DisLocker. Или находим общий язык с BitLocker в Linux Mint
Первый вопрос, который может возникнуть у читателя, прочитавшего заголовок: «А зачем?». Ведь в Linux Mint можно преспокойно обойтись без проприетарного BitLocker. К тому же главные достоинства этой технологии, к коим можно отнести простоту использования и создания зашифрованных разделов, а также поддержку «из коробки» во всех последних ОС от Microsoft, проявляются лишь в операционных системах из Редмонда. Кроме того, свободного ПО с подобным, или даже кое в чем превосходящим BitLocker функционалом, в nix-системах достаточно — например, TrueCrypt.
Во многом я разделяю эту точку зрения, но, бывают случаи, когда BitLocker необходим, а ОС – Linux Mint.
После некоторых экспериментов с различными дистрибутивами Linux, мой выбор пал на Linux Mint 16 x64 Cinnamon. От Windows решил отказаться полностью (правда, пока что только на ноутбуке). Mint меня полностью устраивает: документы открываются, музыка играет, фильмы показывают и вообще система радует меня своей стабильной работой (тьфу-тьфу). Но в определенный момент появилась необходимость работать с разделами BitLocker. С одной стороны и с Linux Mint расставаться не хочется, а с другой — и с Bitlocker надо что-то делать. Возвращаться к «2in1» на ноутбуке не хотелось. Одна из первых мыслей, пришедших в голову — виртуальная машина с Win7 на борту.
DisLocker
Как оказалось, научить Mint работать с шифрованными разделами BitLocker вполне реально. Помочь в реализации задуманного может DisLocker.
В настоящее время DisLocker v.0.3 предоставляет практически все необходимые инструменты для работы с шифрованными разделами BitLocker. Есть конечно некоторые ограничения и недоработки. Например, невозможность работы с разделами, созданными в Vista. Также программа не умеет работать с FAT-разделами. В документации об этом ничего не сказано, проблема обнаружилась в процессе работы. Автор программы Romain Coltel пообещал в скором времени устранить эту недоработку. Кроме того, утилита не позволяет создавать шифрованные разделы. Если брать во внимание тот факт, что такой возможности лишены и некоторые редакции операционных систем от Microsoft, появление этой фичи в DisLocker ожидать не стоит.
Несмотря на эти недостатки, DisLocker уже сейчас способен обеспечить чтение и запись на шифрованные NTFS-разделы, а этого вполне достаточно для нормальной работы. Кроме того, утилита развивается, с недавних пор появилась возможность доступа не только по паролю восстановления, как было ранее, но и по паролю пользователя, а также с использованием внешнего ключевого файла.
DisLocker поддерживает работу в двух режимах:
- FILE
- FUSE
В режиме FILE весь раздел BitLocker расшифровывается в файл. Этот процесс может занять значительное время, зависящее от размера раздела.
Второй режим предполагает использование FUSE (Filesystem in Userspace) — драйвера файловой системы, который позволяет пользователям без привилегий создавать их собственные файловые системы без необходимости переписывать код ядра. В режиме FUSE шифрование происходит «на лету». Расшифровывается лишь тот блок, к которому в данный момент обращается система. Конечно, при использовании данного режима время доступа несколько возрастает, но зато это гораздо безопаснее.
В каком режиме DisLocker будет использоваться, следует решить перед сборкой пакета.
Установка
Мной был выбран режим работы с FUSЕ, который предлагается по умолчанию.
Первым делом скачиваем исходники и распаковываем:
Для использования DisLocker в режиме FUSE необходимо доустановить пакет libfuse-dev:
Далее переходим в /путь/dislocker/src и приступаем к сборке пакета. В данном случае все можно было сделать через make/make install, но не будем привыкать делать неправильно. Сделаем всё по фэн-шую, с использованием checkinstall:
По завершению процесса сборки и установки checkinstall скажет нам «Done».
Далее ищем наш зашифрованный раздел с помощью fdisk –l и натравливаем на него DisLocker:
где:
/dev/sdb1 – шифрованный раздел;
SECRET – пользовательский пароль;
/mnt/dislocker – точка монтирования файла. Файл — виртуальный NTFS-раздел, так что его возможно смонтировать как любой другой раздел NTFS:
На этом монтирование BitLocker-раздела завершается. Можно работать.
Источник
Шифрование root + home + еще один хард при установке Linux Mint 18.2
Добрый день, господа!
Дистрибутив Linux Mint Cinnamon 18.2 x64 Шифрование там дефолтом LUKS, как я понял. Зашифровать планировал раздел ssd и раздел обычного харда. На ssd — /root и /home с файловой системой btrfs, на обычном харде ext4, там файловая помойка, хотел ее примонтировать в mnt/data .
До того, как шифернуть реальную систему, я тут решил на «кошках» в виртуалбокс попрактиковаться, и сразу наступил на грабли.
В установщике сделал так: Выбрал ssd, откусил от него 1гб под /boot Откусил еще 30гб, пометил его как «физический том для шифрования» Затем выделил этот созданный том и выбрал ему btrfs, и точку монтирования / . Оставшиеся 10гб пометил как «физический том для шифрования», затем выделил этот том и выбрал ему btrfs, и точку монтирования /home. Теперь выбрал еще один хард, пометил его как «физический том для шифрования», затем выделил этот том и выбрал ему ext4, и точку монтирования mnt/data. Граб ставил в раздел /boot. Не знаю, правильно или нет.
После установки системы с такой вот разметкой получают на виртуалбокс черный экран. Если дополнительных хард не шифровать(тот который в mnt/data монтируется), то все нормально грузится и устанавливается, но ведь тогда этот хард, получается, не зашифрован? В итоге, совершенно непонятно, как правильно все это дело обставить.
Помимо всего этого еще есть два вопроса: 1) Нормально ли все это дело будет работать на ssd, это я про TRIM, он будет поддерживаться? 2) Повлияет ли TRIM отрицательно на криптостойкость или еще на что-либо? 3) На реальной машине у меня винда в дуалбуте, uefi, gpt. Т.е. присутствует 100 метров efi-раздела. Выглядит все так(без шифрования) 4) Хотелось бы, вводить пароль при загрузке компа лишь два раза: Первый для люкса, второй для учетной записи. Это возможно или придется еще и для того «лишнего»(ну который в /mnt/data монтировать собрался) раздела харда вводить?
Граб мне куда ставить? Без шифрования я граб ставлю на sdb, а с шифрованием так тоже прокатит или в /boot запихивать?
Источник
Шифрование дисков в Linux
Безопасность и конфиденциальность очень важны, для тех, кто хранит важные данные на компьютере. Ваш домашний компьютер находится в безопасности, но с ноутбуком или другими переносными устройствами ситуация очень сильно меняется. Если вы носите свой ноутбук с собой почти везде и к нему могут иметь доступ посторонние лица, возникает вопрос — как защитить свои данные от чужого вмешательства. Именно от физических атак, где каждый желающий может попытаться получить данные из USB накопителя или жесткого диска ноутбука просто забрав устройство или в случае ноутбука, вытянув жесткий диск и подключив его к другой операционной системе.
Многие предприятия и даже простые пользователи используют шифрование дисков в linux чтобы защитить конфиденциальную информацию, такую как: сведения о клиенте, файлы, контактную информацию и многое другое. В операционной системе Linux поддерживается несколько криптографических методов для защиты разделов, отдельных каталогов или полностью всего жесткого диска. Все данные, в любом из этих способов автоматически зашифровываются и расшифровываются на лету.
Методы шифрования данных в Linux
Шифрование на уровне файловой системы:
- 1. eCryptfs — это криптографическая файловая система Linux. Она хранит криптографические метаданные для каждого файла в отдельном файле, таким образом, что файлы можно копировать между компьютерами. Файл будет успешно расшифрован, если у вас есть ключ. Это решение широко используется для реализации зашифрованной домашней директории, например, в Ubuntu. Также ChromeOS прозрачно встраивает эти алгоритмы при использовании сетевых устройств для хранения данных (NAS).
- 2. EncFS — обеспечивает шифрованную файловую систему в пространстве пользователя. Она работает без каких-либо дополнительных привилегий и использует библиотеку fuse и модуль ядра для обеспечения интерфейса файловой системы. EncFS — это свободное программное обеспечение и она распространяется под лицензией GPL. В наши дни эта файловая система уже устарела потому что в ней было найдено несколько уязвимостей. Вместо неё популярность набирают другие утилиты.
Блочное шифрование на уровне устройства:
- Loop-AES — быстрая и прозрачная файловая система, а также пакет для шифрования раздела подкачки в Linux. Исходный код программы давно не изменялся. Она работает с ядрами 4.x, 3.x, 2.2, 2.0.
- TrueCrypt — это бесплатное решение с открытым исходным кодом для шифрования диска в операционных системах Windows 7 / Vista /XP / Mac OS X, а также в Linux.
- dm-crypt+LUKS — dm-crypt — это прозрачная подсистема для шифрования диска в ядре 2.6 и более поздних версиях. Поддерживается шифрование целых дисков, съемных носителей, разделов, томов RAID, программного обеспечения, логических томов и файлов.
В этой инструкции мы рассмотрим шифрование жесткого диска на Linux с помощью алгоритма Linux Unified Key Setup-on-disk-format (LUKS).
Как работает LUKS?
LUKS (Linux Unified Key Setup — протокол шифрования блочного устройства. Но мы забежали далеко наперед, чтобы понять как это работает, нужно скачала разобраться с другими технологиями, используемыми в этом способе.
Чтобы выполнить шифрование диска linux используется модуль ядра dm-crypt. Этот модуль позволяет создавать в каталоге /dev/mapper виртуальное блочное устройство с прозрачным для файловой системы и пользователя шифрованием. Фактически все данные лежат на зашифрованном физическом разделе. Если пользователь пытается записать данные на виртуальное устройство, они на лету шифруются и записываются на диск, при чтении с виртуального устройства, выполняется обратная операция — данные расшифровываются с физического диска и передаются в открытом виде через виртуальный диск пользователю. Обычно для шифрования используется метод AES, потому что под него оптимизированы большинство современных процессоров. Важно заметить, что вы можете шифровать не только разделы и диски, но и обычные файлы, создав в них файловую систему и подключив как loop устройство.
Алгоритм LUKS определяют какие действия и в каком порядке будут выполняться во время работы с шифрованными носителями. Для работы с LUKS и модулем dm-crypt используется утилита Cryptsetup. Ее мы и рассмотрим далее.
Утилита Cryptsetup
Утилита Cryptsetup позволят облегчить шифрование раздела Linux с помощью модуля dm-crypt. Давайте сначала ее установим.
В Debian или Ubuntu, для этого используйте такую команду:
suduo apt install cryptsetup
В дистрибутивах, основанных на Red Hat это будет выглядеть так:
sudo yum install cryptsetup-luks
Синтаксис запуска команды такой:
$ cryptsetup опции операция параметры_операции
Рассмотрим основные операции, которые можно сделать с помощью этой утилиты:
- luksFormat — создать зашифрованный раздел luks linux;
- luksOpen — подключить виртуальное устройство (нужен ключ);
- luksClose — закрыть виртуальное устройство luks linux;
- luksAddKey — добавить ключ шифрования;
- luksRemoveKey — удалить ключ шифрования;
- luksUUID — показать UUID раздела;
- luksDump — создать резервную копию заголовков LUKS.
Параметры операции зависят от самой операции, обычно это либо физическое устройство, с которым нужно произвести действие, либо виртуальное или и то и другое. Еще не все понятно, но на практике, я думаю, вы со всем разберетесь.
Шифрование диска Linux
Теория пройдена, все инструменты готовы. Теперь рассмотрим шифрование раздела Linux. Перейдем к настройке жесткого диска. Обратите внимание, что это удалит все данные из диска или раздела, который вы собираетесь зашифровать. Так что если там есть важные данные, лучше скопируйте их в более надежное место.
1. Создание раздела
В этом примере мы будем шифровать раздел /dev/sda6, но вместо него вы можете использовать целый жесткий диск или просто один файл, заполненный нулями. Создаем шифрованный раздел:
sudo cryptsetup -y -v luksFormat /dev/sdb1
Эта команда выполнит инициализацию раздела, установит ключ инициализации и пароль. Сначала надо подтвердить создание виртуального шифрованного диска набрав YES, затем нужно указать пароль. Указывайте такой пароль, чтобы его потом не забыть.
Выполните такую команду чтобы открыть только что созданный раздел с помощью модуля dm-crypt в /dev/mapper, для этого понадобится ввести пароль, с которым выполнялось шифрование luks linux:
sudo cryptsetup luksOpen /dev/sdb1 backup2
Теперь вы можете увидеть новое виртуальное устройство /dev/mapper/backup2 созданное с помощью команды luksFormat:
ls -l /dev/mapper/backup2
Чтобы посмотреть состояние устройства выполните:
sudo cryptsetup -v status backup2
А с помощью следующей команды вы можете сделать резервную копию заголовков LUKS на всякий случай:
cryptsetup luksDump /dev/sdb1
Ну, можно сказать, раздел готов. И что самое интересное, теперь вы можете им пользоваться так же, как и любым другим обычным разделом в каталоге /dev. Его можно форматировать с помощью стандартных утилит, записывать на него данные, изменять или проверять файловую систему и т д. Нельзя только изменить размер. То есть все полностью прозрачно, как и сказано в начале статьи.
2. Форматирование раздела
Давайте для начала отформатируем диск. Для надежности, чтобы стереть все данные, которые были в этом месте раньше, перезапишем наш шифрованный раздел linux нулями. Это уменьшит вероятность взлома шифрования, через увеличение количества случайной информации. Для этого выполните:
dd if=/dev/zero of=/dev/mapper/backup2
Работа утилиты может занять несколько часов, чтобы иметь возможность наблюдать за процессом, используйте pv:
pv -tpreb /dev/zero | dd of=/dev/mapper/backup2 bs=128M
Когда процесс завершится мы можем отформатировать устройство в любую файловую систему. Например, отформатируем в ext4:
sudo mkfs.ext4 /dev/mapper/backup2
Как видите, все команды cryptsetup применяются к физическому разделу, в то время как остальные команды для работы с дисками — к нашему виртуальному.
3. Монтирование раздела
Теперь можно примонтировать только, что созданную файловую систему:
sudo mount /dev/mapper/backup2 /backup2
4. Отключение раздела
Все работает, но как отключить устройство и защитить данные. Для этого выполните:
sudo umount /backup2
sudo cryptsetup luksClose backup2
5. Повторное монтирование
Чтобы снова получить возможность работать с зашифрованным разделом с помощью LUKS linux необходимо опять его открыть:
sudo cryptsetup luksOpen /dev/sdb1 backup2
Теперь можем монтировать:
sudo mount /dev/mapper/backup2 /backup2
6. Проверить файловую систему luks
Поскольку после открытия раздела с помощью luks linux, этот раздел воспринимается системой, как и все другие, вы можете просто использовать утилиту fsck:
sudo umount /backup2
sudo fsck -vy /dev/mapper/backup2
sudo mount /dev/mapper/backup2 /backu2
7. Изменить парольную фразу luks
Шифрование дисков Linux выполняется с определенной парольной фразой, но вы можете ее изменить. Даже больше, вы можете создать до восьми разных парольных фраз. Для изменения выполнив следующие команды. Сначала сделаем резервную копию заголовков LUKS:
sudo cryptsetup luksDump /dev/sdb1
Затем создадим новый ключ:
sudo cryptsetup luksAddKey /dev/sdb1
И удалим старый:
sudo cryptsetup luksRemoveKey /dev/sdb1
Сейчас вам придется ввести еще старый пароль.
Выводы
Вот и все теперь вы знаете как зашифровать раздел в Linux, а также понимаете как все это работает. Кроме того, шифрование дисков в Linux по алгоритму LUKS открывает широкие возможности для полного шифрования устанавливаемой системы.
Плюсы:
- LUKS шифрует все блочное устройство, и поэтому очень хорошо подходит для защиты содержимого переносных устройств, таких как мобильные телефоны, съемные носители или жесткие диски ноутбуков.
- Вы можете использовать на серверах NAS для защиты резервных копий
- Процессоры Intel и AMD с AES-NI (Advanced Encryption Standard) имеют набор команд, которые могут ускорить процесс шифрования на основе dm-crypt в ядре Linux начиная с 2.6.32.
- Работает в том числе и с разделом подкачки, так что ваш ноутбук может использовать функцию спящего режима, или гибернации полностью безопасно.
Минусы:
- LUKS поддерживает шифрование только до восьми паролей. Это значит что только восемь пользователей с разными паролями могут иметь доступ к устройству.
- LUKS не рекомендуется для приложений, требующих шифрование на уровне файлов.
Источник