Инструкция по настройке и работе с Крипто-Про для государственных порталов

Сообщения
21
#61
проблема осталась. предлагает установить IFC-плагин

lrwxrwxrwx 1 root root 36 июля 24 12:38 libnpcades.so -> /opt/cprocsp/lib/amd64/libnpcades.so
xxx@xxx:/home/user$ ls -l /usr/lib | grep libcppcades.so
lrwxrwxrwx 1 root root 37 июля 24 12:38 libcppcades.so -> /opt/cprocsp/lib/amd64/libcppcades.so
xxx@xxx:/home/user$ ls -l /usr/lib | grep libcppkcs11.so
lrwxrwxrwx 1 root root 37 июля 24 12:39 libcppkcs11.so -> /opt/cprocsp/lib/amd64/libcppkcs11.so

xxx@xxx:/home/user$ ln -s /opt/cprocsp/lib/amd64/libnpcades.so /usr/lib/mozilla/plugins/lib/libnpcades.so
ln: не удалось создать символьную ссылку «/usr/lib/mozilla/plugins/lib/libnpcades.so»: Файл существует
xxx@xxx:/home/user$ ln -s /opt/cprocsp/lib/amd64/libcppkcs11.so.4.0.4 /usr/lib/mozilla/plugins/lib/libcppkcs11.so
ln: не удалось создать символьную ссылку «/usr/lib/mozilla/plugins/lib/libcppkcs11.so»: Файл существует

а тут https://wiki.astralinux.ru/pages/viewpage.action?pageId=53645439 смотрели?
 

ingener

New member
Сообщения
163
#62

неужели я похож на ламера! конечно я все проверил. плаги cades работает. тестирование на сайте CryptoPro проходит. мало того на сайт nalog.ru захожу через почту.
но вот плагин IFC упорно не хочет запускаться.
причем на версии 1.6 (Смоленск) под администратором - работает, а под пользователем - не хочет. а на версии 1.5 ни под каким пользователем не работает
 

AFilippov

New member
Сообщения
171
#63
Попробовать windows-метод? Повысь пользователя до администратора, установи под ним плагин, проверь работу, затем верни обычные права. Ну, как вариант.
 

ingener

New member
Сообщения
163
#64
Попробовать windows-метод? Повысь пользователя до администратора, установи под ним плагин, проверь работу, затем верни обычные права. Ну, как вариант.
на версии 1.6 (Смоленск) пробовал - переводил пользователя в группу astra-admin. а в версии 1.5 плагин вообще не запускается
а еще про это я написал в пост 55
 
Последнее редактирование:

ingener

New member
Сообщения
163
#65
Попробовать windows-метод? Повысь пользователя до администратора, установи под ним плагин, проверь работу, затем верни обычные права. Ну, как вариант.
сделал так на Ubuntu 18.04. полностью сравнил группы администратора и пользователя, после чего пользователя добавил во все группы, в которые входит администратор и перезагрузил компьютер. под пользователем плагин запустился (пользователь ли это теперь?). но вход на госсулуги не прошел! но хоть какой-то результат.
подозревал, что плагин на Atra Linux 1.5 не запускается из-за отсутствия пользователя в группах adm и devplug. но добавление в эти группы результато не дало!
 

AFilippov

New member
Сообщения
171
#66
сделал так на Ubuntu 18.04. полностью сравнил группы администратора и пользователя, после чего пользователя добавил во все группы, в которые входит администратор и перезагрузил компьютер. под пользователем плагин запустился (пользователь ли это теперь?). но вход на госсулуги не прошел! но хоть какой-то результат.
подозревал, что плагин на Atra Linux 1.5 не запускается из-за отсутствия пользователя в группах adm и devplug. но добавление в эти группы результато не дало!
Зачем убунта? Проверил на Смоленск 1.6, браузер Firefox 60.0.2, группы пользователя: user1 dialout cdrom floppy audio video plugdev users. Включены мандатный контроль целостности и блокировка SysRq. Результат на скриншоте.

...а вот если зайти под обычным пользователем, то любой браузер говорит, что не установлен плагин IFC и предлагает его установить...
Браузер даже не муркнул. Проверь на свежеустановленной ALSE 1.6.
 

Вложения

ingener

New member
Сообщения
163
#67
Браузер даже не муркнул. Проверь на свежеустановленной ALSE 1.6.
Зачем убунта? Проверил на Смоленск 1.6, браузер Firefox 60.0.2, группы пользователя: user1 dialout cdrom floppy audio video plugdev users. Включены мандатный контроль целостности и блокировка SysRq. Результат на скриншоте.


Браузер даже не муркнул. Проверь на свежеустановленной ALSE 1.6.
плагин стоит, только не запускается - не вызывает менеджер сертификатов.
вот сравнение пользователей
admin@astra:~$ id
uid=1000(ozi) gid=1000(admin) группы=1000(admin),24(cdrom),25(floppy),29(audio),30(dip),44(video),46(plugdev),108(netdev),111(lpadmin),112(scanner),333(astra-console),900(lpmac),1001(astra-admin)
admin@astra:~$ id test
uid=1001(test) gid=1002(test) группы=1002(test),20(dialout),24(cdrom),25(floppy),29(audio),44(video),46(plugdev),100(users),111(lpadmin),900(lpmac),1001(astra-admin)

разница в том, что test не входит в группу 46, 108. добавил группы - результат тот же: "У вас не установлен плагин)
 
Последнее редактирование:

AFilippov

New member
Сообщения
171
#68
Понял, а я Т-72 хотел предложить :)
Чтобы смоделировать ситуацию, достаточно на чистый Смоленск 1.6 установить IFCPlugin-x86_64.deb с зависимостями. Затем на esia.gosuslugi.ru выбрать "Вход с помощью электронной подписи" и нажать "Готово", не подключая токен. Если заходить под администратором Астры, пишет: "У вас нет действующих сертификатов". Если заходить под обычным пользователем пишет: "Ошибка: не установлен плагин". То есть, непосредственно до КриптоПро дело даже не доходит.
Массовое добавление групп пользователю, отключение МКЦ эффекта не дают. Вопрос целесообразнее перенести в раздел форума ALSE, если появятся умные мысли отпишусь.
 

Вложения

ingener

New member
Сообщения
163
#69
Зачем убунта? Проверил на Смоленск 1.6, браузер Firefox 60.0.2, группы пользователя: user1 dialout cdrom floppy audio video plugdev users. Включены мандатный контроль целостности и блокировка SysRq. Результат на скриншоте.
что Ubuntu, что Astra Linux - все это Debian. на Ubuntu проще понять процессы.

по существу....
на Ubuntu обычного пользователя добавил в группу, владельцем которой является пользователь под которым инсталлировалась система - почти администратор. и плагин запустился! причем компьютер нужно было выключить.
логичный вывод - у какого-то процесса не хватает прав на запуск плагина. осталось понять - что это за процесс?

такие же манипуляции на Astra Linux (и Смоленск, и Орел) никаких результатов не дали!
 

AFilippov

New member
Сообщения
171
#70
Костыльный способ для Астры CE: в новой системе заводим обычного пользователя test и временно даем ему группу astra-admin. Заходим под этим пользователем, делаем sudo dpkg -i IFCPlugin-x86_64.deb libccid_1.4.26-1_amd64.deb pcscd_1.8.20-1_amd64.deb. Удаляем пользователя test из группы astra-admin, плагин работает только под пользователем test.
Здесь https://habr.com/ru/post/437958/ люди мучились с подобным на винде. Обрати внимание на https://ds-plugin.gosuslugi.ru/plugin/upload/Index.spr есть плагин IFCPlugin-admin-x64.msi для "Microsoft Windows 7/8/10, Административная версия плагина с установкой для всех пользователей ПК 64-bit".
Вот еще на Астра-вики Запуск службы pcscd с ненулевыми мандатными атрибутами, но у меня сходу не получилось.

Вот еще интересные файлы:
/var/lib/dpkg/info/ifcplugin.list
/var/lib/dpkg/info/ifcplugin.conffiles
var/lib/dpkg/info/ifcplugin.postinst
 
Последнее редактирование:

Montfer

New member
Сообщения
884
#71
из наблюдения
- ради эксперимента на смоленске 1.6 создал двух пользователей: user-1 и user-2 (все группы по дефолту, ничего не добавлял)
- поставил браузер google chrome (т.к. в его магазине есть плагин госуслуг), пришлось подключить репозиторий орла
- установил плагин из магазина гугла обоим пользователям
- попытался войти без установки плагина из deb - портал сказал, что плагин не установлен.
- зашел под админом, поставил плагин из deb. На госуслуги не заходил!!
- зашел под user-1 на госуслуги, сайт запросил сертификат (делаю ввод, что плагин отработал)
-зашел под user-2 - сайт сказал, что плагин не установлен.

Вывод - неважно под кем ставить, важно - кто первый попытался зайти на сайт, того и тапки...
О неправильной работе писали сюда support@gosuslugi.ru ?

PS будет время, попробую аналогично c firefox'ом
 
Последнее редактирование:

AFilippov

New member
Сообщения
171
#72
Вывод - неважно под кем ставить, важно - кто первый попытался зайти на сайт, того и тапки...
О неправильной работе писали сюда support@gosuslugi.ru ?
PS будет время, попробую аналогично c firefox'ом
С firefox можешь не пробовать, так же. Удаление и повторная установка IFCPlugin-x86_64.deb libccid_1.4.26-1_amd64.deb pcscd_1.8.20-1_amd64.deb ничего не дает. То же самое в дебиане, убунте. На Госуслугах для Win есть многопользовательский плагин IFCPlugin-admin-x64.msi, под линукс такого нет. Да и черт с ним, не до жиру. А вот куда прописывается user1, не понятно.
Ситуация: пользователь user1 удален/заблокирован, надо, чтобы Госуслуги работали пользователя user2.
В саппорт госуслуг вряд ли кто писал, народ рад, что вообще ЭЦП заработала.
 
Последнее редактирование:

ingener

New member
Сообщения
163
#73
С firefox можешь не пробовать, так же. Удаление и повторная установка IFCPlugin-x86_64.deb libccid_1.4.26-1_amd64.deb pcscd_1.8.20-1_amd64.deb ничего не дает. То же самое в дебиане, убунте.
вот как раз в Ubuntu и получилось!
добавил пользователя во все группы, в которые входит администратор. и плагин заработал под обычным пользователем. начал по очереди удалять пользователя из групп и нашел зависимость от пользователя, который был создан при инсталляции системы. плагин запустился.
создал нового обычного пользователя и добавил его в группу пользователя, который был создан при инсталляции системы. плагин запустился.
такой же фокус в Debian и Astra Linux (1.6 Смоленск, Орел) не проходит.
нужно дальше искать зависимости!
 

AFilippov

New member
Сообщения
171
#74
Трындец! Прибейте это, как памятник похабной работы ПО.
Устанавливаем IFCPlugin-x86_64.deb версии 3.0.7.0 с сайта https://ds-plugin.gosuslugi.ru/plugin/upload/Index.spr под любым пользователем, допустим user1.
Далее, user1 заходит на сайт госуслуги, плагин срабатывает.
Создаем еще одного обычного пользователя user2. Заходим на сайт госуслуг и получаем отлуп: плагин не установлен.
Делаем: chmod 777 /var/log/ifc/engine_logs/engine.log
User2 заходит на сайт госуслуг, плагин срабатывает.
Тоже самое получится, если просто удалить engine.log, при этом sudo не требуется.
Ну как так-то! o_O
Проверено на Дебиан 10 - Firefox 60, Астра СЕ - Firefox 67. Кэш браузера очищать не обязательно, после установки плагина какие-либо дополнительные права пользователю не нужны.

Дальше проверить не могу в виду наличия отсутствия токенов.
 
Последнее редактирование:

Montfer

New member
Сообщения
884
#75
Посмотрел на этот /var/log/fc/engine_logs/engine.log сейчас. Вчера первым заходил на госуслуги user-1, и engine.log там висел с такими правами доступа
-rw-r----- 1 user-1 user-1 8618 июл 26 23:57 engine.log
Сегодня откатил виртуальную машину до первоначального состояния, по новой установил плагин, и... папка /var/log/fc/engine_logs/ пуста.... То есть сам log-файл создается при первой же попытке входа на сайт.
Что мы тут видим: engine.log создается с параметрами, разрешающими чтение и запись только пользователю user-1 и чтение группе user-1
Сначала подумал, что если дать права на файл по аналогии с другими файлами в /var/log, т.е. сделать владельцем файла root:root и выставить права
-rw-r--r-- 1 root root 0 июл 27 09:50 engine.log
Но нет, в этом случае плагин не заработал, вероятно всего, потому что из-под пользователя он не смог писать в файл свои логи, поэтому
admpc@astra-2:/var/log/ifc/engine_logs$ sudo chmod 766 engine.log
admpc@astra-2:/var/log/ifc/engine_logs$ ls -l
итого 0
-rwxrw-rw- 1 root root 0 июл 27 09:50 engine.log

И всё заработало. Вот так вот.. Напишу в саппорт этого плагина, может быть, они исправят такой баг или внесут в инструкцию на своем сайте, чтоб люди не мучились.
ЗЫ Это на Astre SE 1.6 и браузере firefox 60.0.2



ЗЫЫ отправил письмо на адрес, указанный в файлах deb пакета плагина... Пришел ответ:
Здравствуйте!

Вы отправили обращение на support@gosuslugi.ru. К сожалению, адрес больше не поддерживается.

Чтобы мы могли помочь, отправьте ваше обращение в службу поддержки Госуслуг одним из способов:

• в онлайн-чат на портале;
• или в поддержку мобильного приложения — ответим в чате поддержки приложения.

Пишите нам. Мы постараемся помочь вам как можно быстрее.

Дибилизм
 
Последнее редактирование:

AFilippov

New member
Сообщения
171
#76
...Что мы тут видим: engine.log создается с параметрами, разрешающими чтение и запись только пользователю user-1 и чтение группе user-1
Сначала подумал, что если дать права на файл по аналогии с другими файлами в /var/log, т.е. сделать владельцем файла root:root и выставить права
-rw-r--r-- 1 root root 0 июл 27 09:50 engine.log
Но нет, в этом случае плагин не заработал, вероятно всего, потому что из-под пользователя он не смог писать в файл свои логи, поэтому
admpc@astra-2:/var/log/ifc/engine_logs$ sudo chmod 766 engine.log
admpc@astra-2:/var/log/ifc/engine_logs$ ls -l
-rwxrw-rw- 1 root root 0 июл 27 09:50 engine.log
И всё заработало...
Пытался понять логику создателей скрипта установки плагина. Похоже, было сильное желание, как порядочным, писать лог-файл в /var/log/. Создают свои директории /var/log/ifc/engine_logs/, смотрят на права в /var/log-е и задают такие же - 755. Запускают браузер, плагин вылетает, лог-файла нет.
Чешут репу, соображают, что лог-файл создается под именем текущего пользователя. Имя пользователя и группы на пользовательских машинах заранее неизвестны. Ага! Значит надо установить на /var/log/ifc/ и /var/log/ifc/engine_logs/ права 777, а лог-файлу engine.log -640, ну, как системному логу.
Проверяют. Офигенно! Все работает, лог пишется.
Что эти волки по факту сделали: в /var/log/ifc/ и /var/log/ifc/engine_logs/ теперь любой процесс может писать любое количество файлов любого размера, да хоть из random-а. Последствия при не установленных дисковых квотах никому же не надо расписывать? Особенно весело будет "оптимизаторам", снимающим 5%-е резервирование. При этом бонусом имеем проблему запуска плагина под другими пользователями.

Ранее предложенный метод в виде: chmod 777 /var/log/ifc/engine_logs/engine.log, безусловно - зло. Решает одну проблему, остальные нет.
Предложение для Астры CE/SE: так как по умолчанию новым пользователям добавляется группа users (у пользователя-администратора данной группы нет, если необходимо, можно добавить). Сразу после установки плагина версии 3.0.7.0:
# 1 Создаем пустой лог-файл
sudo touch /var/log/ifc/engine_logs/engine.log
# 2 Рекурсивно меняем владельца и группу
sudo chown -R root:users /var/log/ifc/
# 3 Устанавливаем права на директории
sudo chmod -R 770 /var/log/ifc
# 4 Устанавливаем права на лог-файл
sudo chmod 660 /var/log/ifc/engine_logs/engine.log
Для очистки лог-файла можно использовать команду sudo cp /dev/null /var/log/ifc/engine_logs/engine.log
При этом все права сохраняются, и никаких дополнительных действий не требуется.

Для других дистрибутивов: создать новую группу, допустим gosuslugi, по необходимости добавлять в нее пользователей.
Соответственно пукт 2 будет выглядеть так:
sudo chown -R root:gosuslugi /var/log/ifc/

. Напишу в саппорт этого плагина, может быть, они исправят такой баг или внесут в инструкцию на своем сайте, чтоб люди не мучились...
...Чтобы мы могли помочь, отправьте ваше обращение в службу поддержки Госуслуг одним из способов:
•в онлайн-чат на портале;
•или в поддержку мобильного приложения — ответим в чате поддержки приложения...
Дибилизм
В файле конфигурации /etc/ifc.cfg самой первой идет секция log level=debag. Отключить логирование не получилось, как изменить путь до лога не знаю, может жестко прописан.
Кстати, саппорт может ответить, что это не баг, а фича. Типа один ПК - один пользователь госуслуг. А если надо поменять пользователя, то сначала удалите плагин с логами, а потом входите под нужным пользователем.

Еще вспомнилось, сколько народа у КриптоПро просили deb-пакет CSP, а в ответ эти милые люди говорили: DEB-а не и не будет, держите расововерный RPM и целуйте руки, что вообще под линукс сделали. Сейчас, смотрю, их с Олимпа не много опустили, но череззаднепроходная установка, как была, так и осталась.

Если, где ошибся, поправьте, пожалуйста. :confused:
 
Последнее редактирование:

Montfer

New member
Сообщения
884
#77
Вот еще интересные файлы:
/var/lib/dpkg/info/ifcplugin.list
/var/lib/dpkg/info/ifcplugin.conffiles
var/lib/dpkg/info/ifcplugin.postinst
Либо в одном из этих файлов, либо при отрытии deb-файла через архиватор и там в одном из файлов видел путь до лога. Но где - уже не вспомню. Такая вот у меня память. Да и предположить не мог, что из за недоступности его может не работать плагин...
 

AFilippov

New member
Сообщения
171
#78
Либо в одном из этих файлов, либо при отрытии deb-файла через архиватор и там в одном из файлов видел путь до лога... ...Да и предположить не мог, что из за недоступности его может не работать плагин...
Наверняка есть, только смысл какой исправлять в пакете? Распространяют-то его Госуслуги.

...Но где - уже не вспомню. Такая вот у меня память. Да и предположить не мог, что из за недоступности его может не работать плагин...
У меня самого не лучше :confused: Да, ошибка детская. Но, ****** бабай, Gosuslugi.ru - это же светоч цифровой экономики!
И самое главное - ценность данного лог-файла для администратора системы нулевая. Ведь нигде access denied-ом даже пискнул. А проблему на ровном месте создал. По-хорошему и ротацию на него настраивать надо с правильными правами. Сейчас посмотрел, несколько запусков и уже 50 Кб.

Если будет возможность, проверьте последний вариант на Астре:
sudo touch /var/log/ifc/engine_logs/engine.log
sudo chown -R root:users /var/log/ifc/
sudo chmod -R 770 /var/log/ifc
sudo chmod 660 /var/log/ifc/engine_logs/engine.log
Опасаюсь, как-бы сам себя не перехитрил. :)
 
Последнее редактирование:

Montfer

New member
Сообщения
884
#79
Наверняка есть, только смысл какой исправлять в пакете? Распространяют-то его Госуслуги.


У меня самого не лучше :confused: Да, ошибка детская. Но, ****** бабай, Gosuslugi.ru - это же светоч цифровой экономики!
И самое главное - ценность данного лог-файла для администратора системы нулевая. Ведь нигде access denied-ом даже пискнул. А проблему на ровном месте создал. По-хорошему и ротацию на него настраивать надо с правильными правами. Сейчас посмотрел, несколько запусков и уже 50 Кб.

Если будет возможность, проверьте последний вариант на Астре:
sudo chown -R root:users /var/log/ifc/
sudo chmod -R 770 /var/log/ifc
Опасаюсь, как-бы сам себя не перехитрил. :)
Я и не предлагаю исправлять в пакете)) Просто озвучил варианты, где видел.
Ваш вариант проверил: установил под админом плагин, создал пустой файл, изменил права доступа. На смоленске 1.6 ошибок с плагином не было))

вот тут var/lib/dpkg/info/ifcplugin.postinst и указаны параметры создания каталогов в /var/log/ifc но больше ничего не нашел ни в deb пакете, ни в системе...
 

AFilippov

New member
Сообщения
171
#80
...Ваш вариант проверил: установил под админом плагин, создал пустой файл, изменил права доступа. На смоленске 1.6 ошибок с плагином не было))...
Это хорошая идея. Сейчас добавлю в предыдущие сообщения sudo touch /var/log/ifc/engine_logs/engine.log
А еще, если лень ротацию настраивать, можно раз в месяц по расписанию очищать лог-файл sudo cp /dev/null /var/log/ifc/engine_logs/engine.log
За один запуск пишет 8,5Кб, вроде не много, а если за год посчитать? ;)
Осталось дождаться "именинника" ingener, как у него с токенами сработает.