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


Хотите сделать посильный вклад в развитие Ubuntu и русскоязычного сообщества?
Помогите нам с документацией!

Автор Тема: HOW-TO: Шифруем раздел или каталог /home  (Прочитано 13648 раз)

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

Оффлайн allexnew

  • Автор темы
  • Любитель
  • *
  • Сообщений: 76
    • Просмотр профиля
Собственно полностью оригинальная статья находится здесь, а здесь некоторые исправления и заточки под Ubuntu 9.40, надеюсь автор оригинальной статьи не будет против, если я буду использовать его текст с небольшими ремарками.

Имеем:
- Ubuntu 9.04
- Раздел или каталог /home

Задача: сделать шифрованный раздел или каталог.

Шифрование с помощью TrueCrypt каталога /home
Если домашняя папка подключается у вас как раздел, то смотрите п. 1, 2, 3.

Нет надобности объяснять зачем нужно шифрование - причин масса. Поэтому сразу к делу.

1. По умолчанию в репозиториях нет truecrypt, поэтому нужно ее выкачать и установить:

- Качаем отсюда: http://www.truecrypt.org/downloads
- В терминале запускаем скаченный файл (возможно нужно будет сменить разрешение файла на 655). Зависимостей нет, устанавливается без проблем.
- Также потребуется набор скриптов, дабы монтировать шифрованный том при запуске. Берем здесь (или из вложения в конце статьи) и распаковываем сразу в доступное место.

2. Необходимо сделать резервную копию каталога /home в другое место, с сохранением атрибутов. Сделать это можно разными способами, я делал в терминале с помощью оболочки Mc. Через коммандуную строку можно сделать так:

sudo cp -p -R /home /другой_раздел/путь

где /другой_раздел/путь - резервное местоположение каталога /home.

3. Теперь необходимо определиться. Если у вас каталог /home подключен отдельным разделом, то читаем п.14 и далее, иначе читаем ниже.  

4. C помощью GUI truecrypt создадим новый том для будущего домашнего каталога (в иксах, в консоли это сделать почему то не получилось):

- Приложения - Прочие - TrueCrypt
- Кнопка "Create Volume"
- Next
- Next
- Укажем где будет размещаться том (в данном случае в виде файла) и его имя, (например, /media/work/home.v разумеется, вы указываете свой путь и имя файла), затем Next
- Выбираем алгоритм шифрования и алгоритм хеша. Рекомендуется оставить по умолчанию. Затем Next

(Нажмите, чтобы показать/скрыть)

- Указываем размер создаваемого тома. Здесь внимательнее, вроде как изменить размер тома будет очень проблематично. Затем Next.
- Указываем пароль. Рекомендуется не менее 20 символов. Также можно создать т.н. keyfile и пользоваться им, но в данном примере используется пароль. Затем Next
- Выбираем файловую систему, выберите ext3. Next.
- Нажмем кнопку "Format", затем OK и Exit.

5. Теперече примонтируем созданный том и скопируем содержимое каталога /home на этот том. Можно это сделать через GUI, мне удобнее через терминал:

- Монтируем том как устройство:

sudo truecrypt --filesystem=ext3 /media/work/home.v
Разумеется, путь до созданного тома и его имя указываете свои. В этом случае образуется устройство /dev/mapper/truecrypt1  или, возможно, /dev/mapper/truecrypt0

- Смонтируем том в какой нибудь каталог на время, предварительно его создав и выставив атрибуты:

sudo mkdir /media/work/temp
sudo chmod 777 /media/work/temp
sudo mount /dev/mapper/truecrypt1 /media/work/temp

- Копируем на зашифрованный том содержимое каталога /home:

sudo cp -p -R /home/* /media/work/temp
6. Размонтируем все:

sudo umount /media/work/temp
sudo truecrypt -d

7. Теперь нужно будет переключиться в однопользовательский режим, т.к. будем работать с самой папкой /home. Я ничего лучше не придумал как перезагрузиться в recovery режиме и все команды делать уже от рута, поэтому на этотм моменте аккуратнее. Итак перезагружаем систему:

- При запуске загрузчика выбираем  восстановительный режим, нажав клавишу ESC
- Далее в табличке стрелками идем вниз и выбираем что то типа : "Drop to .... root shell"

8. Удаляем все из папки /home (надеюсь вы сделали резервную копию?! На этом и следующих этапах я ответственности не несу :) ):

rm -R /home/*
9. Теперь осталось настроить скрипты, дабы монтировалось все при загрузке системы. Ранее вы их скачали и положили в доступное место, откуда сейчас их скопируем в каталог /usr :

cp /путь_до_скриптов/tcbootscreen/* /usr/tcbootscreen/
10. Установим владельца и права доступа на скрипты:

chown -R root:root /usr/tcb*
chmod 655 /usr/tcbootscreen/*
chmod 644 /usr/tcbootscreen/main.log
chmod 644 /usr/tcbootscreen/tcscreen.tmp

11. Теперече во всех скриптах нужно изменить заголовок #!/bin/sh на #!/bin/bash. Откройте каждый скрипт на редактирование и замените. Сделать это можно либо через MC, либо с помощью, например, редактора nano, если не ошибаюсь то примерно так:

nano  /usr/tcbootscreen/decrypt
12. Теперь скопируем скрипт в автозагрузку:

cp /usr/tcbootscreen/tcbootscreen /etc/init.d/tcbootscreen
update-rc.d tcbootscreen defaults

13. И последний штрих, подправим девайс и точку монтирования в скрипте /usr/tcbootscreen/decrypt. В моем случае это:

declare device="/media/work/home.v"
declare mountpoint="/home"

Вот собственно и все. При перезагрузке системы вам будет предложенно ввести пароль, если он будет введен верно, то все должно загрузится. Единственное что я заметил, после ввода пароля несколько раз почемуто нужно Enter нажать, но это уже надо ковырять скрипты. Ну, а если пароль будет неверным, то помоему иксы просто не загрузятся, кстати на этот случай есть скрипт decrypt_fail он предназначен выполнить команды при неверном вводе пароля. Возможно интересным будет момент создания т.н. скрытого тома, но помоему в данном случае это не целесообразно, потому как скрытый том в первую очередь предназначен вообще скрыть информацию о том, что вообще что-либо шифруется, а с папкой home это подозрительно. Хотя если вы собираетесь шифровать не всю папку home, а только скажем свою, как это сделал я, то возможно смысл и есть.

Если что-то пошло не так, или все взорвалось

(Нажмите, чтобы показать/скрыть)



Шифрование с помощью TrueCrypt раздела /home

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

14. Выполните перед этим п. 1 и 2

15. Теперь нужно будет переключиться в однопользовательский режим, т.к. нужно отмонтировать будет каталог /home.  Итак перезагружаем систему:

- При запуске загрузчика выбираем  восстановительный режим, нажав клавишу ESC
- Далее в табличке стрелками идем вниз и выбираем что то типа : "Drop to .... root shell"

16. Отмонтируем домашний каталог:

umount /home
17. Для директории /home создадим внешний криптоконтейнер:

truecrypt --encryption=AES --volume-type=normal -c /dev/sda4
где /dev/sda4 раздел /home, у вас, разумеется, свой.

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

18.  Создаем устройство /dev/mapper/truecrypt1 (займет несколько времени):


Внимание! Все данные с этого раздела будут уничтожены. А вы сделали резервную копию?!


truecrypt --filesystem=none /dev/sda4

19. Форматируем контейнер и монтируем его:

mkfs.ext3 -v /dev/mapper/truecrypt1
mount /dev/mapper/truecrypt1 /home

Если будет ругаться на truecrypt1, что мол, отсутствует, смотрим какие устройсва появились в  /dev/mapper/ и в код выше подставляем нужное.

20. Копируем с резервной копии содержимое в новосозданный шифрованный раздел:

cp -p -R /путь_до_резервной_копии/* /home
21. Отмонтируем все:

umount /home
truecrypt -d

22. Теперь осталось настроить скрипты, дабы монтировалось все при загрузке системы. Ранее вы их скачали и положили в доступное место, откуда сейчас их скопируем в каталог /usr :

cp /путь_до_скриптов/tcbootscreen/* /usr/tcbootscreen/
23. Установим владельца и права доступа на скрипты:

chown -R root:root /usr/tcb*
chmod 655 /usr/tcbootscreen/*
chmod 644 /usr/tcbootscreen/main.log
chmod 644 /usr/tcbootscreen/tcscreen.tmp

24. Теперече во всех скриптах нужно изменить заголовок #!/bin/sh на #!/bin/bash. Откройте каждый скрипт на редактирование и замените. Сделать это можно либо через MC, либо с помощью, например, редактора nano, если не ошибаюсь то примерно так:

nano  /usr/tcbootscreen/decrypt
25. Теперь скопируем скрипт в автозагрузку:

cp /usr/tcbootscreen/tcbootscreen /etc/init.d/tcbootscreen
update-rc.d tcbootscreen defaults

26. Подправим девайс и точку монтирования в скрипте /usr/tcbootscreen/decrypt. В моем случае это:

declare device="/dev/sda4"
declare mountpoint="/home"

27. И чтобы система не ругалась при загрузке на раздел, который она не может найти, закомментируем в /etc/fstab строку о монтировании раздела /home:

# /home was on /dev/sda4 during installation
#UUID=cbe5070d-d2b7-4520-9895-dd419609666a /home           ext3    relatime        0       2

Вот и все. Почитайте также комментарии п. 13.

Если что-то пошло не так, или все взорвалось (у меня все случилось нормально, поэтому действия ниже чисто теоретические)

(Нажмите, чтобы показать/скрыть)



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

ЗЫ Статья писалась в большей степени для себя, дабы если что, обратиться к ней, когда чего-нибудь подзабудется.


« Последнее редактирование: 09 Июня 2009, 13:52:44 от allexnew »
Если ничего не помогает, попробуйте все-таки прочесть инструкцию.

Оффлайн m_keeper

  • Любитель
  • *
  • Сообщений: 57
    • Просмотр профиля
Re: HOW-TO: Шифруем раздел или каталог /home
« Ответ #1 : 21 Мая 2009, 17:40:49 »
а 9.4 alternate во время установки сама шифрует персональные директории пользователей, причём как я понял каждого пользователя отдельно и его же паролем входа в систему - так наверное гораздо удобнее выйдет


Оффлайн sanya777

  • Участник
  • *
  • Сообщений: 174
    • Просмотр профиля
Re: HOW-TO: Шифруем раздел или каталог /home
« Ответ #2 : 21 Мая 2009, 17:50:56 »
с альтернейт задаёт вопрос о шифровании---точно

Оффлайн allexnew

  • Автор темы
  • Любитель
  • *
  • Сообщений: 76
    • Просмотр профиля
Re: HOW-TO: Шифруем раздел или каталог /home
« Ответ #3 : 21 Мая 2009, 19:34:07 »
вот незнал. А чем шифрует?
Если ничего не помогает, попробуйте все-таки прочесть инструкцию.

Оффлайн m_keeper

  • Любитель
  • *
  • Сообщений: 57
    • Просмотр профиля
Re: HOW-TO: Шифруем раздел или каталог /home
« Ответ #4 : 23 Мая 2009, 03:09:33 »

Как там реализовано шифрование мне очень понравилось
при разметке диска можно создавать криптоконтейнеры двух типов - с заданным паролем и со случайным
с заданным паролем он соответственно будет при загрузке его спрашивать
а со случайным - всё содержимое контейнера при выключении компа будет теряться - наверно специально для свапа сделано
но можно выберать и алгоритм и длину ключа ( по умолчанию вроде вроде aes-256)

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

как-то так

Оффлайн Pingvic

  • Активист
  • *
  • Сообщений: 282
    • Просмотр профиля
Re: HOW-TO: Шифруем раздел или каталог /home
« Ответ #5 : 23 Мая 2009, 07:21:53 »
Спасибо большое за объяснения только я вообще не понял а что мне делать если я собираюсь зашифровать отдельный каталог не home и вообще на отдельном разделе, тогда мне что делать ?

Оффлайн allexnew

  • Автор темы
  • Любитель
  • *
  • Сообщений: 76
    • Просмотр профиля
Re: HOW-TO: Шифруем раздел или каталог /home
« Ответ #6 : 24 Мая 2009, 12:29:01 »

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

как-то так

Очень интересно. Почему они в десктопе не сделали это... Обязательно попробую.

Пользователь решил продолжить мысль 24 Мая 2009, 12:48:36:
Спасибо большое за объяснения только я вообще не понял а что мне делать если я собираюсь зашифровать отдельный каталог не home и вообще на отдельном разделе, тогда мне что делать ?

Если просто нужен контейнер, то делается все через GUI без всяких шаманств. Создается контейнер, монтируется как диск, и в него уже кладется все что хотите. Можно создать двойной контейнер, т.н. скрытый для пущей верности :) Вот, например, инструкция с картинками.

С разделом дело обстоит также, только на 3 шаге (в той инструкции с картинками) выбирается, соответственно, зашифровать раздел. Учтите, что размер зашифрованного раздела изменить будет нельзя. Информация при шифровании раздела, будет уничтожена на нем, так что придется, перед шифрованием, сначала скопировать все с того раздела кторый будете шифровать, а затем, после шифрования, скопировать ее обратно.
« Последнее редактирование: 24 Мая 2009, 12:48:36 от allexnew »
Если ничего не помогает, попробуйте все-таки прочесть инструкцию.

Оффлайн Pingvic

  • Активист
  • *
  • Сообщений: 282
    • Просмотр профиля
Re: HOW-TO: Шифруем раздел или каталог /home
« Ответ #7 : 24 Мая 2009, 17:55:25 »
подожди там инструкция с картинками по установке на винду ,а мне в Ubuntu 8.10 нужно

Оффлайн allexnew

  • Автор темы
  • Любитель
  • *
  • Сообщений: 76
    • Просмотр профиля
Re: HOW-TO: Шифруем раздел или каталог /home
« Ответ #8 : 25 Мая 2009, 04:53:02 »
подожди там инструкция с картинками по установке на винду ,а мне в Ubuntu 8.10 нужно

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

Оффлайн triamtriam

  • Новичок
  • *
  • Сообщений: 2
    • Просмотр профиля
Re: HOW-TO: Шифруем раздел или каталог /home
« Ответ #9 : 08 Июня 2009, 23:30:32 »
Друзья, подскажите пожалуйста. Что нужно изменить в скриптах, если я хочу использовать пароль и keyfile на флэшке.
Если я правильно понимаю, то в pre_decrypt примонтировать флэшку; в decrypt изменить 9 строку (не понял, что и как - помогите примером); в decrypt_success отмонтировать флэшку.

Может кто-нибудь показать на примерах, как это правильно сделать?! :)
 

Оффлайн positivebb

  • Новичок
  • *
  • Сообщений: 5
    • Просмотр профиля
Re: HOW-TO: Шифруем раздел или каталог /home
« Ответ #10 : 09 Июня 2009, 09:20:16 »
Хорошая инструкция, "прибить" бы

Оффлайн aurved

  • Новичок
  • *
  • Сообщений: 1
    • Просмотр профиля
Re: HOW-TO: Шифруем раздел или каталог /home
« Ответ #11 : 07 Июля 2009, 18:37:44 »
а 9.4 alternate во время установки сама шифрует персональные директории пользователей, причём как я понял каждого пользователя отдельно и его же паролем входа в систему - так наверное гораздо удобнее выйдет



9.04 alternate во время инсталяции предлагает зашифровать всю систему -- и / и swap. Незашифрованным остается только небольшой раздел /boot, но это так же и в других дистрибутивах при шифровании всего винта. А вот потом в конце инсталлер предлагает еще до кучи зашифровать /home. Еще раз, до кучи, типа для надежности.  ;) Причем можно не шифровать весь винт, а только /home.

Оффлайн alistair

  • Новичок
  • *
  • Сообщений: 13
    • Просмотр профиля
Re: HOW-TO: Шифруем раздел или каталог /home
« Ответ #12 : 07 Июля 2009, 20:31:07 »
Собственно полностью оригинальная статья находится здесь, а здесь некоторые исправления и заточки под Ubuntu 9.40, надеюсь автор оригинальной статьи не будет против, если я буду использовать его текст с небольшими ремарками.

Для шифрования домашнего каталога в 9.04 можно воспользоваться ecryptfs (при установке с alternate). Делается автоматом, единственное, что ecryptfs-скрипты пока несколько кривоваты.

Я шифровал swap, /tmp и home через LUKS по этой инструкции:

http://blog.gnist.org/article.php?story=EncryptedSwapAndHomeUbuntu

(с небольшими изменениями). В hardy пришлось поковырять pam-mount, как пишет автор, в Jaunty этого не требуется, работает из коробки.

TrueCrypt использую для переносного контейнера.

Это не критика, варианты реализации. По ссылке есть сравнение разных методов.

Оффлайн ode2

  • Активист
  • *
  • Сообщений: 281
    • Просмотр профиля
Re: HOW-TO: Шифруем раздел или каталог /home
« Ответ #13 : 07 Ноября 2009, 19:29:06 »
как оказалось все гораздо проще , ответ тут https://forum.ubuntu.ru/index.php?topic=73873.0

Оффлайн Ost

  • Активист
  • *
  • Сообщений: 292
  • Ушёл на Arch. Тут по привычке.
    • Просмотр профиля
Re: HOW-TO: Шифруем раздел или каталог /home
« Ответ #14 : 27 Ноября 2009, 00:30:16 »
Открыл для себя программку Cryptkeeper (есть в Центре приложений Ubuntu): создает EncFS - шифрованные папки. Висит в трее, создает-монтирует-размонтирует буквально в 2 клика. Поудобнее, чем Truecrypt, имхо. Но, по сравнению с ним, имеет некоторые минусы: работает только с папками (не разделами), нет возможности использовать ключевые файлы (только текстовый пароль), сама папка доступна и видна ее структура (хотя все файлы зашифрованы, в т.ч. имена и расширения, но тем не менее...). Удобно использовать, например, чтобы хранить в ней профайлы браузера (в т.ч. историю, кукисы, кэш и т.п.), почтового клиента, im.
« Последнее редактирование: 27 Ноября 2009, 00:37:44 от Ost »
Archlinux

 

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