| ||||
| ||||
Пытаюсь использовать КриптоПро на терминальном сервере (Windows 2000+ Citrix 1.8) - результат сильно удивил. Во-первых идет обращение к дисководу сервера, а не к локальному дисководу клиента, который автоматически подключает Citrix. Во-вторых все диалоги отображаются на консоль, а не в терминальную сессию - генератор случайных чисел, сохранению сертификатов. Выглядит забавно - жмем "сохранить сертификат", потом идем к серверу и делаем остальное. Можно ли с этим что-то сделать? | ||||
Ответы: | ||||
| ||||
http://www.cryptopro.ru/cryptopro/forum/view.asp?q=2390 | ||||
| ||||
2 Kirill Sobolev: Почитал тему по Вашей ссылке и ответов на свои вопросы не нашел. Во-первых программа не просто отказывается читать локальный дисковод, а лезет на дисковод сервера т.е. дело не в том, что он сетевой, а идет обращение минуя терминальную подсистему. Кстати, разработчики вполне могли бы игнорировать признак Removeble при работе в терминале, когда диск называется А и имеет характерный для дискеты обьем. Во-вторых нет ответа на вопрос о локально выводимых диалогах - даже при отсутсвии аппартных считывающих устройств (биологический ДСЧ и реестр) работать невозможно. | ||||
| ||||
По поводу дисководов. Флешка, например, может не называться А и иметь большой объём (например, 8 ГБ). Тем не менее, она может использоваться как считыватель. Признаком является именно то, что носитель съёмный, а не сетевой. Далее. CSP работает на сервере. Умеет или не умеет сервер прокидывать локальные окошки в терминальную сессию - зависит от вида терминального сервера. Например, radmin умеет. Для более нового софта - Win2003 и Citrix Access Suite 4 - для хранения ключей можно использовать смарткарты и етокены, которые подключаются к компьютеру клиента и пробрасываются на сервер. | ||||
| ||||
>По поводу дисководов. >Флешка, например, может не называться А и >иметь большой объём (например, 8 ГБ). >Тем не менее, она может использоваться как >считыватель. Признаком является именно то, >что носитель съёмный, а не сетевой. Флешка - это уже роскошь, хотелось бы заставить работать хотябы банальный дисковод в терминальном режиме. Мое предложение на тот случай, когда прочитать признак "съемное" невозможно. >Далее. CSP работает на сервере. Умеет или >не умеет сервер прокидывать локальные окошки >в терминальную сессию - зависит от вида терминального сервера. Терминальный сервер W2000 умеет прокидывать окошки абсолютно всех приложений которыя я до сих пор встречал, в т.ч. и криптографические (Dipost производства Фактор-ТС). Если все приложения работают нормально, а одно единственное глючит, то Вы не находите, что дело именно в этом приложении. Кстати, если не ошибаюсь, нормальная работа в терминальном режиме является обязательным требованием при сертификации приложений на совместимость с W2K и старше, КриптоПро имеет сертификат Microsoft? > Например, radmin умеет. Для справки - radmin не служба терминального доступа, а утилита для доступа к удаленному работчему столу. Она не открывает отдельных пользовательских сеансов. >Для более нового софта - Win2003 и Citrix >Access Suite 4 - для хранения ключей можно >использовать смарткарты и етокены, которые >подключаются к компьютеру клиента и >пробрасываются на сервер. Вы уверены, что дело именно в старости Win2000? Т.е. смарткарты под Win2003 работают, а под Win2000 нет? Интересно, они пользовательские диалоги используют? И эти диалоги корректно передаются в пользовательских сеанс? Если так, то почему разработчки не считают нужным корректно передать диалоги модулей работы с реестром и биологического ДСЧ? | ||||
| ||||
Разработчики, дайте пожалуйста четкий ответ - признаете ли вы ошибками некорректное поведение модулей биологического ДСЧ и хранения ключей в реестре (вывод сообщений на консоль,а не в терминальную сессию? Если да, то как скоро эти ошибки планируется устранить? Если нет, то правомерно ли, по вашему мнению, декларировать совместимость с Windows 2000? | ||||
| ||||
Нет. А ещё скажите, в каком документе на КриптоПро CSP написано, что он работает в рамках терминальной сессии? А по поводу окошек. Видел сам на машине без КриптоПро CSP. Установлен MS CA с ключами на eToken (провайдер родной, алгоритм RSA). Подключаемся по RDP, рестартуем MS CA - ни фига нет окошка ввода ПИНа. Более того, его нет и локально. Служба находится в состоянии "запускается". Лечится только перезагрузкой. | ||||
| ||||
Это можно считать официальным ответом? Я в этом форуме недавно, Вы Василий сотрудник КриптоПро? Про совместимость - в книге Т.Мазерса "Аритектура "тонкого" клиента" сказано, что поддержка работы в терминальном режиме является обязательным требованием Microsoft для получения сертификата о совместимости начиная с W2K. Я понимаю, что цитата из книги не очень веский аргумент, если он Вас не убедил, то постараюсь найти первоисточник - материалы Microsoft. Если посмотреть на вопрос не с формальной стороны (не обязаны - вот и не делаем), то почему КриптоПро не хочет пойти на встречу пользователям? Кто проиграет от того, что работа с программой станет более удобной? | ||||
| ||||
Хороший вопрос :))))) "Почему надо покупать 100 лицензий для каждого рабочего места вместо того, чтобы купить 1 такую же лицензию для сервера и дать туда доступ 100 пользователям?" Кстати - как обеспечивается секретность данных, передаваемых в терминальной сессии? | ||||
| ||||
Вопрос с лицензиями можно решить цивилизовно - одна лицензия на один пользовательский сеанс. Добавьте в КриптоПро возможность устанавливать несколько лицензий одновременно. Почитайте, например, лицензионное соглашение 1С 8.0 или техническую реализацию в ключах HASP - терминальная сессия считается за пользователя. Если я правильно понял - вопрос лицензирования единственная проблема? Т.е. с технической т.з. реализовать корректную передачу диалогов Вы можете? | ||||
| ||||
Нет, вопрос в том что я написал - в секретности данных. | ||||
| ||||
Не понял, причем тут секретность. Допустим, с тем что ключевой носитель стоит локально - дело ТОЛЬКО в корректой отрисовке диалогов, их нужно передать в терминальную сессию а не консоль сервера. | ||||
| ||||
Я видимо не до конца понимаю что такое "терминальная сессия". Поясните пожалуйста - означает ли это, что секретный ключ считывается локально (с дискеты, флешки и т.д.), а вся криптография - ЭЦП и расшифрование - происходит удаленно, на сервере, затем пользователю в той же сессии возвращается результат. | ||||
| ||||
Чтобы не было путаницы давайте определимся с терминами. Локально - это у клиента (диски и экран). В терминальной сессии - выполнение происходит на сервере, но все диалоги видны у клиента. На консоли - выполнение и диалоги видны на сервере. Сейчас происходит так - криптография корректно работает в терминальной сессии, но при обращении к модулям, где есть диалоги их отображение идет на консоль сервера. Если модули криптографии работают со съемными носителями, то читается носитель, физически подключенный к серверу. С этим можно смириться (воткнуть дискету или флешку на сервер), но хочется чтобы можно было работать с автоматически подключаемыми дисками клиента, которые подключаются к серверу. | ||||
| ||||
Значит вопрос в следующем - как в терминальной сессии секретный ключ, считанный с носителя на локальной машине попадает к КриптоПро CSP на сервере? | ||||
| ||||
Средствами Citrix дисковод сервера (если обращаться к нему не на низком уровне) заменяется на локальный дисковод пользователя автоматически. Т.е. при работе в терминальной сессии видим а как "A$ on Client" т.е. как сетевой диск. Только прошу не валить все в одну кучу. Сейчас есть 2 проблемы - а) невозможность работы с сетевым диском, как с ключевым носителем б) некорректная отрисовка диалогов. Если Вы не готовы решить проблему а), то решите, пожалуйста, хотябы б) - так уже можно будет хоть как-то работать. | ||||
| ||||
А проблему передачи в открытом виде секретного ключа от клиента к серверу и обратно Вы не рассматриваете? | ||||
| ||||
Citrix (протокол ICA) умеет кодировать весь передаваемый поток, про RDP точно не знаю. И п. б) ведь это никак не касается? | ||||
| ||||
На сервере какая установлена сборка КриптоПро CSP 3.0 - КС1 или КС2? | ||||
| ||||
КС2 - та, которую дал Такском. Но насколько я понял, в моей ситуации (без аппаратных ключей) можно обойтись КС1. Кстати, в ссыке которую Вы дали идет речь о ключах, которые корректно работают в терминале. Интересно, они не используют экранных диалогов и не передают по сети ключи в открытом виде? | ||||
| ||||
Посмотрите как будет (отосительно окошек), если поставить КС1 на сервере. В КС1 и 2 функции доступа к контейнерам вызываются по-разному. | ||||
| ||||
Очень интересный у вас тут диалог нарисовался! Позвольте подключиться. Тоже стоит задача скрестить 2003 терминальный сервер и CP CSP. C одной стороны Kirill Sobolev пишет: > А проблему передачи в открытом виде секретного ключа от клиента к серверу и обратно Вы не рассматриваете? С другой стороны во ссылку выше Василий пишет: > Существующее сейчас решение позволяет использовать смарткарты и етокены. А что, считанные со смарткарт и токенов секретные ключи передаются к серверу как-то иначе? А по поводу того, что диалог, начавшейся в терминальной сессии клиента, продолжается на консоли терминального сервера - это IMHO большой косяк. Даже не зняю, как к клиенту с такой новостью идти... Виталий, вы ещё не пробовали КС1? | ||||
| ||||
А у нас на форуме все диалоги интересные :) Кодирование ICA - SecureICA я так понимаю - использует наверняка буржуйские алгортимы, что-нибудь типа RC4, да возможно еще и ключ получается из пароля. Вот только как там происходит аутентификация не знаю. Возможно, токены и смарткарты работают по другому, это все-таки более защищенная вещь чем дискета. | ||||
| ||||
Вадим, смарткарты и етокены пробрасываются с клиентского компьютера в терминальную сессию при использовании специальной технологии (с участием стойкого, как говорят, шифрования, но, конечно, не на ГОСТ-овом алгоритме). Подробности лучше спросить у производителя данного оборудования - www.aladdin.ru По поводу окошек. Ещё раз повторю, поведение зависит от: - версии ОС (в т.ч. сервиспак) на сервере - версии ПО для терминального доступа - версии CSP 3.0 на сервере - КС1 или КС2 - какие ключевые носители - какая прикладная программа использует ключи Пример. Сервер - Win 2003 SP1, CSP 3.0 KC1 Клиент - Win XP с RDP-клиентом для терминального доступа (msrdpcli.msi от Win 2003 SP1) Подключаемся. Есть два режима 1) с проверкой подлинности сервера и шифрованием всего трафика терминальной сессии по алгоритму ГОСТ 2) без этого Далее запускаем приложение, выполняющее подпись (например, КриптоАРМ). Окошки для доступа к контейнеру на клиенте. Примечание. Для обеспечения режима 1 на сервере дополнительно нужно: - ПО "КриптоПро WinLogon" - сертификат проверки подлинности сервера с алгоритмом ГОСТ, выбранный в "Настройках служб терминалов" | ||||
| ||||
Уточнение. Для режима 1, конечно же, и на клиенте нужно установить КриптоПро CSP 3.0 или КриптоПро CSP+КриптоПро TLS 2.0. | ||||
| ||||
Попробовал КС1 3.0 и 3.6beta - работает! Диалоги отрисовываются на клиенте. W2K+Citrix 1.8 на сервере, WinXP+ICA клиент. Еще бы решить вопрос с хранением ключей на несъемных дисках и я оставлю саппорт в покое :) | ||||
| ||||
> Еще бы решить вопрос с хранением ключей на несъемных дисках Обращайтесь к руководству КриптоПро, заключайте договор на доработку CSP, оплачивайте его - тогда и сделаем. | ||||
| ||||
>Обращайтесь к руководству КриптоПро, заключайте договор на доработку CSP, оплачивайте его - тогда и сделаем Вы же писали, что модуль доступа к несъемному носителю УЖЕ существует. Дорабатывать ничего не нужно, нужно лишь дать готовую DLL. | ||||
| ||||
Рано я обрадовался - с КС1 вылезла неприятность, он не видит локального дисковода на сервере. Точнее видит, но только если отключить сетевой диск А: Получается что драйвер ключа обращается к дисководу не напрямую как КС2, а из терминальной сессии, а в терминальной сессии дисковод заменен на пользовательский, который не имеет признака "съемный". Результат - индейская изба, ключи нельзя держать ни на локальном дисководе ни на серверном. | ||||
| ||||
Виталий, у вас же w2k сервер, а не w2k3. Может вам перейти на CSP 2.0? Правда при этом ключи, сделанные на 3.0 имеют права не работать, их надо будет переделывать... | ||||
| ||||
> он не видит локального дисковода на сервере Имя локального дисковода на сервере (Цитрикс, кстати, предлагает его заменить на другую букву, не А) должно совпадать с именем дисковода, настроенного в панели КриптоПро CSP - Оборудование - Настроить считыватели. | ||||
| ||||
Нет, цитрикс, по крайней мере 1.8 меняет А именно на А, в этом и вся проблема. Можно отключить подключение локальных дисков, но только сразу всех, что совсем не удобно. | ||||
| ||||
У меня аналогичная проблема с Windows 2003 / MS Terminal. Диалог создания и выбора ключа появляется на консоли вместо сеанса клиента. К тому же нет возможности использовать дисководы клиентов для хранения ключей. | ||||
| ||||
Аналогичная проблема - аналогичное решение. Если на сервере КриптоПро CSP 3.0, то надо использовать КС1. Дисководы клиентов использовать не получится, т.к. в терминальной сессии они подключаются как сетевые диски. | ||||
| ||||
Спасибо за совет! В комплекте с софтом, для которого нужна КриптоПро, была только сборка КС2. Я скачал с сайта полный дистрибутив и это помогло. | ||||