При подключении по RDP к удаленной машине браузер не видит Rutoken. Часть вторая.

При подключении по RDP к удаленной машине браузер не видит Rutoken. Часть вторая. ЭЦП

Двухуровневый tls

В случае аутентификации пользователей об Active Directory по сертификатам RSA я предлагаю использовать обычный TLS c хранением клиентского ключа аутентификации RSA на Рутокен ЭЦП, но ходить через sTunnel. В этом случае TLS по RSA будет передаваться внутри канала TLS c ГОСТ.

Возможны две схемы. В первой TLS с RSA организует непосредственно клиент RDP. При этом на токене хранятся два ключа — ГОСТовый (аутентификация «свой-чужой», чтобы авторизоваться на сервере sTunnel)и RSA (если пользователь смог пройти первый барьер, то этот ключ используется для аутентификации об AD, пользователь сразу попадает в свою учетную запись на RDP-сервере).

Для доступа к ключу/сертификату RSA, хранящимся на Рутокен ЭЦП, и аппаратной реализации RSA на «борту» Рутокен ЭЦП используется на Windows Рутокен CSP (входит в дистрибутив драйверов Рутокен), на Linux приложение rdesktop работает через PC/SC.

Во второй схеме TLS по RSA и по ГОСТ обеспечивается самим sTunnel. Сразу предупреждаю, что эту вторую схему я не пробовал.

Для доступа к ключу RSA и аппаратной реализации RSA «на борту» Рутокен ЭЦП используется engine pkcs11 из проекта OpenSC www.opensc-project.org/engine_pkcs11.

Соответственно, в конфиге клиента sTunnel будут две секции:

[RDP-TLS-GOST]
engineNum=1
key=100
cert=client_gost.crt
accept = 127.0.0.1:8088
connect = x.x.x.x:1494
ciphers = GOST2001-GOST89-GOST89
TIMEOUTclose = 1


[RDP-TLS-RSA]
engineNum=2
key=101
cert=client_rsa.crt
accept = 127.0.0.1:8087
connect = 127.0.0.1:8088
TIMEOUTclose = 1

А ходить клиентом RDP надо на 127.0.0.1:8087.

Защита по гостам

Базовая схема представлена на рисунке.

При подключении по rdp к удаленной машине браузер не видит rutoken. часть вторая.

При подключении по RDP к удаленной машине браузер не видит Rutoken. Часть вторая.

Перенос контейнера закрытого ключа из RuToken в реестр

Для того, чтобы скопировать контейнер закрытого ключа из RuToken в реестр, воспользовался следующим источником: «Инструкция по переносу контейнера закрытого ключа из Rutoken в реестр» (стр.4), только слегка её подкорректировал. Все нижеследующие действия проводятся при консольном входе (либо через TeamViewer) на компьютере, к которому впоследствии планируется подключаться по RDP.

Итак, запускаем программу «КриптоПро CSP». В меню «Сервис» нажать кнопку «Скопировать». В открывшемся окне «Копирование контейнера закрытого ключа», нажать на кнопку «Обзор». В открывшемся окне «Выбор ключевого контейнера» выделить строку с нужным ключевым контейнером – Aktiv Co. RuToken и нажать «ОК»

Копирование контейнера закрытого ключа

Потом «Далее»

При подключении по RDP к удаленной машине браузер не видит Rutoken. Часть вторая.

Ввести пин-код для контейнера (для своего сертификата электронной подписи). Нажать «Ок»

При подключении по RDP к удаленной машине браузер не видит Rutoken. Часть вторая.

В следующем окне в поле «Введите имя для создаваемого ключевого контейнера» следует ввести имя ключевого контейнера (любое). Нажать «Готово»

При подключении по RDP к удаленной машине браузер не видит Rutoken. Часть вторая.

В открывшемся окне в поле «Устройства» выбрать «Реестр» и нажать «ОК».

При подключении по RDP к удаленной машине браузер не видит Rutoken. Часть вторая.

ВАЖНО!

Если и после этого при подключении по RDP на удаленном компьютере вы заходите на ЭТП и браузер снова выдаёт «У вас нет действующих сертификатов» или «Вставьте ключевой носитель», то нужно проделать следующее (срабатывает и удалённо по RDP):

В программе «КриптоПро CSP» в меню «Сервис» нажать кнопку «Посмотреть сертификаты в контейнере», нажать на «Обзор», в открывшемся окне «Выбор ключевого контейнера» в «Списке ключевых контейнеров» выделить строку, где в столбце «Считыватель» указано «Реестр». Нажать «Ок».
Потом «Далее».

При подключении по RDP к удаленной машине браузер не видит Rutoken. Часть вторая.

Сертификаты в контейнере закрытого ключа. Далее

В окне «Сертификат для просмотра» нажать «Свойства»

При подключении по RDP к удаленной машине браузер не видит Rutoken. Часть вторая.

В открывшемся окне «Сертификат» нажать «Установить сертификат» и поместить его в хранилище «Личное». Всё. После этого при подключении по RDP к удаленной машине и при заходе на ЭТП браузер видит сертификат и не требует вставить ключевой носитель.

P.S.Однако, не следует забывать о том, что наряду с возможностью заходить на ЭТП без RuToken-а на удаленной машине, подключившись к ней по RDP, вы вместо двухфакторной авторизации (подключение электронного ключа и ввод пароля), получаете однофакторную (только пароль), — RuToken можно не подключать. А это уже, как вы понимаете, вопросы безопасности.

P.S.P.S. В последнее время стала проявляться следующая раздражающая закономерность. Всё вроде бы сделано для того, чтобы при подключении по RDP к удаленной машине и заходе на ЭТП браузер видел сертификат, и он таки его видит! Но наступает следующий день и всё повторяется снова: браузер опять требует вставить носитель!
И опять приходится через КриптоПро CSP устанавливать сертификат в хранилище «Личное». В конце концов это надоело. Сделал батник следующего содержания:
cd «C:Program FilesCrypto ProCSP»

csptest.exe -property -cinstall -cont «OOO_******_911_reg»

Где вместо OOO_******_911_reg надо указать имя вашего ключевого контейнера, который вы скопировали в реестр. Теперь, если браузер снова потребует вставить ключевой носитель, запускаете батник и обновляете страницу браузера.

Оцените статью
ЭЦП64
Добавить комментарий