• XSS.stack #1 – первый литературный журнал от юзеров форума

Статья Установка Arch Linux с шифрованием и ключом на флешке

tabac

CPU register
Пользователь
Регистрация
30.09.2018
Сообщения
1 610
Решения
1
Реакции
3 332
Установка Arch Linux с шифрованием и ключом на флешке.

----------------------------------------------------------------------------------------------------

План

  1. Введение
  2. Железо и софт
  3. Установка
  4. Заключение
----------------------------------------------------------------------------------------------------

Введение


Начнем с того что данные должны находиться на шифрованном жестком диске. Это как минимум. Лучше диск должен быть съемным, причем быстро. Хорошо если ключ шифрования имеет большую длину и вводиться без ошибок. Да, нужно иметь 2 ос, одну для работы а вторую для остальных дел. Вторая ос, это Linux которая находится на шифрованном съемном диске, лучше всего SSD. В данное время некоторые ноутбуки все еще оснащаются DVD приводом, так вот его лучше снять и поставить вот такую штуку DVD HDD


Если необходим будет привод для чтения дисков то он вставляется за 5 сек. В основной ос не храним ничего противозаконного, стандартный набор софта. А вот вторая Ос шифрованная и быстросъемная. Вводить каждый раз пароль длинной 255 символов это для мазохистов, поэтому ключ будем хранить на флешке, которая вставляется только при загрузке ос, а дальше вынимается и прячется. Самый маленький размер имеет карта флеш-памяти M2, Достаточно будет и 2х гигов. В качестве флешки используем вот такой переходник


На microSD флешке храниться ключ от жесткого диска. Если что то microSD ломается и данные не востановишь. Тут можно сделать два пути, или у нас есть резервный ключ (да-да те 255 символов что брутом не осилишь) или простой пароль, который сносит все шифрование нафиг. 255 символов лучше спрятать в картинке в помощь стенография, и закинуть в инет ))). Ну или нацарапать на стене + пару символов спереди и сзади чтоб наверняка. Тк если диск изымут при обыске то никто не будет загружать ноут с ним. Делают дамп и с дампом работают. Флешка должна быть всегда вдалеке от компа, и рядом только в случае его включения. Жесткий диск лучше хранить в тайнике и только при работе вынимать его. Да и не забудь про бронированную дверь, пока ее будут вскрывать у тебя есть несколько секунд чтоб прожевать флешку и вырубить ноут, максимум разбить SSD. Если же все-таки тебя застали с работающим ноутом, то он должен выключаться автоматически через какое-то время простоя. Еще лучше если у тебя будет скрипт, который вырубит ноут. Затрет рандомом заголовок диска.

----------------------------------------------------------------------------------------------------

Необходимое железо и софт


Все ясно, оборудование которое понадобится
  1. Ноут
  2. Флешка (На нее запилю установочный образ Arch Linux)
  3. Жесткий диск (Arch на шифрованном разделе + /boot на отдельном разделе этого диска)
  4. Карта microSD для записи ключа шифрования
  5. Второй ноут с которого буду ставить все через сеть (Ну лень мне набивать команды вручную, легче копировать через буфер).
Сливаю образ арча Arch Linux - Downloads. И программу для записи ее на флешку ROSA ImageWriter — Rosalab Wiki. Запиливаю образ на флешку. Вставляю в ноут жесткий диск на который ставлю Arch, Флеш-карточку microSD и флешку с установочным образом.

----------------------------------------------------------------------------------------------------

Установка


Гружусь с флешки.

1566386504849.png


Когда загрузил ноут с флешки

Wifi-menu - Подключаюсь к wi-fi
ping -c4 ya.ru — Проверяю пинг
Ifconfig -a - Смотрю адрес интерфейса
passwd root - Задаю пароль суперпользователя
systemctl start sshd.service - запуск SSH демона

----------------------------------------------------------------------------------------------------

На другом ноуте подключаюсь к wi-fi и подключаюсь к серверу
Код:
ssh root@IP_ADRESS_SERVER
----------------------------------------------------------------------------------------------------


Смотрю все разделы которые определились
Код:
fdisk -l
----------------------------------------------------------------------------------------------------


/dev/sda — Флешка образом Arch (с нее ставим Arch Linux)
/dev/sdb — Жесткий диск на который ставлю систему
/dev/sdc — Флешка для хранения ключа

----------------------------------------------------------------------------------------------------

Затру рандомом весь жесткий, да это очень долго так что лучше на ночь закинуть.
Код:
shred --verbose --random-source=/dev/urandom --iterations=3 /dev/sdb
----------------------------------------------------------------------------------------------------
Код:
cfdisk /dev/sdb
1566386528982.png


Выбираю DOS

3.png


И вот таким образом разбиваю хард (Вместо sda у нас sdb, я делал на виртуалке, так что немного различаются названия)

----------------------------------------------------------------------------------------------------

Шифрую жесткий диск
Код:
cryptsetup --verbose --cipher aes-xts-plain64 --key-size 512 --hash sha512 --iter-time 5000 --use-random luksFormat /dev/sdb2
Тут небольшое отступление, здесь необходимо сгенерировать хороший стойкий пароль, который лучше закинуть в картинку с помощью стенографии или нацарапать в подвале )))

Генератор паролей | LastPass можно использовать другой генератор, этот как пример.

----------------------------------------------------------------------------------------------------

Подключаю шифрованный раздел
Код:
cryptsetup open --type luks /dev/sdb2 cryptroot
----------------------------------------------------------------------------------------------------

Далее форматирую диски.

mkfs.ext2 /dev/sdb1 - /boot раздел
mkfs.ext4 /dev/mapper/cryptroot - /root раздел
mkfs.ext2 /dev/sdc - флешка, на которой находится ключ

----------------------------------------------------------------------------------------------------

Монтирую файловую систему
Код:
mount -t ext4 /dev/mapper/cryptroot /mnt
mkdir -p /mnt/boot
mkdir -p /mnt/key
mount -t ext2 /dev/sdb1 /mnt/boot
mount -t ext2 /dev/sdc /mnt/key
----------------------------------------------------------------------------------------------------

Ставлю систему
Код:
pacstrap -i /mnt base base-devel sudo mc htop glances dialog wpa_supplicant grub
----------------------------------------------------------------------------------------------------

Генерация fstab
Код:
genfstab -U -p /mnt >> /mnt/etc/fstab
----------------------------------------------------------------------------------------------------

Chroot
Код:
arch-chroot /mnt
----------------------------------------------------------------------------------------------------

Ставлю локали
Код:
sed -i 's/#en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/g' /etc/locale.gen
locale-gen
echo LANG=en_US.UTF-8 > /etc/locale.conf
export LANG=en_US.UTF-8
----------------------------------------------------------------------------------------------------

Ставлю время
Код:
rm -v /etc/localtime
ln -s /usr/share/zoneinfo/Europe/Moscow /etc/localtime
hwclock --systohc —utc
----------------------------------------------------------------------------------------------------

Имя хоста
Код:
echo HostName > /etc/hostname
----------------------------------------------------------------------------------------------------

Добавлю простого пользователя
Код:
useradd -m -g users -G wheel,games,power,optical,storage,scanner,lp,audio,video -s /bin/bash User_Name
Пароль User_Name
Код:
passwd User_Name
и пароль root
Код:
paswd root
В права в sudo
Код:
nano /etc/sudoers -> %wheel ALL=(ALL)
----------------------------------------------------------------------------------------------------

Записываю рандомные данные в файл ключа
Код:
dd if=/dev/urandom of=/boot/boot.bin bs=1024 count=2
----------------------------------------------------------------------------------------------------

Добавляю файл ключа на криптованный раздел
Код:
cryptsetup luksAddKey /dev/sdb2 /boot/boot.bin
----------------------------------------------------------------------------------------------------

Добавляю вот такую строчку в /etc/mkinitcpio.conf
Код:
HOOKS=(base udev autodetect modconf block encrypt lvm2 filesystems keyboard fsck)
----------------------------------------------------------------------------------------------------


Смотрим uuid флеш-карточки microSD, команда blkid

Записывавем в файл /etc/default/grub вот такую строчку

GRUB_CMDLINE_LINUX="cryptdevice=/dev/sdb2:main cryptkey=/dev/disk/by-uuid/uuid_раздела_флеш_карты:ext2:/boot.bin"

+ еще пару строчек
Код:
GRUB_ENABLE_CRYPTODISK=y
GRUB_CRYPTODISK_ENABLE=y
----------------------------------------------------------------------------------------------------

Последние штрихи, надо поставить grub и сконфигурировать начальный загрузочный диск системы.
Код:
mkinitcpio -p linux
grub-install --recheck /dev/sdb
grub-mkconfig --output /boot/grub/grub.cfg
----------------------------------------------------------------------------------------------------

Заключение


Выходим и ребутим ноут. В BIOS выбираем загрузку с быстросьемного SSD. После того как проскочил GRUB вставляю флеш карту, и когда появляеться приглашение на Login в системе вынимаем ее. Сейчас я установил базовую систему, без репозиториев BlackArch и графического интерфейса и русификации. Это сделаем в других статьях (если у меня будет время и желание, и посмотрю зайдет ли эта статья ?)


Автор (c) SNIPERSON
 


Напишите ответ...
  • Вставить:
Прикрепить файлы
Верх