Смоленск 1.5 использование двух-факторной аутентификации

ingener

New member
Сообщения
21
#1
не могу добиться авторизации доменных пользователей с использованием Rutoken ЭЦП 2.0 . все проверил не один раз!
аутентификация локального пользователя проходит на УРА. уже залез в дебри протокола Kerberos, pam
и остается пока неясным вопрос - как привязан пользователь к сертификату?
 

ingener

New member
Сообщения
21
#3
Добрый день, есть инструкция, но она немного старовата https://wiki.astralinux.ru/pages/viewpage.action?pageId=3278014
я эту инструкцию перечитал вдоль и поперек!
у меня складывается впечатление, что проблема с Rutoken, и аргументом здесь ошибка при выполнении команды:
vvv@test:~$ pkcs15-init -G rsa/2048 --auth-id 02 --id 3b --label "testuser's key" --public-key-label "testuser's public key"
Using reader with a card: Generic CCID Reader 00 00
User PIN [User PIN] required.
Please enter User PIN [User PIN]:
Failed to generate key: Incorrect parameters in APDU

а вот если генерировать ключ командой
pkcs11-tool --module /usr/lib/librtpkcs11ecp.so --keypairgen --key-type rsa:2048 -l --id 3b
все проходит без ошибок, только аутентификации по Rutoken нет. задал этот вопрос Рутокену
 

ingener

New member
Сообщения
21
#4
первую проблему удалось решить - оказалось, что версия opensc не поддерживает криптографические механизмы новой карты Rutoken. в Astra Linux стоит 0.12.2.
на сегодняшний день на сайте разработчика уже есть версия 0.18.0. инсталляция описана здесь https://github.com/OpenSC/OpenSC/wiki/Compiling-and-Installing-on-Unix-flavors
однако, после обновления пакета появилась новая проблема - при генерации запроса на сертификат openssl не находит ключ. утилита pksc15-tool показывает новую сущность на Rutoken - секретный ключ. а то что сгенерировано командой pkcs15-init -G rsa/2048 ... на Rutoken имеется но с сущностью частный ключ.
 

cogniter

Moderator
Team Astra Linux
Сообщения
140
#5
если не секрет, на какой версии Астры пробуете?
 

ingener

New member
Сообщения
21
#6
Linux test 4.2.0-24-generic #1astra1 SMP Wed Feb 21 12:54:27 UTC 2018 x86_64 GNU/Linux
Версия 1.5 релиз Смоленск
 

ingener

New member
Сообщения
21
#7
с генерацией ключа и записью сертификата на рутокен с использованием утилиты pkcs15 наверное разобрался. теперь при выполнении команды kinit выдается ошибка
KDC name mismatch while getting initial credentials
причем система не предлагает ввести пароль после неуспешной аутентификации
 

Dim

New member
Team Astra Linux
Сообщения
35
#8
Данные статьи, на нашем и их портале, разработаны для 4.2.0-23-generic #28astra39
 

ingener

New member
Сообщения
21
#9
замечательно! а как же обновления безопасности БЮЛЛЕТЕНЬ № 02032018SE15 ?
проверил на 4.2.0.-23... результат тот же!

в логах kdc.log на сервере есть такая запись
июня 22 11:17:05 aldc krb5kdc[20236](info): preauth (encrypted_timestamp) verify failure: Decrypt integrity check failed
июня 22 11:17:05 aldc krb5kdc[20236](info): preauth (encrypted_timestamp) verify failure: Decrypt integrity check failed
июня 22 11:17:05 aldc krb5kdc[20236](info): AS_REQ (3 etypes {32 18 23}) 10.0.13.128: PREAUTH_FAILED: vvv@AKO.KOSTROMA.GOV.RU for krbtgt/AKO.KOSTROMA.GOV.RU@AKO.KOSTROMA.GOV.RU, Decrypt integrity check failed
июня 22 11:17:05 aldc krb5kdc[20236](info): AS_REQ (3 etypes {32 18 23}) 10.0.13.128: PREAUTH_FAILED: vvv@AKO.KOSTROMA.GOV.RU for krbtgt/AKO.KOSTROMA.GOV.RU@AKO.KOSTROMA.GOV.RU, Decrypt integrity check failed

первые две строчки связаны с вводом правильного pin-кода, вторые две строчки - с вводом неправильного пароля
 
Последнее редактирование:

ingener

New member
Сообщения
21
#10
в сертификате есть такая запись

X509v3 Subject Alternative Name:
othername:<unsupported>
X509v3 Issuer Alternative Name:
<EMPTY>

если поиграться с файлом pkinit_extantion, и в раздел [ client_crt ] заменить строку subjecyAltName на такую subjecyAltName= DNS:vvv, то может выйти
X509v3 Subject Alternative Name:
DNS:vvv
X509v3 Issuer Alternative Name:
<EMPTY>

а поле Subject Alternative Name и привязывает сертификат к пользователю! так говорит google....
 

ingener

New member
Сообщения
21
#11
если посмотреть подписанный сертификат пользователя или KDC в формате asn1parse, то имя пользователя и KDC используется:
935:d=5 hl=2 l= 3 prim: OBJECT :X509v3 Subject Alternative Name
940:d=5 hl=2 l= 57 prim: OCTET STRING [HEX DUMP]:3037A03506062B0601050202A02B3029A0151B13414B4F2E4B4F5354524F4D412E474F562E5255A110300EA003020101A10730051B03616161
999:d=4 hl=2 l= 9 cons: SEQUENCE
1001:d=5 hl=2 l= 3 prim: OBJECT :X509v3 Issuer Alternative Name
1006:d=5 hl=2 l= 2 prim: OCTET STRING [HEX DUMP]:3000
видимо сервер не может преобразовать hash имени пользователя сертификата (Subject Alternative Name) и правильно сопоставит его с именем пользователя в базе ALD
какие будут мнения?
 

ingener

New member
Сообщения
21
#13
проблема оказалась в неправильной генерации сертификата KDC. при объявлении локальных переменных нужно использовать только REALM, а файл pkinit_extantion урезать до секции [ kdc_cert ]