Как веб-сервер может получить имя пользователя домена при входе пользователя через RDP?

Как настроить HTTP-сервис на Apache для определения доменного пользователя по заголовкам входящего запроса и отдачи данных в зависимости от имени пользователя на домене? <br/> <br/> При использовании терминального сервера возникают ли особые нюансы в случае, когда множество пользователей обращается с одного IP-адреса, но с разными доменными именами? <br/> Каков механизм определения доменного пользователя на сервере Apache в этом случае?
  • 19 апреля 2024 г. 8:10
Ответы на вопрос 2
Для того чтобы веб-сервер получил имя пользователя домена при входе пользователя через RDP, необходимо настроить сервер для передачи информации об аутентификации пользователя. Это можно сделать, например, с помощью протокола NTLM, который позволяет передавать учетные данные пользователя в зашифрованном виде.

Чтобы настроить HTTP-сервис на Apache для определения доменного пользователя по заголовкам входящего запроса, можно воспользоваться модулем модулем mod_auth_ntlm_winbind. Этот модуль позволяет проверять учетные данные пользователя Windows протокола NTLM и извлекать имя домена и пользователя из заголовков запроса.

В случае, когда множество пользователей обращается с одного IP-адреса, но с разными доменными именами, можно использовать функционал модуля mod_auth_ntlm_winbind для корректного определения каждого пользователя и его привилегий на сервере Apache.

Для определения доменного пользователя на сервере Apache в этом случае можно использовать переменные окружения, передаваемые модулем mod_auth_ntlm_winbind. Например, переменная REMOTE_USER содержит имя пользователя, а переменная REMOTE_DOMAIN содержит имя домена пользователя.

Таким образом, с помощью модуля mod_auth_ntlm_winbind и обработки переменных окружения в конфигурации Apache, можно реализовать функционал определения доменного пользователя и предоставления различных данных в зависимости от имени пользователя на домене.
По второму пункту как-то так: 

<Location />
    AuthType Kerberos
    AuthName "Kerberos Login"
    KrbAuthRealms EXAMPLE.COM
    KrbServiceName HTTP/[email protected]
    Krb5KeyTab /etc/apache2/auth.keytab
    Require valid-user
</Location>
Похожие вопросы