- Astra Linux.Справка.Rutoken
- Электронный идентификатор Rutoken и операционные системы Astra Linux
- Инструкция по настройке Rutoken ECP в операционной системе Astra Linux Special Edition:
- Панель управления рутокен astra linux
- 1 Доустанавливаем необходимые пакеты с диска
- 2 Добавляем библиотеку librtpkcs11ecp.so
- 3 Проверяем что Рутокен ЭЦП работает в системе
- 4 Считываем сертификат
- 4.1 Создаем самоподписанный сертификат
- 5 Регистрируем сертификат в системе
- 6 Настраиваем аутентификацию
- 7 Проверка
- 8 Блокировка компьютера при извлечении токена
- Драйверы для *nix
- Драйвер Рутокен S для GNU/Linux RPM 32-bit (x86)
- Драйвер Рутокен S для GNU/Linux RPM 64-bit (x64)
- Драйвер Рутокен S для GNU/Linux DEB 32-bit (x86)
- Драйвер Рутокен S для GNU/Linux DEB 64-bit (x64)
- Драйвер Рутокен S для архитектуры MIPS (Байкал)
- Драйвер Рутокен S для GNU/Linux DEB ARM-64 (Байкал-М)
- Утилита администрирования Рутокен
- Панель управления рутокен astra linux
Astra Linux.Справка.Rutoken
Электронный идентификатор Rutoken и операционные системы Astra Linux
Электронный идентификатор Rutoken — это компактное устройство в виде USB-брелока, которое служит для авторизации пользователя в сети или на локальном компьютере, защиты электронной переписки, безопасного удаленного доступа к информационным ресурсам, а также надежного хранения персональных данных. Электронные идентификатор Rutoken ECP совместим с операционной системой Astra Linux Special Edition версии 1.2 и корректно функционирует под ее управлением.
Инструкция по настройке Rutoken ECP в операционной системе Astra Linux Special Edition:
Все действия выполняются от root.
Настройка ОС Astra Linux для аутентификации пользователей с использованием Рутокен ЭЦП
Конфигурация стенда (пакеты необходимо устанавливать в указанном порядке)
На стенд была установлена ОС Astra Linux и пакеты:
Дополнительно установлены следующие пакеты из репозитория Debian squeeze:
Для подключения аутентификации по токену были установлены пакеты:
#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
Аутентификация по сертификатам
В данном разделе подробно рассмотрим действия по настройке аутентификации по сертификату X.509
До начала работы с токеном стоит настроить модуль pam_p11 следующим образом: Создадим файл /usr/share/pam-configs/p11 со следующим содержанием:
Name: Pam_p11
Default: yes
Priority: 800
Auth-Type: Primary
Auth: sufficient pam_p11_opensc.so /usr/lib/opensc-pkcs11.so
Для Astra Linux Special Edition версии 1.3 путь изменится на: /usr/lib/x86_64-linux-gnu/opensc-pkcs11.so
В появившемся диалоге необходимо выбрать только pam_p11.
Создание ключей на токене
Создаем ключевую пару RSA длины 2048 бит c ID «45» (id стоит запомнить, он понадобится при создании сертификата).
Проверим сгенерированный ключ:
Using reader with a card: Aktiv Rutoken ECP 00 00
Private RSA Key [Private Key]
Object Flags : [0x3], private, modifiable
Usage : [0x4], sign
Access Flags : [0x1D], sensitive, alwaysSensitive, neverExtract, local
ModLength : 2048
Key ref : 1 (0x1)
Native : yes
Path : 3f001000100060020001
Auth ID : 02
ID : 45
Создание сертификата и импорт его на токен
Подгружаем модуль поддержки pkcs11:
OpenSSL> engine dynamic -pre SO_PATH:/usr/lib/engines/engine_pkcs11.so -pre ID:pkcs11 -pre LIST_ADD:1 -pre LOAD -pre MODULE_PATH:opensc-pkcs11.so
(dynamic) Dynamic engine loading support
[Success]: SO_PATH:/usr/lib/engines/engine_pkcs11.so
[Success]: ID:pkcs11
[Success]: LIST_ADD:1
[Success]: LOAD
Loaded: (pkcs11) pkcs11 engine
Создаем самоподписанный сертификат в PEM-формате:
OpenSSL> req -engine pkcs11 -new -key 1:45 -keyform engine -x509 -out cert.pem -text
1:45 — это пара slot:id. Если OpenSSL не видит токен, то стоит попробовать другой номер слота.
OpenSSL при этом предложит ввести PIN-код и заполнить информацию о сертификате. Теперь можно выйти из OpenSSL (команда exit) и проверить новый сертификат. Проверим созданный сертификат: В текущем каталоге должен создаться файл самоподписанного сертификата с именем cert.pem.
Примечание: если при создании сертификата в OpenSSL убрать ключ -x509, то на выходе получим заявку на сертификат.
#openssl verify -CAfile cert.pem cert.pem
Сохраним сертификат на токен:
#pkcs15-init —store-certificate cert.pem —auth-id 02 —id 45 —format pem
Занесение сертификата в список доверенных
Теперь нам необходимо прочитать с токена сертификат с нужным ID и записать его в файл доверенных сертификатов:
#mkdir ~/.eid
#chmod 0755 ~/.eid
#pkcs15-tool -r > ~/.eid/authorized_certificates
#chmod 0644 ~/.eid/authorized_certificates
Для привязки токена к определенному пользователю необходимо указать его домашнюю директорию, например таким образом:
#mkdir /home/user/.eid
#chmod 0755 /home/user/.eid
#pkcs15-tool -r > /home/user/.eid/authorized_certificates
#chmod 0644 /home/user/.eid/authorized_certificates
Важно помнить, что при регистрации нескольких токенов на одном компьютере, необходимо указывать пользователям раличные id.
Вход выполняется с подключенным токеном к компьютеру. При графическом входе в поле Login вводится имя пользователя, в поле Password вводится . При консольном входе все аналогично, только в момент ввода пароля будет сообщено, что требуется .
Описанных выше действий достаточно для аутентификации по токену.
Панель управления рутокен astra linux
В результате в окне Терминала отобразится название модели USB-токена:
Убедитесь, что используете: Aktiv Rutoken ECP
1 Доустанавливаем необходимые пакеты с диска
Пуск — Настройки — Менеджер пакетов
через Быстрый фильтр или через поиск находим и отмечаем к установке следующие пакеты:
- libccid
- pcscd
- libpam-p11
- libpam-pkcs11
- libp11-2
- libengine-pkcs11-openssl
- opensc
В Astra Linux SE 1.6 pkcs11 libengine-pkcs11-openssl версии 1.0.2 не совместим с библиотекой librtpkcs11ecp.so. Для корректного функционирования, следует скачать и установить п одписанный пакет libengine-pkcs11-openssl1.1 версии 0.4.4-4 для Смоленска 1.6:
2 Добавляем библиотеку librtpkcs11ecp.so
Загружаем библиотеку через браузер.
Для 64-битной системы используйте ссылку:
Для 32-битной системы используйте ссылку:
Пуск — Утилиты — Терминал Fly
Для 64-битной системы используйте:
$ wget --no-check-certificate https://download.rutoken.ru/Rutoken/PKCS11Lib/Current/Linux/x64/librtpkcs11ecp.so
Для 32-битной системы используйте:
$ wget --no-check-certificate https://download.rutoken.ru/Rutoken/PKCS11Lib/Current/Linux/x32/librtpkcs11ecp.so
Копируем в системную папку.
Для 32- и 64-битной системы используйте:
$ sudo cp librtpkcs11ecp.so /usr/lib $ sudo chmod 644 /usr/lib/librtpkcs11ecp.so
3 Проверяем что Рутокен ЭЦП работает в системе
Пуск — утилиты — Терминал Fly
$ pkcs11-tool --module /usr/lib/librtpkcs11ecp.so -T
В случае если увидите вот такую строку, значит все хорошо.
4 Считываем сертификат
Проверяем что на устройстве есть сертификат
Пуск — утилиты — Терминал Fly
$ pkcs11-tool --module /usr/lib/librtpkcs11ecp.so -O
Using slot 0 with a present token (0x0)
нет ничего, значит устройство пустое. Обратитесь к администратору или создайте ключи и сертификат самостоятельно следуя пункту 4.1
Using slot 0 with a present token (0x0)
выводится информация о ключах и сертификатах то необходимо считать сертификат
$ pkcs11-tool --module /usr/lib/librtpkcs11ecp.so -r -y cert --id > cert.crt
вместо нужно подставить ID который вы увидите в выводе команды
$ pkcs11-tool --module /usr/lib/librtpkcs11ecp.so -O
В случае, если файл cert.crt создан переходим к пункту 5
4.1 Создаем самоподписанный сертификат
Пуск — утилиты — Терминал Fly
$ pkcs11-tool --module /usr/lib/librtpkcs11ecp.so --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 OpenSSL> req -engine pkcs11 -new -key 0:45 -keyform engine -x509 -out cert.crt -outform DER
загружаем сертификат на устройство
$ pkcs11-tool --module /usr/lib/librtpkcs11ecp.so -l -y cert -w cert.crt --id 45
5 Регистрируем сертификат в системе
Пуск — утилиты — Терминал Fly
Конвертируем сертификат в текстовый формат
OpenSSL> x509 -in cert.crt -out cert.pem -inform DER -outform PEM
$ mkdir ~/.eid $ chmod 0755 ~/.eid $ cat cert.pem >> ~/.eid/authorized_certificates $ chmod 0644 ~/.eid/authorized_certificates
6 Настраиваем аутентификацию
Пуск — утилиты — Терминал 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/librtpkcs11ecp.so
в появившемся окне ставим галку в Pam_p11 и нажимаем OK
7 Проверка
Пуск — утилиты — Терминал Fly
введите имя пользователя и в случае если система потребует PIN-код от устройства значит все настроено правильно
8 Блокировка компьютера при извлечении токена
В состав пакета 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 в автозагрузку и перезагрузитесь.
Драйверы для *nix
С инструкциями и техническими рекомендациями по использованию продуктов и программного обеспечения Рутокен можно ознакомиться в разделе Документация .
Для работы электронных идентификаторов Рутокен в deb-based системе должны быть установлены: библиотека libccid не ниже 1.4.2, пакеты pcscd и libpcsclite1.
Для работы в RPM-based системе должны быть установлены: пакеты ccid, pcscd и pcsc-lite.
Драйверы для Рутокен ЭЦП в современных операционных системах GNU\Linux не требуются (версия libccid не ниже 1.4.2). Пользователям стабильных или устаревших дистрибутивов может потребоваться внести изменения в конфигурационный файл.
Драйверы для Рутокен Lite в современных операционных системах GNU\Linux не требуются (версия libccid не ниже 1.4.2). Пользователям стабильных или устаревших дистрибутивов может потребоваться внести изменения в конфигурационный файл.
Необходимо загрузить установочный скрипт, запустить его и следовать указаниям установщика. После завершения процесса установки необходимо подключить Рутокен S в свободный USB-порт.
Обратите внимание
Если для работы с Рутокен используется виртуальная ОС MS Windows, запущенная на компьютере c GNU/Linux, то устанавливать Драйверы Рутокен для Linux необязательно.
Драйвер Рутокен S для GNU/Linux также доступен в исходных кодах, которые можно загрузить здесь .
Драйвер Рутокен S для GNU/Linux RPM 32-bit (x86)
Версия: 1.0.4 от 11.02.2014 Поддерживаемые ОС: 32-разрядные Fedora/RedHat/Centos/AltLinux/Rosa/РЕД ОС
Драйвер Рутокен S для GNU/Linux RPM 64-bit (x64)
Версия: 1.0.4 от 11.02.2014 Поддерживаемые ОС: 64-разрядные Fedora/RedHat/Centos/AltLinux/Rosa/РЕД ОС
Драйвер Рутокен S для GNU/Linux DEB 32-bit (x86)
Драйвер Рутокен S для GNU/Linux DEB 64-bit (x64)
Драйвер Рутокен S для архитектуры MIPS (Байкал)
Драйвер Рутокен S для GNU/Linux DEB ARM-64 (Байкал-М)
Утилита администрирования Рутокен
Версия: 2.4 от 22.06.2022 Утилита rtAdmin предназначена для автоматизации процедур форматирования и администрирования Рутокен: смены метки токена, PIN-кодов и их параметров. Более подробная информация на Портале документации Рутокен .
Инструкции
Панель управления рутокен astra linux
Как подружить электронный идентификатор Rutoken S с CryptoPro CSP 5 в системе Astra Linux.
Для начала установим сам криптопровайдер — как это сделать, об этом я писал отдельно.
Как мы видим, в разделе «Управление носителями» нет нашего токена, хотя он воткнут в USB порт:
Теперь, т.к. у нас идентификатор от Рутокен с буковкой S, то сперва нужно скачать с сайта производителя и установить в систему отдельный драйвер. Для Рутокен ЭЦП и Рутокен Лайт, как говорит производитель, отдельные драйверы не нужны.
И так, скачаем драйвер с сайта разрабочтика под нужную систему и архитектуру: скачать
Теперь установим дополнительные модули для самой CryptoPro SCP, которые входят в состав пакета КриптоПро:
Переходим в папку куда мы распаковывали (при установке) архив с КриптоПро (инструкция по установке).
Устанавливаем из данной папки модули для работы с носителями ключей:
— модуль поддержки PCSC-считывателей:
— Кстати, когда я пытался подружить CryptoPro CSP и Рутокен в Ubuntu Linux, то пришлось доустанавливать еще пакеты (у AstraLinux они уже имелись в составе дистрибутива):
У меня без перезагрузки компьютера КриптоПро токен не увидела, поэтому перезагружаем комп и проверяем:
Ну и, запустив КриптоПро, мы убеждаемся, что он там появился: