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

Вы просматриваете старую версию данной страницы. Смотрите текущую версию.

Сравнить с текущим просмотр истории страницы

« Предыдущий Версия 32 Следующий »

Какие Рутокены работают с Astra Linux


Рутокен  S– модель для надежного хранения контейнеров ГОСТ-криптопровайдеров: КриптоПро, VipNet и других. Сертифицированы во ФСТЭК.

Рутокен  Lite – модель для надежного хранения контейнеров ГОСТ-криптопровайдеров: КриптоПро, VipNet и других. Сертифицированы во ФСТЭК. Обладает интерфейсом CCID и не требует установки дополнительных драйверов

Рутокен ЭЦП 2.0 – имеет встроенный криптопровайдер и высокую производительность. Формирует квалифицированную электронную подпись (КЭП) при помощи сертифицированной реализации российских криптографических алгоритмов непосредственно в самом чипе устройстве, что повышает безопасность использования ЭП — ключ подписи никогда не покидает токен, его невозможно использовать или скопировать без ведома владельца. Работает с алгоритмами ГОСТ 2012. Сертифицированы в ФСБ и ФСТЭК.

Широко используется в системе ЕГАИС с 2016 года. В активном пользовании более полумиллиона устройств с квалифицированной электронной подписью.

Тестирование электронной подписи в Astra Linux:
Кроме двухфакторной аутентификации, можно проверять также подписание документов.

Для Рутокен Lite/S подписание проверить через:

1) КриптоАРМ eSign или КриптоАРМ ГОСТ 
2) Утилиту csptestf из состава КриптоПро CSP. Подробно в разделе на Подпись средствами «КриптоПро CSP»

Для Рутокен ЭЦП 2.0 подписание можно проверить несколькими способами:

1) КриптоАРМ eSign или КриптоАРМ ГОСТ 
2) Тестовый центр регистрации Рутокен + Рутокен Плагин 
3) OpenSSL Рутокен engine 
4) Утилиту csptestf из состава КриптоПро CSP. Подробно в разделе на Подпись средствами «КриптоПро CSP»

Рутокен для Байкала и Эльбруса

Рутокен Lite и Рутокен ЭЦП одинаково хорошо работают на всех платформах, где есть USB-интерфейс.
Сейчас для Эльбруса и Байкала Рутокены подписывают через программы:
1) Тестовый центр регистрации Рутокен + Рутокен Плагин 
2) Утилита из КриптоПро CSP 5.0

Установка


Для выполнения действий данной инструкции необходимо установить следующее программное обеспечение:

  • библиотека libccid, librtpkcs11ecp.so;
  • пакеты libpcsclite1 и pcscd;
  • pcsc-tools ( Для идентификации токена
  • opensc

    pcsc-tools

    устанавливается из пакетов по ссылкам ниже

    libpcsc-perl pcsc-tools_1.4.27-1_amd64.deb

Для установки в терминале введите команду:

$ sudo apt-get install libccid pcscd libpcsclite1 pcsc-tools opensc

Для установки библиотеки librtpkcs11ecp.so следует перейти по указанной ссылке и скачать необходимую версию:
https://www.rutoken.ru/support/download/pkcs/

dpkg -i librtpkcs11ecp_1.8.2.0-1_amd64.deb



Проверка работы Рутокен в системе


Для проверки работы Рутокена:
Подключите устройство к компьютеру.

Способ №1

Введите команду: $ pcsc_scan


Способ №2

Введите команду: #pkcs11-tool --module /usr/lib/librtpkcs11ecp.so -T


путь до библиотеки librtpkcs11ecp.so может различаться

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


Изменение PIN-кода Рутокен


Для изменения pin-кода Рутокена введите команду:
pkcs11-tool --module /usr/lib/librtpkcs11ecp.so --login --pin ваш_старый_пин --change-pin --new-pin ваш_новый_пин
После чего система оповестит Вас о том, что PIN-код успешно изменен:
Using slot 0 with a present token (0x0)
PIN successfully changed 



Проверка наличия сертификатов и ключевых пар на Рутокен ЭЦП


Проверка

Чтобы проверить наличие сертификатов и ключевых пар на Рутокене введите команду:
#pkcs11-tool --module /usr/lib/librtpkcs11ecp.so -O

В результате в окне терминала отобразится информация обо всех сертификатах и ключевых парах, хранящихся на Рутокене:

Using slot 0 with a present token (0x0)

Public Key Object; RSA 2048 bits
  label:      Test
  ID:         45
  Usage:      encrypt, verify, wrap

Certificate Object, type = X.509 cert
  label:  Test
  ID:     45

Если после строчки выводится информация о ключах и сертификатах, то необходимо считать сертификат:

Извлечение сертификата из токена

pkcs11-tool --module /usr/lib/librtpkcs11ecp.so -r -y cert  --id {id} > название_вашего_сертификата.crt

вместо {id} нужно подставить ID который вы увидите в выводе команды


Если после строчки 

Using slot 0 with a present token (0x0) 

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

Создание самоподписанного сертификата

Для генерации ключевой пары в терминале следует ввести команду:

pkcs11-tool --module /usr/lib/librtpkcs11ecp.so --label "название_ключа" --keypairgen --key-type rsa:2048 -l --id 45


Для создания самоподписанного сертификата в терминале следует ввести команду:

$ openssl

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_PATH:/usr/lib/librtpkcs11ecp.so

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

OpenSSL> req -engine pkcs11 -new -key 0:45 -keyform engine -x509 -out название_вашего_сертификата.crt -outform DER
engine "pkcs11" set.
Enter PKCS#11 token PIN for Rutoken ECP <no label>:
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) []:Makhmadiev Shuhrat
Email Address []:shuhrat@astralinux.ru

OpenSSL> exit


Путь до библиотеки pkcs11.so может отличаться

Создав свой личный сертификат, его следует загрузить на рутокен:

Загрузка сертификата на токен

$ pkcs11-tool --module /usr/lib/librtpkcs11ecp.so -l -y cert -w название_вашего_сертификата.crt -a "Имя_сертификата_в_токене" --id 45

Проверка ключей и сертификатов в Рутокене:

pkcs11-tool --module /usr/lib/librtpkcs11ecp.so -O


Using slot 0 with a present token (0x0)
Public Key Object; RSA 2048 bits
  label:      название_ключа
  ID:         45
  Usage:      encrypt, verify, wrap
Certificate Object, type = X.509 cert
  label:      имя_сертификата_в_токене
  ID:         45


Локальная аутентификация в Astra Linux по Рутокену


Установка дополнительный пакетов

Пуск - Настройки - Менеджер пакетов

через Быстрый фильтр или через поиск находим и отмечаем к установке следующие пакеты: 

  • libccid
  • pcscd
  • libpam-p11
  • libpam-pkcs11
  • libp11-2
  • libengine-pkcs11-openssl
  • opensc


Либо воспользовавшись терминалом FLY:

$ sudo apt-get install opensc libengine-pkcs11-openssl libp11-2 libpam-pkcs11 libpam-p11 pcscd libccid

Регистрация сертификата в системе

Конвертируем сертификат в текстовый формат

OpenSSL> x509 -in название_вашего_сертификата.crt -out cert.pem -inform DER -outform PEM


Добавляем сертификат в список доверенных сертификатов

Теперь нам необходимо прочитать с токена сертификат с нужным ID и записать его в файл доверенных сертификатов:
mkdir ~/.eid
chmod 0755 ~/.eid
pkcs15-tool -r <certificate_id, в нашем случае 45 без скобок> > ~/.eid/authorized_certificates
chmod 0644 ~/.eid/authorized_certificates

Для привязки токена к определенному пользователю необходимо указать его домашнюю директорию, например таким образом:
mkdir /home/user/.eid
chmod 0755 /home/user/.eid
pkcs15-tool -r <certificate_id> > /home/user/.eid/authorized_certificates
chmod 0644 /home/user/.eid/authorized_certificates


Важно помнить, что при регистрации нескольких токенов на одном компьютере, необходимо указывать пользователям раличные id.


Настраиваем аутентификацию 

Пуск - утилиты - Терминал Fly

$ sudo nano /usr/share/pam-configs/p11

записываем в файл следующую информацию

Name: Pam_p11
Default: yes
Priority: 800
Auth-Type: Primary
Auth: sufficient pam_p11_opensc.so /usr/lib/x86_64-linux-gnu/opensc-pkcs11.so


сохраняем файл, нажимаем Alt + X, а затем Y
после этого выполняем

 

$ sudo pam-auth-update

 

в появившемся окне ставим галку в Pam_p11 и нажимаем OK

Проверка

Пуск - утилиты - Терминал Fly

$ sudo login

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

Блокировка компьютера при извлечении токена

В состав пакета libpam-pkcs11 входит утилита pkcs11_eventmgr, которая позволяет выполнять различные действия при возникновении событий PKCS#11.

Для настройки pkcs11_eventmgr служит файл конфигурации - /etc/pam_pkcs11/pkcs11_eventmgr.conf

Пример файла конфигурации представлен ниже:

pkcs11_eventmgr
{
    # Запуск в бэкграунде
    daemon = true;
     
    # Настройка сообщений отладки
    debug = false;
 
    # Время опроса в секундах
    polling_time = 1;
 
    # Установка тайм-аута на удаление карты
    # По-умолчанию 0
    expire_time = 0;
 
    # Выбор pkcs11 библиотеки для работы с Рутокен
    pkcs11_module = /usr/lib/librtpkcs11ecp.so;
 
    # Действия с картой
    # Карта вставлена:
    event card_insert {
        # Оставляем значения по умолчанию (ничего не происходит)
        on_error = ignore ;
 
        action = "/bin/false";
    }
 
    # Карта извлечена
    event card_remove {
        on_error = ignore;
         
        # Вызываем функцию блокировки экрана
        action = "fly-wmfunc FLYWM_LOCK";
    }
 
    # Карта долгое время извлечена
    event expire_time {
        # Оставляем значения по умолчанию (ничего не происходит)
        on_error = ignore;
 
        action = "/bin/false";
    }
}

После этого добавьте приложение pkcs11_eventmgr в автозагрузку и перезагрузитесь.


Очистка всех данных с Рутокена


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

pkcs15-init --erase-card

pkcs15-init --create-pkcs15 --so-pin "87654321" --so-puk ""
pkcs15-init --store-pin --label "User PIN" --auth-id 02 --pin "12345678" --puk "" --so-pin "87654321" --finalize


ПО для Рутокен Web


Плагин Рутокен Web позволяет браузеру опознавать устройство и работать с ним. С помощью инструмента администрирования можно просмотреть содержимое USB-токена Рутокен Web,
 сменить PIN-, и PUK- коды, а также код восстановления. Для того чтобы установить плагин Рутокен Web, необходимо загрузить соответствующий установочный файл,
запустить его и следовать указаниям на экране. После завершения процесса установки необходимо подключить USB-токен в свободный USB-порт компьютера.



Дополнительные источники информации


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


https://rutoken.ru

Веб-сайт содержит большой объем справочной информации об устройствах Рутокен.


https://dev.rutoken.ru
Портал разработчиков содержит техническую информацию об устройствах Рутокен и руководства по
их интеграции.База знаний

https://kb.rutoken.ru/display/kb
База знаний содержит инструкции по решению большинства ошибок, полезные статьи и ответы на
часто задаваемые вопросы. Здесь вы можете найти нужную информацию по ключевым словам.

https://forum.rutoken.ru
Форум содержит ответы на вопросы пользователей. Здесь вы можете задать свой вопрос
разработчикам и сотрудникам службы технической поддержки Рутокен.


Служба технической поддержки Рутокен:
https://www.rutoken.ru/support/feedback
сервис диагностики:
https://help.rutoken.ru
e-mail:
hotline@rutoken.ru
тел.: +7 495 925-77-90





  • Нет меток