Подробный гайд по выбору токенов с криптохранилищем для 2FA в SSSD
Подробный технический гайд и список аппаратных токенов, которые удовлетворяют вашим требованиям (поддержка RedOS, Astra Linux, ALT Linux, наличие криптохранилища и возможность использования для двухфакторной аутентификации через SSSD).
Важное уточнение: Рутокен S
К сожалению, для связки с SSSD и полноценной 2FA-аутентификации в Linux этот токен не подойдет, и вот почему:
* Тип носителя:
Рутокен S является «пассивным» ключевым носителем.
* Криптохранилище:
Он предназначен для защищенного хранения контейнеров ключей (например, для программных СКЗИ вроде КриптоПро или VipNet). Хотя он поддерживает аппаратное шифрование по старому стандарту ГОСТ 28147-89, устройство не имеет аппаратной реализации алгоритмов электронной подписи.
* Проблема с PKCS#11 в Linux:
Современные Linux-библиотеки от производителя (librtpkcs11ecp.so) вообще не поддерживают RuToken S. При работе через стандартные утилиты (например, OpenSC) функциональность Рутокен S по протоколу PKCS#11 сильно урезана и фактически идентична дешевому Рутокен Lite.
* Итог для SSSD:
Механизм 2FA в SSSD (через процесс p11_child) требует от токена выполнения криптографических операций (подписи сертификата) непосредственно на борту чипа, чего Рутокен S аппаратно сделать не может.
Для полноценной работы вам нужны «активные» токены (с аппаратным СКЗИ и поддержкой генерации подписи).
Список токенов для 2FA через SSSD (RedOS / Astra Linux / ALT Linux)
Ниже приведен список токенов, которые имеют полноценное криптохранилище, аппаратный криптопровайдер (генерация подписи на чипе) и официально поддерживаются в ваших ОС.
1. Линейка Рутокен ЭЦП 2.0 и Рутокен ЭЦП 3.0 (Актив)
Это «золотой стандарт» для работы в российских ОС.
* Поддержка в ОС:
Отличная поддержка. Существуют официальные гайды по настройке локальной и доменной аутентификации через Рутокен ЭЦП в РЕД ОС 8, а также в Astra Linux и ALT Linux.
* Криптохранилище:
Полноценное аппаратное СКЗИ, генерация ключевых пар (RSA, ECDSA, ГОСТ) происходит на борту, закрытый ключ никогда не покидает устройство.
* SSSD 2FA:
Отлично работает. Утилита pkcs11-tool из пакета OpenSC позволяет считывать сертификаты с устройства [[49]], а процесс SSSD p11_child корректно опрашивает токен через библиотеку librtpkcs11ecp.so.
2. Линейка JaCarta PKI, JaCarta ГОСТ и JaCarta PRO (Аладдин Р.Д.)
Главный конкурент Рутокенов, широко применяемый в корпоративном секторе.
* Поддержка в ОС:
Устройства JaCarta официально подтвердили корректную работу в средах Astra Linux версий 1.7 и 1.8, а также полностью совместимы с РЕД ОС и ALT Linux.
* Криптохранилище:
Защищенный чип с аппаратной реализацией зарубежных и российских криптоалгоритмов.
* SSSD 2FA:
Интегрируется через фирменную библиотеку libjcPKCS11.so. Настройка SSSD производится аналогично Рутокенам, с указанием пути к библиотеке JaCarta в конфигурационных файлах SSSD и PAM.
3. ESMART Token (Эсмарт)
* Поддержка в ОС:
USB-токены ESMART успешно прошли серию тестов работоспособности и подходят для работы в ОС Astra Linux.
* Криптохранилище:
Аппаратная поддержка криптографии и защищенная память для хранения ключей.
* SSSD 2FA:
Поддерживается через стандартный PKCS#11 интерфейс (библиотека libesmart_pkcs11.so), что позволяет бесшовно интегрировать их в SSSD и pam_p11.
4. Аппаратные носители КриптоПро CSP
Если в вашей инфраструктуре уже используется СКЗИ КриптоПро CSP.
* Поддержка в ОС:
КриптоПро CSP имеет нативные пакеты и полную поддержку РЕД ОС, Astra Linux и ALT Linux.
* Криптохранилище:
Безопасное хранение контейнеров. Часто в качестве самого "железа" выступает связка КриптоПро CSP + Рутокен ЭЦП, но существуют и собственные ключевые носители.
* SSSD 2FA:
Аутентификация настраивается через специальный PKCS#11 модуль КриптоПро (libcprocsp-pki.so), который "пробрасывает" сертификаты из контейнеров КриптоПро в стандартный интерфейс Linux.
Общий алгоритм настройки 2FA через SSSD в Linux
Чтобы любой из перечисленных выше активных токенов заработал для двухфакторной аутентификации, вам потребуется выполнить следующие шаги на всех трех ОС:
1. Установка зависимостей:
В РЕД ОС и ALT Linux (RPM-пакеты) или Astra Linux (DEB-пакеты) необходимо установить службы pcscd, opensc и PAM-модули (например, pam_pkcs11 или pam_p11).
2. Установка драйверов:
Скачать и установить проприетарную PKCS#11 библиотеку вендора (например, пакет rtpkcs11ecp для Рутокен ЭЦП или jacarta-pki для JaCarta).
3. Проверка токена:
Убедиться, что служба pcscd запущена, а утилита pkcs11-tool -L видит ваш подключенный токен.
4. Настройка SSSD (/etc/sssd/sssd.conf):
В секции вашего домена (например, [domain/your.domain]) необходимо включить аутентификацию по сертификатам:
pam_cert_auth = True
5. Маппинг сертификатов:
SSSD должен понимать, какому пользователю принадлежит сертификат с токена.
- Если это Active Directory, выполняется маппинг через атрибут
altSecurityIdentities. - Если FreeIPA — через правила
certmap. - Для локальных пользователей можно использовать прямой маппинг через файл
/etc/sssd/pki/mapping.
Важно:
Выбирайте Рутокен ЭЦП 3.0, JaCarta PKI / ГОСТ или ESMART Token — они гарантированно обеспечат неизвлекаемое криптохранилище и бесшовную интеграцию с SSSD в RedOS, Astra Linux и ALT Linux.
Информация предоставлена в ознакомительных целях. Применение описанных настроек в системах, должно осуществляться только после согласования с ответственными за информационную безопасность и в соответствии с требованиями ФСТЭК, ФСБ и иных уполномоченных органов.