SSSD не видит РуТокен ЭЦП 3.0 NFC, но видит РуТокен ЭЦП 2.0

Настроил сетевую аутентификацию через sssd.
записал на РуТокен ЭЦП 3.0 NFC - sssd не увидел сертификата.
записал на РуТокен ЭЦП  2.0 - sssd увидел сертификат.

Подскажите, пожалуйста, почему так происходит?

Моя конфигурация:

sssd.conf
---

[sssd]
domains = test.blue.white.red
config_file_version = 2
services = nss, pam, ifp
debug_level=10

[domain/test.blue.white.red]
ad_gpo_map_interactive = +fly-dm
ad_update_samba_machine_account_password = True
krb5_renew_interval = 600s
krb5_renewable_lifetime = 7d
krb5_ccname_template = FILE:%d/krb5cc_%U
ad_gpo_access_control = disabled
ad_domain = test.blue.white.red
krb5_realm = TEST.BLUE.WHITE.RED
realmd_tags = manages-system joined-with-samba
cache_credentials = True
id_provider = ad
krb5_store_password_if_offline = True
default_shell = /bin/bash
ldap_id_mapping = True
use_fully_qualified_names = False
fallback_homedir = /home/%u@%d
access_provider = ad
enumerate = False
krb5_auth_timeout = 120
ignore_group_members = True
debug_level=10

[ifp]
allowed_uids = 0, 33, 114, 106
debug_level=10

[pam]
#pam_pwd_expiration_warning = 7
pam_cert_auth = True
p11_child_timeout = 240
pam_cert_db_path = /etc/ssl/certs/ca-certificates.crt
p11_uri = PKCS11:model=Rutoken%20ECP%20NFC;serial=424a928f
pam_p11_allowed_services = +cinnamon-screensaver, +mate-screensaver, +lightdm
debug_level=10

#[certmap/test.blue.white.red/nt_principal]
#maprule = (|(userPrincipalName={subject_nt_principal})(samAccountName={subject_nt_principal.short_name}))

---
krb5.conf
---
# File modified by /bin/astra-ad-sssd-client
[libdefaults]
default_realm = TEST.BLUE.WHITE.RED
canonicalize = true
pkinit_anchors = FILE:/etc/ssl/certs/ca-certificates.crt
default_ccache_name = FILE:/tmp/krb5cc_%{uid}
pkinit_eku_checking = none
pkinit_kdc_hostname = dc.test.blue.white.red
#pkinit_identities = PKCS11:librtpkcs11ecp.so
#pkinit_identities = /usr/lib/librtpkcs11ecp.so
default_tgs_enctypes =  aes256-cts-hmac-sha1-96 aes128-cts-hmac-sha1-96 RC4-HMAC DES-CBC-CRC DES3-CBC-SHA1 DES-CBC-MD5
default_tkt_enctypes =  aes256-cts-hmac-sha1-96 aes128-cts-hmac-sha1-96 RC4-HMAC DES-CBC-CRC DES3-CBC-SHA1 DES-CBC-MD5
preferred_enctypes =  aes256-cts-hmac-sha1-96 aes128-cts-hmac-sha1-96 RC4-HMAC DES-CBC-CRC DES3-CBC-SHA1 DES-CBC-MD5

[realms]
    TEST.BLUE.WHITE.RED = {
        kdc = test.blue.white.red
        admin_server = test.blue.white.red
        default_domain = test.blue.white.red
    }

[domain_realm]
    test.blue.white.red = TEST.BLUE.WHITE.RED
    .test.blue.white.red = TEST.BLUE.WHITE.RED
---

Re: SSSD не видит РуТокен ЭЦП 3.0 NFC, но видит РуТокен ЭЦП 2.0

Orontin, добрый день.
Скорее всего, дело в этой строке p11_uri = PKCS11:model=Rutoken%20ECP%20NFC;serial=424a928f
Модель, которая отдается через библиотеку rtpkcs11ecp для Рутокен ЭЦП 3.0 и Рутокен ЭЦП 2.0 не отличается.

(2024-05-14 18:08:44 отредактировано Orontin)

Re: SSSD не видит РуТокен ЭЦП 3.0 NFC, но видит РуТокен ЭЦП 2.0

Аверченко Кирилл пишет:

Orontin, добрый день.
Скорее всего, дело в этой строке p11_uri = PKCS11:model=Rutoken%20ECP%20NFC;serial=424a928f
Модель, которая отдается через библиотеку rtpkcs11ecp для Рутокен ЭЦП 3.0 и Рутокен ЭЦП 2.0 не отличается.

Я изменяю эту строку в зависимости от смарт карты, нет, дело не в ней.

Так же ее можно просто убрать\закомментировать. Будет так же 2.0 - видит, 3.0 - не видит.

Re: SSSD не видит РуТокен ЭЦП 3.0 NFC, но видит РуТокен ЭЦП 2.0

Orontin, С указанной строкой работать не будет, так как в pkcs11 нет такой модели Рутокен.
Без этой строки будет работать?

Re: SSSD не видит РуТокен ЭЦП 3.0 NFC, но видит РуТокен ЭЦП 2.0

Аверченко Кирилл пишет:

Orontin, С указанной строкой работать не будет, так как в pkcs11 нет такой модели Рутокен.
Без этой строки будет работать?

Так же ее можно просто убрать\закомментировать. Будет так же 2.0 - видит, 3.0 - не видит.

Re: SSSD не видит РуТокен ЭЦП 3.0 NFC, но видит РуТокен ЭЦП 2.0

На всякий случай, вот так задается для 2.0

PKCS11:model=Rutoken%20ECP;serial=338b74aa

Есть еще один токен 3.0 он задается так

PKCS11:model=Rutoken%20SC%20JC;serial=3f9264f6

Re: SSSD не видит РуТокен ЭЦП 3.0 NFC, но видит РуТокен ЭЦП 2.0

Orontin пишет:

PKCS11:model=Rutoken%20SC%20JC;serial=3f9264f6

А как вы получаете такую строку?

Что выдает команда:
sudo certutil -L -d /etc/pki/nssdb -h all

(2024-05-15 09:06:37 отредактировано Orontin)

Re: SSSD не видит РуТокен ЭЦП 3.0 NFC, но видит РуТокен ЭЦП 2.0

Аверченко Кирилл,

Вот так получаем модель, пробелы заменяем на %20
---
static const QMap<CK_ULONG, QString> appletTokens = {
    { TOKEN_TYPE_RUTOKEN_ECP, "Rutoken ECP" },
    { TOKEN_TYPE_RUTOKEN_LITE, "Rutoken lite" },
    { TOKEN_TYPE_RUTOKEN, "Rutoken" },
    { TOKEN_TYPE_RUTOKEN_ECPDUAL_USB, "Rutoken ECP dual USB" },
    { TOKEN_TYPE_RUTOKEN_ECPDUAL_BT, "Rutoken ECP dual BT" },
    { TOKEN_TYPE_RUTOKEN_ECPDUAL_UART, "Rutoken ECP dual UART" },
    { TOKEN_TYPE_RUTOKEN_ECP_SC, "Rutoken ECP SC" },
    { TOKEN_TYPE_RUTOKEN_SCDUAL, "Rutoken SC dual" },
    { TOKEN_TYPE_RUTOKEN_SCDUAL_NFC, "Rutoken SC dual NFC" },
    { TOKEN_TYPE_RUTOKEN_LITE_SC_JC, "Rutoken lite SC JC" },
    { TOKEN_TYPE_RUTOKEN_MIKRON, "Rutoken miron" },
    { TOKEN_TYPE_RUTOKEN_MIKRON_SC, "Rutoken miron SC" },
    { TOKEN_TYPE_RUTOKEN_MIKRON_SCDUAL, "Rutoken miron SC dual" },
    { TOKEN_TYPE_RUTOKEN_MIKRON_SCDUAL_NFC, "Rutoken miron SC dual NFC" },
    { TOKEN_TYPE_RUTOKEN_ECP_NFC, "Rutoken ECP NFC" },
    { TOKEN_TYPE_RUTOKEN_SC_JC, "Rutoken SC JC" },
    { TOKEN_TYPE_RUTOKEN_PINPAD_FAMILY, "Rutoken PINPAD family" },
    { TOKEN_TYPE_RUTOKEN_WEB, "Rutoken web" },
    { TOKEN_TYPE_RUTOKEN_ECP_SD, "Rutoken ECP SD" },
    { TOKEN_TYPE_RUTOKEN_LITE_SD, "Rutoken ECP SD lite" }
};

QString defineTokenApplet(const CK_SLOT_ID &slotId) const
{
    CK_TOKEN_INFO_EXTENDED extendedInfo = {};
    extendedInfo.ulSizeofThisStructure = sizeof(CK_TOKEN_INFO_EXTENDED);
    C_EX_GetTokenInfoExtended(slotId, &extendedInfo);
    return appletTokens[extendedInfo.ulTokenType];
}
---


Вот что выдает команда


---
admin-test@astra175:~$ sudo certutil -L -d /etc/pki/nssdb -h all

Certificate Nickname                                         Trust Attributes
                                                             SSL,S/MIME,JAR/XPI

Enter Password or Pin for "Рутоке ЭЦП 2.0":
Smart Card CA {552b84b9-49ff-493f-94e6-b37cc91a26f2}         CT,C,C
Рутоке ЭЦП 2.0:te-JaCartauser-297f6080-7315-43ae-36927_E u,u,u
admin-test@astra175:~$ sudo certutil -L -d /etc/pki/nssdb -h all

Certificate Nickname                                         Trust Attributes
                                                             SSL,S/MIME,JAR/XPI

Enter Password or Pin for "Rutoken ECP <no label>":
Smart Card CA {552b84b9-49ff-493f-94e6-b37cc91a26f2}         CT,C,C
Rutoken ECP <no label>:te-JaCartauser-d7d30d27-1861-48a9-21740_E u,u,u
admin-test@astra175:~$
---

Re: SSSD не видит РуТокен ЭЦП 3.0 NFC, но видит РуТокен ЭЦП 2.0

Orontin пишет:

---
admin-test@astra175:~$ sudo certutil -L -d /etc/pki/nssdb -h all

Certificate Nickname                                         Trust Attributes
                                                             SSL,S/MIME,JAR/XPI

Enter Password or Pin for "Рутоке ЭЦП 2.0":
Smart Card CA {552b84b9-49ff-493f-94e6-b37cc91a26f2}         CT,C,C
Рутоке ЭЦП 2.0:te-JaCartauser-297f6080-7315-43ae-36927_E u,u,u
admin-test@astra175:~$ sudo certutil -L -d /etc/pki/nssdb -h all

Certificate Nickname                                         Trust Attributes
                                                             SSL,S/MIME,JAR/XPI

Enter Password or Pin for "Rutoken ECP <no label>":
Smart Card CA {552b84b9-49ff-493f-94e6-b37cc91a26f2}         CT,C,C
Rutoken ECP <no label>:te-JaCartauser-d7d30d27-1861-48a9-21740_E u,u,u
admin-test@astra175:~$
---

Судя по всему сертификаты успешно видны.

В какой момент у вас не показываются сертификаты?
Какая ОС и версия библиотеки rtpkcs11ecp у вас используется?
Правильно я понимаю, что вы пытаетесь настроить вход в домен Windows по сертификату?

(2024-05-15 10:57:41 отредактировано Orontin)

Re: SSSD не видит РуТокен ЭЦП 3.0 NFC, но видит РуТокен ЭЦП 2.0

Аверченко Кирилл,

Астра 1.7.5, версия librtPKCS - 2.14.0.0 от 25.03.2024, машина была введена в домен AD Windows

Делаем
su пользователь_сетевой
При 2.0 происходит запрос PIN.
При 3.0  происходит запрос Пароля.


В логах видно что когда вставлен 2.0 токен, то SSSD видит сертификат.
Для 3.0 вообще никаких сообщений касательно поиска сертификатов нету.

Re: SSSD не видит РуТокен ЭЦП 3.0 NFC, но видит РуТокен ЭЦП 2.0

Если убрать из файла sssd.conf строку с p11_uri, перезапустить сервис sssd, такое же поведение?
Можете убрать из файла sssd.conf из секции [pam] все, кроме
[pam]
pam_cert_auth = True
# Указываем название сервиса, используемого лок скрином. Если сервис отсутствует, то данную строку не используют
pam_p11_allowed_services = +<service_name>

Re: SSSD не видит РуТокен ЭЦП 3.0 NFC, но видит РуТокен ЭЦП 2.0

Аверченко Кирилл пишет:

Если убрать из файла sssd.conf строку с p11_uri, перезапустить сервис sssd, такое же поведение?
Можете убрать из файла sssd.conf из секции [pam] все, кроме
[pam]
pam_cert_auth = True
# Указываем название сервиса, используемого лок скрином. Если сервис отсутствует, то данную строку не используют
pam_p11_allowed_services = +<service_name>


Да,
1) 2.0 sssd видит
2) 3.0 sssd не видит.

Re: SSSD не видит РуТокен ЭЦП 3.0 NFC, но видит РуТокен ЭЦП 2.0

Можете прислать вывод команды:
pkcs11-tool --module /usr/lib/librtpkcs11ecp.so -T
для обоих токенов?

Re: SSSD не видит РуТокен ЭЦП 3.0 NFC, но видит РуТокен ЭЦП 2.0

3.0
---
Available slots:
Slot 0 (0x1): ACS ACR1252 Dual Reader [ACR1252 Dual Reader PICC] 00 00
  token label        : 123123123
  token manufacturer : Aktiv Co.
  token model        : Rutoken ECP
  token flags        : login required, rng, token initialized, PIN initialized
  hardware version   : 60.1
  firmware version   : 30.2
  serial num         : 424a928f
  pin min/max        : 6/32
---

2.0
---
Available slots:
Slot 0 (0x0): Aktiv Rutoken ECP 00 00
  token label        : Рутоке ЭЦП 2.0
  token manufacturer : Aktiv Co.
  token model        : Rutoken ECP
  token flags        : login required, rng, token initialized, PIN initialized
  hardware version   : 20.4
  firmware version   : 18.11
  serial num         : 338b74aa
  pin min/max        : 6/32
---

Re: SSSD не видит РуТокен ЭЦП 3.0 NFC, но видит РуТокен ЭЦП 2.0

Пришлите, пожалуйста, все файлы логов из /var/log/sssd/
Если возможно, то просьба сделать два комплекта логов- успешный вход через su и пин-код токена и так же неуспешный.