Page tree

1. Установите необходимые пакеты

Для deb-систем (Астра, Ubuntu, Debian и др.)

sudo apt install libfido2-1 libfido2-dev libfido2-doc fido2-tools cryptsetup git python3 python3-pip gparted
sudo pip install fido2 --break-system-packages

Для rpm-систем (РедОС, Альт, Fedora и др.)

sudo dnf install libfido2-1 libfido2-dev libfido2-doc fido2-tools cryptsetup git python3 python3-pip gparted
sudo pip install fido2 --break-system-packages

2. Клонируйте репозиторий с необходимыми скриптами:

В любой папке выполните:

git clone https://github.com/Yubico/python-fido2

3. Подключите Рутокен MFA.

Узнайте путь до Рутокен MFA:
Перейдите в папку, куда вы клонировали репозиторий, и выполните скрипт:

python3 python-fido2/examples/get_info.py

Запомните отображаемый путь до устройства, например /dev/hidraw1

4. Создайте и отформатируйте LUKS-диск:

sudo cryptsetup -y -v luksFormat /dev/sda5

Введите пароль два раза для подтверждения.

5. Откройте LUKS-диск:

sudo cryptsetup luksOpen /dev/sda5 backup2

6. Снимите параметры LUKS-диска:

sudo cryptsetup luksDump /dev/sda5

7. Форматируйте диск в файловую систему ext4:

sudo mkfs.ext4 /dev/mapper/backup2

8. Настройте шифрование с использованием Рутокен MFA:

sudo systemd-cryptenroll /dev/sda5 --fido2-device=/dev/hidraw1 --fido2-credential-algorithm=es256 --fido2-with-client-pin=yes --fido2-with-user-presence=yes --fido2-with-user-verification=yes

Введите пароль. Затем два раза подтвердите Рутокен MFA (например, нажмите на токен).

Если возникнет ошибка, попробуйте убрать параметр --fido2-credential-algorithm=es256

В старых версиях systemd, данный параметр не работает.
Данный параметр отвечает за указание алгоритма, который будет использоваться для создания FIDO2 учетных данных (credentials) при добавлении ключа (например, через команду cryptsetup luksAddKey). В данном случае, es256 обозначает алгоритм подписи ECDSA с использованием эллиптической кривой P-256 (Elliptic Curve Digital Signature Algorithm with curve P-256).

9. Настройте автоматическое монтирование диска при загрузке:

   Откройте файл /etc/crypttab для редактирования:

sudo nano /etc/crypttab

Вставьте следующую строку и сохраните файл:

Example /dev/sda5 - fido2-device=auto

   

1. Example:
Это имя (label) шифрованного тома. Вы можете указать любое имя, которое будет использоваться системой для ссылки на этот шифрованный том. Например, в командах монтирования и демонтажа.

2. /dev/sda5:
Это путь к блочному устройству, на котором находится шифрованный том. В данном случае это /dev/sda5. Это устройство, которое было зашифровано с помощью LUKS.

3. "-"
Этот символ используется, чтобы указать, что не используются отдельные ключевые файлы или пароли для разблокировки шифрованного тома.

4. fido2-device=auto:
Это опция, которая указывает параметры для разблокировки с использованием FIDO2-устройства. В данном случае fido2-device=auto означает, что система автоматически найдет подключенное FIDO2-устройство и использует его для разблокировки шифрованного тома.

10. Перезагрузите компьютер:

Далее, необходимо перезагрузить операционную систему.   

Теперь ваш диск /dev/sda5 настроен и зашифрован с использованием Рутокен MFA. 
При перезагрузке системы вы должны подтвердить своё присутствие на FIDO2-устройстве для разблокировки диска. Для этого, необходимо ввести PIN-код, а затем коснуться устройства.

  • No labels