Фон:
У нас есть несколько сетей AD (доменов), которые соединены через VPN и установили доверительные отношения AD. У нас есть внешний веб-сервер, и мы настроилибесшовная аутентификациядля любого пользователя в доверенной сети. Это работает, но наличие VPN на внешнем веб-сервере, не управляемом нашим ИТ-отделом, было сочтено сетевой командой слишком большим риском для безопасности.
У меня нет прав администратора на внутренние сети, но есть полный доступ администратора на веб-серверах.
Хотеть:
Установите такую же бесшовную аутентификацию без VPN, используя контроллер домена только для чтения в DMZ для обработки всех запросов на аутентификацию.
Подробности:
- У нас есть несколько доменов AD, которым доверяют друг друга и которые соединены через VPN-туннели.
- У нас есть DC только для чтения в DMZ, подключенный к основной сети AD.
- Внешние веб-серверы LAMP — мы используем один экземпляр для тестирования новой конфигурации.
Выполненные задачи:
- Добавлен DC DMZ в файл hosts
- Обновлен файл krb5.conf и связан с DMZ DC одиночная область и домен (domain1)
- Протестировал аутентификацию в командной строке с помощью kinit (сработало)
- Обновлен файл krb5.conf с дополнительными областями и сопоставлениями областей доменов, при этом все домены указывают на DC DMZ.
- Протестировал аутентификацию в командной строке с пользователем из одной из дополнительных областей, но она не удалась.
Пример текущих конфигураций
/etc/hosts/ : (я заменил фактический IP-адрес на x и реальные доменные имена из соображений конфиденциальности)
xxx.xxx.xxx.xxx dc01.domain1.com, dc01.domain2.com, dc01.domain3.com, dc01.domain4.com
/etc/krb5.conf:
[libdefaults]
default_realm = REALM1.COM
dns_lookup_realm = true
dns_lookup_kdc = true
ticket_lifetime = 24h
renew_lifetime = 7d
forwardable = true
clockskew = 12000
kdc_timesync = 1
[realms]
REALM1.COM = {
kdc = dc01.domain1.com
admin_server= dc01.domain1.com
}
REALM2.COM = {
kdc = dc01.domain2.com
admin_server= dc01.domain2.com
}
REALM3.COM = {
kdc = dc01.domain3.com
admin_server= dc01.domain3.com
}
REALM4.COM = {
kdc = dc01.domain4.com
admin_server= dc01.domain4.com
}
Проблемы:
DMZ не обрабатывает запросы аутентификации для доверенных доменов. Я не знаю, является ли это результатом конфигурации DC или конфигурации kerberos, поэтому и обращаюсь за помощью.
Потратил несколько часов на изучение других вопросов по serverfault, поиск в Google и чтение руководств, но, похоже, ничто не соответствует нашему сценарию.
Можем ли мы сделать то, что мы пытаемся сделать, и если да, то что нам нужно сделать, чтобы это заработало? Это простой случай установки DMZ в качестве прокси для kdcs других областей?
В ответе Натана С. журнал безопасности показывает запросы на билеты службы Kerberos, подобные этим:
Аудит пройден успешно 14.05.2014 11:05 Microsoft-Windows-Security-Auditing 4769 Операции с билетом службы Kerberos «Был запрошен билет службы Kerberos.
Информация об учетной записи: Имя учетной записи: [email protected] Домен учетной записи: DOMAIN1.COM GUID входа: {C93D9AAC-6968-6C00-83EF-2C2D54E2363B}
Информация об услуге: Имя услуги: RODC01$ Идентификатор услуги: DOMAIN1\RODC01$
Информация о сети: Адрес клиента: ::1 Порт клиента: 0
Дополнительная информация: Параметры тикета: 0x40810000 Тип шифрования тикета: 0x17 Код ошибки: 0x0 Передаваемые службы: -
Это событие генерируется каждый раз, когда запрашивается доступ к ресурсу, например, компьютеру или службе Windows. Имя службы указывает на ресурс, к которому был запрошен доступ.
Это событие можно сопоставить с событиями входа в Windows, сравнив поля Logon GUID в каждом событии. Событие входа в систему происходит на машине, к которой был получен доступ, которая часто отличается от контроллера домена, выдавшего билет на обслуживание.
Параметры тикетов, типы шифрования и коды ошибок определены в RFC 4120.
К сожалению, выдержка из журнала, отправленная мне, не совпадает с тем временем, когда я пытался пройти аутентификацию, поэтому я не знаю, к чему на самом деле относится эта запись журнала. Я запросил другую выдержку.
Информация Об Учетной Записи:
Имя учетной записи: jameel.rahmaa
Предоставленное имя области: DOMAIN1.COM
ID пользователя: NULL SID
Служебная информация:
Имя сервиса: krbtgt/DOMAIN1.COM
Идентификатор сервиса: NULL SID
Информация о сети:
Адрес клиента: [WEB IP СКРЫТ]
Клиентский порт: 34567
Дополнительная информация:
Варианты билетов: 0x40800000
Код результата: 0x6
Тип шифрования билета: 0xffffffff
Тип предварительной аутентификации: -
Справочная информация:
Имя эмитента сертификата:
Серийный номер сертификата:
Отпечаток сертификата:
Информация о сертификате предоставляется только в том случае, если сертификат использовался для предварительной аутентификации.
Типы предварительной аутентификации, параметры билетов, типы шифрования и коды результатов определены в RFC 4120.
Не знаю почему, но последняя буква моего имени была обрезана.
решение1
0x6. KDC_ERR_C_PRINCIPAL_UNKNOWN
вот оно... исследуйте это. Похоже, ваши SPN настроены неправильно или он пытается использовать учетную запись, которая даже не существует. Wireshark — еще один хороший инструмент, который вы можете запустить на веб-сервере, чтобы увидеть, что он получает от DC при выполнении запросов.