0,0
рейтинг
1 декабря 2012 в 04:03

Разработка → Установка зашифрованной (TrueCrypt) Windows при Ubuntu по умолчанию tutorial

Нужно: поставить на одну машину одновременно Windows и Ubuntu таким образом, чтобы нельзя было посмотреть содержимое Windows, не имея пароля. CD-ROM'а нет, USB Only.
Работа с виртуалкой из под Ubuntu не понравилась по многим причинам, основная — существенные проблемы производительности.
Решено: ставить параллельно 2 операционки (Windows & Ubuntu) таким образом, что по умолчанию грузится Ubuntu, а Windows размещается на загрузочном разделе.

Для начала нужно подготовиться. Нам потребуется: 2 флешки достаточного размера.
На одну ставим Ubuntu:
Инструкция как сделать USB Ubuntu под Windows
Скачать универсальный USB инсталятор linux
Скачать образ Ubuntu
Нажать пару кнопок (указать путь к ISO и запустить) и все — флешка готова.

На другую ставим Windows:
Инструкция под Windows
На эту же флешку копируем все драйвера нашего компьютера (чтобы потом не искать) и программу для шифрования TrueCrypt (FREE! OPEN SOURCE!) Download

Вкратце: Windows раздел мы будем шифровать при помощи програмы TrueCrypt. Мы хотим получить схему, при которой linux загрузчик грузится первым (grub) и при необходимости захватывает загрузчик TrueCrypt, который уже в свою очередь грузит Windows с шифрованного раздела системы. При этом шифрование будет происходить на лету, то есть в любой момент времени данные на диске будут надежно сохранены.

Теперь мы вооружены и полностью готовы. Теперь распечатываем инструкцию ниже или берем планшет/ноутбук и вперед.

Шаг 1. Разметка диска

Загружаемся с флешки с Ubuntu (режим Try Ubuntu).
Запускаем програму GParted (в программах набираем ее название)
Выбираем нужный диск, создаем новую таблицу разделов (Инструкция) в стиле msdos.

Разбиваем диск примерно таким образом:
/dev/sda1 - Раздел под будующую Windows
Тип: Основной раздел (primary partiton)
Файловая система: NTFS
Размер: не менее 30Gb (системный раздел Windows, я рекомендую отдать 150Gb ведь там же будут и все программы Windows которые должны быть зашифрованы)

/dev/sda2 загрузочный раздел Ubuntu (потом будем монтировать туда /boot)
Тип: Основной раздел (primary partiton)
Файловая система: ext2
Размер: 512mb

/dev/sda3 LBA1 - раздел контейнер всего
Тип: logical block addressing
Размер: неограничен тут будет ваша публичная система

	/dev/sda4 SWAP
	Тип: Раздел внутри LBA1 (extended patition)
	Файловая система: SWAP
	Размер: равен размеру вашей оперативной памяти (например 16Gb)

	/dev/sda5 Ubuntu основной раздел (/)
	Тип: Раздел внутри LBA1 (extended patition)
	Файловая система: ext4
	Размер: неограничен тут будет ваша публичная система Ubuntu и ее корень.
	
	/dev/sda6 Необязательный раздел для обмена файлами между двумя системами - этот раздел не будет шифроваться и в него смогут получить доступ обе системы.
	Тип: Раздел внутри LBA1 (extended patition)
	Файловая система: NTFS
	Размер: по усмотрению.

При желании могут быть и другие разделы (особенно при установке Ubuntu может что-то захотеться выделить отдельно)
Что мы сделали?
  • мы выделили первым разделом основной раздел для Windows — так она встанет без проблем и нам не придется создавать дурацкий раздел на 100mb, как если бы она разбивала диск сама.
  • мы выделили отельный загрузочный раздел — это очень важно, потому что именно так нам будет удобно получить доступ к системе Ubuntu сразу после шифрования Windows безо всяких танцев с бубном =)


Шаг 2. ставим Ubuntu

тоже грузимся в режиме Try Ubuntu и пользуемся мастером с рабочего стола
Выбираем раздел установка Ubuntu и ставим ее соответственно разбиению выше:
 /boot	(/dev/sda2)
 swap	(/dev/sda4)
 /	(/dev/sda5)

перезагружаемся в Ubuntu (установленную)
и делаем такую команду:
sudo grub-install /dev/sda2 --force

подробности тут: habrahabr.ru/post/150209
Так мы проставим Grub в /boot раздел

Шаг 3. Установка Windows

Грузимся с другой флешки и ставим Windows в первый раздел.
Устанавливаем TrueCrypt (кстати, тут есть локализация www.truecrypt.org/localizations просто скачать и распаковать в папку с программой)
Шифруем раздел с системой (процесс прост, я укажу только важные моменты):
  • Обычное шифрование, без скрытой системы
  • Область шифрования: «Зашифровать системный раздел Windows»
  • Указываем, что у нас будет «мультизагрузка»
  • Продолжаем шифрование и получаем диск восстановления (.ISO образ диска восстановления)
  • Сохраняем полученный .ISO на флешку — он очень важен. Без него многие дальнейшие шаги будут не возможны!

Перезагружаемся нужное количество раз и получаем зашифрованную систему.

В принципе на данном этапе можно было бы и успокоиться, потому что уже у вас будет:
  • Зашифрованная система, с основным загрузчиком Truecrypt, который при нажатии Esc передает управление на GRUB2 загрузчик
  • Ubuntu в соответвующем разделе.


Следующие действия нужны только лишь для того, чтобы поменять очередность и сделать не зашифрованную систему Ubuntu по умолчанию, а зашифрованную систему Windows вторичной

Шаг 4. Настраиваем GRUB2 и ставим его в MBR

Загружаем Ubuntu
Теперь нам нужно научить GRUB2 работать с сохраненным ISO. Делается это так:
Копируем полученный ISO в /boot и переименуем его в /boot/truecrypt.iso
открываем консоль и переходим в режим godmode:
sudo -i

далее нужно поставить в /boot утилиту memdisk, для этого:
apt-get install syslinux
cp /usr/lib/syslinux/memdisk /boot

настраиваем GRUB2
nano /etc/grub.d/40_truecrypt

создаем файл /etc/grub.d/40_truecrypt такого содержания:
#!/bin/sh
exec tail -n +3 $0
# TrueCrypt
menuentry "Microsoft Windows" {
	insmod part_msdos
	insmod ext2
	set root='(hd0,msdos2)'
	linux16 ($root)/memdisk iso raw
	initrd16 ($root)/truecrypt.iso
}

здесь msdos2 — второй раздел диска первого (/dev/sda2, да цифра совпадает, msdos потому что у нас тип таблицы размещенй msdos, такой тут вот синтаксис)
Следите за пробелами — важно. Файлу задайте права на исполнения групе и владельцу:
chmod og+x /etc/grub.d/40_truecrypt

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

и записать его в MBR:
grub-install /dev/sda

Теперь перезагружаемся и наслождаемся процессом.
У нас в MBR загрузчик GRUB2 который при необходимости может загрузить загрузчик TrueCrypt c образа диска восстановления TrueCrypt
Единственное, что, вероятно, вам не удастся, введя пароль, войти в систему — это происходит потому,
что GRUB2 при установке повредил ключи TrueCrypt, но восстановить их не трудно:
просто в загрузчике TrueCrypt нажмите F8 и выберите соотвествующий пункт.

Однако при перезаписывании загрузчика TrueCrypt GRUB не полностью стер от него все флаги и следы, поэтому при загрузке через TrueCrypt вероятно вы увидите такое сообщение:
it appears you are creating a hidden os. is this correct (y/n)

приглашающее создать скрытую систему, при нажатии Y ничего происходить не будет, а при нажатии N все загрузится как и должно.
Чтобы избиваться от этого назойливого сообщения нужно подчистить все следы от TrueCrypt в MBR вручную:
Загружаемся в Ubuntu и делаем такие команды:
  1. проверяем, что остались хвосты от TrueCrypt
    dd if=/dev/sda count=8 bs=1 skip=6
    

    должно вывести «TrueCryp»
  2. чистим TrueCrypt маркер в MBR:
    echo 'grub<3tc' | dd of=/dev/sda count=8 bs=1 seek=6
    

    тут пишем просто /dev/sda — потому что правим MBR диска. Откуда именно такие смещения, я не нашел, если кто знает — прошу в комменты.

Если нужно сделать пункт меню скрытым (чтоб вообще не привлекал внимание), то вот инструкция
Profit!

Возможные проблемы

  • Если вы после шифрования всегда хотите иметь гарантии того, что система Windows загрузится вне зависимости от того, получатся ли дальнейшие действия, то можно загрузиться с флешки Ubuntu и сделать так:

    Создаём резервную копию:
    	dd if=/dev/sda of=~/truecrypt.mbr count=1 bs=512
    	dd if=/dev/sda of=~/truecrypt.backup count=8 bs=32256
    	


    Восстанавливаем из резервной копии в случае восстановления:
    	sudo dd if=~/truecrypt.mbr of=/dev/sda count=1 bs=512
    	sudo dd if=~/truecrypt.backup of=/dev/sda count=8 bs=32256
    	
  • Бывает, что вы все сделали правильно, поставили Ubuntu, потом Windows, потом его зашифровали, но не можете в попасть в Ubuntu (кстати, вероятно, что-то не так нажали) тогда нужно сделать следующее, чтобы восстановить загрузчик Grub2:
    1. Загружаемся с флешки с Ubuntu (режим Try Ubuntu)
    2. в консоли набираем следующее:
      sudo -i
      mount /dev/sda5 /mnt
      mount /dev/sda2 /mnt/boot
      

      Если поставить загрузчик в MBR (дальше только шаг4)
      grub-install --root-directory=/mnt /dev/sda
      

      или если хочется все-таки иметь Ubuntu как вторую систему, то
      grub-install --root-directory=/mnt /dev/sda2 --force
      

      подробности: мануал по восстановлению Grub2


  • Загрузчик Grub2 установлен в /dev/sda2, сам раздел основной, но почему-то не можем в него попасть после нажатия Esc в загрузчике TrueCrypt. Есть информация, что загрузчик TrueCrypt видит только разделы с флагом Boot. Значи, надо разделу /dev/sda2 дать такой флаг. Открываем Gparted, в нем находим нужный раздел, правой кнопкой на нем, там флаги и выбираем флаг Boot, после чего даже сохранять не нужно — вроде сам сделает и перезагружаемся, проверяем.


Первоисточники информации

Александр Шульман @developer
карма
39,0
рейтинг 0,0
Реклама помогает поддерживать и развивать наши сервисы

Подробнее
Реклама

Самое читаемое Разработка

Комментарии (28)

  • +1
    Бодрячком!)
  • +1
    Мужик, я тебя люблю!
    • +4
      Только не прям тут.
  • 0
    Сделал такое еще на grub-legacy. Но c grub2 получается конечно же прямее.
  • 0
    Шифруем пиратский софт :)? тоже такое проходил :)
    • +9
      ну состояние всего софта на шифрованном разделе после этого будет снаружи не идентифицируемо, поэтому рабочая гипотиза такова, что все что под шифрованным разделом автоматически легализуется и становится вполне себе легальным личным архивом данных =)

      Более того как показали поиски по интернету нет никаких правовых норм, которые могли бы какого-либо сотрудника вынуждать указывать пароль на шифрованный раздел и все притензии являются простой разводкой. Но если и этого мало, то для того чтобы быть спокойным и не дать сотруднику даже при желании показать скрытый раздел, то можно пойти еще дальше и впасть в ацкую параною: Написать простецкий скрипт, который бы удалял ключи
      dd if=~/dev/sda2 of=/dev/sda count=8 bs=32256
      

      удалял конфиг Grub2 (или только его часть, ответственную за TrueCrypt) и все это поместить в init.d
      собственно, как описано выше, все это можно и обратить (ключи восстановить, конфиг вернуть), поэтому можно сделать и скрытый где-либо на флешке скрипт восстановления и получить такую схему:
      1. опасность!
      2. грузимся в Ubuntu по умолчанию
      3. раздел TrueCrypt превращается в груду мусора
      4. спокойно наблюдаем за проверками
      5. опасность миновала
      6. Если раздел не испортили, то пробуем его восстановить при помощи бекапа кусочка с ключами (как описано выше это даже через ISO TrueCrypt можно восстановить) и повторной настройкой Grub2
      7. работаем дальше! Любим родину!
      • +2
        В TrueCrypt встроен стандартный механизм двух паролей.
        На раздел можно установить 2 пароля: один — настоящий, а по второму TrueCrypt покажет некий левый раздел, в который можно напихать «личные фото» или дневники там… короче, что-то правдоподобное, но легальное на 146%. Тогда вопросы задавать станет совсем сложно. пруф
        • 0
          Ну, надо попробовать поставить 2 разных системы, пока я так не пробовал (при криптовании системы поставить скрытый раздел).
        • 0
          А в каждом разделе — и с настоящей и с фейковой системой по зашифрованному контейнеру, соответственно, с нормальными и фейковыми данными.
          • 0
            А зачем? чтоб запутать всех окончательно? Или просто рекурсию углУбить? :-)
            • 0
              А вдруг покажется подозрительным, что в системе нет ничего зашифрованного?
              • +1
                то есть, это в нашей стране уже подозрительно?
      • 0
        Такая схема чревата в такой ситуации: командная работа, и на каждой машине свой индивидуальный пароль. Один разработчик по окончанию рабочего дня выключил машину, и ушел домой, другой же продолжает дорабатывать. И тут второму нужно данные с первой, а пароля нет. Приходится звонить, и узнавать пароль. И это хорошо если собеседник не будет в метро, или в туннеле и пароль относительно простой ~ 16 символов. Была у меня такая ситуация, а пароль оказался 30+ символов :)
        • 0
          SMS рулит.
          • 0
            Опять же — если пароль не завязан на клавиатуре (как часто бывает). Ну это я так, предостережения к возможным проблемам. Ну и в целом — это самые мелкие неприятности, в сравнении с приходом проверки :)
        • 0
          Разработчикам стоит использовать системы контроля версий и системы управления проектами. Да и вообще нормально организовывать работу.
          Ведь, если разработчика автобус собьёт, тогда никакие sms не помогут.
      • 0
        Я Вас расстрою. Отказ сотрудника выдать пароль к зашифрованой информации рассматривается не просто, как отказ сотрудничать со следствием, но даже как активное препятствование и соучастие. Есть прецеденты по России. При этом следователи давят на, то что сотрудник за действия организации ответственность не несёт и потому не может отказаться сотрудничать со следствием. Что совсем забавно, так это то, что это и на директора организации распространяется — дело возбуждено не в отношении него, а в отношении юр. лица, а значит он не имеет права отказаться от дачи показаний. И не важно, что потом по результатам расследования дело может быть возбуждено против него лично (как и против любого сотрудника) — на момент допроса он обвиняемым не был. Бред конечно и беспределен, но факт имеет место быть. Можно запросто сесть за отказ сказать пароль. По-моему даже на Хабре писали, как кого-то прессовали именно по такому сценарию.
        • +1
          Если проверка, сотрудник говорит что я на собеседовании, или тестовое задание делаю, только что сел за аппарат, ну а директор просто плечами пожимает, мол так и продали (или там с рук брал, не разбирался что там внутри, форматнул видимые диски и все).
          • 0
            Это теория. Угу и сотрудник вовсе не трудоустроен? Зарплату ему в чёрную платим? ну ну. А во-вторых, находятся показания, что сотрудник вовсе не на собеседовании, после чего с начинают трясти показания угрожая посадить в КПЗ за препятствование ведению следствия.
            • 0
              н, у если вас заказали, то как бы все честно у вас не было в этой стране органы найдут как вам попортить кровь. Вы киньте пожалуйста ссылочку на источник из которого бы следовало что описанная вами проблема существует в значимом объеме, а пока это выглядит как «стандартный страх», обусловленный единичными явлениями.
              Вы же понимаете, что в общем случае сотрудник может поплатиться и за угрозы и за незаконные посадки в КПЗ и за остановку деятельности компании тоже. Обычно достаточно направить жалобу в прокуратору чтобы все стали вычурно вежливыми и разговаривали по благовидному сценарию, регулярно отвечая «а ну, да». По крайней мере в Питере и Москве.
  • –1
    Если такая конструкция используется на предприятии, следует помнить, что использование таких систем не очень законно.
    Указ Президента Российской федерации от 3 апреля 1995 г. N 334 «О мерах по соблюдению законности в области разработки, производстава, реализации и эксплауатации шифровальных средств, а также предоставления услуг в области шифрования информации»:
    4. В интересах информационной безопасности Российской Федерации и усиления борьбы с организованной преступностью запретить деятельность юридических и физических лиц, связанную с разработкой, производством, реализацией и эксплуатацией шифровальных средств

    Я не юрист и могу ошибаться в понимании этого указа, но мне кажется, стоит обратить внимание.
    • +1
      Для объективности выбора, и в целях полноты информации следует, наверное, найти и указать какая ответственность предусмотрена за нарушение данного Указа и сравнить ее с ответственностью предусмотренной за использование зоопарка пиратского ПО. а так в нашей стране все «не очень законно»
    • +3
      Тут нюанс есть.
      В целях обеспечения безусловного исполнения Закона Российской Федерации «О федеральных органах правительственной связи и информации», а также усиления борьбы с организованной преступностью и повышения защищенности информационно — телекоммуникационных систем органов государственной власти, российских кредитно — финансовых структур, предприятий и организаций постановляю:
      — это выдержка из Указа. Точнее, его начало.
      Упомянутый выше ФЗ — «Утратил силу с 1 июля 2003 года в связи с принятием Федерального закона от 30.06.2003 N 86-ФЗ.»
      Следовательно, Пункт 4 Указа с его отменой потерял актуальность. А также, в 128-ФЗ ничего нет про эксплуатацию шифровальных средств. Зато есть постановление, если не ошибаюсь, 691 —
      4. Настоящее Положение не распространяется на деятельность по техническому обслуживанию:
      а) шифровальных (криптографических) средств, являющихся компонентами доступных для продажи без ограничений посредством розничной торговли, либо сделок по почтовым запросам, либо электронных сделок, либо сделок по телефонным заказам программных операционных систем, криптографические возможности которых не могут быть изменены пользователями, которые разработаны для установки пользователем самостоятельно без дальнейшей существенной поддержки поставщиком и техническая документация (описание алгоритмов криптографических преобразований, протоколы взаимодействия, описание интерфейсов и т.д.) на которые является доступной, в том числе для проверки;

      TrueCrypt является компонентом свободного распространения. Соответственно, можно использовать в организациях — вполне законно.
      Правда, насколько помню, ФСБ, кажется, в июле этого года выпустило приказ, по которому выходило, что устанавливать криптосредства может тот, у кого есть госаккредитация на проведение работ, связанных с ЗИ (т.е. диплом, где вам присудили квалификацию специалиста по ЗИ, свидетельство окончания курсов государственного образца (??) и т.д.). Но за это — не уверен.
      • +1
        Спасибо, на такое полное уточнение я рассчитывал.
      • +1
        Правда, насколько помню, ФСБ, кажется, в июле этого года выпустило приказ, по которому выходило, что устанавливать криптосредства может тот, у кого есть госаккредитация на проведение работ, связанных с ЗИ

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

        Опять же, если смотреть на Положение ПКЗ-2005, пункт 4:
        4. Требования Положения ПКЗ-2005 носят рекомендательный характер при разработке, производстве, реализации и эксплуатации:
        средств криптографической защиты информации, доступ к которой ограничивается по решению обладателя, пользователя (потребителя) данной информации, собственника (владельца) информационных ресурсов (информационных систем) или уполномоченных ими лицами, не являющихся государственными органами или организациями, выполняющими государственные заказы;
        средств криптографической защиты информации открытых и общедоступных государственных информационных ресурсов Российской Федерации;
        средств электронной цифровой подписи, предназначаемых для использования в электронном документообороте, информация которого не относится к информации конфиденциального характера;
        информационно-телекоммуникационных систем, реализующих функции криптографической защиты информации, не относящейся к информации конфиденциального характера.
  • НЛО прилетело и опубликовало эту надпись здесь
    • 0
      Так вы я понял ставите скрытую Ос? Я выбирал просто зашифрованную, там просто: сколько диск создал столько там места и есть.
  • 0
    ISO, создаваемый TrueCrypt, предназначен для дешифровки разделов без использования пароля, просто альтернативный способ. Хранить его в Linux системе — несколько небезопасно. Это как ввести пароль и поставить галочку, чтобы его сохранить. Что я понял не так? Что мешает использовать этот образ для доступа к Windows-разделу постороннему?

Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.