...
Настройка использования ключевого носителя (токена) в качестве второго фактора аутентификации
Предполагается, что на клиентском узле настроен единый доступ к ключевым носителям разных производителей (см. статью).
Общая информация по работе с ключевыми носителями дана в статье "Ключевые носители (токены) PKCS в Astra Linux".
...
- Подключить ключевой носитель к клиентскому узлу.
- Записать на ключевой носитель сертификат и ключ клиента:
Пример команд:Command p11tool --login --write --load-certificate="<путь_к_клиентскому_сертификату>" --id=<идентификатор_объекта> --label="<название_объекта>"
p11tool --login --write --load-privkey="<путь_к_клиентскому_закрытому_ключу>" --id=<идентификатор_объекта> --label="<название_объекта>"
Записать на ключевой носитель закрытый ключ клиента:Command p11tool --login --write --load-certificate="client.cert.pem" --id=45 --label="mykey"
Command p11tool --login --write --load-privkey="client.key.pem" --id=45 --label="mykey"
- Включить поддержку токенов strongSwan-сервером.
Для этого в файле/etc/strongswan.d/charon/pkcs11.confв секцииmodulesуказать произвольное название модуля и путь до интерфейсной библиотеки используемого токена:
Например, для Рутокена файлБлок кода pkcs11 { # Whether to load the plugin. Can also be an integer to increase the # priority of this plugin. load = yes ... # List of available PKCS#11 modules. modules { <название_модуля> { path = <путь_к_интерфейсной_библиотеке_токена> } } }/etc/strongswan.d/charon/pkcs11.confможет полностью выглядеть так:Блок кода pkcs11 { load = yes modules { rutoken { path = /usr/lib/librtpkcs11ecp.so } } } - Настроить strongSwan-сервер на использование закрытого ключа сервера, который находится на токене.
Для этого в файле/etc/ipsec.secretsуказать строку с описанием токена и идентификатором закрытого ключа, хранящегося на токене:
Пример описания для вышеприведённого Рутокена:Блок кода : PIN <токен_и_закрытый_ключ> <pin-код_токена> # # где <токен_и_закрытый_ключ> задаются по формату: %smartcard[<номер_слота_с_токеном>[@<название_модуля>]]:<id<идентификатор_закрытого_ключа>объекта>
Блок кода : PIN %smartcard0@rutoken:45 12345678
- Перезапустить strongSwan-сервер для применения настроек:
Command sudo ipsec restart
...