Ошибка ответа сервера jakarta linux
- Запустите SpIDer Agent, нажав значок на панели задач в области уведомлений.
- Разблокировать SpIDer Agent для внесения изменений нажав кнопку «замок»
- В появившемся окне нажать значок «Настройки»
- В появившемся окне выбрать опцию Компоненты защиты
- В появившемся окне выбрать опцию «Превентивная защита» и установить параметр «Разрешать» в соответствии с рисунком ниже:
- Первичная инициализация токенаJaCarta
- Запустите ПО Единый клиент JaCarta
- Предъявите (подключите к usb порту) токен JaCarta
- Переключитесь в режим администрирования, нажав в нижнем левом углу ссылку окна «Переключиться в режим администрирования»
- Перейдите на вкладку «ГОСТ» и нажмите «Инициализировать»
- Введите pin-код администратора «1234567890»
- Введите «Имя токена» «1234567890»
- Поставьте галку на «Установить pin-код пользователя»
- Введите pin-код пользователя «1234567890» дважды.
- В окне предупреждения об очистке токена нажмите «Продолжить», далее должно появиться уведомление «Приложение успешно проинициализировано».
- НастройкаSecretNet для установки параметров идентификации и аутентификации пользователя.
Подразумевается, что СЗИ Secret Net установлен в систему, и заведены необходимые пользователи.
Чтобы инициализировать токен средствами СЗИ выполните следующие действия:
Включить режим хранения пароля;
Записать пароль в идентификатор;
Записать в идентификатор закрытый ключ пользователя.
Чтобы настроить параметры идентификации и аутентификации пользователя, выполните следующие действия:
Запустите «Локальную политику безопасности»: Пуск -> Код безопасности -> Secret net -> Локальная политика безопасности -> Параметры Secret Net -> Настройки подсистем
Настройте параметры политик входа в систему согласно требованиям:
Для проверки работы токена JaCarta выполните следующие действия:
- измените «Режим идентификации пользователя» на «Смешанный», способом описанном в пункте 3.
- перезагрузите компьютер
- предъявите (подключите к usb порту) токен JaCarta
Если удалось войти в ОС без ручного ввода пароля, то проверка работы механизмов идентификации и аутентификации успешен.
Хранение ключей на токенах и смарт-картах обеспечивает дополнительную защиту от внешних и внутренних нарушителей, в том числе имеющих определенный уровень доступа к информационной системе и оборудованию.
Сегодня я расскажу, как мы защищаем ключи шифрования и электронной подписи в наших информационных системах, и сделаю это в подробном, хорошо проиллюстрированном руководстве по настройке SUSE Linux Enterprise Server 12 SP3 для работы с токеном Aladdin JaCarta PKI и КриптоПро CSP KC2 4.0.9944.
Опубликовать данное руководство побудило несколько причин:
Причина 1
Официальная документация на Aladdin-RD JaCarta больше адаптирована под операционные системы Astra Linux и ALT Linux, сертифицированные в Минобороны, ФСТЭК и ФСБ как средства защиты информации.
Причина 2
Причина 3
UPD 16.04.2019: В процессе настройки среды и оборудования выяснилось, что носитель, первым оказавшийся в распоряжении, был вовсе не JaCarta PKI Nano, как ожидалось, а устройство работающее в режиме SafeNet Authentication Client eToken PRO.
UPD 16.04.2019: Некогда Банку требовалось устройство, которое могло бы работать в той же инфраструктуре, что и eToken PRO (Java). В качестве такого устройства компания “ЗАО Аладдин Р.Д.” предложила токен JaCarta PRO, который был выбран банком. Однако на этапе формирования артикула и отгрузочных документов сотрудником компании была допущена ошибка. Вместо модели JaCarta PRO в артикул и отгрузочные документы случайно вписали JaCarta PKI.
UPD 16.04.2019: Благодарю компанию Аладдин Р.Д., за то что помогли разобраться и установить истину.
В этой ошибке нет никаких политических и скрытых смыслов, а только техническая ошибка сотрудника при подготовке документов. Токен JaCarta PRO является продуктом компании ЗАО “Аладдин Р.Д.”. Апплет, выполняющий функциональную часть, разработан компанией “ЗАО Аладдин Р.Д”.
Этот eToken PRO относился к партии, выпущенной до 1 декабря 2017 года.
После этой даты компания «Аладдин Р.Д.» прекратила продажу устройств eToken PRO (Java).
Забегая немного вперед, нужно сказать, что работа с ним настраивалась через соответствующие драйверы — SafenetAuthenticationClient-10.0.32-0.x86_64, которые можно получить только в поддержке Аладдин Р.Д. по отдельной online заявке.
В КриптоПро CSP для работы с этим токеном требовалось установить пакет cprocsp-rdr-emv-64 | EMV/Gemalto support module.
Данный токен определялся и откликался. При помощи утилиты SACTools из пакета SafenetAuthenticationClient можно было выполнить его инициализацию. Но при работе с СКЗИ он вел себя крайне странно и непредсказуемо.
Проявлялось это следующим образом, на команду:
Выдавался ответ, что все хорошо:
Но сразу после попытки зачитать ключи программно эта же проверка начинала выдавать ошибку:
Согласно перечню кодов ошибок объектной модели компонентов Microsoft COM Error Codes (Security and Setup)
В таком состоянии токен блокировался. СКЗИ начинало показывать неактуальное состояние считывателя и ключевого контейнера. Перезапуск службы криптографического провайдера cprocsp, службы работы с токенами и смарт-картами pcscd и всей операционной системы не помогали, только повторная инициализация.
Справедливости ради требуется отметить, что SafeNet eToken PRO корректно работал с ключами ГОСТ Р 34.10-2001 в ОС Windows 7 и 10.
Можно было бы попробовать установить СКЗИ КриптоПро CSP 4.0 ФКН (Gemalto), но целевая задача — защитить наши ключи ЭП и шифрования с помощью сертифицированных ФСБ и ФСТЭК изделий семейства JaCarta, в которых поддерживаются новые стандарты.
Проблему удалось решить, взяв настоящий токен JaCarta PKI в (XL) обычном корпусе.
Но на попытки заставить работать Safenet eToken PRO времени было потрачено немало. Хотелось обратить на это внимание и, возможно, кого-то оградить от подобного.
Причина 4
Иногда самому требуется вернуться к старым статьям и инструкциям. Это удобно, когда информация размещена во внешнем источнике. Так что спасибо Хабру за предоставленную возможность.
Руководство по настройке
После установки токена JaCarta PKI в USB порт сервера и запуска системы проверяем, что новое устройство обнаружено и появилось в списке:
В нашем случае это Bus 004 Device 003: ID 24dc:0101
Пока не установлены все необходимые пакеты, информация о токене не отобразится.
Установка драйверов и ПО для работы с JaCarta PKI
Согласно Руководству по внедрению «JaCarta для Linux» пункт 4.2., первым делом требуется установить пакеты pcsc-lite, ccid и libusb.
Для работы утилиты управления JaCarta необходимо установить следующие компоненты:
- PC/SC Lite — промежуточный слой для обеспечения доступа к смарт-картам по стандарту PC/SC, пакет pcsc-lite.
- Библиотеки ccid и libusb для работы с USB-ключами, смарт-картами и считывателями смарт-карт.
Выполняем проверку наличия этих пакетов и установку:
zypper search pcsc-lite
zypper search libusb
zypper install pcsc-lite
zypper search CCID
zypper install pcsc-ccid
zypper search CCID
zypper install libusb
В итоге пакет pcsc-lite был обновлен, CCID установлен, libusb никаких действия не требовалось.
Следующими двумя командами выполняем установку пакета с драйверами и программным обеспечением непосредственно для работы с JaCarta PKI:
zypper install idprotectclientlib-637.03-0.x86_64.rpm
zypper install idprotectclient-637.03-0.x86_64.rpm
Проверяем, что драйверы и ПО для JaCarta PKI установились:
zypper search idprotectclient
При попытках заставить работать SafeNet eToken PRO я нашел информацию, что предустановленный в SLES пакет openct — Library for Smart Card Readers может конфликтовать с pcsc-lite — PCSC Smart Cards Library, установку которого требует руководство Аладдин Р.Д.
zypper search openct
Поэтому пакет openct удаляем:
Теперь все необходимые драйверы и ПО для работы с токеном установлены.
Выполняем диагностику с помощью утилиты pcsc-tools и убеждаемся, что JaCarta определяется в операционной системе:
Установка пакетов КриптоПро CSP
При установке КриптоПро CSP по умолчанию нужные пакеты для работы с токенами и смарт-картами отсутствуют.
zypper search cprocsp
Выполняем установку в CSP компонента поддержки JaCarta components for CryptoPro CSP
zypper install cprocsp-rdr-jacarta-64-3.6.408.683-4.x86_64.rpm
Устанавливаем базовые пакеты поддержки считывателей и ключевых носителей:
zypper install cprocsp-rdr-pcsc-64-4.0.9944-5.x86_64.rpm
zypper install lsb-cprocsp-pkcs11-64-4.0.9944-5.x86_64.rpm
Теперь можно установить модули для работы с остальными видами носителей и компонент GUI:
zypper install cprocsp-rdr-emv-64-4.0.9944-5.x86_64.rpm
Проверяем итоговую конфигурацию КриптоПро CSP:
S | Name | Summary | Type
---+-----------------------------+----------------------------------------------------+--------
i+ | cprocsp-curl-64 | CryptoPro Curl shared library and binaris. Build 9944. | package
i+ | cprocsp-rdr-emv-64 | EMV/Gemalto support module | package
i+ | cprocsp-rdr-gui-gtk-64 | GUI components for CryptoPro CSP readers. Build 9944. | package
i+ | cprocsp-rdr-jacarta-64 | JaCarta components for CryptoPro CSP. Build 683. | package
i+ | cprocsp-rdr-mskey-64 | Mskey support module | package
i+ | cprocsp-rdr-novacard-64 | Novacard support module | package
i+ | cprocsp-rdr-pcsc-64 | PC/SC components for CryptoPro CSP readers. Build 9944.| package
i+ | lsb-cprocsp-base | CryptoPro CSP directories and scripts. Build 9944. | package
i+ | lsb-cprocsp-ca-certs | CA certificates. Build 9944. | package
i+ | lsb-cprocsp-capilite-64 | CryptoAPI lite. Build 9944. | package
i+ | lsb-cprocsp-kc2-64 | CryptoPro CSP KC2. Build 9944. | package
i+ | lsb-cprocsp-pkcs11-64 | CryptoPro PKCS11. Build 9944. | package
i+ | lsb-cprocsp-rdr-64 | CryptoPro CSP readers. Build 9944. | package
Чтобы применить изменения, выполняем перезапуск службы криптографического провайдера и проверяем ее статус:
Настройка и диагностика КриптоПро CSP
Проверим, видит ли криптографический провайдер наш токен и другие доступные типы носителей следующими командами:
/opt/cprocsp/bin/amd64/csptest -card -enum -v –v
/opt/cprocsp/bin/amd64/csptest -enum -info -type PP_ENUMREADERS | iconv -f cp1251
/opt/cprocsp/sbin/amd64/cpconfig -hardware reader -view -f cp1251
Aladdin R.D. JaCarta [SCR Interface] (000000000000) 00 00 — это наш носитель.
Следуя инструкции КриптоПро CSP для Linux. Настройка, выполняем его регистрацию в криптографическом провайдере:
В результате выполнения в конфигурационный файл /etc/opt/cprocsp/config64.ini
в раздел Ошибка ответа сервера jakarta linux будет добавлена запись:
Ошибка ответа сервера jakarta linux (000000000000) 00 00"\Default]
Чтобы выполнить требования Формуляра, Правил пользования и Руководства администратора безопасности КриптоПро CSP:
Использование СКЗИ «КриптоПро CSP» версии 4.0 с выключенным режимом усиленного контроля использования ключей не допускается. Включение данного режима описано в документах ЖТЯИ.00087-01 91 02. Руководство администратора безопасности.
Необходимо включить режим усиленного контроля использования ключей:
Проверяем, что режим включен:
cat /etc/opt/cprocsp/config64.ini | grep StrengthenedKeyUsageControl
Выполняем перезапуск службы криптографического провайдера:
После перезапуска проверяем, что ошибок в работе провайдера с ключевыми носителями нет:
/opt/cprocsp/bin/amd64/csptest -keyset –verifycontext
/opt/cprocsp/bin/amd64/csptest -keyset -verifycontext -enum –unique
Работа с токеном JaCarta PKI
Запустим программу Xming (X11 forwarding) на своей станции, чтобы по SSH иметь возможность открывать и работать с графическими интерфейсами нужных утилит.
После установки IDProtectClient — программного обеспечения для работы с JaCarta PKI, на сервере в папке /usr/share/applications появились два файла:
Это ярлыки, в которых можно посмотреть параметры запуска утилит Exec=/usr/bin/SACTools
Запустим утилиту IDProtectPINTool.
С помощью нее задаются и меняются PIN-коды доступа к токену.
При первой инициализации токена будет полезна ссылка, содержащая PIN-коды (пароли) ключевых носителей по умолчанию
Программа IDProtect_Manager позволяет просматривать информацию о токене и контейнере с ключами и сертификатом:
Для доступа к контейнеру с ключами нужно ввести пароль:
Для работы с SafeNet Authentication Client eToken PRO существуют аналогичные программы — SafeNet Authentication Client Monitor и SafeNet Authentication Client Tools, которые запускаются так:
Выполнять операции непосредственно с ключевыми контейнерами удобнее в интерфейсе криптографического провайдера КриптоПро JavaCSP:
Для отображения информации о содержимом контейнера с ключами можно выполнить команду:
Для диагностики контейнера используется эта же команда с ключом –check
Потребуется ввести пароль от контейнера:
Программное извлечение ключей
В общем виде пример извлечения закрытого ключа и сертификата открытого ключа из контейнера на токене с помощью КриптоПро Java CSP следующий:
Если действовать так:
то криптографический провайдер будет пытаться в системе отобразить через консоль или GUI окно запрос на ввод пароля к контейнеру.
Результаты
Отторгаемый ключевой носитель-токен установлен во внутренний USB-порт сервера.
Само серверное оборудование опломбировано и размещается в помещении с ограниченным доступом.
Такие меры позволяют повысить уровень защиты наших информационных систем от кражи и компрометации ключей электронной подписи или шифрования, как удаленно по сети, так и физически.
Описание окружения
Есть виртуальная машина на Vmware ESXi 6.5, в качестве операционной системы установлена Windows Server 2012 R2. На сервере стоит КриптоПРО 4.0.9944, последней версии на текущий момент. С сетевого USB хаба, по технологии USB over ip, подключен ключ JaCarta. Ключ в системе видится, а вот в КриптоПРО нет.
Алгоритм решения проблем с JaCarta
КриптоПРО очень часто вызывает различные ошибки в Windows, простой пример (Windows installer service could not be accessed). Вот так вот выглядит ситуация, когда утилита КриптоПРО не видит сертификат в контейнере.
Как видно в утилите UTN Manager ключ подключен, он видится в системе в смарт картах в виде Microsoft Usbccid (WUDF) устройства, но вот CryptoPRO, этот контейнер не определяет и у вас нет возможности установить сертификат. Локально токен подключали, все было то же самое. Стали думать что сделать.
Возможные причины с определением контейнера
- Во первых, это проблема с драйверами, например, в Windows Server 2012 R2, JaCarta в идеале должна определяться в списке смарт карт как JaCarta Usbccid Smartcard, а не Microsoft Usbccid (WUDF)
- Во вторых если устройство видится как Microsoft Usbccid (WUDF), то версия драйверов может быть устаревшей, и из-за чего ваши утилиты будут не определять защищенный USB носитель.
- Устарелая версия CryptoPRO
Как решить проблему, что криптопро не видит USB ключ?
Создали новую виртуальную машину и стали ставить софт все последовательно.
Перед установкой любого программного обеспечения работающего с USB носителями на которых находятся сертификаты и закрытые ключи. Нужно ОБЯЗАТЕЛЬНО отключить токен, если воткнут локально, то отключаем его, если по сети, разрываем сессию- Первым делом обновляем вашу операционную систему, всеми доступными обновлениями, так как Microsoft исправляет много ошибок и багов, в том числе и драйверами.
- Вторым пунктом является, в случае с физическим сервером, установить все свежие драйвера на материнскую плату и все периферийное оборудование.
- Далее устанавливаете Единый Клиент JaCarta.
- Устанавливаете свежую версию КриптоПРО
Установка единого клиента JaCarta PKI
Единый Клиент JaCarta - это специальная утилита от компании "Аладдин", для правильной работы с токенами JaCarta. Загрузить последнюю версию, данного программного продукта, вы можете с официального сайта, или у меня с облака, если вдруг, не получиться с сайта производителя.
Далее полученный архив вы распаковываете и запускаете установочный файл, под свою архитектуру Windows, у меня это 64-х битная. Приступаем к установке Jacarta драйвера. Единый клиент Jacarta, ставится очень просто (НАПОМИНАЮ ваш токен в момент инсталляции, должен быть отключен). На первом окне мастера установки, просто нажимаем далее.
Принимаем лицензионное соглашение и нажимаем "Далее"
Чтобы драйвера токенов JaCarta у вас работали корректно, достаточно выполнить стандартную установку.
Если выберете "Выборочную установку", то обязательно установите галки:
- Драйверы JaCarta
- Модули поддержки
- Модуль поддержки для КриптоПРО
Далее нажимаем "Установить".
Через пару секунд, Единый клиент Jacarta, успешно установлен.
Обязательно произведите перезагрузку сервера или компьютера, чтобы система увидела свежие драйвера.
Установка КриптоПРО
После установки JaCarta PKI, нужно установить КриптоПРО, для этого заходите на официальный сайт.
На текущий момент самая последняя версия КриптоПро CSP 4.0.9944. Запускаем установщик, оставляем галку "Установить корневые сертификаты" и нажимаем "Установить (Рекомендуется)"
Инсталляция КриптоПРО будет выполнена в фоновом режиме, после которой вы увидите предложение, о перезагрузке браузера, но я вам советую полностью перезагрузиться.
После перезагрузки подключайте ваш USB токен JaCarta. У меня подключение идет по сети, с устройства DIGI, через клиента Anywhere View. В клиенте Anywhere View, мой USB носитель Jacarta, успешно определен, но как Microsoft Usbccid (WUDF), а в идеале должен определиться как JaCarta Usbccid Smartcard, но нужно в любом случае проверить, так как все может работать и так.
Открыв утилиту "Единый клиент Jacarta PKI", подключенного токена обнаружено не было, значит, что-то с драйверами.
Microsoft Usbccid (WUDF) - это стандартный драйвер Microsoft, который по умолчанию устанавливается на различные токены, и бывает, что все работает, но не всегда. Операционная система Windows по умолчанию, ставит их в виду своей архитектуры и настройки, мне вот лично в данный момент такое не нужно. Что делаем, нам нужно удалить драйвера Microsoft Usbccid (WUDF) и установить драйвера для носителя Jacarta.
Откройте диспетчер устройств Windows, найдите пункт "Считыватели устройств смарт-карт (Smart card readers)" щелкните по Microsoft Usbccid (WUDF) и выберите пункт "Свойства". Перейдите на вкладку "Драйвера" и нажмите удалить (Uninstall)
Согласитесь с удалением драйвера Microsoft Usbccid (WUDF).
Вас уведомят, что для вступления изменений в силу, необходима перезагрузка системы, обязательно соглашаемся.
После перезагрузки системы, вы можете увидеть установку устройства и драйверов ARDS Jacarta.
Откройте диспетчер устройств, вы должны увидеть, что теперь ваше устройство определено, как JaCarta Usbccid Smartcar и если зайти в его свойства, то вы увидите, что смарт карта jacarta, теперь использует драйвер версии 6.1.7601 от ALADDIN R.D.ZAO, так и должно быть.
Если открыть единый клиент Jacarta, то вы увидите свою электронную подпись, это означает, что смарт карта нормально определилась.
Открываем CryptoPRO, и видим, что криптопро не видит сертификат в контейнере, хотя все драйвера определились как нужно. Есть еще одна фишка.
ОБЯЗАТЕЛЬНО снимите галку "Не использовать устаревшие cipher suite-ы" и перезагрузитесь.
После этих манипуляций у меня КриптоПРО увидел сертификат и смарт карта jacarta стала рабочей, можно подписывать документы.
Еще можете в устройствах и принтерах, увидеть ваше устройство JaCarta,
Если у вас как и у меня, токен jacarta установлен в виртуальной машине, то вам придется устанавливать сертификат, через console виртуальной машины, и так же дать на нее права ответственному человеку. Если это физический сервер, то там придется давать права на порт управления, в котором так же есть виртуальная консоль.
Не возможно подключиться к службе управления смарт-картами
Не возможно подключиться к службе управления смарт-картами- Не запущена служба смарт-карт на локальной машине. Архитектурой RDP-сессии, разработанной Microsoft, не предусмотрено использование ключевых носителей, подключенных к удалённому компьютеру, поэтому в RDP-сессии удалённый компьютер использует службу смарт-карт локального компьютера. Из этого следует что, запуска службы смарт-карт внутри RDP-сессии недостаточно для нормальной работы.
- Служба управления смарт-картами на локальном компьютере запущена, но недоступна для программы внутри RDP-сессии из-за настроек Windows и/или RDP-клиента.\
- Запустите службу смарт-карт на локальной машине, с которой вы инициируете сеанс удалённого доступа. Настройте её автоматический запуск при старте компьютера.
- Разрешите использование локальных устройств и ресурсов во время удалённого сеанса (в частности, смарт-карт). Для этого, в диалоге "Подключение к удалённому рабочему столу" в параметрах выберите вкладку "Локальные ресурсы", далее в группе "Локальные устройства и ресурсы" нажмите кнопку "Подробнее…", а в открывшемся диалоге выберите пункт "Смарт-карты" и нажмите "ОК", затем "Подключить".
Вот такой вот был траблшутинг по настройке токена Jacarta, КриптоПРО на терминальном сервере, для подписи документов в ВТБ24 ДБО. Если есть замечания или поправки, то пишите их в комментариях.
К сожалению, довольно часто операционная система Windows и «КриптоПро» конфликтуют между собой, что ведет к невозможности «увидеть» ключ ЭЦП и подписать документ. Источники проблем могут быть разные, но их вполне реально оперативно решить.
Основные причины невозможности доступа к ключу JaCarta
Как установить ключ JaCarta
Для предотвращения проблем, когда «КриптоПро» не видит JaCarta, важно правильно настроить программное обеспечение для работы с токеном. Ниже вы найдете подробный алгоритм, но мы сразу отметим, что подключать JaCarta к компьютеру можно только после завершения установки всего объема ПО, идущего следующим образом:
Установка и настройка считывателя «КриптоПро»
Следующим этапом становится установка драйвера CCID с обязательной перезагрузкой, а также настройка считывателей в «КриптоПро». Делают это следующим образом:
- скачайте и разархивируйте комплект модулей для поддержки считывателей;
- найдите через панель управления и запустите программу «КриптоПро CSP»;
- перейдите на вкладку «Оборудование» и активируйте кнопку «Настроить считыватели»;
- выберите конкретный считыватель и мастер установки последнего (для запуска библиотек выберите кнопку «Установить с диска»);
- выберите в окне «Указать размещение» через «Обзор» конкретную папку, где находится reader, нажав затем «Далее»;
- выберите «Считыватель PC/SC» и нажмите кнопку «Далее».
После завершения установки нажмите кнопку «Готово». Теперь нужно выбрать из перечня доступных считывателей AKS ifdh 0 и нажать кнопку «Далее» (в последующем данную процедуру нужно будет повторить и для других типов считывателей). После завершения вновь надо перезагрузить компьютер.
Теперь в диалоговом окне «Управление считывателями» будет доступен весь перечень считывателей. Для дальнейшей настройки необходимо настроить носители. Для этого выполните следующие действия:
- перейдите во вкладку «Оборудование»;
- нажмите кнопку «Настроить носители»;
- нажмите кнопку «Добавить» и запустите мастер установки, перейдя «Далее»;
- нажмите на кнопку «Установить с диска»;
- выберите через кнопку «Обзор» расположение папки reader;
- выберите тип «Смарт-карты eToken…» и нажмите опять кнопку «Далее».
После завершения установки необходимо опять перезагрузить компьютер для подключения уже непосредственно носителя JaCarta, который должен быть виден в «КриптоПро», что позволит подписывать ЭЦП документы и отчеты для государственных органов.
При наличии вопросов и необходимости генерации сертификатов ЭП любого типа обращайтесь в компанию «Астрал». Мы предлагаем подобные услуги на выгодных условиях и с максимальной оперативностью. Дополнительно мы готовы проконсультировать по вопросам установки, выбора конкретного тарифного плана и типа электронных подписей с учетом специфики вашей компании.
Читайте также: