Дерево страниц

Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.

...

Image Added

Оглавление

Стенд:

...


  • Сервер — Astra Linux Smolensk SE 1.6, Update 2, Bulletin 20190222SE16;
  • Клиент — Astra Linux Smolensk SE 1.6, Update 2, Bulletin 20190222SE16;
  • JaCarta PKI;


Информация
titleСтатья применима для:
  • Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.6)
  • Astra Linux Special Edition РУСБ.10015-16 исп. 1 и исп. 2
  • Astra Linux Special Edition РУСБ.10265-01 (очередное обновление 8.1)
  • Astra Linux Common Edition 2.12
Также применимо для Astra Linux: Орёл 2.12, Ленинград 8.1, Севастополь 6.2


Предполагается, что Astra Linux Directory (ALD) уже развернут, существует минимум один доменный пользователь, который может пройти  аутентификацию по паролю, время клиента и сервера совпадают (ntp).


Терминология Kerberos

  • Билет (ticket) – временные данные, выдаваемые клиенту для аутентификации на сервере, на котором располагается необходимая служба.
  • Клиент (client) – некая сущность в сети (пользователь, хост или сервис), которая может получить билет от Kerberos.
  • Центр выдачи ключей (key distribution center, KDC) – сервис, выдающий билеты Kerberos.
  • Область (realm) – сеть, используемая Kerberos, состоящая из серверов KDC и множества клиентов. Имя realm регистрозависимо, обычно пишется в верхнем регистре и совпадает с именем домена.
  • Принципал (principal) – уникальное имя для клиента, для которого разрешается аутентификация в Kerberos. Записывается в виде root[/instance]@REALM.


Установка драйверов на сервер и клиент

...

Для обеспечения работы со смарт-картой JaCarta на клиенте и сервере установите следующие пакеты: libccid, pcscd, libpcsclite1, opensc.

...

Блок кода
user ~$ 

$ sudo dpkg -i название_загруженного_пакета.deb



Установка и настройка центра сертификации на сервере

...


Image Modified


Для работы модуля pkinit нам придется воспользоваться OpenSSL в качестве УЦ(CA), чтобы создать ключевые пары и сертификаты клиента и сервера.

...

Примечание

В Common name указать имя домена. В случае нашего примера: SMARTCARD.ALD 

Image Modified



3) Создайте ключ и сертификат KDC:

...

Блок кода
systemctl restart krb5-admin-server
systemctl restart krb5-kdc



Подготовка смарт-карты. Выпуск ключей и сертификата пользователя

...


Подключите устройство, которое следует подготовить.

...

Предупреждение

В зависимости от модели токена (PKI / GOST), в дальнейшем требуется указывать определенную библиотеку ( libjcPKCS11-2.so или libASEP11.so)


Проверка работы JaCarta в системе

...


Для проверки работы JaCarta:

Блок кода
user ~$ 

libjcPKCS11-2.so (для JaCarta PKI/ГОСТ/FLASH):
$ pkcs11-tool --module /usr/lib/libjcPKCS11-2.so -T

libASEP11.so (для JaCarta PKI)
$ pkcs11-tool --module /usr/lib/x64-athena/libASEP11.so -T

Image Modified


Примечание

путь до библиотеки libjcPKCS11-2.so, libASEP11.so может различаться.

Для того чтобы определить путь до библиотеки libjcPKCS11-2.so введите команду:
$ find /usr/*(lib|lib64) -name libjcPKCS11-2.so


Инициализация устройства

...


Для инициализации токена необходимо воспользоваться утилитой pkcs11-tool.

...

Информация

--slot 0x1ffff — указывает в какой виртуальный слот подключено устройство. Как правило, это слот 0, но могут быть и другие значения – 1,2 и т.д.

--init-token – команда инициализации токена.

--pin - пин код пользователя JaCarta. По умолчанию имеет значение 11111111

--so-pin 00000000 – ПИН код администратора JaCarta PKI. По умолчанию имеет значение 00000000

--label 'JaCarta PKI' - метка(название) устройства.

--module - указывает путь до библиотеки libjcPKCS11-2.so


Image Modified


Предупреждение

Внимание! Инициализация устройства удалит все данные на JaCarta PKI без возможности восстановления. 


Генерация пары ключей на JaCarta 

...

Сгенерируйте ключи на устройстве, для этого введите следующую команду:

...

Примечание

-keypairgen --key-type rsa:2048 — указывает, что должны быть сгенерированы RSA ключи длиной 2048 бит; 
--id 33 — устанавливает атрибут CKA_ID ключа. CKA_ID может быть любым; 
--label “test1 key” — устанавливает атрибут CKA_LABEL(имя) ключа. Атрибут может быть любым; 


Генерация запроса на сертификат

...


Сгенерируйте запрос на сертификат с помощью утилиты openssl. Для этого введите следующие команды:

...

Примечание

В случае если openssl выдаст ошибку о  неверном слоте, № слота следует укзать в 10-м формате, например: 131071:33

Выпуск сертификата для пользователя

...


Необходимо установить переменные окружения:

...

Примечание

--write-object ./client.cer— указывает, что необходимо записать объект и путь до него;
--type 'cert'— указывает, что тип записываемого объекта - сертификат;
'cert' --label 'test1'— устанавливает атрибут CKA_LABEL(имя) сертификата. Атрибут может быть любым;


Настройка клиента. Проверка работоспособности

...


Создайте на клиенте каталог /etc/krb5/. Скопируйте в /etc/krb5/ сертификат CA (cacert.pem) c сервера.

...

Примечание

Для debugga, перед командой kinit следует ввести:

env KRB5_TRACE=/dev/stdout kinit test1 (или другое имя пользователя)


Image Modified


Вход выполняется с подключенным токеном к компьютеру. При графическом входе в поле Login вводится имя пользователя, в поле Password вводится <PIN пользователя>. При консольном входе все аналогично, только в момент ввода пароля будет сообщено, что требуется <PIN пользователя>.


Блок кода
$ login test1


Настройка политики аутентификации

...

Существует возможность указания дополнительных параметров модуля аутентификации pam_krb5.so в файле /etc/pam.d/common-auth в строке относящейся к pam_krb5.so:

Image Modified

– try_pkinit — режим при котором осуществляется попытка аутентификации с помощью устройств PKCS-11, в случае провала попытки предоставляется возможность входа с помощью Kerberos пароля пользователя;

...

Примечание

После обновления pam-auth-update, опции pkinit исчезнут. 

Для того, чтобы опция сохранялась принудительно, в конфигурационном файле /usr/share/pam-configs/krb5 в поле Auth-Initial следует дописать одну из опций.

Image Modified


Более подробное описание см. в руководстве man.


Полезные ссылки

...

...