Различия
Здесь показаны различия между двумя версиями данной страницы.
Следующая версия | Предыдущая версия | ||
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 Шифрование}} |