Установка необходимых пакетов
Для работы нам понадобиться 3 пакета:
- libpam-u2f – модуль PAM с поддержкой технологий аутентификации U2F и FIDO2.
- pamu2fcfg – пакет создает конфигурацию для модуля libpam-u2f и осуществляет процедуру регистрации аутентификатора U2F/FIDO2.
- fido2-tools – пакет для управления аутентификатором U2F/FIDO2 (например, сброс токена или назначения PIN-кода).
...
- Как второй фактор после ввода логина и пароля в виде прикосновения к токену.
- Как замена ввода пароля на ввод PIN-кода Рутокен MFA и прикосновение к токену.
Установка нового PIN-кода для Рутокен MFA
- Запустить терминал.
- Подключить Рутокен MFA.
Вывести список подключенных устройств. Для этого выполнить команду:
Code Block language bash $ fido2-token -L
Вывод команды должен быть следующим:
Code Block language bash /dev/hidraw1: vendor=0x0a89, product=0x0093 (Aktiv Co. FIDO)
Нам понадобится строка /dev/hidraw1
Выполним команду установки нового PIN-кода:
Code Block language bash $ fido2-token -S /dev/hidraw1
Дважды введем новый PIN-код:
Code Block language bash Enter new PIN for /dev/hidraw1: Enter the same PIN again:
Рутокен MFA готов к работе.
Настройка второго фактора
Запустить терминал.
Выполнить команду:
Code Block language bash $ mkdir -p ~/.config/aktivco
- Подключить Рутокен MFA
Выполнить команду:
Code Block language bash $ pamu2fcfg > ~/.config/aktivco/u2f_keys
В процессе выполнения команды необходимо будет прикоснуться к устройству Рутокен MFA.
Выполнить команду:
Code Block language bash $ sudo mkdir -p /etc/aktivco
Выполнить команду:
Code Block language bash $ sudo mv ~/.config/aktivco/u2f_keys /etc/aktivco/u2f_keys
Выполнить команду:
Code Block language bash $ sudo nano /etc/pam.d/common-auth
Добавить строку:
Code Block language bash auth sufficient pam_u2f.so authfile=/etc/aktivco/u2f_keys
- Сохранить файл /etc/pam.d/common-auth
Проверить что запрашивается касание в момент входа пользователя, выполнив команду:
Code Block language bash $ su user
Настройка связки PIN-код+касание:
Запустить терминал.
Выполнить команду:
Code Block language bash $ pamu2fcfg -u <username> > /tmp/u2f_mappings # В случае ввода команды без параметра <username> файл конфигурации будет создан для текущего пользователя
В процессе выполнения команды необходимо будет прикоснуться к устройству Рутокен MFA.
В результате должен появиться файл со следующим содержимым:
Code Block language bash $ cat /tmp/u2f_mappings user:hOzdi1ekgoVWLEzQH20uWJmoA3Dwno53zd2WCvlApHwfMVp/zz3+awUbeCL0E3pe,jzL+t6w7vhBgR2wwO+61/g8aliGNbDUpYZj6mxLXain4F1bQB0rvnwzP3n+n/GIXUp5Oiui0Du7/aKP/pE27PQ==,es256,+presence
Выполнить команду:
Code Block language bash $ sudo mv /tmp/u2f_mappings /etc/u2f_mappings
Выполнить команду:
Code Block language bash $ sudo nano /etc/pam.d/common-auth
Добавить строку:
Code Block language bash auth sufficient pam_u2f.so authfile=/etc/u2f_mappings cue pinverification=1
- Сохранить файл /etc/pam.d/common-auth
Проверить что запрашивается PIN-код Рутокен MFA при входе пользователя, выполнив команду:
Code Block language bash $ su user Please enter the PIN: Please touch the device.
- Проверить графический вход в систему: