Рейтинг:1

Вход в Apache Guacamole с пользователем из домена A, rdp на сервер из домена B

флаг us

Обзор

Заходим в Гукамоле под Пользователем из Домена А, где выбираем rdp-подключение к серверу из Домена Б.

Трасты

Домен А в Домен Б и наоборот:

  • Тип: Внешний
  • Поддержка шифрования Kerberos AES: нет
  • Направление: двустороннее
  • Транзитивность: нет
  • Аутентификация: для всего домена

Разрешения

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

Гуакамоле

Вся настройка была сделана не мной, и у меня мало информации, так как ею управляет другая команда. Что я знаю, так это то, что он отлично работает с пользователем из домена А на сервер из домена А. Пользователи входят в него с помощью upn и используют 2FA по OpenOTP. Если вы, ребята, думаете, что это поможет поделиться некоторыми конфигурациями гуакамоле, дайте мне знать, что вы хотите увидеть, и я свяжусь с командой.

Связи на гуакамоле

  • протокол: рдп
  • hostname: ip сервера из домена B
  • порт: 3389
  • имя пользователя: ${GUAC_USERNAME}
  • пароль: ${GUAC_PASSWORD}
  • домен: пустой
  • режим безопасности: NLA
  • отключить аутентификацию: нет
  • игнорировать сертификат сервера: да
  • все остальное установлено по умолчанию/не настроено

Конечно, мы пробовали несколько разных настроек.

Симптомы

Теперь вот что происходит.

  • Я вхожу в Гуакамоле с Пользователем из Домена А
  • получить OpenOTP push и подтвердить
  • я вошел в гуакамоле и выбрал соединение с сервером домена B
  • получить сообщение об ошибке:

Сервер удаленного рабочего стола в настоящее время недоступен. Если проблема сохраняется, сообщите об этом системному администратору или проверьте системные журналы.

  • после нескольких попыток я иногда получаю это сообщение:

Это соединение было закрыто, так как сервер слишком долго не отвечает. Обычно это вызвано проблемами с сетью, такими как слабый сигнал беспроводной сети или низкая скорость сети. Проверьте подключение к сети и повторите попытку или обратитесь к системному администратору.

  • и теперь наступает забавная часть, которая сводит меня с ума: я могу войти на сервер домена B с пользователем из домена A через прямой rdp, и если я это сделаю, оставьте соединение открытым и запустите соединение на гуакамоле, я могу бери сессию!!

Журналы

Журналы гуакамоле не показывают абсолютно ничего полезного.

Журнал безопасности Windows показывает это событие при ошибке входа:

Идентификатор события 4625, вход в систему
Не удалось войти в учетную запись.

Предмет:
    Идентификатор безопасности: NULL SID
    Имя учетной записи:       -
    Домен учетной записи: -
    Идентификатор входа: 0x0

Тип входа: 3

Учетная запись, для которой не удалось выполнить вход:
    Идентификатор безопасности: NULL SID
    Имя учетной записи: Пользователь (правильно)
    Домен учетной записи: DomainA (правильно)

Информация об отказе:
    Причина сбоя: Произошла ошибка при входе в систему.
    Статус: 0xC000005E
    Подстатус: 0x0

Обрабатывать информацию:
    Идентификатор вызывающего процесса: 0x0
    Имя вызывающего процесса: -

Информация о сети:
    Имя рабочей станции: f7054e3b9dd7
    Исходный сетевой адрес: Guacamole-Server-IP
    Исходный порт: 0

Подробная информация об аутентификации:
    Процесс входа в систему: NtLmSsp 
    Пакет аутентификации: NTLM
    Транзитные услуги: -
    Имя пакета (только NTLM): -
    Длина ключа: 0

Это событие генерируется при сбое запроса на вход. Он генерируется на компьютере, к которому была предпринята попытка доступа.

В полях «Тема» указана учетная запись в локальной системе, которая запросила вход. Чаще всего это служба, такая как служба сервера, или локальный процесс, такой как Winlogon.exe или Services.exe.

В поле «Тип входа» указывается тип запрошенного входа. Наиболее распространены типы 2 (интерактивный) и 3 (сетевой).

В полях Информация о процессе указывается, какая учетная запись и какой процесс в системе запросил вход в систему.

В полях «Информация о сети» указывается источник запроса на удаленный вход в систему. Имя рабочей станции доступно не всегда и в некоторых случаях может быть оставлено пустым.

В полях сведений об аутентификации содержится подробная информация об этом конкретном запросе на вход.
    - Транзитные службы указывают, какие промежуточные службы участвовали в этом запросе на вход.
    - Имя пакета указывает, какой подпротокол использовался среди протоколов NTLM.
    - Длина ключа указывает длину сгенерированного сеансового ключа. Это будет 0, если сеансовый ключ не был запрошен.

Исправление проблем

Теперь в этот момент я не знаю, где установить мой следующий фокус. Мы попробовали несколько настроек для RDP-соединения Guacamole. Провел много исследований в Интернете, но не смог найти примеров с информацией, где кто-то пытается сделать то же самое, что и мы. Поскольку обычный rdp работает нормально, мы считаем, что наши доверительные отношения и разрешения должны быть в порядке.

Можете ли вы, ребята, дать мне какие-либо намеки, в каком направлении я должен исследовать?

Кто-нибудь использует гуакамоле в аналогичной настройке?

Редактировать Дополнительная информация о программе просмотра событий, предложенная пользователем Swisstone:

RemoteDesktopServices-RdpCoreTS
08:38:23 Информация: Сервер принял новое TCP-соединение от клиента *Guacamole-IP*:53494.
08:38:23 Информация: создано соединение RDP-Tcp#78 
08:38:23 Информация: Вызван метод интерфейса: PrepareForAccept
08:38:23 Информация: Вызван метод интерфейса: SendPolicyData
08:38:23 Информация: сеанс PerfCounter запущен с идентификатором экземпляра 78.
08:38:23 Предупреждение: сокет TCP корректно завершен
08:38:23 Информация: Вызван метод интерфейса: OnDisconnected
08:38:23 Информация: Сервер разорвал основное соединение RDP с клиентом.
08:38:23 Информация: Во время этого подключения сервер не отправлял данные или обновление графики в течение 0 секунд (Idle1: 0, Idle2: 0).
08:38:23 Информация: Канал rdpinpt был закрыт между сервером и клиентом в транспортном туннеле: 0.
08:38:23 Информация: Канал rdpcmd был закрыт между сервером и клиентом в транспортном туннеле: 0.
08:38:23 Информация: Канал rdplic был закрыт между сервером и клиентом в транспортном туннеле: 0.
08:38:23 Информация: Причина отключения 14

TerminalServices-LocalSessionManager
ничего за это время

TerminalServices-RemoteConnectionManager
ничего за это время

Забыл упомянуть, сервер версии 2019 1809.

Редактировать2

Хорошо, теперь я заработал, изменив режим безопасности при подключении на tls. Я помню, что пробовал tls раньше, когда он не работал. Возможно, некоторые из изменений, которые я внес в течение всего процесса устранения неполадок, имели значение. Пока не могу сказать, что это было.

Я пришел к этому «решению», случайным образом попробовав различные варианты подключения с помощью freerdp после того, как обнаружил, что он используется гуакамоле для соединений rdp.

Кто-нибудь видит какие-либо проблемы с использованием tls вместо nla в этом случае?

Swisstone avatar
флаг cn
Вы можете просмотреть следующие журналы на целевом сервере и посмотреть, сможете ли вы найти что-то полезное: Средство просмотра событий -> Журналы приложений и служб -> Microsoft -> Windows -> `RemoteDesktopServices-RdpCoreTS` и `TerminalServices-LocalSessionManager` и `TerminalServices-RemoteSessionManager`
Manu avatar
флаг us
@Swisstone, добавлены события во время попытки входа в систему. Все они относятся к категории задач "Модуль RemoteFX", в этом будем копать поподробнее. Спасибо!
Рейтинг:2
флаг us

У меня все работает на меня, и я здесь завершаю информацию, которую я собрал таким образом:

Доверять

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

Разрешения

Пользователь в домене A является членом универсальной группы домена A. Эта UniversalGroup является членом LocalGroup в DomainB, которая является членом локальной группы администраторов целевого Сервера.

Гуакамоле

Мы используем upn для входа в систему, настроили соединение следующим образом:

протокол: рдп
hostname: ip сервера из домена B
порт: 3389
имя пользователя: ${GUAC_USERNAME}
пароль: ${GUAC_PASSWORD}
домен: пустой
режим безопасности: tls
отключить аутентификацию: нет
игнорировать сертификат сервера: да
все остальное установлено по умолчанию/не настроено

Сеть

Убедитесь, что соединения между контроллерами домена разрешены: Как настроить брандмауэр для доменов и доверительных отношений Active Directory

Если вы хотите просматривать GC домена A с сервера домена B, разрешите порты LDAP для этого подключения.

Остается мне неизвестным

Будет ли NLA преимуществом и как я заставлю его работать.

Пока оставлю как есть.

Редактировать

К настоящему времени я почти уверен, что мне понадобится Лесной траст использовать NLA так, как я пытаюсь войти на сервер (UPN)

Редактировать2

Теперь я на 100 % уверен, что мне понадобится доверие леса для RDP с NLA с использованием имени участника-пользователя. Нашел, проверил, работает.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.