Форум русскоязычного сообщества Ubuntu


Следите за новостями русскоязычного сообщества Ubuntu в Twitter-ленте @ubuntu_ru_loco

Автор Тема: Шифрование раздела и папки с использованием TPM (Trusted Platfrom Module)  (Прочитано 4932 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн kvv213

  • Автор темы
  • Новичок
  • *
  • Сообщений: 6
    • Просмотр профиля
Коллеги, добрый день!

Просьба проконсультировать по весьма интересному вопросу. Собираю небольшой сервер, который должен будет крутиться совершенно самостоятельно и в случае проблем с питанием, возвращаться в полную боевую готовность без посторонней помощи. Но, часть данных на сервере будет конфиденциальной и хочется ее защитить, от возможного несанкицонированного доступа. Точнее, пока необходимо создать защищенный "контейнер" с которым будет работать BitTorrent Sync (все другие точки работают под BitLocker) + возможно будут выкладываться бекапы по сети через Samba (здесь опять же аутентификация по логину/паролю). Т.е. задача не передавать данные в зашифрованном виде между системами, а зашифровано их хранить на одной конкретной системе и предоставлять сервис (если все в порядке) без взаимодействия с пользователем.

Создаваться машина будет на основе Intel J1800 (двух ядерный селерон), 4 Гб ОЗУ и Ubuntu LTS Server. Диск разбивается средствами LVM. Исходя из того, что машина должна сама по себе загружаться нормально, а всякие варианты с вставленной флешкой, неразмеченными разделами и прочим не есть гут, принято решение хранить ключи в TPM (Trusted Platform Module).

Но остается вопрос, как все это дело скрестить с Ubuntu Server? Пока у меня два варианта и буду рад, если покритикуете, поддержите по этим вопросам.

LUKS
Как я понимаю, хотя я пока понимаю крайне мало в этом вопросе, данный пакет шифрует целый раздел. Т.е. я создаю в LVM какой-то раздел, специально для зашифрованных данных. В сети пока нашел только одну инструкцию как это можно сделать (http://resources.infosecinstitute.com/linux-tpm-encryption-initializing-and-using-the-tpm/). Буду рад, если ткнете в более другие мануалы по установке и т.п. поскольку пока нет четкого понимания что и куда.
Из достоинств - это родная поддержка Ubuntu.
Из недостатков - создаваемый в LVM раздел не резиновый, а заранее я его могу представить сколько мне места нужно под обычные и заишфрованные данные (срок использования сервера планируется порядка 10 лет).

eCryptfs
Эта штука создает свою собственную точку монтирования Private, в которую можно складывать то, что жолжно быть в шифрованном виде. Но, по данной системе я не нашел ни одного внятного мануала по работе с TPM (по хранению сертификатов там).
Из достоинств - создается именно контейнер, который живет в обычной файловой системе и растягивается по мере необходимости.
Из недостатков - ПО стороннего разработчика.

Просьба направить на путь истинный и невпустить в искушение поставить на серверок Windows. Ибо уже ум заходит за разум, а разум за ум в попытке найте адекватное описания реализации шифрования с TPM :idiot2:

Оффлайн kvv213

  • Автор темы
  • Новичок
  • *
  • Сообщений: 6
    • Просмотр профиля
Пока решил все же делать на eCryptFS, Но столкнулся с непридвиденными трудностями, буду рад, если поможете:

Коллеги, выручайте. Не могу осилить eCryptFS в купе с хранением ключа в TPM.

В целом. Машина собрана под Ubuntu Server x64 LTS. Все компоненты установлены и включены. Отсалось только шифрование для папки настроить.

Самое плохое, толковых инструкций по процедуре скрещивания нет никаких. Более-менее (и по ходу единственное) это описание от IBM для RedHat http://www-01.ibm.com/support/knowledgecenter/linuxonibm/liaai.ecrypts/liaaie...

Как я понимаю последовательность установки следующая:
1. Необходимо добавить eCryptFS модуль в ядро. В Ubuntu он как бы уже добавлен.
2. Устанавливаем eCryptFS-utils, Trousers, TPM-Tools и KeyUtils. Все это делает через apt-get со стандартными репозиториями. В принципе все устанавливается, но вылезает предупреждение:
Setting up trousers (0.3.11.2-1) ... * Starting Trusted Computing daemon tcsd [fail] invoke-rc.d: initscript trousers, action "start" failed. dpkg: error processing package trousers (--configure): subprocess installed post-installation script returned error exit status 137 dpkg: dependency problems prevent configuration of tpm-tools: tpm-tools depends on trousers; however: Package trousers is not configured yet.

dpkg: error processing package tpm-tools (--configure): dependency problems - leaving unconfigured No apport report written because the error message indicates its a followup error from a previous failure. Errors were encountered while processing: trousers tpm-tools E: Sub-process /usr/bin/dpkg returned an error code (1)

tcsd в списке работающих процессов есть, видимо по этой причине.

3. После установки пакетов, надо получить ownership над TPM.
4. Затем нужно сгенерировать пары ключей, которые будут храниться в TPM (включая sealed). Делается это операцией: ecryptfs-generate-tpm-key -p 0 -p 2 -p 3 Где -p 0 и т.п. это индексы Platform Configuration Registers. Что конкретно означает каждый из индексов никто не знает, поэтому циферки практически на угад устанавливаются. Я так понимаю, что они зависят от конкретной реализации производителя.
5. Монтируются директории нижнего (где файлы хранятся в зашифрованном виде) и верхнего (где уже расшифрованные) уровней.
6. По желанию можно настроить автозагрузку.

Пока уперся в пункт 4. Никак не могу запустить процесс генерации ключей: ecryptfs-generate-tpm-key -p 0 -p 2 -p 3 ecryptfs-generate-tpm-key: command not found Как я понимаю, данная утилита должна быть в пакете ecryptfs-utils. Man от нее есть, но самой утилиты нет. Отчего такое?

И еще не очень понятно относительно TrustedGRUB. В мануале от IBM про него ни слова. В некоторых других источниках он упоминается (возможно излишне старых). Я так понимаю в свежих версиях Ubuntu он уже установлен и никаких излишниих действий не требуется?
« Последнее редактирование: 21 Марта 2015, 13:45:58 от kvv213 »

alexxnight

  • Гость
Опишите, как должна происходить загрузка системы и какой раздел где находится.

Оффлайн kvv213

  • Автор темы
  • Новичок
  • *
  • Сообщений: 6
    • Просмотр профиля
Система должна загружаться полностью самостоятельно, без необходимости пользовательского вмешательства.
Создано два раздела:
1. Boot
2. Ext
В Ext LVM, поэтому там два логических раздела - root и swap

Но, сейчас вопрос больше про ecryptfs, там не разделы.

alexxnight

  • Гость
При шифровании обычно раздел boot создают на отдельном не шифрованном разделе.
Далее создают криптоконтейнер, обычно на оставшуюся часть дискового пространства.
Далее поверх настраивают LVM. Это делается для того, чтобы не создавать столько криптоконтейнеров, сколько нам нужно разделов, и не создавать себе проблему с большим кол-вом паролей. Один криптоконтейнер - один пароль.

В Вашем случае пароль не нужен, Вам нужен ключ. Вопрос, как можно безопасно получить ключ?
Это однозначно ковырять initram.
Например: пусть при загрузке init устанавливает защищенное соединение с др. компьютером, где хранится ключ(ключи).
Но это накладывает дополнительные требования к системе в целом.

Наверное, как-то так...

Оффлайн kvv213

  • Автор темы
  • Новичок
  • *
  • Сообщений: 6
    • Просмотр профиля
Не совсем это так :)

Про отдельный контейнер с целым разделом это к LVM и LUKS. Я пока не хочу этого делать.

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

Сам ключ/сертификат/фраза (без разницы как её назовем) хранится в специальной микросхеме на материнской плате. И эта микросхема этот ключ выдает только в случае, если определенные компоненты программно-аппаратного обеспечения не поменялись. Т.е. это таже материнская плата, тот же винчестер, тот же загрузчик и ядро системы (там параметров может быть много и они разные, на моей плате их 23, но какой за что отвечает - никто не в курсе, не принято у китайцев писать инструкции, пользователи вумные, сами должны догадываться).

Ну так вот проблема собственно в том, что не могу сгенерировать ключ и положить его в микросхему. Делается это при помощи следующей команды
ecryptfs-generate-tpm-key -p 0 -p 2 -p 3

но, вместо нее я получаю ecryptfs-generate-tpm-key: command not found, т.е. команда не найдена. А почему ХЗ.

alexxnight

  • Гость
Там еще,на верное, какая-нибудь кнопочка должна быть. Нажал на кнопку и все папки зашифрованы, данные не доступны...
Работал я как-то давно с подобным устройством от фирмы Aladdin. Только под Windows...

Разберетесь, напишите :)

Оффлайн kvv213

  • Автор темы
  • Новичок
  • *
  • Сообщений: 6
    • Просмотр профиля
Нет, кнопки там отдельной нет, все делается сугубо программно. Причем есть расширения этой системы, например есть жесткие диски, которые самишифруются прозрачно от пользователя. И работает там связка биос-TPM-жесткий диск-операционная система. Если хотя бы один компонент не тот, саморасшифровка не происходит. Нужен будет сертификат или пароль.

Буду пробывать разбираться

Оффлайн kvv213

  • Автор темы
  • Новичок
  • *
  • Сообщений: 6
    • Просмотр профиля
Пока мои изыскания дошли до того, что в последней версии пакета eCryptFS-Utils для Ubuntu нет нужной утилиты. Причем в исходниках она есть, а уже в скомпилированной версии, доступной для скачивания её нет :)

Исходники пока скомпилировать не могу - пишет, что нет подходящего С компилятора.

 

Страница сгенерирована за 0.037 секунд. Запросов: 25.