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

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

Ключ

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

Оглавление

Image Removed




Информация
titleСтатья применима к:
  • Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.
6)
  • 7), РУСБ.10015-10
  • Astra Linux Special Edition РУСБ.10015-
16 исп. 1 и исп. 2
  • 17
  • Astra Linux Special Edition РУСБ.10015-37 (очередное обновление 7.7)
  • Astra Linux Special Edition РУСБ.
10265
  • 10015-
01
  • 03 (очередное обновление
8
  • 7.
1
  • 6)
  • Astra Linux
Common Edition 2.12
  • Special Edition РУСБ.10152-02 (очередное обновление 4.7)
  • Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.6) с установленным обновлением БЮЛЛЕТЕНЬ № 20190222SE16 (оперативное обновление 2)
  • Astra Linux Special Edition РУСБ.10015-16 исп. 1
  • Astra Linux Special Edition РУСБ.10015-16 исп. 2
  • Astra Linux Special Edition РУСБ.10265-01 (очередное обновление 8.1)
  • Astra Linux Common Edition 2.12


Стенд

Состав стенда:

  • Удостоверяющий центр (УЦ);
  • Сервер;
  • Клиент;

Удостоверяющий центр может быть объединен с сервером или с клиентом.

Если на сервере предполагается осуществлять двухфакторную аутентификацию, то сервер выступает в роли клиента и требует соответствующих настроек;

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

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

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


Image Added

Установка пакетов для доступа к токенам

Стенд:

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

Предполагается, что 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.

Для обеспечения работы со смарт-картой подсистемы Kerberos добавочно к предустановленным пакетам ald/kerberos установите пакет krb5-pkinit, libpam-krb5 на клиенте и сервере.

Для обеспечения возможности выпуска ключей и сертификатов на JaCarta  на сервере также установите пакеты libengine-pkcs11-openssl1.1

Для обеспечения возможности обращения к смарт-карте JaCarta, на клиенте и сервере следует  установить библиотеку libjcPKCS11-2.so (для JaCarta PKI/ГОСТ/FLASH), libASEP11.so (для JaCarta PKI)  которую следует скачать с официального сайта Аладдина:  

Для обеспечения доступа к токенам на компьютерах, работающих с токенами (УЦ, клиенты, сервер, если он выступает в роли клиента) должен быть установлен пакет jcpkcs11-2. Этот пакет предоставляется производителем токенов и не входит в дистрибутивы Astra Linux. Для получения пакета и инструкций по его установке следует обратиться к производителю:

https://www.aladdin-rd.ru/support/downloads/jacarta.

Создание УЦ и работа с УЦ

Установка пакетов

  1. Установить пакет jcpkcs11-2 в соответствии с инструкциями производителя;
  2. Установить пакеты из дистрибутива Astra Linux:

    Command
    sudo
  1. apt
  1. install
libccid pcscd libpcsclite1 pcsc-tools opensc krb5-pkinit libpam-krb5
  1. -y opensc libengine-pkcs11-openssl1.1
Command
sudo dpkg -i <имя_загруженного_файла>

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

Image Removed

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

OpenSSL 
  1. pcsc-tools


Создание и настройка УЦ

В качестве инструмента для создания УЦ в данном примере используется OpenSSL — криптографический пакет с открытым исходным кодом для работы с SSL/TLS. Позволяет Пакет позволяет создавать ключи RSA, DH, DSA, ГОСТ и сертификаты X.509, подписывать их, формировать CSR и CRT. Все настройки в руководстве Далее все настройки далее выполняются для тестового домена SMARTCARD.ALD. Примем, что:
  • сервер и
клиент
  • клиенты принадлежат домену SMARTCARD.ALD
,
  • ;
  • имя
сервера
  • службы - kdc
, а
  • ;
  • имя клиента - client.

При настройке рабочей системы используйте имя реальные имена вашего домена, сервера и клиента.

Выполните следующие действияПорядок действий по настройке:1) Создайте каталог CA

  1. Создать каталог удостоверяющего центра (УЦ) командой:

    Command
    sudo mkdir /etc/ssl/CA
и перейдите в него.
  1. В этом каталоге будут размещаться сгенерированные ключи и сертификаты.

2) Создайте ключ и сертификат CA

  1. Перейти в созданный каталог:

    Command
openssl
  1. cd /etc/ssl/CA


  2. Создать ключ и сертификат УЦ, указав собственные параметры в опции -subst:

    Примечание

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


    Command
    sudo openssl genrsa -out cakey.pem 2048
    sudo openssl req -batch -new -key cakey.pem  -
new -
  1. out cacert.pem -subj '/C=RU/ST=MO/L=Moscow/O=Astra/OU=Wiki/emailAddress= /CN=SMARTCARD.ALD' -x509 -days 3650
-out cacert.pem

  1. Примечание

    Параметр days

-
  1. определяет количество дней действия сертификата

CA

В диалоге заполните необходимую информацию о вашем центре сертификации.

Примечание

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

Image Removed

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

  1. УЦ.


Создание ключей службы аутентификации kdc

  1. Создать ключ и сертификат службы KDC, указав собственные параметры в опции -subst:

    Примечание

    В Common name (CN) обязательно указать имя службы kdc.


    Command

    sudo

Command
  1. openssl genrsa -out kdckey.pem 2048
    sudo openssl req -batch -new -key kdckey.pem -out kdc.req

-key kdckey.pem

В диалоге заполните необходимую информацию о вашем сервере.

Примечание

В Common name указать kdc.

4) Установите
  1.    -subj '/C=RU/ST=MO/L=Moscow/O=Astra/OU=Wiki/emailAddress= /CN=kdc'


  2. Установить переменные среды. Переменные среды устанавливаются в рамках сессии

и
  1. , не устанавливаются для других сессий

и
  1. , не сохраняются после закрытия сессии

.
  1. :

    Command
    export REALM=SMARTCARD.ALD
    export CLIENT=kdc
Для того, чтобы убедиться что

  1. Убедиться что переменные указаны верно,

воспользуйтесь
  1. воспользовавшись командой:

    Command
    env | grep -
E
  1. wE "REALM|CLIENT"
5) Загрузите

  1. Загрузить файл pkinit_extensions и

сохраните 
  1. сохранить в каталог в котором

, Вы выполняете   View filename
  1. выполняются команды:

  1. pkinit_extensions

height150
  1. .

    Раскрыть
    titleсодержимое файла pkinit_extensions:


    Блок кода
    [ kdc_cert ]
    basicConstraints=CA:FALSE
     
    # Here are some examples of the usage of nsCertType. If it is omitted
    keyUsage = nonRepudiation, digitalSignature, keyEncipherment, keyAgreement
     
    #Pkinit EKU
    extendedKeyUsage = 1.3.6.1.5.2.3.5
     
    subjectKeyIdentifier=hash
    authorityKeyIdentifier=keyid,issuer
     
    # Copy subject details
     
    issuerAltName=issuer:copy
     
    # Add id-pkinit-san (pkinit subjectAlternativeName)
    subjectAltName=otherName:1.3.6.1.5.2.2;SEQUENCE:kdc_princ_name
     
    [kdc_princ_name]
    realm = EXP:0, GeneralString:${ENV::REALM}
    principal_name = EXP:1, SEQUENCE:kdc_principal_seq
     
    [kdc_principal_seq]
    name_type = EXP:0, INTEGER:1
    name_string = EXP:1, SEQUENCE:kdc_principals
     
    [kdc_principals]
    princ1 = GeneralString:krbtgt
    princ2 = GeneralString:${ENV::REALM}
     
    [ client_cert ]
     
    # These extensions are added when 'ca' signs a request.
     
    basicConstraints=CA:FALSE
     
    keyUsage = digitalSignature, keyEncipherment, keyAgreement
     
    extendedKeyUsage =  1.3.6.1.5.2.3.4
    subjectKeyIdentifier=hash
    authorityKeyIdentifier=keyid,issuer
     
     
    subjectAltName=otherName:1.3.6.1.5.2.2;SEQUENCE:princ_name
     
     
    # Copy subject details
     
    issuerAltName=issuer:copy
     
    [princ_name]
    realm = EXP:0, GeneralString:${ENV::REALM}
    principal_name = EXP:1, SEQUENCE:principal_seq
     
    [principal_seq]
    name_type = EXP:0, INTEGER:1
    name_string = EXP:1, SEQUENCE:principals
     
    [principals]
    princ1 = GeneralString:${ENV::CLIENT}
6) Выпустите


  1. Выпустить сертификат KDC:

    Command
$
  1. sudo openssl x509 -req -in kdc.req -CAkey cakey.pem -CA cacert.pem -out kdc.pem -extfile pkinit_extensions -extensions kdc_cert -CAcreateserial -days 365

7) Файлы kdc.pem, kdckey.pem, cacert.pem перенесите в /var/lib/krb5kdc/

8) Создайте резервную копию файла /etc/krb5kdc/kdc.conf. Отредактируйте /etc/krb5kdc/kdc.conf, дополнив секцию [kdcdefaults] следующими записями:

Command
pkinit_identity = FILE:/var/lib/krb5kdc/kdc.pem,/var/lib/krb5kdc/kdckey.pem pkinit_anchors = FILE:/var/lib/krb5kdc/cacert.pem

Первая запись задаёт ключи и сертификат сервера, а вторая указывает на корневой сертификат центра сертификации.

9. Для принятия изменений выполните:

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

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

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

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

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

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

Для проверки работы JaCarta:
libjcPKCS11-2.so (для JaCarta PKI/ГОСТ/FLASH

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

  1. Подключить устройство, которое следует подготовить. В зависимости от используемой модели токена (PKI или GOST), в дальнейшем требуется использовать определенную библиотеку ( libjcPKCS11-2.so или libASEP11.so). Узнать, где расположены библиотеки можно с помощью команды:

    Command
    Titledpkg -L jcpkcs11-2 | egrep "(libjcPKCS11-2.so|libASEP11.so)"
    /usr/lib/libASEP11.so
    /usr/lib/libjcPKCS11-2.so.2.7.3

    Далее предполагается, что библиотеки расположены в каталоге /usr/lib/.

  2. Проверить работоспособность  JaCarta:

    1. При использовании библиотеки libjcPKCS11-2.so (для JaCarta PKI/ГОСТ/FLASH):

      Command
      pkcs11-tool --module /usr/lib/libjcPKCS11-2.so -T


    2. при использовании библиотеки libASEP11.so (для JaCarta PKI):

      Command
      pkcs11-tool --module /usr/lib/
libjcPKCS11-2
    1. libASEP11.so -T

  1. Инициализировать токен:

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

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

libASEP11.so (для JaCarta PKI):

  1. Command
    pkcs11-tool
--module /usr/lib/x64-athena/libASEP11.so -T

Image Removed

Примечание

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

  1.  --slot 0x1ffff --init-token --so-pin 00000000 --label 'JaCarta PKI' --module /usr/lib/libjcPKCS11-2.so


  2. Задать ПИН-код пользователя:

Для того чтобы определить путь до библиотеки libjcPKCS11-2.so введите команду:

Command
find /usr/*(lib|lib64) -name libjcPKCS11-2.so

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

Для инициализации токена необходимо воспользоваться утилитой pkcs11-tool.
  1. Command
    pkcs11-tool --slot 0x1ffff --init-
token
  1. pin --so-pin 00000000 --
label 'JaCarta PKI'
  1. login --pin 11111111 --module /usr/lib/libjcPKCS11-2.so

Для задания ПИН кода пользователя используйте команду:

Commandpkcs11-tool

  1. Информация

    --slot

0x1ffff --init-pin --so-pin 00000000 --login --pin 11111111 --module /usr/lib/libjcPKCS11-2.so Информация--slot 0x1ffff — указывает в какой виртуальный слот подключено устройство. Как правило
  1. 0x1ffff — указывает используемый виртуальный слот токена. Как правило, это слот 0, но могут быть и другие значения – 1,2 и т.д.;
    --init-token – команда инициализации токена

.
  1. ;
    --pin - пин код пользователя JaCarta. По умолчанию имеет значение 11111111;
    --so-pin 00000000 – ПИН код администратора JaCarta PKI. По умолчанию имеет значение 00000000;
    --label 'JaCarta PKI' - метка(название) устройства

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

Image Removed

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

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

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

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

  1. Создать на устройстве пару ключей:

    Command

    pkcs11-tool --slot 0x1ffff --login --pin 11111111 --keypairgen --key-type rsa:2048 --id 33 --label “2fa_test1_key” --module /usr/lib/libjcPKCS11-2.so

Image Removed

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

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

Сгенерируйте

  1. Создать запрос на сертификат с помощью

утилиты
  1. инструмента openssl. Для этого

введите
  1. выполнить следующие команды:

    Примечание
1)
  1. В Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.6) pkcs11 libengine-pkcs11-openssl версии 1.0.2 не совместим с библиотекой libjcPKCS11-2.so. Для корректного функционирования, следует:

    • либо скачать и установить подписанный пакет libengine-pkcs11-openssl1.1 версии 0.4.4-4 для Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.6):

2) Либо
    • либо установить
и обновить
Command
Titleopenssl
OpenSSL> engine dynamic -pre SO_PATH:/usr/lib/x86_64-linux-gnu/engines-1.1/pkcs11.so -pre ID:pkcs11 -pre LIST_ADD:1  -pre LOAD -pre MODULE_
  1. Используемый для генерации сертификата закрытый ключ идентифицируется парой <десятичный_номер_слота>:<id>. Для токенов Рутокен слоты нумеруются числами вида 0x1, 0x2 и т.д., для токенов Аладдин слоты нумеруются как 0x1ffff, 0x2ffff и т.д. Слоту 0x1ffff соответствует десятичный номер 131071 (используется ниже в примере команды):

    Command
    Titleopenssl

    OpenSSL> engine dynamic -pre SO_PATH:/usr/lib/

libjcPKCS11-
  1. x86_64-linux-gnu/engines-1.1/pkcs11.so -pre ID:pkcs11 -pre LIST_ADD:1  -pre LOAD -pre MODULE_PATH:/usr/lib/libjcPKCS11-2.so
    (dynamic) Dynamic engine loading support
    [Success]:

 SO
  1.  SO_PATH:/usr/lib/x86_64-linux-gnu/engines-1.1/pkcs11.so
    [Success]: ID:pkcs11
    [Success]: LIST_ADD:1
    [Success]: LOAD
    [Success]:

 MODULE
  1.  MODULE_PATH:/usr/lib/libjcPKCS11-2.so
    Loaded: (pkcs11) pkcs11 engine
    OpenSSL> req -engine pkcs11 -new -key 131071:33 -keyform engine -out client.req 
    engine "pkcs11" set.
    Enter PKCS#11 token PIN for JaCarta ECP <AstraLinux>:
    You are about to be asked to enter information that will be incorporated
    into your certificate request.
    What you are about to enter is what is called a Distinguished Name or a DN.
    There are quite a few fields but you can leave some blank
    For some fields there will be a default value,
    If you enter '.', the field will be left blank.
    -----
    Country Name (2 letter code) [AU]:RU
    State or Province Name (full name) [Some-State]:Moscow
    Locality Name (eg, city) []:
    Organization Name (eg, company) [Internet Widgits Pty Ltd]: Rusbitech  
    Organizational Unit Name (eg, section) []: Astra
    Common Name (e.g. server FQDN or YOUR name) []:test1 (!Ваш_Пользователь!)
    Email Address []:*********
     
    OpenSSL> exit


    Примечание

    -new -key 131071:33, где 131071— номер виртуального слота с устройством (0x1ffff) , 33— атрибут CKA_ID раннее сгенерированных ключей.

    в поле CN = следует указать имя пользователя

Примечание
  1. Узнать номер виртуального слота можно используя команду:

    Command
    pkcs11-tool --module /usr/lib/libjcPKCS11-2.so -L



    Примечание

    В случае если openssl выдаст ошибку о  неверном слоте, № слота следует

укзать
  1. указать в

10-м
  1. десятичном формате, например: 131071:33

Выпуск сертификата

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

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

      Command

      export REALM=<имя_домена>
      export CLIENT=<имя_доменного_пользователя>

Для того, чтобы убедиться

    1. Убедиться что переменные указаны верно

, воспользуйтесь командой
    1. :

note
    1. Command

      env | grep -

E
    1. wE "REALM|CLIENT"

и выпустить

    1. Выпустить сертификат

на
    1. пользователя:

      Command
$
    1. sudo openssl x509 -CAkey cakey.pem -CA cacert.pem -req -in client.req -extensions client_cert -extfile pkinit_extensions -out client.pem -days 365
Далее перекодируйте

    1. Перекодировать полученный сертификат из формата PEM в формат DER

. 
    1. :

      Command
#
    1. sudo openssl x509 -in client.pem -out client.cer -inform PEM -outform DER
Запишите

    1. Записать полученный сертификат на токен:

      Command
      pkcs11-tool --slot 0x1ffff --login --pin 11111111 --write-object client.cer --type 'cert' --label 'test1' --id
33 --module /usr/lib/libjcPKCS11-2.so Примечание--write-object ./client.cer— указывает, что необходимо записать объект и путь до него;
--type 'cert'— указывает, что тип записываемого объекта - сертификат;
'cert' --label 'test1'— устанавливает атрибут CKA_LABEL(имя) сертификата. Атрибут может быть любым;
    1. 33 --module /usr/lib/libjcPKCS11-2.so


      Примечание

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


Подготовка сервера

  1. Созданные в УЦ файлы kdc.pem, kdckey.pem, cacert.pem переместить в каталог /var/lib/krb5kdc/ на сервере;

  2. Создать резервную копию файла /etc/krb5kdc/kdc.conf и отредактировать файл /etc/krb5kdc/kdc.conf, дополнив секцию [kdcdefaults] следующими записями:

    Блок кода
    pkinit_identity = FILE:/var/lib/krb5kdc/kdc.pem,/var/lib/krb5kdc/kdckey.pem
    pkinit_anchors = FILE:/var/lib/krb5kdc/cacert.pem

    Первая запись задаёт ключи и сертификат сервера, а вторая указывает на корневой сертификат центра сертификации. Для этого можно использовать команды:

    Command
    sudo sed -i.`date +%Y-%m%d-%H:%M:%S` "/\[kdcdefaults\]/a \ pkinit_anchors = FILE:/var/lib/krb5kdc/cacert.pem" /etc/krb5kdc/kdc.conf
    sudo sed -i                          "/\[kdcdefaults\]/a \ pkinit_identity = FILE:/var/lib/krb5kdc/kdc.pem,/var/lib/krb5kdc/kdckey.pem" /etc/krb5kdc/kdc.conf


  3. Для принятия изменений выполнить команды:

    Command
    sudo systemctl restart krb5-admin-server
    sudo systemctl restart krb5-kdc


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

Создайте
  1. Создать на клиенте

каталог 
  1. каталог /etc/krb5/:

    Command
    sudo mkdir /etc/krb5/
. Скопируйте в 

  1. Скопировать в созданный каталог /etc/krb5/
 
  1. сертификат
CA 
  1. УЦ(файл cacert.pem) c
сервера.Настройте kerberos в
  1. компьютера, выполняющего роль УЦ;
  2. В файле /etc/krb5.

conf. Секцию
  1. conf  секцию [libdefaults]

дополните
  1. дополнить следующими строками:

    Блок кода
    [libdefaults] 
    default_realm = SMARTCARD.ALD
    pkinit_anchors = FILE:/etc/krb5/cacert.pem
    # для аутентификации по токену
    pkinit_identities = PKCS11:/usr/lib/libjcPKCS11-2.so

  1. Подключить токен к компьютеру;
  2. Выполнить

Выполните
  1. проверку: 

    Command
$
  1. kinit


  2. Когда появится строка запроса PIN-кода к карте

, введите его.
  1. - ввести PIN-код;

  2. Для проверки того, что

,
  1. билет

kerberos-тикет
  1. Kerberos был успешно получен

для пользователя
  1. пользователем,

введите
  1. ввести команду:

    Command
    klist


  2. Для удаления полученного билета:

    Command
    kdestroy


Примечание

Для включения отадки перед командой отладки команду kinit следует использовать так:

Command
env KRB5_TRACE=/dev/stdout kinit <имя_пользователя>

Image Removed



Вход выполняется Далее вход пользователя следует выполнять с подключенным токеном к компьютеру токеном.

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

Command
login <имя_пользователя>

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


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

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

Примечание

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

Image Modified

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

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




...