LINUX.ORG.RU

LVM на LUKS или наоборот для лаптопа

 , ,


3

4

Кто пользуется шифрованием накопителей на лаптопе, расскажите как вы это делаете и почему именно так. (Пользоваться cryptsetup и lvm я умею, речь не об этом.)

Моя задача обеспечить безопасность данных от любопытных в случае кражи лаптопа. Никаких секретов от ребят из служб на три буквы у меня нет.

Хочу пойти по пути «LUKS на LVM»: шифровать раздел /home с помощью ключевой фразы и swap с помощью случайного ключа. Также сомневаюсь насчёт шифрования /tmp — он может или должен очищаться между загрузками?

Думаю, что «LVM на LUKS», т.е. шифрование всего пространства, может негативно сказаться на времени работы от батареи — насколько это верно?

Да, кстати, до сих пор нельзя загрузить ядро с шифрованного раздела? А с логического тома LVM можно?

★★

Последнее исправление: dumka (всего исправлений: 2)

/tmp — он может или должен очищаться между загрузками?

/tmp - может очищаться между загрузками. /var/tmp - не может.

я бы делал sda1 - /boot, sd2 - luks под lvm под {/, /home, другие }. Т.е. LVM на LUKS. Если уж дошли до шифрования - надо шифровать всё. Не известно, на какой раздел уплывет документ. /boot бы тоже шифровал, вроде так можно, grub2 поддерживает luks (надо читать маны)

Deleted
()

У меня сделано «LVM на LUKS», но переделаю на «LUKS на LVM», чтобы можно было скормить виртуалке для полной секурности. Единственный плюс «LVM на LUKS» это видимость не размеченного диска, но это для полного дилетанта, любой спец поймёт, что это luks за 5 сек.

King_Carlo ★★★★★
()

он может или должен очищаться между загрузками?

Он вообще должен быть в tmpfs

от любопытных

Так а что за данные? Ну например (конфиг, в котором вписан пароль, ключи или это какие-то большие файлы?). Можно ведь просто в lvm выделить отдельный том под это всё, а потом удалить том. Использовать SSD, если нужно сэкономить батарею.

Deleted
()
Последнее исправление: Deleted (всего исправлений: 2)
Ответ на: комментарий от Deleted

Так а что за данные? Ну например.

Да любые данные раскрывающие мою личность - фотографии или резюме на работу, например. Я не вижу здесь серьёзной опасности (хотя она, возможно, есть), просто неприятно.

dumka ★★
() автор топика
Ответ на: комментарий от Deleted

Использовать SSD, если нужно сэкономить батарею.

SSD есть изначально.
В руководстве по установке Debian сказано:

Заметим, что производительность шифрованных разделов будет меньше чем не шифрованных, так как при каждом чтении и записи данных происходит шифрование и дешифрование. Производительность зависит от быстродействия процессора, выбранного алгоритма шифрования и длины ключа.

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

dumka ★★
() автор топика
Ответ на: комментарий от Deleted

/tmp - может очищаться между загрузками.

Всё таки может, но не обязан, верно? В википедии написано «Often not preserved between system reboots.» Т.е. там могут оставаться какие-то данные.

/boot бы тоже шифровал, вроде так можно, grub2 поддерживает luks

В руководстве по установке Debian 7 сказано:

Исключение составляет лишь раздел /boot, который должен остаться не шифрованным, так как пока нельзя загрузить ядро с шифрованного раздела.

Но стабильная ветка вышла давно, отсюда и вопрос про новые системы.

dumka ★★
() автор топика
Ответ на: комментарий от dumka

Да любые данные

Если эти данные можно перенести на отдельный том LVM (или вообще на внешний диск), то нет смысла закрывать раздел с системой.

Deleted
()
Последнее исправление: Deleted (всего исправлений: 1)

LVM на LUKS или наоборот для лаптопа

В сущности, без разницы.

Также сомневаюсь насчёт шифрования /tmp — он может или должен очищаться между загрузками?

Может. В большинстве дистрибутивов должен (по умолчанию).

насколько это верно?

На типичном I/O разницы не увидишь.

Да, кстати, до сих пор нельзя загрузить ядро с шифрованного раздела?

Можно с GRUB2.

А с логического тома LVM можно?

Можно с GRUB2 и LILO.

Gotf ★★★
()
Ответ на: комментарий от Deleted

Если уж дошли до шифрования - надо шифровать всё. Не известно, на какой раздел уплывет документ.

Дальше /home, /tmp или /swap файлы пользователя уйти не должны. Наверное ещё и /var/tmp, вы правы. Прочее же, мне кажется, не должно быть интересно вору (хотя и файлы пользователя, по большому счёту, ему не интересны).

dumka ★★
() автор топика
Ответ на: комментарий от Gotf

Спасибо за развёрнутый ответ.

LVM на LUKS или наоборот для лаптопа

Есть разница как минимум в потреблении ресурсов и в количестве набираемых при загрузке ключевых фраз.

На типичном I/O разницы не увидишь.

Хорошо. А есть результаты каких-нибудь тестов?

dumka ★★
() автор топика
Последнее исправление: dumka (всего исправлений: 1)
Ответ на: комментарий от dumka

в количестве набираемых при загрузке ключевых фраз

Ключи в файлах.

А есть результаты каких-нибудь тестов?

Не видел.

Gotf ★★★
()

Я только /home шифрую. /tmp в tmpfs, а на swap забил — с гибернацией сложно. На шифрование тратятся ресурсы компа, не большие, но тратятся, поэтому только /home. Диски виртуалкам я тоже из LVM беру, нафиг лишние тормоза. Шифрую так же на случай кражи/утери, на других разделах приватной инфы нет, только если сохранялки игр в /opt.

Black_Roland ★★★★
()

Вообще я долго думал над этим: если кто-то сопрет ноут с линуксом, то линукс это уже защита :) Все равно им никто пользоваться не сможет и поставит винду.

Black_Roland ★★★★
()
Ответ на: комментарий от Gotf

На типичном I/O разницы не увидишь.

А есть результаты каких-нибудь тестов?

Не видел.

Откуда тогда данные?

dumka ★★
() автор топика
Ответ на: комментарий от dumka

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

Там обычно AES для блочного шифрования, для него все современные процы имеют аппаратное ускорение, так что можно особо не париться насчет скорости и потребления. Скорость аппаратной шифровалки меряется в ГИГАбайтах/сек.

Vit ★★★★★
()
Ответ на: комментарий от Black_Roland

А может быть имеет смысл зашифровать отдельный раздел вроде /enc и создать в системе символические ссылки критичных ресурсов на каталоги в нём? (Это чтобы не вводить несколько ключевых фраз, а то флэшки с ключами носить с собой лень.)

линукс это уже защита :)

Это да. ;-)

dumka ★★
() автор топика
Ответ на: комментарий от dumka

Прочее же, мне кажется, не должно быть интересно вору

весь /var, например /var/spool/mail /var/www.

весь /opt - если туда что то установилось, то велика вероятность, что туда оно и насрет, в этот /opt данными.

весь /etc/ - там лежат в том числе ключи к вайфаям, сертификаты к vpn и passwd

Так что я продолжаю думать, что шифровать надо целиком /, включая /boot. Иначе это полумеры. Про бут надо отдельно узнавать, как и что.

Deleted
()

Я вообще делаю как

bios_grub - 4M
boot - 200M
croot - all

На круте luks сначала, под ним уже lvm, lvm содержит отдельно root, var, usr, bdata.
root - /
var - /var
usr - /usr
bdata - /var/bdata
/var/bdata/home /home
/var/bdata/opt - /opt

Ну и с btrfs не обязательно монтировать сам bdata, можно смонтировать только подразделы.

ps. Не забудь настроить selinux, pax, pie и ssp.
А все временны софтины запускай в докере и иже с ним.
Раминь.

deterok ★★★★★
()
Ответ на: комментарий от deterok

Да, кстати, swap на том же lvm-е должен быть, что бы никто без пароля luks'а не мог пустить машину.

deterok ★★★★★
()
Ответ на: комментарий от dumka

А может быть имеет смысл зашифровать отдельный раздел вроде /enc и создать в системе символические ссылки критичных ресурсов на каталоги в нём?

Я пробовал так. Есть программы, которые не понимают симлинки, а еще можно легко забыть добавить новую директорию на зашифрованный том. У меня на работе так: проблемы с симлинками разрулил, а вот нужные директории все время забываю шифровать :/

Можно еще использовать mount --bind, но это еще хуже: долго монтирует, если много директорий; nautilus создает корзины во всех примонтированных директориях; nautilus отображает примонтированные директории в трее.

Это чтобы не вводить несколько ключевых фраз, а то флэшки с ключами носить с собой лень.

Я весь тред не читал, удивлен :) У меня шифруется паролем, шифруется только хомяк, при включении ввожу один пароль, в GDM настроен автовход. Итого просто один пароль. Если нужен шифрованный swap и не нужна гибернация, то делай как ты сам и писал:

и swap с помощью случайного ключа

Вряд ли кто-то сможет в твоем свопе что-то откопать, можно и не шифровать.

Black_Roland ★★★★
()

У меня SSD+HDD в ноуте. SSD в LUKS'е, поверх которого LVM, объединяющий и раздел на HDD. Для LV явно указываю, где ему находиться. На SSD находится целиком система, кроме /boot'а. Была идея сделать авторизацию в LUKS'е по флешке, если нет флешки - спрашиваем пароль; но так руки и не дошли. Кроме того, на SSD находятся домашние каталоги некоторых пользователей - криптокошельков и firefox'а. Сделал LUKS после того, как сдохла предыдущая SSD'шка и ее пришлось отдавать по гарантии. Посчитал, что в дальнейшем, в случае чего, отдавать криптокошельки и профиль браузера куда-то на сторону - плохая идея.

В итоге сейчас при старте системы надо ввести пароль от LUKS'а, далее идет автовход в Trinity с запросом пароля, вместо которого используется сканер отпечатков пальцев.

YAR ★★★★★
()
Последнее исправление: YAR (всего исправлений: 2)
Ответ на: комментарий от Black_Roland

Если нужен шифрованный swap и не нужна гибернация

Гибернация нужна — лаптоп же. Что в случае с гибернацией?

dumka ★★
() автор топика
Ответ на: комментарий от YAR

На SSD находится целиком система, кроме /boot'а.

Выше меня почти убедили, что GRUB2 справится с загрузкой с шифрованного раздела. Почему кроме /boot?

dumka ★★
() автор топика
Ответ на: комментарий от dumka

Все плохо. Не пробовал настраивать, но пароль скорее всего 2 раза вводить придется. Шифруй тогда весь lvm и не мучайся.

Black_Roland ★★★★
()
Ответ на: комментарий от dumka

Наверное, «так исторически сложилось». В целом пока не продумывал систему с шифрованным /boot'ом.

YAR ★★★★★
()

думаю LVM это слегка излишне..

мне кажется достаточно LUKS поверх GPT..

несколько GPT-разделов, каждый из которых зашифрован со своим отдельным ключём.. а файлы ключей хранятся в корневом зашифрованном разделе, типа: /etc/home.key, /etc/swap.key.

(комменты не читай @ сразу отвечай)

user_id_68054 ★★★★★
()
Ответ на: комментарий от Black_Roland

Все плохо. Не пробовал настраивать, но пароль скорее всего 2 раза вводить придется.

Т.е. после выхода из гибернации? Наверное в любом случае придётся вводить пароль, независимо от того, кто сверху?

dumka ★★
() автор топика
Ответ на: комментарий от user_id_68054

несколько GPT-разделов, каждый из которых зашифрован со своим отдельным ключём.. а файлы ключей хранятся в корневом зашифрованном разделе, типа: /etc/home.key, /etc/swap.key.

Правильно я понимаю: корень монтируется с ключевой фразой, а далее как описано с ключевыми файлами для других разделов? Иначе, если ключевые файлы лежат на незашифрованной ФС на том же накопителе, то выглядит небезопасно.

dumka ★★
() автор топика
Последнее исправление: dumka (всего исправлений: 1)
Ответ на: комментарий от user_id_68054

думаю LVM это слегка излишне..

LVM всё таки удобен и не требует особенных затрат. Особенно, если рядом есть раздел с нехорошей ОС, который когда-нибудь, вероятно, будет удалён. :-)

dumka ★★
() автор топика
Ответ на: комментарий от YAR

Наверное, «так исторически сложилось».

Скорее, страшно полагаться на эту функциональность. У меня тоже отдельный /boot, на самом деле.

Gotf ★★★
()
Ответ на: комментарий от dumka

Правильно я понимаю: корень монтируется с ключевой фразой, а далее как описано с ключевыми файлами для других разделов?

да, конечно!

корневой раздел (который содержит /etc/) зашифрован и требует парольную фразу.

а остальные разделы — комфортно законфигурированы могут быть через /etc/crypttab с указанием ключей..

user_id_68054 ★★★★★
()
Ответ на: комментарий от dumka

Все плохо. Не пробовал настраивать, но пароль скорее всего 2 раза вводить придется.

Т.е. после выхода из гибернации? Наверное в любом случае придётся вводить пароль, независимо от того, кто сверху?

Я всё понял из ссылки выше, можно не отвечать: при выходе из гибернации требуется swap, а если он был зашифрован случайным ключом, то...

dumka ★★
() автор топика

LVM на LUKS, т.к. шифруется вся система (единственное место, где я мог бы «наследить» открытым текстом - это /boot, но там я не наслежу) и есть гибернация (если шифровать swap случайным ключом, её, очевидно, не будет). GRUB2 умеет работать и с LVM, и с LUKS, но потребуется ручная настройка. Учитывая производительность современных процессоров (особенно с набором инструкций для AES), нагрузка на шифрованный раздел минимальна, куда больше отнимает время на I/O.

AITap ★★★★★
()
Ответ на: комментарий от AITap

Учитывая производительность современных процессоров (особенно с набором инструкций для AES), нагрузка на шифрованный раздел минимальна, куда больше отнимает время на I/O.

А Linux поддерживает аппаратный AES? Он используется по умолчанию, скажем,в ядрах Debian, или нужно собирать/настраивать?

dumka ★★
() автор топика
Последнее исправление: dumka (всего исправлений: 1)
Ответ на: комментарий от AITap

потребуется ручная настройка

GRUB_ENABLE_CRYPTODISK

Gotf ★★★
()

Ещё вопрос: если шифрованных разделов несколько, в каком порядке происходит расшифровка: в порядке указанном в /etc/crypttab, в порядке монтирования или в порядке номеров разделов?

dumka ★★
() автор топика
Последнее исправление: dumka (всего исправлений: 1)
Ответ на: комментарий от AITap

Если модуль aes.ko загружается, должен работать.

А разве этот модуль не реализует AES в целом (программно или аппаратно)? У AMD и Intel, вероятно, разные наборы инструкций для AES? Странно, что в названии модуля никак не отражена аппаратная зависимость. Поясните, пожалуйста.

dumka ★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.