Избавляемся от назойливых предупреждений при входе на терминальный сервер

702310c1fe62aa89d2d3c2f35fe47ef0.jpg

Не так давно внедряли мы решение на терминальном сервере Windows. Как водится, кинули на рабочие столы сотрудникам ярлыки для подключения, и сказали — работайте. Но пользователи оказались зашуганными по части КиберБезопасности. И при подключении к серверу, видя сообщения типа: «Вы доверяете этому серверу? Точно-точно?», пугались и обращались к нам —, а все ли хорошо, можно нажимать на ОК? Тогда и было решено сделать все красиво, чтобы никаких вопросов и паники.

Если ваши пользователи все еще приходят к вам с подобными страхами, и вам надоело ставить галочку «Больше не спрашивать» — добро пожаловать под кат.

Итак, наш пользователь тыкает на сохраненный файл с расширением .rdp и получает такой вот запрос:

017d20a69c2fa84f756e8835f00d0b78.jpg

«Зловредное» подключение.

Для избавления от этого окна используется специальная утилита под названием RDPSign.exe. Полная документация доступна, как обычно, на официальном сайте, а мы разберем пример использования.

Для начала нам нужно взять сертификат для подписывания файла. Он может быть:


  • Публичным.
  • Выданным внутренней службой Certificate Authority.
  • Вовсе самоподписанным.

Самое главное, чтобы сертификат имел возможность подписывать (да, можно отобрать
у бухгалтеров ЭЦП), а клиентские ПК ему доверяли. Здесь я буду использовать самоподписанный сертификат.

Напомню, что доверие самоподписанному сертификату можно организовать при помощи групповых политик. Чуть больше подробностей — под спойлером.


Как сделать сертификат доверенным при помощи магии GPO

Для начала нужно взять имеющийся сертификат без закрытого ключа в формате .cer (это можно сделать, экспортировав сертификат из оснастки «Сертификаты») и положить его в сетевую папку, доступную пользователям для чтения. После этого можно настроить групповую политику.

Импорт сертификата настраивается в разделе: Конфигурация компьютера — Политики — Конфигурация Windows — Параметры безопасности — Политики открытого ключа — Доверенные корневые центры сертификации. Далее правой кнопкой мыши импортируем сертификат.

0892e257e9796e10bf8a093f776042ff.jpg

Настроенная политика.

Теперь клиентские ПК будут доверять самоподписанному сертификату.

Если проблемы с доверием решены, переходим непосредственно к вопросу подписи.

Сертификат есть, теперь нужно узнать его отпечаток. Просто откроем его в оснастке «Сертификаты» и скопируем на вкладке «Состав».

c101c7a087b3114a04844f520e8c6c25.jpg

Нужный нам отпечаток.

Лучше сразу его привести к должному виду — только большие буквы и без пробелов, если они есть. Это удобно сделать в консоли PowerShell командой:

("6b142d74ca7eb9f3d34a2fe16d1b949839dba8fa").ToUpper().Replace(" ","")

Получив отпечаток в нужном формате, можно смело подписывать файл rdp:

rdpsign.exe /sha256 6B142D74CA7EB9F3D34A2FE16D1B949839DBA8FA .\contoso.rdp

Где .\contoso.rdp — абсолютный или относительный путь к нашему файлу.


После того как файл подписан, уже не получится изменить часть параметров через графический интерфейс вроде имени сервера (действительно, иначе смысл подписывать?) А если поменять настройки текстовым редактором, то подпись «слетает».

Теперь при двойном клике по ярлыку сообщение будет другим:

76f080bd9fd2d0bd59ce5c10aeca95b3.jpg

Новое сообщение. Цвет менее опасный, уже прогресс.

Избавимся же и от него.

Для избавления от этого сообщения нам снова понадобится групповая политика. На этот раз дорога лежит в раздел Конфигурация компьютера — Политики — Административные шаблоны — Компоненты Windows — Службы удаленных рабочих столов — Клиент подключения к удаленному рабочему столу — Указать отпечатки SHA1 сертификатов, представляющих доверенных издателей RDP.

d0924047971139996ea0bbc3550bc8b8.jpg

Нужная нам политика.

В политике достаточно добавить уже знакомый нам отпечаток с предыдущего шага.


Стоит отметить, что эта политика перекрывает политику «Разрешать RDP-файлы от допустимых издателей и пользовательские параметры RDP, заданные по умолчанию».

4a7d3dd7883ceaf71bcf6698edead822.jpg

Настроенная политика.

Вуаля, теперь никаких странных вопросов — только запрос логина-пароля. Хм…

Действительно, если мы уже авторизовались при входе на доменный компьютер, то зачем нам вводить повторно тот же логин и пароль? Передадим же учетные данные на сервер «прозрачно». В случае с простым RDP (без использования RDS Gateway) на помощь нам придет… Правильно, групповая политика.

Идем в раздел: Конфигурация компьютера — Политики — Административные шаблоны — Система — Передача учетных данных — Разрешить передачу учетных данных, установленных по умолчанию.

Здесь в список можно добавить нужные серверы или использовать wildcard. Выглядеть это будет как TERMSRV/trm.contoso.com или TERMSRV/*.contoso.com.

712fa73bb547a895b1a8a4c65c8ae640.jpg

Настроенная политика.

Теперь, если посмотреть на наш ярлык, то выглядеть он будет примерно так:

caf1538ec0a117ec8288dd53372dab1d.jpg

Имя пользователя не поменять.

В случае если используется RDS Gateway, понадобится еще и разрешить на нем передачу данных. Для этого в диспетчере IIS нужно в «Методах проверки подлинности» отключить анонимную проверку и включить проверку подлинности Windows.

0cba264a2f7d8320fdd4487d511bd85f.jpg

Настроенный IIS.

Не забываем по завершении перезапустить веб-сервисы командой:

iisreset /noforce

Вот теперь все хорошо, никаких вопросов и запросов.

© Habrahabr.ru