Различия

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

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

Предыдущая версия справа и слеваПредыдущая версия
Следующая версия
Предыдущая версия
wiki:od:rcrypt_150 [12/09/2023 16:16] – [Шифрование корневой файловой системы (root)] grafwiki:od:rcrypt_150 [15/09/2023 17:22] (текущий) graf
Строка 1: Строка 1:
 {{:wiki:od:sec.jpg?nolink&100 |}}\\ {{:wiki:od:sec.jpg?nolink&100 |}}\\
 Перевёл: //Graf//\\ Перевёл: //Graf//\\
-Дата перевода: //июль 2023 г.//\\+Дата перевода: //сентябрь 2023 г.//\\
 Оригинал: http://slackware.osuosl.org/slackware-15.0/README_CRYPT.TXT Оригинал: http://slackware.osuosl.org/slackware-15.0/README_CRYPT.TXT
 \\ \\
Строка 26: Строка 26:
 Мы собираемся включить шифрование на все или некоторые разделы, или тома, прежде чем устанавливать Slackware на них. В первой части рассмотрим шифрование одного раздела, который не является корневым.Как правило, у людей возникает необходимость зашифровать свои домашние каталоги, и только их, этому и посвятим первую часть. Далее пойдет часть о шифровании раздела подкачки (swap) в дополнение к разделу /home. Раздел подкачки содержит ценную информацию для кражи данных, даже после выключения компьютера. Шифрованием раздела подкачки мы устраним потенциальный доступ к этим данным. В следующей части, которая покажет вам, как получить полностью зашифрованную систему, с помощью шифрования корня (‘/’) файловой системы. Это немного сложно сделать, но, вероятно, стоит усилий. Чтобы сделать его более интересным, и простым в использовании, мы посвятим заключительную часть, использованию комбинации шифрования LVM и диска. В качестве примера, мы создадим один большой зашифрованный раздел, а в нем, как в зашифрованном «контейнере», создадим несколько логических томов, которые будем использовать как корневой (/), /home и swap раздел. Преимущества такого подхода в том, что нужен только один пароль для разблокирования компьютера, и нет необходимости поддерживать файл «/etc/crypttab», содержащий информацию о шифрованных томах, которые должны быть разблокированы во время загрузки. Кроме того, мы получим раздел подкачки, который можно использовать во время спящего режима с записью на диск, который останется зашифрованным после выключения (так что, например, при потенциальной краже данных никто не будут в состоянии добраться до самых ценных данных, даже если ноутбук будет в режиме сна). Мы собираемся включить шифрование на все или некоторые разделы, или тома, прежде чем устанавливать Slackware на них. В первой части рассмотрим шифрование одного раздела, который не является корневым.Как правило, у людей возникает необходимость зашифровать свои домашние каталоги, и только их, этому и посвятим первую часть. Далее пойдет часть о шифровании раздела подкачки (swap) в дополнение к разделу /home. Раздел подкачки содержит ценную информацию для кражи данных, даже после выключения компьютера. Шифрованием раздела подкачки мы устраним потенциальный доступ к этим данным. В следующей части, которая покажет вам, как получить полностью зашифрованную систему, с помощью шифрования корня (‘/’) файловой системы. Это немного сложно сделать, но, вероятно, стоит усилий. Чтобы сделать его более интересным, и простым в использовании, мы посвятим заключительную часть, использованию комбинации шифрования LVM и диска. В качестве примера, мы создадим один большой зашифрованный раздел, а в нем, как в зашифрованном «контейнере», создадим несколько логических томов, которые будем использовать как корневой (/), /home и swap раздел. Преимущества такого подхода в том, что нужен только один пароль для разблокирования компьютера, и нет необходимости поддерживать файл «/etc/crypttab», содержащий информацию о шифрованных томах, которые должны быть разблокированы во время загрузки. Кроме того, мы получим раздел подкачки, который можно использовать во время спящего режима с записью на диск, который останется зашифрованным после выключения (так что, например, при потенциальной краже данных никто не будут в состоянии добраться до самых ценных данных, даже если ноутбук будет в режиме сна).
  
-Если вы выберете последний вариант для получения полностью зашифрованной Slackware, желательно, чтобы вы прочитали файл// <<[[wiki:od:rlvm_150|README_LVM.TXT]]>> // для ознакомления с процессом создания и использования логических томов во время установки Slackware. А затем, можете пропустить все вплоть до раздела под названием «Объединение LUKS и LVM».+Если вы выберете последний вариант для получения полностью зашифрованной Slackware, желательно, чтобы вы прочитали файл// <<[[wiki:od:rlvm_150|README_LVM.TXT]]>> // для ознакомления с процессом создания и использования логических томов во время установки Slackware. А затем, можете пропустить все вплоть до раздела под названием "[[wiki:od:rcrypt_150#obedinenie_luks_i_lvm | Объединение LUKS и LVM]]".
  
 ===== Шифрование "/home" раздела ===== ===== Шифрование "/home" раздела =====
Строка 108: Строка 108:
 <note tip> **ПРИМЕЧАНИЕ:** //раздел подкачки шифруется с помощью нового, случайно сгенерированного ключа при каждой загрузке компьютера. Нет необходимости постоянно вводить пароль!//</note> <note tip> **ПРИМЕЧАНИЕ:** //раздел подкачки шифруется с помощью нового, случайно сгенерированного ключа при каждой загрузке компьютера. Нет необходимости постоянно вводить пароль!//</note>
  
-<note tip> **ПРИМЕЧАНИЕ:** //шифрованный раздел подкачки повторно форматируется каждый раз во время загрузки и остановки системы. Это совершенно нормально до тех пор, пока не изменится порядок жесткого диска. Если вы добавите или перенесете этот диск на другой компьютер, имя устройства может измениться (например, из sda в sdb), и если вы забудете изменить ///etc/crypttab// ваша система может, в конечном итоге, отформатировать не тот раздел! Только по этой причине, рекомендуется, использовать шифрование дисков, включая swap раздел, по методу «Объединение LUKS и LVM», описанному в главе с таким же названием!//</note>+<note tip> **ПРИМЕЧАНИЕ:** //шифрованный раздел подкачки повторно форматируется каждый раз во время загрузки и остановки системы. Это совершенно нормально до тех пор, пока не изменится порядок жесткого диска. Если вы добавите или перенесете этот диск на другой компьютер, имя устройства может измениться (например, из sda в sdb), и если вы забудете изменить ///etc/crypttab// ваша система может, в конечном итоге, отформатировать не тот раздел! Только по этой причине, рекомендуется, использовать шифрование дисков, включая swap раздел, по методу "[[wiki:od:rcrypt_150#obedinenie_luks_i_lvm |Объединение LUKS и LVM]]", описанному в главе с таким же названием!//</note>
  
 ===== Шифрование корневой файловой системы (root) ===== ===== Шифрование корневой файловой системы (root) =====
 Вы можете продвинуться на один шаг вперед простого шифрования «/home» раздела. Т.е. можете зашифровать ВСЕ разделы, включая корневой. В этом случае, придется выполнить дополнительное конфигурирование до перезагрузки установки. Вы можете продвинуться на один шаг вперед простого шифрования «/home» раздела. Т.е. можете зашифровать ВСЕ разделы, включая корневой. В этом случае, придется выполнить дополнительное конфигурирование до перезагрузки установки.
 <note tip> <note tip>
-**ПРИМЕЧАНИЕ:** //Метод, описанный здесь, приведет к несколькими, независимо зашифрованным разделам. Для разблокировки этих разделов может потребоваться ввод нескольких паролей. Если вы хотите разблокировать всю систему одним паролем и, если вы не уклоняетесь от использования LVM, то лучший вариант, это следовать инструкциям в главе «Объединение LUKS и LVM», которая следует далее. Если вы думаете, что LVM добавляет слишком много сложностей, то просто читайте и выполняйте решения, описанные здесь.//+**ПРИМЕЧАНИЕ:** //Метод, описанный здесь, приведет к несколькими, независимо зашифрованным разделам. Для разблокировки этих разделов может потребоваться ввод нескольких паролей. Если вы хотите разблокировать всю систему одним паролем и, если вы не уклоняетесь от использования LVM, то лучший вариант, это следовать инструкциям в главе "[[wiki:od:rcrypt_150#obedinenie_luks_i_lvm|Объединение LUKS и LVM]]", которая следует далее. Если вы думаете, что LVM добавляет слишком много сложностей, то просто читайте и выполняйте решения, описанные здесь.//
 </note> </note>
  
 Не забудьте создать небольшой раздел, который останется в не зашифрованном виде. Во время установки смонтируйте его в раздел «/boot». Этот раздел будет использоваться для ядра и initrd (с cryptsetup и дополнительными необходимыми модулями ядра). Будем считать, что Slackware является единственной операционной системой на компьютере, так что вы можете указать LILO установку загрузчика в MBR (которая используется по умолчанию). LILO может загрузить и Windows, если она у вас уже была установлена на компьютере, так что даже при двойной загрузке ситуация должна быть безопасна при использовании MBR. С другими дистрибутивами, присутствующими на компьютере, все может быть немного сложнее — возможно, вам надо будет установить LILO в раздел /boot. Не забудьте создать небольшой раздел, который останется в не зашифрованном виде. Во время установки смонтируйте его в раздел «/boot». Этот раздел будет использоваться для ядра и initrd (с cryptsetup и дополнительными необходимыми модулями ядра). Будем считать, что Slackware является единственной операционной системой на компьютере, так что вы можете указать LILO установку загрузчика в MBR (которая используется по умолчанию). LILO может загрузить и Windows, если она у вас уже была установлена на компьютере, так что даже при двойной загрузке ситуация должна быть безопасна при использовании MBR. С другими дистрибутивами, присутствующими на компьютере, все может быть немного сложнее — возможно, вам надо будет установить LILO в раздел /boot.
  
-Выполните установку Slackware так же, как я описал выше, создайте дополнительные зашифрованные разделы и сопоставьте их с соответствующими названиями — для данного примере я сопоставлю зашифрованный корневой раздел «/dev/sdx2» с «lukssdx2». Когда выйдет запрос конфигурации LILO, укажите в нем корневой раздел «/dev/mapper/lukssdx2». LILO постарается установиться, но потерпит неудачу, о чем вам и сообщит. Это ошибка записи в файл «lilo.conf»,который можно отредактировать в последующих действиях. Продолжим установку до конца, выйдем из программы установки, но не будем перезагружаться.+Выполните установку Slackware так же, как я описал выше, создайте дополнительные зашифрованные разделы и сопоставьте их с соответствующими названиями — для данного примера я сопоставлю зашифрованный корневой раздел «/dev/sdx2» с «lukssdx2» //(**__Прим. от Graf:__** - в оригинале допущена не точность. Следует читать как: **"/dev/sdx1" с "cryptroot"**)//\\ 
 +Когда выйдет запрос конфигурации LILO, укажите в нем корневой раздел «/dev/mapper/lukssdx2» //(**__Прим. от Graf:__** - в оригинале допущена не точность. Следует читать как: **"/dev/mapper/cryptroot"**)//.\\ 
 +LILO постарается установиться, но потерпит неудачу, о чем вам и сообщит. Это ошибка записи в файл «lilo.conf»,который можно отредактировать в последующих действиях. Продолжим установку до конца, выйдем из программы установки, но не будем перезагружаться.
  
-После того как вы вернулись в командную строку выполните «chroot»(для работы в изолированной среде). Все файловые системы уже смонтированыи инсталлятор Slackware уже примонтировал /sys и /proc для использования их в изолированной среде («chroot»). Мы, только, должны выполнить следующую команду:+После того как вы вернулись в командную строкувыполните «chroot» (для работы в изолированной среде). Все файловые системы уже смонтированы и инсталлятор Slackware уже примонтировал /sys и /proc для использования их в изолированной среде («chroot»). Мы, только, должны выполнить следующую команду:
 <code> <code>
 # chroot /mnt # chroot /mnt
 </code> </code>
 +
 +Далее, теперь, когда мы находимся в изолированной среде (chroot), создадим initrd с LVM (если вы использовали логические тома) и с поддержкой шифрования, иначе, ваш компьютер не сможет продолжить загрузку ядра на начальном этапе. Виртуальный диск (initrd) содержит маленькую файловую систему и инструменты, необходимые для разблокирования корневой файловой системы, чтобы ядро смогло запустить программу инициализации. В примере ниже показана команда, которая создает образ «initrd.gz» с корневой файловой системой «ext4», использует подключаемое устройство для корневой файловой системы «cryptroot», на реальный раздел «/dev/sdx1» и, по умолчанию , в Slackware 14.2, использует SMP ядро 4.4.14-SMP без использования логических томов (подробнее об этом в следующем разделе):\\
 +(//**__Прим. от Graf:__** - в оригинале допущена не точность. Следует читать как: ...по умолчанию , в Slackware **15.0**, использует SMP ядро **5.15.19-SMP** без использования логических томов...//).
 +<code>
 +# mkinitrd -c -k 4.4.14-smp -m ext4 -f ext4 -r cryptroot -C /dev/sdx1
 +</code>
 +(//**__Прим. от Graf:__** - в оригинале допущена не точность. Следует читать код как: mkinitrd -c -k **5.15.19-smp** -m ext4 -f ext4 -r cryptroot -C /dev/sdx1//)\\
 +
 +В результате образ initrd будет записан в файл по умолчанию «/boot/initrd.gz». Мы должны сообщить LILO об этом initrd.Откройте конфигурационный файл «/etc/lilo.conf» в редакторе, например в VI или pico — он должен быть уже сгенерирован «liloconfig» во время установки. Посмотрите на «Linux bootable partition config» и добавьте строку для initrd. Мы также должны изменить файл ядра на стандартное ядро, потому что LILO не в состоянии объединить huge ядра в Slackware 14.2 (//**__Прим. от Graf:__** - в оригинале допущена не точность. Следует читать: Slackware **15.0**//) с образом initrd — оно будет жаловаться, что «виртуальный(RAM) диск является слишком большим, для соответствия между ядром и 15M-16M memory hole». Мы можем жить с этим,так как «huge» ядра не предназначены для повседневного использования в любом случае. Они предназначены для установки Slackware на широкий спектр компьютеров, и именно поэтому они являются «огромными»(huge).Строка «/etc/lilo.conf» в части «Linux», должна выглядеть, примерно так:
 +<code>
 +image = /boot/vmlinuz-generic-smp-4.4.14-smp
 +  initrd = /boot/initrd.gz
 +  root = /dev/mapper/lukssdx2
 +  label = linux
 +  read-only
 +</code>
 +(//**__Прим. от Graf:__** - в оригинале допущена не точность. Следует читать код как:\\
 +image = /boot/vmlinuz-generic-smp-**5.15.19**-smp\\
 +  initrd = /boot/initrd.gz\\
 +  root = /dev/mapper/**cryptroot**\\
 +  label = linux\\
 +  read-only//)\\
 +  
 +Если вы добавляете вышеуказанную секцию в качестве дополнительной, а не редактируете уже имеющуюся убедитесь, что используемая метка (label = ) ("linux" в приведенном примере) была уникальной в конфигурационном файле.
 +
 +Если у вас есть другая операционная система на вашем компьютере и нельзя установить LILO в MBR, выберите пункт меню установки «Install to superblock (Root)». В этом случае, вы должны сделать еще одно дополнительное изменение, почти в верхней части файла. Найдите строку: "boot = /dev/mapper/lukssdx2" (//**__Прим. от Graf:__** - в оригинале допущена не точность. Следует читать: «boot=/dev/mapper/**cryptroot**»//), которая является устройством для корневого раздела и которая стала причиной, по которой LILO не установился. Измените название загрузочного устройства на названием небольшого незашифрованного раздела, который вы создали вначале и который установлен в «/boot». Если предположить, что название этого раздела "/dev/sdx1" (//**__Прим. от Graf:__** - в оригинале допущена не точность. Следует читать: «/dev/**sdx4**»//), «boot» строка должна выглядеть так:
 +<code>
 + boot = /dev/sdx1
 +</code>
 +(//**__Прим. от Graf:__** - в оригинале допущена не точность. Следует читать: boot = /dev/**sdx4**//)\\
 +
 +Мы закончили. Сохраните изменения, выйдите из редактора и запустить команду «LILO». Lilo выдаст несколько предупреждений, касающихся доступности разделов «/proc/partitions» и то, что LILO об этом думает, но их можно проигнорировать. Перезагрузитесь, и вы увидите строку: «Enter passphrase: ». После ввода пароля, который откроет корневую файловую систему, начнется загрузка в Slackware. Если есть другие зашифрованные разделы, то вам будет предложено ввести и для них свои пароли.
 +
 +===== Объединение LUKS и LVM =====
 +До сих пор мы были заняты шифрованием отдельных разделов. Это все полностью функционально, но есть несколько недостатков. Один из них, это ввод пароля для каждого зашифрованного раздела (за исключением раздела подкачки, который в Slackware шифруется случайным паролем, при каждой загрузке системы). Во-вторых, метод, используемый для шифрования раздела подкачки запрещает использование подкачки как раздела гибернации(спящий режим). А так как initrd из Slackware 14.2 (//**__Прим. от Graf:__** - в оригинале допущена не точность. Следует читать: Slackware **15.0**//) поддерживает спящий режим, было бы стыдно не использовать эту функцию на вашем ноутбуке (который, из-за его мобильности, является основной целью для полного шифрования диска в любом случае).
 +
 +В этом разделе README_CRYPT.TXT будем решать эти недостатки и проделаем полное шифрование диска (в том числе swap), которое требует ввода только одного пароля для разблокировки и позволяет использовать спящий режим (с записью на диск).
 +
 +Предположим, что Slackware будет единственной операционной системой на вашем компьютере. В случае, если у вас уже есть установленная операционная система (например, MS Windows), процедура может быть немного другая, потому-что вы не всегда можете установить LILO в MBR. После загрузки с установочного диска Slackware, мы создадим небольшой незашифрованный раздел, который будет содержать Linux ядра и образ(ы) initrd. Остальная часть свободного пространства на диске будет одним разделом, который мы зашифруем. Вначале зашифрованного тома, мы создадим несколько логических томов, и эти тома будут отформатированы как разделы Slackware («/», «/home» и «swap»). Эти шаги более подробно:
 +
 +   *Используйте (c)fdisk для создания разделов. Я буду считать, что раздел /dev/sdx1 равен 100 МБ, а /dev/sdx2 все оставшееся пространство на диске.
 +                                                                                                                                                                                                                                             
 +   *Во-первых, создайте LUKS-зашифрованный том поверх /dev/sdx2 после того, как дополнительно заполните раздел случайными данными (прочтите в «Шифрование «/home» раздела» о том, для чего нужно заполнение раздела случайными данными):
 +<code>
 +# dd if=/dev/urandom of=/dev/sdx2
 +</code>
 +
 +Подготовка раздела для шифрования. Вам будет предложено дважды ввести пароль. Обратите внимание, что пароль не ограничивается одним словом. Фраза может содержать пробелы. Мы будем использовать размер ключа 256 бит. По умолчанию шифр «aes», в режиме «cbc-essiv:sha256», который является достаточно безопасным.
 +<code>
 +# cryptsetup -y luksFormat /dev/sdx2
 +</code>
 +
 +Откроем зашифрованный раздел для создания не зашифрованного подключаемого блочного устройства. Команда запросит у вас пароль который вы ввели во время операции «luksFormat». Последний аргумент команды, это имя подключаемого устройства.  Мы назовём его "lukssdx2", поскольку установленная система будет использовать это имя (предсказуемость - это хорошо).
 +<code>
 +   # cryptsetup luksOpen /dev/sdx2 lukssdx2
 +</code>
 +
 +Следующая часть про LVM. Создадим Physical Volume(PV) на устройстве «/dev/mapper/lukssdx2», Volume Group(VG) под названием «cryptvg» — можно дать любое имя — на PV, и три Logical Volumes(LV’s) на VG, один для корневого раздела (7 Гб), один для раздела /home (10 ГБ) и третий, который мы будем использовать для подкачки (1 ГБ). Вы, вероятно, будете использовать другие размеры, в зависимости от ваших нужд, но сохраните суммарный размер LV меньше общего размера физического тома:
 +<code>
 +   # pvcreate /dev/mapper/lukssdx2
 +   # vgcreate cryptvg /dev/mapper/lukssdx2
 +   # lvcreate -L 7G -n root cryptvg
 +   # lvcreate -L 10G -n home cryptvg
 +   # lvcreate -L 1G -n swap cryptvg
 +</code>
 +
 +    *Запустите «mkswap», чтобы программа установки определила «swap» LV в качестве действительного раздела подкачки:
 +<code>
 +# mkswap /dev/cryptvg/swap
 +</code>
 +
 +Когда система должным образом подготовлена, можно запустить установку (setup). Программа установки определит swap LV и активирует его. При назначении разделов для использования в файловых системах, выберите «/dev/cryptvg/root» для корневого раздела, далее «/dev/cryptvg/home», для /home. И, наконец, раздел «/dev/sdx1» для «/boot». Только «/boot» будет не зашифрованной частью вашего компьютера.
 +
 +Вы заметите, что есть еще несколько устройств, которые можно выбрать, но не трогайте их! Устройства, такие как «/dev/mapper/*», являются основным именем устройств для зашифрованного и LVM томов. Если вы коснетесь любого из них, то уничтожите данные на «/dev/cryptvg/*» томах. После разбиения на разделы мы получаем конфигурацию файловой системы следующего вида:
 +<code>
 +   /dev/cryptvg/root  /
 +   /dev/cryptvg/home  /home
 +   /dev/sdx1          /boot
 +</code>
 +
 +Когда установка пакетов завершится, начнется конфигурация системы и один из диалогов будет для конфигурирования LILO — «liloconfig».Предполагается, что вы устанавливаете Slackware в качестве единственной ОС на компьютере. Это означает, что вы должны установить Lilo в MBR. Даже если у вас есть другая, уже установленная, ОС такая как MS Windows, LILO загрузчик в Slackware все равно сможет загрузить Windows, при установке LILO в MBR. Выберите «expert lilo configuration» с опцией «Install to Master Boot Record (MBR)». Выделите «/dev/cryptvg/root», как корневой раздел для загрузки. Добавьте раздел Windows, если вы хотите, чтобы LILO загружалось с двойной загрузкой. Наконец, когда «liloconfig» начнет установку загрузчика, вы можете увидеть сообщение об ошибке «установка не удалась». Игнорируйте эту ошибку, потому что мы должны добавить initrd в «/etc/lilo.conf» в любом случае и повторно запустите LILO. Мы сделаем это после завершения установки Slackware.
 +
 +Допустим, установка завершена, и после того как вы выберите «Выход» вы будете возвращены в командную строку. Не перезагружайтесь, пока! Это тот момент, когда мы зафиксируем наш загрузчик. Для этого выполним команду chroot(change root) в нашей, только что установленной Slackware. Программа установки уже сделала все приготовления, например, повторное монтирование /sys и /proc в /mnt и cгенерировала LVM устройства туда же. Введите команду «chroot»:
 +<code>
 +   # chroot /mnt
 +</code>
 +
 +В «chroot» среде создадим образ initrd с поддержкой LVM и CRYPT — иначе ваш компьютер не сможет продолжить загрузку ядра на начальном этапе. Виртуальный диск (initrd) содержит маленькую файловую систему и инструменты, необходимые для разблокирования корневой файловой системы, чтобы ядро смогло запустить программу инициализации. В примере ниже команда, которая создает образ «initrd.gz» и где я предположил, что корневая файловая система «ext4», работа проходит под управлением Slackware 14.2 с ядром по умолчанию 4.4.14-smp \\(//**__Прим. от Graf:__** - в оригинале допущена не точность. Следует читать: ...под управлением Slackware **15.0** с ядром по умолчанию **5.15.19-smp**//):
 +<code>
 +    # mkinitrd -c -k 4.4.14-smp -m ext4 -f ext4 -r /dev/cryptvg/root -C /dev/sdx2 -L
 +</code>
 +(//**__Прим. от Graf:__** - в оригинале допущена не точность. Следует читать код как: mkinitrd -c -k **5.15.19**-smp -m ext4 -f ext4 -r /dev/cryptvg/root -C /dev/sdx2 -L//):
 +
 +<note tip> **ПРИМЕЧАНИЕ:** //Если Slackware запускается из initrd, а вы используете не американскую клавиатуру и необходимо ввести пароль во время загрузки, это может быть проблематично. В этом случае добавьте поддержку вашей клавиатуры, во время создания образа initrd, с помощью дополнительного параметра команды «mkinitrd»: «-l <language»>. Пример для голландской клавиатуры: \\
 +«-l nl».//</note>
 +
 +В результате образ initrd будет записан в файл по умолчанию «/boot/initrd.gz». Мы должны сообщить LILO об этом initrd. Откройте конфигурационный файл «/etc/lilo.conf» в редакторе, например в VI или pico — он должен быть уже сгенерирован «liloconfig» во время установки. Посмотрите на «Linux bootable partition config» и добавьте строку для initrd. Мы также должны изменить файл ядра на стандартное ядро, потому что LILO не в состоянии объединить «huge» ядра в Slackware 14.2 (//**__Прим. от Graf:__** - в оригинале допущена не точность. Следует читать: Slackware **15.0**//) с образом initrd — оно будет жаловаться, что «виртуальный(RAM) диск является слишком большим, для соответствия между ядром и 15M-16M memory hole». Мы можем жить с этим,так как «huge» ядра не предназначены для повседневного использования в любом случае. Они предназначены для установки Slackware на широкий спектр компьютеров, и именно поэтому они являются «огромными»(huge). Строка «/etc/lilo.conf» в части «Linux», должна выглядеть, примерно так:
 +<code>
 +   image = /boot/vmlinuz-generic-smp-4.4.14-smp
 +     initrd = /boot/initrd.gz
 +     root = /dev/cryptvg/root
 +     label = linux
 +     read-only
 +</code>
 +(//**__Прим. от Graf:__** - в оригинале допущена не точность. Следует читать первую строчку кода, как: image = /boot/vmlinuz-generic-smp-**5.15.19**-smp//)\\
 +
 +   *Если вы добавили, приведенный выше раздел, в качестве дополнительного, не изменяя того, что уже есть, убедитесь, что (label)метка («Linux» в примере выше) является уникальной в файле конфигурации.
 +
 +Мы закончили. Сохраните изменения, выйдите из редактора и запустить команду «LILO». Lilo выдаст несколько предупреждений, касающихся доступности разделов «/proc/partitions» и то, что LILO об этом думает, но их можно проигнорировать. Перезагрузитесь, и вы увидите строку: «Enter passphrase: ». После ввода пароля, который откроет зашифрованный раздел, начнется загрузка в Slackware. Вы сможете работать как обычно, и когда вы выключите машину (или приостановите с записью на диск используя раздел подкачки) все ваши данные (включая swap) будут зашифрованы.
 +
 +Как вы заметили, в этот раз, не было никакой необходимости для создания файла «/etc/crypttab». Также запрашивается только один пароль для входа. Кроме того, swap шифруется по умолчанию, что является большим плюсом, если вы собираетесь использовать ноутбук и носить его с собой в стадии гибернации. Все рассмотренное, это самый элегантный способ шифрования вашего Slackware компьютера, если вы не возражаете против использования LVM.
 +
 +===== Дополнительные фразы (пароли), ключевые файлы =====
 +Программа Cryptsetup задает 7 «ключевых слотов» для любого шифрования раздела или тома. Каждый из этих семи слотов может содержать ключ для разблокировки разделов с данными. Ключ может быть фразой, но использование ключевого файла это еще один вариант. Можно передать имя файла в качестве параметра cryptsetup для того, чтобы разблокировать зашифрованный том без ввода пароля. Это дает возможность использовать ключевой файл на съемном USB носителе для разблокирования вашего компьютера. Slackware поддерживает ключевые файлы и если файл можно найти в файловой системе,он будет использоваться, и вам не придется вводить пароль.
 +
 +Ключевой файл также может использоваться на USB носителе отформатированном под FAT. Для это надо использовать параметр «-К» команды mkinitrd, указав USB носитель с FAT-меткой или UUID, а также полный путь к ключевому файлу.
 +   *Например:
 +<code>
 +  # mkinitrd -c -k 4.4.14-smp -m ext4 -f ext4 -r /dev/cryptvg/root -C /dev/sdx2 -L -K LABEL=TRAVELSTICK:/keys/alien.luks
 +</code>
 +(//**__Прим. от Graf:__** - в оригинале допущена не точность. Следует читать код, как: mkinitrd -c -k **5.15.19**-smp -m ext4 -f ext4 -r /dev/cryptvg/root -C /dev/sdx2 -L -K LABEL=TRAVELSTICK:/keys/alien.luks//)\\
 +
 +В mkinitrd из Slackware 13.1 ввели эту поддержку USB, как механизм разблокирования. Кроме того, после того, как корневая файловая система разблокирована и примонтирована, абсолютно безопасно хранить ключевой файл, для дополнительных зашифрованных файловых систем, например в каталоге «/root». Таким образом, достаточно ввода только одного пароля.
 +
 +===== Спящий режим (с записью на диск) =====
 +
 +Я остановлюсь кратко на этой теме, потому что она еще не была документирована надлежащим образом в других местах. Настройка вашего компьютера на гибернацию можно сделать в любое время, не обязательно это делать во время установки Slackware. Предположим, вы хотите использовать раздел подкачки «/dev/cryptvg/swap» для гибернации, то необходимо выполнить следующие шаги:
 +
 +   * 1)Добавьте в файл «/etc/lilo.conf» в параметр "append = " строку «resume=/dev/cryptvg/swap». В конечном итоге параметр «append» будет выглядеть так:
 +<code>
 +      append = "vt.default_utf8=0 resume=/dev/cryptvg/swap"
 +</code>
 +
 +   *2) Добавьте к команде mkinitrd дополнительный параметр «-h /dev/cryptvg/swap», чтобы создать initrd с поддержкой восстановления из раздела подкачки. Не забудьте запустить «LILO» после создания нового файла initrd.gz!
 +
 +===== Замечание о пользовательских ядрах =====
 +
 +Если вы хотите собрать собственное ядро для работы с LUKS шифрованными разделами, то Вам необходимо включить по меньшей мере, следующие два варианта в файл конфигурации ядра:
 +<code>
 + Multiple devices driver support (RAID and LVM) --->
 +    <*> Device mapper support
 +    <*> Crypt target support 
 +</code>
 +
 +Это равносильно следующим строкам в файле .config:
 +<code>
 +   CONFIG_BLK_DEV_DM=y
 +   CONFIG_DM_CRYPT=y
 +</code>
 +
 +Не собирайте их в качестве модуля! Они необходимы в ядре!
 +
 +===== USB-клавиатуры и LUKS =====
 +
 +Если вы создали зашифрованный корневой раздел, для ввода пароля вам необходим доступ к клавиатуре. Если у вас USB клавиатура, то может потребоваться добавить модули «uhci-hcd» и «usbhid» в initrd образ. Также отметим, что если вы используете не американскую клавиатуру, вы можете использовать параметр «-l» в команде «mkinitrd» для добавления поддержки этой клавиатуры в initrd.
 +
 +=====Сценарий, помощник создания mkinitrd =====
 +
 +Пакет mkinitrd в Slackware 14.0 (и выше), поставляется со сценарием под названием «mkinitrd_command_generator.sh». Если вы запустите этот сценарий, он проанализирует конфигурацию Slackware и сделает умное предложение о том, как составить команду «mkinitrd» для того, чтобы создать initrd.gz со всеми колоколами и свистками. Сценарий распознает версию ядра, корневой раздел и файловую систему, он узнает, используете ли вы LUKS и(или) LVM и определит, какие модули ядра необходимы initrd для монтирования корневой файловой системы. Следующая команда избавит вас от головной боли, проверьте сами:
 +<code>
 +     # /usr/share/mkinitrd/mkinitrd_command_generator.sh -r
 +</code>
 +
 +Изучите и сравните выданную строку, например,как эта (потому что система может дать различные значения параметров):
 +<code>
 +   mkinitrd -c -k 4.4.14-smp -m ext4 -f ext4 -r /dev/cryptvg/root -C /dev/sdx2 -L
 +</code>
 +(//**__Прим. от Graf:__** - в оригинале допущена не точность. Следует читать код, как: mkinitrd -c -k **5.15.19**-smp -m ext4 -f ext4 -r /dev/cryptvg/root -C /dev/sdx2 -L//)\\
 +
 +Вы можете скопировать и вставить этот вывод в командную строку, а также любые другие параметры, которые нужны, такие как «-h», чтобы указать раздел гибернации или «-l», чтобы указать, что вы используете не американскую раскладку клавиатуры. Вы даже можете запустить сценарий в полном интерактивном режиме с помощью параметра «-i», и он проведет вас через процесс создания mkinitrd в командной строке.
 +
 +===== Окружение рабочего стола =====
 +
 +Вероятно, вы не захотите, чтобы зашифрованные тома появились на рабочем столе, например, KDE или Xfce как монтируемые устройства, поэтому что-то вроде нижеследующего должно этому препятствовать:
 +<code>
 +# cat /etc/udev/rules.d/99-ignore-luksdevs-on-desktop.rules
 +KERNEL=="sdx2", ENV{UDISKS_IGNORE}="1"
 +</code>
 +
 +**Удачи вам в новой установке Slackware на зашифрованный раздел(ы)!**                                                                                                                                                                     
 +
 +----
 +                                                                                                                                                                                                                                             
 +Автор:\\                                                                                                                                                                                                                                      
 + //Eric Hameleers <alien@slackware.com> 18-сент-2012 //\\
 +Под редакцией:\\
 + //Robby Workman <rworkman@slackware.com> 9 марта 2017//\\
 +URLs:\\                                                                                                                                                                                                                                        
 + [[ http://www.slackware.com/~alien/dokuwiki/doku.php?id=slackware:setup]]
  
Навигация
Печать/экспорт
QR Code
QR Code wiki:od:rcrypt_150 (generated for current page)