Двухфакторная аутентификация
- Управление электронными идентификаторами – grdid-tool
- Использование Guardant ID для доступа к системе – pam_grdid
- Настройка ssh для доступа с использованием Guardant ID
Механизмы двухфакторной аутентификации в ОС ОН «Стрелец» реализуются посредством использования электронного идентификатора Guardant ID, который применяется в системах, обрабатывающих информацию ограниченного доступа. В отличие от других похожих устройств, только этот идентификатор сертифицирован ФСТЭК России на соответствие требованиям РД НДВ – по 2-му уровню контроля.
Электронный идентификатор Guardant ID – это устройство, подключаемое к USB-порту компьютера (непосредственно или через удлинитель) и служащее для хранения идентификационных данных пользователя в энергонезависимой памяти.
Особенностью устройства является наличие уникального неизменяемого идентификатора и области защищенной энергонезависимой памяти, для доступа к которой используется кодирование с уникальным для каждого Guardant ID паролем.
Для идентификации пользователя при выполнении команд чтения/записи может быть использован PIN-код длиной от 1 до 32 байт. PIN-код может быть изменен штатным образом в случае получения доступа к памяти устройства.
Управление электронными идентификаторами – grdid-tool
Для управления электронными идентификаторами Guardant ID предназначена утилита grdid-tool, имеющая следующий формат вызова:
Основным назначением утилиты является инициализация и выдача устройств пользователям. При необходимости утилита может быть использована самим пользователем для смены своего PIN. При этом у него будет запрошено старое значение PIN.
В таблице приведены основные опции команды grdid-tool.
Опция | Описание |
-h, --help | Справка по способу вызова и опциям команды |
-v, --verbose | Подробный отчет о выполняемых действиях |
-f, --force | Не спрашивать подтверждение |
-i, --info | Отображение информации об идентификаторе |
-e, --erase | Стирание идентификатора. При успешном выполнении операции идентификатор удаляется из реестра выданных идентификаторов |
--init-pin | Инициализация PIN пользователя, требует задания пользователя опцией -u. При успешном выполнении операции идентификатор регистрируется в реестре выданных идентификаторов |
--verify-pin | Проверить PIN |
--change-pin | Смена PIN пользователя (самим пользователем, требует старое значение PIN) |
--so-pin ЗНАЧЕНИЕ | PIN администратора (Master PIN код), может быть задан как env:VARIABLE, тогда значение будет взято из соответствующей переменной окружения |
--pin ЗНАЧЕНИЕ | PIN пользователя, может быть задан как env:VARIABLE, тогда значение будет взято из соответствующей переменной окружения |
-u ПОЛЬЗОВАТЕЛЬ, --user ПОЛЬЗОВАТЕЛЬ | Использовать в качестве владельца идентификатора учетную запись ПОЛЬЗОВАТЕЛЬ |
-l, --list | Вывести список зарегистрированных (выданных) идентификаторов |
-r, --unregister | Удалить запись о ключе пользователя |
Использование Guardant ID для доступа к системе – pam_grdid
Применение идентификатора для контроля доступа при входе пользователя в систему обеспечивается специальным PAM модулем аутентификации pam_grdid.
При попытке входа в систему у пользователя запрашивается PIN представленного электронного идентификатора Guardant ID, в случае соответствия представленного идентификатора пользователю и успешной проверки PIN процедура входа продолжается. В противном случае происходит отказ доступа к системе с соответствующей регистрацией попытки несанкционированного доступа.
Указанный модуль должен быть встроен в требуемые PAM сценарии следующим образом (на примере /etc/pam.d/common-auth):
auth [success=3 default=die ignore=ignore] pam_grdid.so
auth [success=2 default=ignore] pam_unix.so nullok_secure
auth [success=1 default=ignore] pam_winbind.so krb5_auth ...
При использовании модуля могут применяться опции:
- debug – вывод отладочной информации;
- try_only – попытка проведения проверки (возможен вход без предоставления устройства);
- no_prompt – не выводить предложение подключить идентификатор;
- strict – строгий режим: запрет входа без использования идентификатора Guardant ID;
- set_pass – установить введенный PIN в качестве AUTHTOK для последующих модулей аутентификации.
При необходимости с помощью ключей PAM модуля можно настроить желаемый режим использования двухфакторной аутентификации.
Режим | Порядок настройки режима | no_prompt | Вход пользователей, не имеющих Guardant ID |
Общий | Предлагается подключить идентификатор, вход по PIN, при неверном PIN отказ входа | Используется подключенный идентификатор, вход по PIN, если идентификатор не предъявлен или неверный PIN — отказ входа | Стандартным способом по паролю |
try_only | Предлагается подключить идентификатор, вход по PIN, при неверном PIN переход на другие способы аутентификации (по паролю) | Используется подключенный идентификатор, вход по PIN, если идентификатор не предъявлен или неверный PIN – переход на другие способы аутентификации (по паролю) | Стандартным способом по паролю |
strict | Предлагается подключить идентификатор, вход по PIN, при неверном PIN отказ входа | Используется подключенный идентификатор, вход по PIN, если идентификатор не предъявлен или неверный PIN — отказ входа | Запрещен, кроме пользователей указанных в конфигурационном файле параметром ignoreusers |
Настройка ssh для доступа с использованием Guardant ID
Для корректной работы удаленного входа с помощью ssh необходимо выполнить следующие изменения в конфигурационном файле /etc/ssh/sshd.conf:
- включить параметр ChallengeResponseAuthentication в on;
- выключить параметр PasswordAutentication.