Инструкция: Как создать USB с постоянным хранилищем и шифрованием (Kali Linux)

30.08.24

Баннер превью поста

Здесь Вы научитесь:

  • создавать LIVE систему на флешке с Kali Linux (в Windows или Linux)
  • создавать постоянное хранилище (persistence) для вашей LIVE системы
  • создавать зашифрованное постоянное хранилище Kali Linux

Скачать Kali Linux (Live)


Создание загрузочной флешки с LIVE системой – это один из самых быстрых способов запуска Kali Linux. У этого способа имеется несколько преимуществ:

  • быстрое развёртывание (так как не требуется установка с распаковкой каждого пакета) на USB флешке
  • невозможно навредить основной системе – при создании загрузочной флешки не затрагиваются жёсткие диски компьютера и загрузчик основной системы
  • портативность – с записанной флешки вы можете загрузиться на любом компьютере
  • можно настроить постоянное хранилище – немного дополнительных усилий и ваша LIVE система Kali Linux сможет сохранять файлы и новые системные настройки

Если вы хотите систему с одним или несколькими постоянными хранилищами, то начать нужно с создания загрузочной флешки с LIVE системой – это отправная точка для всех последующих действий. Поэтому в любом случае нам понадобиться ISO образ системы с официального сайта

Также понадобиться флешка. Чем быстрее скорость чтения/записи флешки, тем комфортнее будет работать. Если вам нужна LIVE система Kali Linux и не нужны постоянные хранилища, то достаточно флешки любого размера, превышающего размер ISO образа, т.е.  более 4 гигабайт.

Если вы планируете создавать один или несколько постоянных хранилищ, то рекомендуется флешка объёмом 16 и более гигабайт. Оптимально приобрести флешку размером 128 ГБ в титановом корпусе, так как такие греются не так сильно и работать будут дольше.

Запись Kali Linux Live ISO на USB


Нам нужна программа для записи ISO на USB флешку. Для этих целей идеально подойдёт кроссплатформенная Etcher. То есть неважно, вы сейчас на Windows или на Linux, вы можете использовать Etcher для записи образа диска на флешку.

Переходим на сайт программы Etcher: https://www.balena.io/etcher/ и скачиваем её:

Подключите вашу USB флешку, запустите Etcher, выберите скаченный ISO образ Kali Linux LIVE, затем просто нажмите кнопку Flash! и дождитесь завершения.

У меня флешка с большим объёмом (256 Гб), поэтому программа показывает мне предупреждение: «You are about to erase an unusually large drive. Are you sure the selected drive is not a storage drive?».

Если всё правильно (а в моём случае всё как я хочу), то нажимаем «Yes, I’m sure»

Загрузка в Kali Linux Live с USB


Если вы уже запускали компьютер с загрузочной флешки, то повторите эти действия для Kali Linux Live. Например, на моём компьютере при включении нужно много раз нажимать кнопку ESC (в некоторых системах это Delete или F12, F2 и так далее), а затем достаточно выбрать флешку.

Если это для вас не сработало, то начните загрузку компьютера с зажатой клавишей SHIFT. Вы можете попасть в следующее меню:

Выберите раздел «Использовать устройство», там вы увидите вашу флешку.

Если и это для вас не сработало, то возможно у вас включены Security Boot и Fast Boot. Эти настройки нужно отключать в меню UEFI (новый вариант БИОС).

Чтобы в него попасть, включите компьютер с зажатой клавишей SHIFT. Перейдите в раздел «Поиск и устранение неисправностей»:

Перейдите в «Дополнительные параметры»:

Выберите «Параметры встроенного ПО UEFI»:

Нажмите кнопку «Перезагрузить».

Вы попадёте в настройки UEFI, которые напоминают продвинутый БИОС. Конкретный вид и структура меню различаются в зависимости от производителя материнской платы. Вам нужно найти и отключить настройки «Security Boot» и «Fast Boot».

Загрузочное меню Kali Linux 2021 Live выглядит так:

Выберите опцию «Live system».

Вход в систему будет выполнен без пароля. Если система в какой-то момент запросит пароль, например для разблокировки экрана, то введите «kali».

Как создать раздел persistence (постоянное хранилище)


Уже на этом этапе вы можете начать знакомство с Kali Linux. Среди прочего вы можете:

  • запускать инструменты
  • обновлять имеющиеся программы
  • устанавливать новые инструменты
  • сохранять файлы

Все изменения будут сохранены в виртуальной файловой системе и при перезагрузке компьютера будут потеряны.

Для того чтобы установленные пакеты и сохранённые файлы не пропадали после перезагрузки, нужно настроить раздел persistence — постоянное хранилище.

К примеру, я использую флешку размером 256 Гб, а Live образ Kali Linux занимает 4 Гб, значит под постоянное хранилище я могу выделить до 252 Гб.

ВНИМАНИЕ: Это очень ответственный шаг, так как если вы ошибётесь, то можете удалить данные с диска, который не собирались стирать.

Откройте терминал и выполните там команду:

sudo fdisk -l

Вы увидите список дисков и разделов на них.

Нам нужно узнать имя диска (оно имеет вид /dev/sd*) с которого мы загрузили Kali Linux. На скриншоте выше имена дисков выделены красным цветом. 

На скриншоте ниже представлено два диска (1), чтобы сориентироваться, смотрите на размер диска (2), модель диска (3), перечень разделов (4).

Флешка, с Live образом Kali Linux должна иметь два раздела:

Device     Boot   Start     End Sectors  Size Id Type
/dev/sdb1  *         64 7866239 7866176  3.8G 17 Hidden HPFS/NTFS
/dev/sdb2       7866240 7867711    1472  736K  1 FAT12

Как мы можем увидеть, диск называется /dev/sdb, а ISO образ записан в раздел /dev/sdb1.

Чтобы дополнительно убедиться в имени диска, запустим следующую команду:

ls -l /dev/disk/by-label/Kali*

Как можно убедиться, Live система установлена на раздел sdb1, значит нам действительно нужен диск /dev/sdb.

ВНИМАНИЕ: если вы не уверены в имени диска, сделайте скриншот или фотографию всех ваших дисков (вывод команды «sudo fdisk -l») и покажите здесь в комментариях — попробуем разобраться вместе.

Итак, на флешке с Kali Linux мне нужно узнать где начинается свободное место, для этого используйте команду вида:

sudo parted /dev/ДИСК unit MB print free

Например, в моём случае диск называется /dev/sdb, тогда команда следующая:

sudo parted /dev/sdb unit MB print free

Обратите внимание на строку:

4028MB  256642MB  252613MB           Free Space

4028MB – это начало свободного места. Всего мне доступно 252613M (т.е. 252 Гигабайта) свободного места на флешке.

Команда для создания нового логического раздела имеет вид:

sudo parted /dev/ДИСК mkpart primary ext3 НАЧАЛО КОНЕЦ

Следующей командой я создаю новый логический раздел на флешке (у меня это диск /dev/sdb), раздел будет начинаться с 4028MB и заканчиваться на 100GB:

sudo parted /dev/sdb mkpart primary ext3 4028MB 100GB

Здесь:

  • sudo parted – вызов программы parted с привилегиями суперпользователя
  • /dev/sdb – путь до моей флешки
  • mkpart – внутренняя команда программы parted, которая означает создание раздела
  • primary – тип раздела
  • ext3 – файловая система раздела
  • 4028MB – начало нового раздела
  • 100GB – конец нового раздела, т.е. новый раздел будет иметь объём 100GB минус 4028MB, т.е. примерно 96 гигабайт. Вместо GB можно указать MB (величину в мегабайтах). ВНИМАНИЕ: здесь вы указываете НЕ размер раздела, а количество мегабайт (или гигабайт), которые нужно отступить от начала флешки до конца создаваемого раздела.

Команда показывает следующее предупреждение:

Warning: The resulting partition is not properly aligned for best performance: 7867712s % 2048s != 0s
Ignore/Cancel?

Суть сообщения в том, что запись на диски выполняется блоками, а выбранные настройки не в полной мере соответствуют блокам — для носителей на которых записан ISO образ это нормально. Поэтому вводим «Ignore».

Команда создаст раздел очень быстро и выведет следующую информацию, которую можно проигнорировать:

Information: You may need to update /etc/fstab

Увидеть новый раздел вы можете с помощью команды

sudo fdisk -l

У меня он отображён как

Device     Boot   Start       End   Sectors  Size Id Type
/dev/sdb3       7867712 195312500 187444789 89.4G 83 Linux

ПРИМЕЧАНИЕ: если вы хотите чтобы ваше постоянное хранилище было зашифрованным, то вам необязательно завершать последующие команды из этого  раздела, вы можете прямо сейчас переходить к этапу "Постоянное хранилище с шифрованием".

Следующая команда создаст файловую систему ext3 на указанном разделе и присвоит ему ярлык «persistence».

sudo mkfs.ext3 -L persistence /dev/РАЗДЕЛ

В моём случае раздел имеет имя /dev/sdb3, тогда команда следующая:

sudo mkfs.ext3 -L persistence /dev/sdb3

Теперь нам нужно сохранить на только что созданном разделе небольшой файл, необходимый для нормального функционирования постоянного хранилища. Следующими командами мы создадим точку монтирования в текущей системе, смонтируем флешку (чтобы можно было вносить в неё изменения), запишем конфигурационный файл для включения постоянного хранилища и отмонтируем флешку:

sudo mkdir -p /mnt/my_usb
sudo mount /dev/sdb3 /mnt/my_usb
sudo bash -c "echo '/ union' > /mnt/my_usb/persistence.conf"
sudo umount /dev/sdb3

Обратите внимание, что в этих командах вам нужно дважды заменить /dev/sdb3 на имя и номер вашего раздела.

Теперь можно перезагрузить компьютер и загрузиться с флешки. В начале загрузки выберите пункт «Live USB Persistence».

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

Для того чтобы система использовала постоянное хранилище, каждый раз при загрузке выбирайте «Live USB Persistence». В противном случае будет загружаться обычная Live система.

Постоянное хранилище с шифрованием


Созданный дополнительный раздел вы можете зашифровать. В результате все хранимые на нём данные будут надёжно защищены. При каждой загрузки Kali Linux будет спрашивать пароль для расшифровки раздела. Данные будут автоматически шифроваться при записи на зашифрованный и автоматически расшифровываться при чтении с раздела.

Нужно начать с создания постоянного хранилища, как это описано чуть выше. Предположим, вы уже создали постоянное хранилище, поэтому продолжаем.

Если вы только что создали постоянное хранилище и ещё не перезагрузились, то переходите к его шифрованию. Если вы уже перезагрузились, то при включении компьютера вам необходимо в меню загрузки выбрать «Live system» (а НЕ «Live USB Persistence»), чтобы раздел, который мы собираемся шифровать, не использовался системой.

ВНИМАНИЕ: Помните, что во всех последующих командах вам очень важно заменить /dev/sdb3 на имя вашего диска, иначе вы рискуете удалить данные с неверного диска.

При шифровании раздела все данные, которые содержаться на нём, будут уничтожены и их будет невозможно восстановить. Чтобы начать шифрование, введите команду

sudo cryptsetup --verbose --verify-passphrase luksFormat /dev/sdb3

Утилита показывает нам предупреждение:

WARNING: Device /dev/sdb3 already contains a 'ext3' superblock signature.
 
WARNING!
========
This will overwrite data on /dev/sdb3 irrevocably.

Суть его в том, что все данные с выбранного раздела будут безвозвратно перезаписаны.

Если вы уверены, вам нужно ввести слово «YES» (все заглавные буквы).

Далее придумайте пароль, которым будет открываться доступ к зашифрованному разделу. Если вы забудете этот пароль, то не будет способа восстановить информацию. Хотя она никуда не денется, но воспользоваться ей будет невозможно.

Вы можете столкнуться с ошибкой:

The command ended with error code 16: Cannot format the /dev/sdb3 device that is still in use.

Это означает, что система автоматически смонтировала раздел и вам нужно вручную его отмонтировать, это можно сделать командой:

sudo umount /путь/до/раздела

Также утилита может вывести следующее сообщение:

mke2fs 1.46.4 (18-Aug-2021)
/dev/mapper/my_usb contains `OpenPGP Secret Key' data
Proceed anyway? (y,N)

В нём говорится, что данный раздел содержит данные «секретного ключа OpenPGP». Тем не менее, продолжайте, для этого введите «y».

Теперь мы открываем зашифрованный раздел, чтобы продолжить его настройку:

sudo cryptsetup open --type luks /dev/sdb3 my_usb

Фраза «Enter passphrase for /dev/sdb3» приглашает нас ввести пароль для открытия диска.

Создадим файловую систему ext3 и присвоим ей ярлык «persistence»:

sudo mkfs.ext3 -L persistence /dev/mapper/my_usb

Создадим точку монтирования, смонтируем наш новый зашифрованный раздел и сделаем запись в файл persistence.conf после чего отмонтируем раздел:

sudo mkdir -p /mnt/my_usb
sudo mount /dev/mapper/my_usb /mnt/my_usb
sudo bash -c "echo '/ union' > /mnt/my_usb/persistence.conf"
sudo umount /dev/mapper/my_usb

Закройте зашифрованный канал до нашего раздела persistence:

sudo cryptsetup luksClose /dev/mapper/my_usb

Всё готово. При загрузке с флешки выберите «Live USB Encrypted Persistence».

В какой-то момент загрузка остановится и вам нужно будет ввести пароль. После ввода пароля система продолжит загрузку.

Изменение системной локали по умолчанию (язык)


Запустите следующую команду (укажите нужную вам локаль):

sudo localectl set-locale LANG=en_US.UTF-8

Или:

sudo localectl set-locale LANG=ru_RU.UTF-8

Если вам требуется любой другой язык, то убедитесь что он предустановлен системой. Это выполняется командой:

locale -a

Если нужной вам локали нет, то добавьте её:

sudo gedit /etc/locale.gen

И раскомментируйте там строки с желаемыми новыми локалями. Затем выполните команду:

sudo locale-gen

Когда добавили нужную вам локаль, выполните команду:

sudo localectl set-locale LANG=en_US.UTF-8

, где LANG=en_US.UTF-8 - замените на нужную вам

В заключении вы можете увидеть такое сообщение:

В нём предлагается поменять название автоматически созданных папок в каталоге пользователя. То есть сменить перевести их название на новый язык системы.

Поздравляю! Теперь у Вас есть носитель с операционной системой Kali Linux. Это портативное устройство можно запускать на любом компьютере, работать с него не оставляя следов на самом компьютере. Предлагаю не останавливаться и перейти к следующей статье:


Установка и настройка анонимной операционной системы Whonix

Комментарии

Реклама: