LINUX.ORG.RU

Вопрос по шифрованию

 , , ,


0

2

Всем добра!

Возникла у меня такая задача по мере обучения, но не совсем понимаю как сделать именно так «как хочется».

Хочу сделать следующую схему шифрования в три уровня:

0. Создать контейнер на весь диск с собственным загрузчиком (как у DiskCryptor или TrueCrypt под Windows). После ввода ключ-фразы получать доступ к системному bootloader (grub или lilo - не важно, но первый привычнее);

1. Внутри контейнера слепить серию разделов (boot отдельно - точно, остальное через LVM с последующим шифрованием, но, может, что-нибудь еще вынесу за пределы LVM, скажем, swap (если буду использовать, а скорее всего буду)) с разделением прав доступа к ФС (к примеру, read-only для части разделов (планирую, таким сделать boot)) и автоматическим монтированием при входе в систему;

2. Шифровать отдельные директории и папки посредством PGP внутри контейнеров, созданных в предыдущем пункте.

Собственно, последние два пункта вопросов не создают.

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

PS: ОС одна. Arch Linux. Графического ничего не планирую (т.е. прямо вообще - голая консоль), т.к. устройство на котором все это делается достаточно «тугое» для всяких кед и гномов (нетбук на атоме, пара гигов оперативки, 250Гб жесткий).

Делается все исключительно в общеобразовательных целях.

UPD: Пока писал, подумалось что TrueCrypt, по идее, вполне подходит для решения задачи первого пункта - если уж под Win умеет, то почему бы не уметь и в линуксе. Почитаю подробнее. Если есть еще варианты выбора инструмента, очень прошу помочь, указав название оных.

Список благодарностей:

Спасибо x3al за указанную ошибку касательно мыслей о swap и напоминание о Security Boot в bios. Благодарю expelled за подсказку об установке пароля на grub, для увеличения общей безопасности при загрузке в ОС.



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

Не имеет?

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

А для шифрования внутри системы подразумевал авто-монтирование разделов при логине в ОС. Т.е. защищало бы только от просмотра данных при подключении жесткого диска к другому ПК.

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

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

hikonomuro
() автор топика

Если у тебя нет SecureBoot или подобного в BIOS/EFI — можешь с тем же успехом ограничиться шифрованием /home. Если же хочешь нешифрованный swap — можешь не шифровать ничего, разницы 0.

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

Ты слишком усложняешь задачу на ровном месте. Хочешь full-disk encryption — делай его правильно и забей на вложенное шифрование.

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

Кстати да, читал же да вылетело из головы... Спасибо что напомнили про swap - ошибка вышла с моей стороны на его счет.

Насчет загрузчика... Блин, свято верил что отдельный загрузчик для доступа к первому контейнеру (в котором уже граб grub и сама ОС) - это почти панацея.

Задача поставлена с целью изучения - потому и усложнена лишними пунктами. Про full-disk encryption информации много - с этим можно разобраться даже не имея особых навыков через метод проб и ошибок и параллельном курении мануалов (а в Debiane и того проще - использование стандартного установщика позволяет все настроить через имеющийся вполне понятный интерфейс).

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

Насчет загрузчика... Блин, свято верил что отдельный загрузчик для доступа к первому контейнеру (в котором уже граб grub и сама ОС) - это почти панацея.

Ничто кроме SecureBoot или велосипеда на эту же тему не помешает злоумышленнику подменить загрузчик и, например, записать твой пароль. Это тоже не панацея, но хотя бы позволит защите продержаться больше 5 минут при физическом доступе.

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

не даст возможности дойти до загрузки

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

anonymous
()
Ответ на: комментарий от x3al

У моего нетбука AOD D255 вроде такой функционал имеется (давно в биос не лазил).

А по вопросу поиска софтины под первый пункт - такая вообще существует? Просто, скажем, DiskCryptor и TrueCrypt умеют из-под Windows создавать собственный лоадер, находящийся перед загрузчиком системы. Т.е. сначала впиши пароль, потом уже загружайся.

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

А как люди, не сведущие в программировании, узнают об отсутствии закладок и иных явных проблем в используемом ПО? Тесты, обзоры, советы и проверки сообщества.

Так что... доверюсь сообществу и буду верить в то, что ПО прошло проверку временем и людьми? Сам я в программировании более чем плох, так что даже открытый исходник мне мало что дает.

hikonomuro
() автор топика

нетбук на атоме

Какие лютые тормоза ждут тебя..

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

Ну тогда объясни какой смысл шифровать загрузчик? Шифрование системы на которое я дал ссылку и так подразумевает, что ты ничего не загрузишь и не получишь данные даже при физическом доступе.

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

Действие ради действия. Провернулось шило в правильном месте и захотелось узнать о возможности сделать такие три вложенных контейнера. Узнать, изучить, сделать все это на практике.

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

Да, штука хорошая, но вопрос создания (тот , по которому я не нашел рецепта как решить) первого контейнера из п.0 не решает, к сожалению.

Зато дополняет модель дополнительным пунктом. Спасибо за подсказку.

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

Ничто кроме SecureBoot

И опечатанного системного блока, стоящего в бетонном бункере.

anonymous
()
Ответ на: комментарий от expelled

Вообще люблю, но для этого у меня что получше есть. На «мелком» банально изучаю новое для себя. Задача ведь стоит «сделать с целью понять КАК это делать правильно и с учетом всех описанных хотелок».

hikonomuro
() автор топика

0. Ассемблерный код, содержащий в себе собственно шифровальщик, и передающий управление на штатный загрузчик, перемещённый куда-то в другое место, и зашифрованный. Читать любые мануалы по кодингу в real mode (напр. Зубков - Ассемблер для DOS, Win, UNIX). Это естественно про legacy/bios, а не про uefi.

Правда всё равно получиться сферическое ненужно в вакууме.

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

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

Ну подредактируешь ты строку и провалишься в систему под root. Только толку от этого - диски расшифровать всё равно не выйдет же.

KivApple ★★★★★
()

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

mithron
()

Исходя из ответов, делаю вывод что программного решения в виде отдельного комплекта ПО не существует под решение пункта 0.

Благодарю всех за ответы.

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

И как она «позволит раскрыть ключ», если используются нормальные алгоритмы шифрования? Там этой информации всё же гигабайты, а не эксабайты, да и реальных атак по известному открытому тексту ни на AES, ни на Twofish и в помине нет.

anonymous
()
Ответ на: комментарий от hikonomuro

А смысл-то какой в п. 0? Этот загрузчик точно так же уязвим к evil maid, как и штатный загрузчик системы с обычным full disk encryption. Вот вынести загрузчик на флешку смысл есть.

anonymous
()
Ответ на: комментарий от x3al

можешь с тем же успехом ограничиться шифрованием /home

Нет, не с тем же.

Если же хочешь нешифрованный swap — можешь не шифровать ничего, разницы 0.

Расскажи о своем опыте вытаскивания dm-crypt ключа с нешифрованного свапа.

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

Нафига мне сдался ключ когда там расшифрованные данные?

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

Так к тому и был интерес что загрузчик вроде трукриптового или дискриптора можно частично выносить на подключаемое устройство. Даже присматривался к токенам на работе, что перестали поддерживаться банками и мирно скапливаются мертвым грузом (была идея один «выклянчить» и попробовать записать на него собственный ключик типа того же pgp).

Итого, без вставленного накопителя или токена система не грузится (или просто еще один дополнительный пароль перед грабом).

Ну а что не панацея, так внутри еще контейнер...

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

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

anonymous
()
Ответ на: комментарий от kramh

Защита от evil maid, нешифрованный загрузчик можно подменить.

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