Установка системы с шифрованием всего диска Сравнение версий

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Следующая версия
Предыдущая версия
wiki:шифрование_всего_диска [2011/12/14 17:00]
alfa
wiki:шифрование_всего_диска [2016/05/08 19:34] (текущий)
[Описание руководства]
Строка 3: Строка 3:
 ===== Описание руководства ===== ===== Описание руководства =====
  
-Данная статья рассказывает,​ как создать надёжно зашифрованное хранилище данных на жестом диске компьютера и при этом не сломать спящий и ждущий режимы. Особенно актуально это для владельцев ноутбуков,​ т. к. в отличие от стационарных компьютеров шанс кражи/​утери ноутбука выше и возникает обоснованное желание хранить информацию в зашифрованном виде. Однако,​ предлагаемая по-умолчанию опция шифрования домашней папки при помощи ​ ecryptfs ​ во-первых не шифрует корневой раздел системы ((имея доступ к корневому разделу можно, например,​ получить список файлов в домашнем разделе,​ несмотря на то, что тот зашифрован)),​ а во-вторых ​ ecryptfs ​ шифрует раздел swap с применением случайно сгенерированного ключа, таким образом,​ перестает работать такая нужная в ноутбуках опция как спящий режим((т. е. режим приостановки работы компьютера,​ при котором все содержимое оперативной памяти сбрасывается на диск, а питание компьютера отключается)). ​+Данная статья рассказывает,​ как создать надёжно зашифрованное хранилище данных на жестком диске компьютера и при этом не сломать спящий и ждущий режимы. Особенно актуально это для владельцев ноутбуков,​ т. к. в отличие от стационарных компьютеров шанс кражи/​утери ноутбука выше и возникает обоснованное желание хранить информацию в зашифрованном виде. Однако,​ предлагаемая по-умолчанию опция шифрования домашней папки при помощи ​ ecryptfs ​ во-первых не шифрует корневой раздел системы ((имея доступ к корневому разделу можно, например,​ получить список файлов в домашнем разделе,​ несмотря на то, что тот зашифрован)),​ а во-вторых ​ ecryptfs ​ шифрует раздел swap с применением случайно сгенерированного ключа, таким образом,​ перестает работать такая нужная в ноутбуках опция как спящий режим((т. е. режим приостановки работы компьютера,​ при котором все содержимое оперативной памяти сбрасывается на диск, а питание компьютера отключается))(([[https://​help.ubuntu.com/​community/​EnableHibernateWithEncryptedSwap|Починка спящего режима для EncryptFs-swap]])). 
  
 Предлагается же создать один большой зашифрованный раздел размером с весь диск компьютера((за исключением небольшого не шифруемого раздела /boot)), поверх которого развернуть виртуальную группу LVM, в которой создать обычные (не шифрованные с точки зрения ОС) разделы /, /home и swap. При этом, пользователю придётся вводить пароль при каждом включении компьютера (даже при выходе из спящего режима),​ однако,​ за счёт смещения шифрования на более низкий уровень,​ ОС «не заметит» этого и все функции будут работать. Предлагается же создать один большой зашифрованный раздел размером с весь диск компьютера((за исключением небольшого не шифруемого раздела /boot)), поверх которого развернуть виртуальную группу LVM, в которой создать обычные (не шифрованные с точки зрения ОС) разделы /, /home и swap. При этом, пользователю придётся вводить пароль при каждом включении компьютера (даже при выходе из спящего режима),​ однако,​ за счёт смещения шифрования на более низкий уровень,​ ОС «не заметит» этого и все функции будут работать.
  
 +<note important>​Начиная с версии 12.10 возможность зашифровать весь диск целиком добавлена в варианты установки Ubuntu в стандартном инсталляторе.</​note>​
 ===== Установка ===== ===== Установка =====
  
-Итак, для установки нам потребуется диск альтернативной установки системы .+Итак, для установки нам потребуется диск альтернативной установки системы, который можно скачать [[http://​ubuntu.ru/​get|тут]]. Ищите образ с alternate в названии.
  
 +<note warning>
 Подразумевается,​ что вы выполняете новую установку системы,​ если это не так — предварительно сохраните все свои данные и настройки,​ т. к. описанный ниже процесс подразумевает потерю всех данных на жёстком диске компьютера. Подразумевается,​ что вы выполняете новую установку системы,​ если это не так — предварительно сохраните все свои данные и настройки,​ т. к. описанный ниже процесс подразумевает потерю всех данных на жёстком диске компьютера.
 +</​note>​
  
-Загрузите систему с alternate — диска, выберите язык и приступите ​у установке.+Загрузите систему с alternate — диска, выберите язык и приступите ​к установке:
  
-Тут скриншоты и немного ​текста+{{ :​wiki:​cryptsetup_screen_002.png?​direct&​ |Загрузите систему с alternate — диска, выберите язык и приступите ​у установке.}}
  
-Далее продолжайте установку системы как обычно. Когда установщик спросит вас, зашифровать ли домашний каталог — откажитесь, ведь ваш ​диск ​уже зашифрован.+Выберите ручной режим разметки диска:
  
-После завершения ​установки и перезагрузки система предложит вам ввести пароль для разблокировки шифрованного ​диска. ​+{{ :​wiki:​cryptsetup_screen_003.png?​direct&​ |Выберите ручной режим разметки диска.}}
  
-Тут скрин+Если ​у вас новый диск или, если вы хотите очистить на нем таблицу разделов,​ выберите строку с названием диска:
  
-Введите пароль и нажмите Enter.+{{ :​wiki:​cryptsetup_screen_004.png?​direct&​ |Если у вас новый диск...}}
  
-Изменение пароля.+и создайте на нем новую таблицу ​разделов:
  
 +{{ :​wiki:​cryptsetup_screen_005.png?​direct&​ |...создайте на нем новую таблицу разделов}}
 +
 +После этого, создайте на диске раздел /boot, выбрав указателем свободное место на диске:
 +
 +{{ :​wiki:​cryptsetup_screen_006.png?​direct&​ |создайте раздел}}
 +
 +{{ :​wiki:​cryptsetup_screen_007.png?​direct&​ |создайте раздел}}
 +
 +Укажите небольшой объем, от 300 МБ до 1ГБ, т.к. для /boot этого будет вполне достаточно: ​
 +
 +{{ :​wiki:​cryptsetup_screen_008.png?​direct&​ |от 300 до 1000 МБ}}
 +{{ :​wiki:​cryptsetup_screen_009.png?​direct&​ |лучше сделать раздел первичным}}
 +{{ :​wiki:​cryptsetup_screen_010.png?​direct&​ |и расположить в начале диска}}
 +
 +В списке "​использовать как"​ укажите /boot, не забудьте сделать раздел загрузочным:​
 +
 +{{ :​wiki:​cryptsetup_screen_011.png?​direct&​ |не забудьте сделать его загрузочным}}
 +
 +Далее, не размечая оставшееся место, переходим в пункт "​Настроить шифрование для томов":​
 +
 +{{ :​wiki:​cryptsetup_screen_012.png?​direct&​ |переходим в пункт "​Настроить шифрование для томов"​}}
 +
 +Соглашаемся записать изменения:​
 +
 +{{ :​wiki:​cryptsetup_screen_013.png?​direct&​ |соглашаемся на запись изменений}}
 +
 +Выбираем "​Create encrypted volumes":​
 +
 +{{ :​wiki:​cryptsetup_screen_014.png?​direct&​ |Выбираем "​Create encrypted volumes"​}}
 +
 +Далее выбираем (при помощи кнопки <​key>​Space</​key>​) свободное место на диске и жмём "​Продолжить":​
 +
 +{{ :​wiki:​cryptsetup_screen_015.png?​direct&​ |выбираем свободное место}}
 +
 +Если у вас нет паранойи,​ можете просто нажать "​Настройка раздела закончена",​ если есть - установите параметр "​Стереть данные"​ в "​Да":​
 +
 +{{ :​wiki:​cryptsetup_screen_016.png?​direct&​ |}}
 +
 +Снова соглашаемся на запись изменений на диск:
 +
 +{{ :​wiki:​cryptsetup_screen_017.png?​direct&​ |Соглашаемся на запись изменений}}
 +
 +Далее выбираем "​Finish":​
 +
 +{{ :​wiki:​cryptsetup_screen_018.png?​direct&​ |Выбираем "​Finish"​}}
 +
 +Далее установщик попросит вас ввести парольную фразу, которой он "​закроет"​ диск:
 +
 +{{ :​wiki:​cryptsetup_screen_019.png?​direct&​ |введите пароль}}
 +
 +После этого подтвердите пароль:​
 +
 +{{ :​wiki:​cryptsetup_screen_020.png?​direct&​ |подтвердите пароль}}
 +
 +Если вы используете слишком простой пароль((существует неплохой генератор паролей,​ pwgen, создающий сложные,​ но легко запоминающиеся пароли)),​ установщик попросит подтверждения:​
 +
 +{{ :​wiki:​cryptsetup_screen_021.png?​direct&​ |используйте сильный пароль}}
 +
 +После создания шифрованного тома, нужно настроить LVM:
 +
 +{{ :​wiki:​cryptsetup_screen_022.png?​direct&​ |теперь настраиваем LVM}}
 +
 +Снова соглашаемся на запись изменений:​
 +
 +{{ :​wiki:​cryptsetup_screen_023.png?​direct&​ |ну да, опять}}
 +
 +Создаем группу томов:
 +
 +{{ :​wiki:​cryptsetup_screen_024.png?​direct&​ |создаем группу томов}}
 +
 +Даем ей имя:
 +
 +{{ :​wiki:​cryptsetup_screen_025.png?​direct&​ |даем ей имя}}
 +
 +И указываем в качестве устройств для группы только что созданный шифрованный диск:
 +
 +{{ :​wiki:​cryptsetup_screen_026.png?​direct&​ |тот, что crypt}}
 +
 +После этого создаем логические тома:
 +
 +{{ :​wiki:​cryptsetup_screen_027.png?​direct&​ |создаем логические тома}}
 +
 +Пример для swap:
 +
 +{{ :​wiki:​cryptsetup_screen_028.png?​direct&​ |для swap}}
 +{{ :​wiki:​cryptsetup_screen_029.png?​direct&​ |для swap}}
 +
 +Аналогично создаем диски для root и home, выделяя им желаемый объем. Если у вас большой диск - можете оставить некоторый его объем свободным,​ позднее вы сможете добавить его к любому логическому тому((что,​ однако,​ потребует изменения размера файловой системы на нем, так что если не знаете как лучше поступить - добавьте этот объем сразу к разделу home)).
 +
 +После этого выбирайте "​Закончить":​
 +
 +{{ :​wiki:​cryptsetup_screen_031.png?​direct&​ |Закончить}}
 +
 +Теперь нужно назначить файловые системы и точки монтирования для созданных дисков:​
 +
 +{{ :​wiki:​cryptsetup_screen_032.png?​direct&​ |}}
 +
 +Выбирайте разделы,​ находящиеся в блоках,​ начинающихся на LVM, они названы,​ согласно именам,​ данным им вами при создании логических томов, например,​ в данном случае,​ это LV home, LV swap и LV root. Стоит заметить,​ что раздел root((имеется ввиду корневой раздел /)) не нужно делать загрузочным,​ т.к. роль загрузочного у нас выполняет отдельный раздел /boot.
 +
 +По окончании,​ выбирайте "​Закончить разметку и записать изменения на диск":​
 +
 +{{ :​wiki:​cryptsetup_screen_036.png?​direct&​ |Закончить...}}
 +
 +И снова соглашаемся с записью изменений на диск (заодно можно ещё раз проверить все ли вы правильно разметили):​
 +
 +{{ :​wiki:​cryptsetup_screen_037.png?​direct&​ |Проверяем и жмём "​Да"​}}
 +
 +Далее продолжайте установку системы как обычно. Когда установщик спросит вас, зашифровать ли домашний каталог — откажитесь,​ ведь ваш диск уже зашифрован.
 +
 +После завершения установки и перезагрузки система предложит вам ввести пароль для разблокировки шифрованного диска. Введите пароль и нажмите <​key>​Enter</​key>​.
 +
 +===== Изменение пароля =====
 +
 +<note important>​
 Рекомендуется предварительно размонтировать все разделы,​ лежащие на зашифрованном диске, что в нашем случае означает,​ что для смены пароля на диске понадобится live-cd. Рекомендуется предварительно размонтировать все разделы,​ лежащие на зашифрованном диске, что в нашем случае означает,​ что для смены пароля на диске понадобится live-cd.
-Если вы не боитесь возможных последствий — можете пропустить этап с загрузкой live-cd и установкой необходимых программ,​ и сразу перейти к смене пароля.+Если вы не боитесь возможных последствий — можете пропустить этап с загрузкой live-cd и установкой необходимых программ,​ и сразу перейти к смене пароля.</​note>​
  
-Загрузитесь с live-cd, выберите «Попробовать» и дождитесь полной загрузки системы. После этого, настройте подключение к интернету. Затем откройте терминал и выполните:​+==== Работа с live-cd ==== 
 + 
 +Загрузитесь с live-cd((т.е. с обычного установочного диска Ubuntu)), выберите «Попробовать ​Ubuntu» ​и дождитесь полной загрузки системы. После этого, настройте подключение к интернету. ​ 
 +Затем откройте терминал и выполните:​ 
 +<​code>​
 sudo apt-get update sudo apt-get update
 sudo apt-get install lvm2 cryptsetup sudo apt-get install lvm2 cryptsetup
 +</​code>​
 +
 После успешной установки,​ переходите к этапу «Смена пароля». После успешной установки,​ переходите к этапу «Смена пароля».
  
-LUKS использует в качестве идентификаторов доступа key slots, которые в данном случае выступают в виде пароля,​ однако могут быть и ключом. Всего доступно 8 слотов. По умолчанию (при создании шифрованного диска) используется слот ​0. +==== Смена пароля ==== 
 + 
 +=== Описание === 
 + 
 +При установке диск шифруется при помощи связки LUKS и dm-crypt. ​LUKS использует в качестве идентификаторов доступа key slots, которые в данном случае выступают в виде пароля,​ однако могут быть и ключом. Всего доступно 8 слотов. По умолчанию (при создании шифрованного диска) используется слот 0. 
  
 Если вам нужно использовать компьютер совместно с другим человеком — вы можете создать для него отдельный пароль разблокировки диска. ​ Если вам нужно использовать компьютер совместно с другим человеком — вы можете создать для него отдельный пароль разблокировки диска. ​
  
 Для операций со слотами — сначала нужно определиться с диском,​ на котором установлено шифрование. Выполните в терминале команду ​ Для операций со слотами — сначала нужно определиться с диском,​ на котором установлено шифрование. Выполните в терминале команду ​
 +<​code>​
 sudo fdisk -l  sudo fdisk -l 
 +</​code>​ 
 +Вывод будет примерно следующим:​ 
 +<​file>​
 Disk /dev/sda: 8589 MB, 8589934592 bytes Disk /dev/sda: 8589 MB, 8589934592 bytes
 255 heads, 63 sectors/​track,​ 1044 cylinders, total 16777216 sectors 255 heads, 63 sectors/​track,​ 1044 cylinders, total 16777216 sectors
Строка 55: Строка 185:
  
 Disk /​dev/​mapper/​sda5_crypt:​ 7586 MB, 7586443264 bytes Disk /​dev/​mapper/​sda5_crypt:​ 7586 MB, 7586443264 bytes
 +...
 +</​file>​
  
-Она даст вам список разделов на диске. Нужно найти тот раздел,​ на котором присутствует зашифрованный раздел. В данном случае это sda5.+Она даст вам список разделов на диске. Нужно найти тот раздел, ​**на котором** присутствует зашифрованный раздел. В данном случае это sda5.
  
 Теперь можно просмотреть состояние слотов на этом разделе:​ Теперь можно просмотреть состояние слотов на этом разделе:​
 +<​code>​
 sudo cryptsetup luksDump /dev/sda5 sudo cryptsetup luksDump /dev/sda5
 +</​code>​
 +<​file>​
 testuser@ubuntu:​~$ sudo cryptsetup luksDump /dev/sda5 testuser@ubuntu:​~$ sudo cryptsetup luksDump /dev/sda5
 [sudo] password for testuser: ​ [sudo] password for testuser: ​
Строка 89: Строка 224:
 Key Slot 6: DISABLED Key Slot 6: DISABLED
 Key Slot 7: DISABLED Key Slot 7: DISABLED
 +</​file>​
 Видим, что слот 0 содержит пароль,​ а слоты 1-7 имеют статус DISABLED. Видим, что слот 0 содержит пароль,​ а слоты 1-7 имеют статус DISABLED.
  
-Устанавливаем новый ключ.+=== Устанавливаем новый ключ ​=== 
 +Ввиду того, что необходим как минимум один активный слот, сменить пароль в обычном понимании на таком диске невозможноОднако,​ можно создать пароль в другом слоте, а потом удалить первый слот. 
 +Чтобы создать новый ключ, выполните:​ 
 +<​code>​
 sudo cryptsetup luksAddKey /dev/sda5 sudo cryptsetup luksAddKey /dev/sda5
 Enter any passphrase: любой из существующих паролей (т. е. В нашем случае из слота 0) Enter any passphrase: любой из существующих паролей (т. е. В нашем случае из слота 0)
 Enter new passphrase for key slot: Новый пароль Enter new passphrase for key slot: Новый пароль
 Verify passphrase: Подтверждение нового пароля Verify passphrase: Подтверждение нового пароля
 +</​code>​
 +
 Если теперь посмотреть слоты, то станет видно, что статус ENABLED стоит теперь уже у двух слотов:​ Если теперь посмотреть слоты, то станет видно, что статус ENABLED стоит теперь уже у двух слотов:​
-testuser@ubuntu:​~$ ​sudo cryptsetup luksDump /dev/sda5 +<​code>​sudo cryptsetup luksDump /dev/sda5</​code>​ 
-LUKS header information for /dev/sda5+<​file>​
  
-Version: ​       1 +...
-Cipher name:   ​ aes +
-Cipher mode:   ​ cbc-essiv:​sha256 +
-Hash spec:     ​ sha1 +
-Payload offset:​ 2056 +
-MK bits:       ​ 256 +
-MK digest: ​     cd 6d 79 1b 55 11 e9 04 2f ae 51 7d d5 02 8d ec 40 38 3f ef  +
-MK salt:        c2 b3 1a 4f e7 ed 13 16 40 0b 45 af 43 10 de 24  +
-                f8 fe bd d8 09 be 71 e6 e0 6f bd ea b9 33 78 c7  +
-MK iterations: 22250 +
-UUID:          358a958b-c2ce-4626-8cd3-58124ddc15eb+
  
 Key Slot 0: ENABLED Key Slot 0: ENABLED
Строка 130: Строка 261:
 Key Slot 6: DISABLED Key Slot 6: DISABLED
 Key Slot 7: DISABLED Key Slot 7: DISABLED
 +</​file>​
  
 Теперь можно удалить старый пароль,​ находящийся в слоте 0: Теперь можно удалить старый пароль,​ находящийся в слоте 0:
 +<​code>​
 sudo cryptsetup luksKillSlot /dev/sda5 0 sudo cryptsetup luksKillSlot /dev/sda5 0
 +-------тут нужно указывать номер слота ^
 Enter any remaining LUKS passphrase:​Пароль из слота 1 (т. е. Из любого оставшегося слота) Enter any remaining LUKS passphrase:​Пароль из слота 1 (т. е. Из любого оставшегося слота)
-Смотрим слоты:​ +</code>
-testuser@ubuntu:​~$ sudo cryptsetup luksDump ​/dev/sda5 +
-LUKS header information for /dev/sda5 +
- +
-Version: ​       1 +
-Cipher name:   ​ aes +
-Cipher mode:   ​ cbc-essiv:​sha256 +
-Hash spec:     ​ sha1 +
-Payload offset:​ 2056 +
-MK bits:       ​ 256 +
-MK digest: ​     cd 6d 79 1b 55 11 e9 04 2f ae 51 7d d5 02 8d ec 40 38 3f ef  +
-MK salt:        c2 b3 1a 4f e7 ed 13 16 40 0b 45 af 43 10 de 24  +
-                f8 fe bd d8 09 be 71 e6 e0 6f bd ea b9 33 78 c7  +
-MK iterations: 22250 +
-UUID:          358a958b-c2ce-4626-8cd3-58124ddc15eb+
  
 +Смотрим слоты:
 +<​code>​sudo cryptsetup luksDump /​dev/​sda5</​code>​
 +<​file>​
 +...
 Key Slot 0: DISABLED Key Slot 0: DISABLED
 Key Slot 1: ENABLED Key Slot 1: ENABLED
Строка 163: Строка 287:
 Key Slot 6: DISABLED Key Slot 6: DISABLED
 Key Slot 7: DISABLED Key Slot 7: DISABLED
 +</​file>​
  
 И видим, что слот 0 стал DISABLED. И видим, что слот 0 стал DISABLED.
  
 +===== Заключение =====
 +
 +Вот и все. Информация на диске надёжно защищена. Однако,​ не стоит забывать,​ что существует большое количество различных угроз, и ваши данные все еще могут быть доступны злоумышленнику,​ в то время, пока компьютер включён,​ все диски "​открыты"​. И конечно же, в случае кражи, шифрование спасет ваши данные от злоумышленника,​ но не вернет их вам, так что не забывайте делать резервные копии.
 +
 +===== Ссылки =====
 +
 +Статья написана по мотивам [[http://​joernfranz.net/​2011/​01/​20/​installing-ubuntu-10-10-with-full-disk-encryption/​|вот этой вот статьи]].
 +
 +{{tag>​Система Настройка_системы Cryptsetup LUKS LVM Шифрование}}