Установка системы с шифрованием всего диска
Данная статья рассказывает, как создать надёжно зашифрованное хранилище данных на жестком диске компьютера и при этом не сломать спящий и ждущий режимы. Особенно актуально это для владельцев ноутбуков, т. к. в отличие от стационарных компьютеров шанс кражи/утери ноутбука выше и возникает обоснованное желание хранить информацию в зашифрованном виде. Однако, предлагаемая по-умолчанию опция шифрования домашней папки при помощи ecryptfs во-первых не шифрует корневой раздел системы 1) , а во-вторых ecryptfs шифрует раздел swap с применением случайно сгенерированного ключа, таким образом, перестает работать такая нужная в ноутбуках опция как спящий режим 2) 3) .
Предлагается же создать один большой зашифрованный раздел размером с весь диск компьютера 4) , поверх которого развернуть виртуальную группу LVM, в которой создать обычные (не шифрованные с точки зрения ОС) разделы /, /home и swap. При этом, пользователю придётся вводить пароль при каждом включении компьютера (даже при выходе из спящего режима), однако, за счёт смещения шифрования на более низкий уровень, ОС «не заметит» этого и все функции будут работать.
Начиная с версии 12.10 возможность зашифровать весь диск целиком добавлена в варианты установки Ubuntu в стандартном инсталляторе.
Установка
Итак, для установки нам потребуется диск альтернативной установки системы, который можно скачать тут. Ищите образ с alternate в названии.
Подразумевается, что вы выполняете новую установку системы, если это не так — предварительно сохраните все свои данные и настройки, т. к. описанный ниже процесс подразумевает потерю всех данных на жёстком диске компьютера.
Загрузите систему с alternate — диска, выберите язык и приступите к установке:
Выберите ручной режим разметки диска:
Если у вас новый диск или, если вы хотите очистить на нем таблицу разделов, выберите строку с названием диска:
и создайте на нем новую таблицу разделов:
После этого, создайте на диске раздел /boot, выбрав указателем свободное место на диске:
Укажите небольшой объем, от 300 МБ до 1ГБ, т.к. для /boot этого будет вполне достаточно:
В списке «использовать как» укажите /boot, не забудьте сделать раздел загрузочным:
Далее, не размечая оставшееся место, переходим в пункт «Настроить шифрование для томов»:
Соглашаемся записать изменения:
Выбираем «Create encrypted volumes»:
Далее выбираем (при помощи кнопки Space ) свободное место на диске и жмём «Продолжить»:
Если у вас нет паранойи, можете просто нажать «Настройка раздела закончена», если есть — установите параметр «Стереть данные» в «Да»:
Снова соглашаемся на запись изменений на диск:
Далее установщик попросит вас ввести парольную фразу, которой он «закроет» диск:
После этого подтвердите пароль:
Если вы используете слишком простой пароль 5) , установщик попросит подтверждения:
После создания шифрованного тома, нужно настроить LVM:
Снова соглашаемся на запись изменений:
И указываем в качестве устройств для группы только что созданный шифрованный диск:
После этого создаем логические тома:
Аналогично создаем диски для root и home, выделяя им желаемый объем. Если у вас большой диск — можете оставить некоторый его объем свободным, позднее вы сможете добавить его к любому логическому тому 6) .
После этого выбирайте «Закончить»:
Теперь нужно назначить файловые системы и точки монтирования для созданных дисков:
Выбирайте разделы, находящиеся в блоках, начинающихся на LVM, они названы, согласно именам, данным им вами при создании логических томов, например, в данном случае, это LV home, LV swap и LV root. Стоит заметить, что раздел root 7) не нужно делать загрузочным, т.к. роль загрузочного у нас выполняет отдельный раздел /boot.
По окончании, выбирайте «Закончить разметку и записать изменения на диск»:
И снова соглашаемся с записью изменений на диск (заодно можно ещё раз проверить все ли вы правильно разметили):
Далее продолжайте установку системы как обычно. Когда установщик спросит вас, зашифровать ли домашний каталог — откажитесь, ведь ваш диск уже зашифрован.
После завершения установки и перезагрузки система предложит вам ввести пароль для разблокировки шифрованного диска. Введите пароль и нажмите Enter .
Изменение пароля
Рекомендуется предварительно размонтировать все разделы, лежащие на зашифрованном диске, что в нашем случае означает, что для смены пароля на диске понадобится live-cd. Если вы не боитесь возможных последствий — можете пропустить этап с загрузкой live-cd и установкой необходимых программ, и сразу перейти к смене пароля.
Работа с live-cd
Загрузитесь с live-cd 8) , выберите «Попробовать Ubuntu» и дождитесь полной загрузки системы. После этого, настройте подключение к интернету. Затем откройте терминал и выполните:
sudo apt-get update sudo apt-get install lvm2 cryptsetup
После успешной установки, переходите к этапу «Смена пароля».
Смена пароля
Описание
При установке диск шифруется при помощи связки LUKS и dm-crypt. LUKS использует в качестве идентификаторов доступа key slots, которые в данном случае выступают в виде пароля, однако могут быть и ключом. Всего доступно 8 слотов. По умолчанию (при создании шифрованного диска) используется слот 0.
Если вам нужно использовать компьютер совместно с другим человеком — вы можете создать для него отдельный пароль разблокировки диска.
Для операций со слотами — сначала нужно определиться с диском, на котором установлено шифрование. Выполните в терминале команду
Вывод будет примерно следующим:
Disk /dev/sda: 8589 MB, 8589934592 bytes 255 heads, 63 sectors/track, 1044 cylinders, total 16777216 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x000882b1 Device Boot Start End Blocks Id System /dev/sda1 * 2048 1953791 975872 83 Linux /dev/sda2 1955838 16775167 7409665 5 Extended /dev/sda5 1955840 16775167 7409664 83 Linux Disk /dev/mapper/sda5_crypt: 7586 MB, 7586443264 bytes .
Она даст вам список разделов на диске. Нужно найти тот раздел, на котором присутствует зашифрованный раздел. В данном случае это sda5.
Теперь можно просмотреть состояние слотов на этом разделе:
sudo cryptsetup luksDump /dev/sda5
testuser@ubuntu:~$ sudo cryptsetup luksDump /dev/sda5 [sudo] password for testuser: 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 Key Slot 0: ENABLED Iterations: 89495 Salt: ad 0b 83 b8 08 cc 6c 13 51 d3 23 39 9f ab a2 32 c6 3f 28 1c e2 de 10 3f f1 5d 30 f3 38 b0 9c 57 Key material offset: 8 AF stripes: 4000 Key Slot 1: DISABLED Key Slot 2: DISABLED Key Slot 3: DISABLED Key Slot 4: DISABLED Key Slot 5: DISABLED Key Slot 6: DISABLED Key Slot 7: DISABLED
Видим, что слот 0 содержит пароль, а слоты 1-7 имеют статус DISABLED.
Устанавливаем новый ключ
Ввиду того, что необходим как минимум один активный слот, сменить пароль в обычном понимании на таком диске невозможно. Однако, можно создать пароль в другом слоте, а потом удалить первый слот. Чтобы создать новый ключ, выполните:
sudo cryptsetup luksAddKey /dev/sda5 Enter any passphrase: любой из существующих паролей (т. е. В нашем случае из слота 0) Enter new passphrase for key slot: Новый пароль Verify passphrase: Подтверждение нового пароля
Если теперь посмотреть слоты, то станет видно, что статус ENABLED стоит теперь уже у двух слотов:
sudo cryptsetup luksDump /dev/sda5
. Key Slot 0: ENABLED Iterations: 89495 Salt: ad 0b 83 b8 08 cc 6c 13 51 d3 23 39 9f ab a2 32 c6 3f 28 1c e2 de 10 3f f1 5d 30 f3 38 b0 9c 57 Key material offset: 8 AF stripes: 4000 Key Slot 1: ENABLED Iterations: 84916 Salt: 54 af 0f 9a 38 80 d6 52 c2 e2 ec 12 5b 3b 11 cd fb 4d 21 ea 98 66 25 d9 24 c5 91 f3 16 11 b6 72 Key material offset: 264 AF stripes: 4000 Key Slot 2: DISABLED Key Slot 3: DISABLED Key Slot 4: DISABLED Key Slot 5: DISABLED Key Slot 6: DISABLED Key Slot 7: DISABLED
Теперь можно удалить старый пароль, находящийся в слоте 0:
sudo cryptsetup luksKillSlot /dev/sda5 0 -------тут нужно указывать номер слота ^ Enter any remaining LUKS passphrase:Пароль из слота 1 (т. е. Из любого оставшегося слота)
sudo cryptsetup luksDump /dev/sda5
. Key Slot 0: DISABLED Key Slot 1: ENABLED Iterations: 84916 Salt: 54 af 0f 9a 38 80 d6 52 c2 e2 ec 12 5b 3b 11 cd fb 4d 21 ea 98 66 25 d9 24 c5 91 f3 16 11 b6 72 Key material offset: 264 AF stripes: 4000 Key Slot 2: DISABLED Key Slot 3: DISABLED Key Slot 4: DISABLED Key Slot 5: DISABLED Key Slot 6: DISABLED Key Slot 7: DISABLED
И видим, что слот 0 стал DISABLED.
Заключение
Вот и все. Информация на диске надёжно защищена. Однако, не стоит забывать, что существует большое количество различных угроз, и ваши данные все еще могут быть доступны злоумышленнику, в то время, пока компьютер включён, все диски «открыты». И конечно же, в случае кражи, шифрование спасет ваши данные от злоумышленника, но не вернет их вам, так что не забывайте делать резервные копии.
Ссылки
Статья написана по мотивам вот этой вот статьи.
имея доступ к корневому разделу можно, например, получить список файлов в домашнем разделе, несмотря на то, что тот зашифрован
т. е. режим приостановки работы компьютера, при котором все содержимое оперативной памяти сбрасывается на диск, а питание компьютера отключается
что, однако, потребует изменения размера файловой системы на нем, так что если не знаете как лучше поступить — добавьте этот объем сразу к разделу home