ActiveDirectory/Trusts: различия между версиями
Olga kmv (обсуждение | вклад) |
Olga kmv (обсуждение | вклад) |
||
Строка 285: | Строка 285: | ||
[[Файл:TrustResultCheck.png]] | [[Файл:TrustResultCheck.png]] | ||
==Доверительные отношения между двумя доменами на основе Samba== | |||
{| class="wikitable" | |||
|- | |||
! Имя домена !! Контроллер домена !! IP address !! ОС контроллера домена !! Версия Samba | |||
|- | |||
| TEST.ALT || DC1.TEST.ALT || 10.64.224.118 || Alt Server 10.2 || 4.19.7 | |||
|- | |||
| EXAMPLE.ALT || DC2.EXAMPLE.ALT || 10.64.224.117 ||Alt Server 10.2 || 4.19.7 | |||
|- | |||
|} |
Версия от 18:10, 6 ноября 2024
Поддержка доверительных отношений с Samba
Поддерживается:
- Доверительное отношение между лесами доменов (forest trust). Это доверие может быть установленным между двумя Samba-доменами или Samba-доменом и Windows-доменом.
- Внешние доверительные отношения (external trust). Это доверие может быть установленным между двумя Samba-доменами или Samba-доменом и Windows-доменом.
- Добавление пользователей и групп доверенного домена в группы доверяющего домена, но при этом необходимо использовать SID пользователей и групп, чтобы добавить их в свою группу (имя пользователя или имя группы использовать невозможно).
- В RSAT появится контейнер ForeignSecurityPrincipal для всех добавленных пользователей и групп из доверенного домена. Таким образом Microsoft показывает, что пользователь или группа являются частью доверенного домена.
Особенности и ограничения:
- Для входа в доверенный домен через SSSD надо использовать тип связи External, а не Forest.
- Не применяются правила фильтрации SID.
- Обе стороны траста должны полностью доверять друг другу. Это означает, что администратор из домена A может управлять всеми объектами в домене Б и наоборот.
- Выборочная аутентификация в настоящий момент не поддерживается. Возможно создание таких доверий, но KDC и winbindd всё равно будут их игнорировать.
- Нельзя создать доверительные отношения между доменами в одном дереве с одним и тем же пространством имён верхнего уровня. NetBIOS имена доменов должны отличаться (домен MYDOMAIN.WIN и MYDOMAIN.NEW будут иметь одинаковое короткое имя — MYDOMAIN, это приведет к невозможности установки доверительных отношений).
- Winbind на клиентских машинах не распознаёт доверенные домены, что приводит к проблемам с обновлением паролей учетных записей доверенного домена после их истечения. Чтобы устранить эту проблему, необходимо внести изменения в конфигурационный файл smb.conf на Linux-клиентах, подключенных через Winbind. В секции [global] этого файла следует добавить соответствующую опцию:
winbind scan trusted domains = yes
Перезапустить сервис winbind:
#systemctl restart winbind.service
- При использовании групповой политики (на контроллерах в win-домене) "Сетевая безопасность: минимальная сеансовая безопасность для серверов на базе NTLM SSP (включая безопасный RPC)" с опцией "требовать сеансовую безопасность NTLMv2" в разделе "Конфигурация компьютера\Конфигурация Windows\Параметры безопасности\Локальные политики\Параметры безопасности" не строится траст между win-доменом и samba-доменом. При включении этой политики после построения траста некорректно работают доверительные отношения между windows-доменом и samba-доменом. Не выполняется проверка траста (samba-tool domain trust validate) и не выполняется вход на пользователями из доверенного домена на машинах с winbind. Примечание: После редактирования политики и ее применения на win-домене необходимо перезапустить сервис samba.
Для управления доверием можно использовать инструмент командной строки samba-tool.
Команда | Описание | Примечание |
---|---|---|
domain trust create <домен> | Создать доверие домена или леса | Можно использовать следующие опции:
–type=TYPE — тип доверия (external,forest); –direction=DIRECTION — направление доверия (incoming,outgoing,both); –create-location=LOCATION — где создать объект доверенного домена (local,both); –quarantined=yes|no — применять к доверию специальные правила фильтрации SID (при –type=external по умолчанию yes, при –type=forest по умолчанию no); -U USERNAME — имя пользователя. |
domain trust modify <домен> | Изменить доверие домена или леса | |
domain trust delete <домен> | Удалить доверие домена или леса | Можно использовать следующие опции:
–delete-location=LOCATION — где удалить объект доверенного домена (local, both); -U USERNAME — имя пользователя. |
domain trust list | Вывести список доверительных отношений домена | |
domain trust show <домен> | Показать сведения о доверенном домене | |
domain trust validate <домен> | Проверить доверие к домену | Можно использовать следующие опции:
–validate-location=LOCATION — где проверить объект доверенного домена ( local, both); -U USERNAME — имя пользователя. |
Доверительные отношения между Samba DC и Windows Server с Active Directory
Установка доверительных отношений между Windows 2012R2 и SambaDC
Имя домена | Контроллер домена | IP address | ОС контроллера домена | Уровень работы домена | Версия Samba | |
---|---|---|---|---|---|---|
Домен Linux | TEST.ALT | DC1.TEST.ALT | 10.64.224.108 | Alt Server 10.2 | 2012_R2 | 4.19.7 |
Домен Windows | WIN.DOM | DC2.WIN.DOM | 10.64.224.116 | Windows Server 2012R2 | 2012R2 | - |
Настройка DNS
Windows Server с AD
На AD сервере необходимо создать сервер условной пересылки для зоны Samba домена.
В графическом интерфейсе:
1. Открыть Диспетчер DNS (DNS Manager).
2. В разделе Серверы условной пересылки (Conditional Forwarders) добавить новый сервер пересылки, указав FQDN или IP-адрес сервера Samba:
3. Сохранить настройки.
В командной строке:
PS$ Add-DnsServerConditionalForwarderZone -Name lin.loc -MasterServers 172.16.100.135 -ReplicationScope Forest
Samba DC
Создание сервера условной перессылки для службы DNS.
- При использовании DNS бэкенда BIND9_DLZ добавить в конец файла /etc/bind/options.conf (или /etc/bind/ddns.conf) строки:
zone "win.dom" in { type forward; forwarders { 10.64.224.116; }; };
И перезапустить службу DNS:
# systemctl restart bind.service
- Если используется DC с DNS бэкенд SAMBA_INTERNAL, самый простой способ заставить работать разрешение имен — настроить DNS-прокси между двумя доменами. DNS-прокси будет перенаправлять запрос между доменами и внешним DNS-серверами. В примере, в качестве DNS-прокси используется отдельный сервер (IP-адрес 10.64.224.105) с настроенным bind9.
На контроллере домена необходимо выполнить следующие действия: Указать DNS-прокси, как сервер пересылки в файле /etc/samba/smb.conf (в параметре dns forwarder). Например:
dns forwarder = 10.64.224.105 8.8.8.8
Перезапустить службу samba:
# systemctl restart samba
На сервере bind9:
1. Отредактировать файл /etc/bind/options.conf:
- Отключить проверку DNSSEC, для этого в секцию options добавить параметр:
dnssec-validation no;
- В конец файла добавить информацию о зонах:
zone "win.dom" in { type forward; forwarders { 10.64.224.116; }; };
2. Перезапустить службу DNS:
# systemctl restart bind.service
Подробнее про настройку домена можно прочесть в документации ALT Linux Team
dnssec-validation no;
# systemctl restart bind.service
Проверка конфигурации DNS
На Samba DC:
1. Запись отвечающая за работу сервисов Kerberos через UDP и LDAP через TCP:
# dig +short -t SRV _kerberos._udp.test.alt 0 100 88 dc1.test.alt. # dig +short -t SRV _ldap._tcp.test.alt 0 100 389 dc1.test.alt.
В выводе команд должен быть отображен список всех серверов. 2. Наличие записей для работы сервисов AD на DNS-сервере Samba:
# dig +short -t SRV _kerberos._tcp.dc._msdcs.win.dom 0 100 88 dc1.win.dom. # dig +short -t SRV _ldap._tcp.dc._msdcs.win.dom 0 100 389 dc1.win.dom.
3. Возможность получения билета Kerberos в домене WIN.DOM:
# kinit Администратор@WIN.DOM # klist Ticket cache: FILE:/tmp/krb5cc_500 Default principal: Администратор@WIN.DOM Valid starting Expires Service principal 09.09.2024 15:49:11 10.09.2024 01:49:11 krbtgt/WIN.DOM@WIN.DOM renew until 10.09.2024 15:49:01
На Windows Server с AD:
1. Запустить утилиту nslookup.exe для поиска служебных записей:
C:\> nslookup.exe > set type=SRV
2.Ввести доменное имя для служебных записей Kerberos через UDP и LDAP через TCP:
> _kerberos._udp.test.alt _kerberos._udp.test.alt SRV service location: priority = 0 weight = 100 port = 88 svr hostname = dc1.test.alt … test.alt primary name server = dc1.test.alt responsible mail addr = hostmaster.test.alt serial = 7 refresh = 900 (15 mins) retry = 600 (10 mins) expire = 86400 (1 days) default TTL = 3600 (1 hours) > _ldap._tcp.test.alt _ldap._tcp.test.alt SRV service location: priority = 0 weight = 100 port = 389 svr hostname = dc1.test.alt
Создание двухстороннего транзитивного подключения
Samba DC
На контроллере домена dc1.test.alt:
# samba-tool domain trust create win.dom --type=forest --direction=both --create-location=both -Uадминистратор@WIN.DOM
где:
- --type - указывает тип доверительного отношения, может принимать значения external и forest.
- --direction - определяет направление доверительного отношения.
- incoming - входящее доверие
- outgoing - исходящее доверие
- both - двустороннее доверие
- --create-location - указывает место создания доверительного отношения.
- local - объект доверенного домена будет создан только в локальном домене, доверительные отношения будут зарегистрированы и настроены только со стороны вашего домена, без внесения изменений в конфигурацию удаленного домена.
- both - объект доверенного домена будет создан в обоих доменах.
При появлении запроса необходимо ввести пароль администратора.
Windows Server с AD
В домене win.dom открываем «Диспетчер серверов», и выбираем «Средства» — «Active Directory — Домены и Доверие»:
В открывшемся окне в контекстном меню домена WIN.DOM необходимо выбрать «Свойства». Откроется окно свойств, в котором нужно перейти во вкладку «Отношения доверия» и нажать на «Создать отношение доверия»:
В открывшемся мастере создания отношения доверия вводим имя домена Samba DC. В данном случае TEST.ALT:
На следующей вкладке «Тип доверия» выбираем «Доверие леса»:
Далее во кладке «Направление отношения доверия» выбираем «Двухстороннее»:
В открывшемся окне «Стороны отношения доверия» необходимо выбрать, на каком из доменов будет применена настройка. В нашем случае у нас есть права администратора для обоих доменов, поэтому выбираем пункт «Для данного и указанного домена».
Если был выбран параметр «Только для данного домена», то необходимо будет задать Trust Secret Key, который в дальнейшем будет использоваться при создании доверительного отношения на стороне Samba DC.
На следующем этапе мастер свяжется с доменом TEST.ALT (если он доступен), и запросит логин и пароль от пользователя с правами установки доверительных отношений в домене TEST.ALT:
Далее на вкладке «Уровень проверки подлинности исходящего доверия — Локальный лес» выбираем «Проверка подлинности в лесу»:
Тоже самое выбираем и на следующей вкладке «Уровень проверки подлинности исходящего доверия — Указанный лес».
После очередного нажатия на кнопку «Далее» мастер в окне «Выбор доверия завершен» выдаст уведомление о том, что готов создать новое отношение доверия, и покажет краткую сводку по выбранным параметрам. Соглашаемся с параметрами, после чего должно появиться уведомление о том, что создание доверия успешно завершено:
После нажатия на «Далее» появится окно «Подтверждение исходящего доверия», а после него «Подтверждение входящего отношения доверия». Здесь и в первом и во втором окне оставляем «Нет, не подтверждаю это исходящее/входящее отношение доверие», так как на стороне Samba DC доверие нами еще не создавалось:
Отношение доверия успешно создано:
Проверка доверия
Проверка доверия с dc1.test.alt:
- просмотр доверия:
# samba-tool domain trust show WIN.DOM LocalDomain Netbios[TEST] DNS[test.alt] SID[S-1-5-21-3099202228-3607437695-3279060739] TrustedDomain: NetbiosName: WIN-DOM DnsName: win.dom SID: S-1-5-21-3096440084-565096806-4224734732 Type: 0x2 (UPLEVEL) Direction: 0x3 (BOTH) Attributes: 0x8 (FOREST_TRANSITIVE) PosixOffset: 0x00000000 (0) kerb_EncTypes: 0x18 (AES128_CTS_HMAC_SHA1_96,AES256_CTS_HMAC_SHA1_96) Namespaces[2] TDO[win.dom]: TLN: Status[Enabled] DNS[*.win.dom] DOM: Status[Enabled] DNS[win.dom] Netbios[WIN-DOM] SID[S-1-5-21-3096440084-565096806-4224734732]
- список трастов:
# samba-tool domain trust list Type[Forest] Transitive[Yes] Direction[BOTH] Name[win.dom]
В разных доменах могут быть разные результаты. Результат зависит от типа траста, который установлен с этим доменом. Если после настройки доверия возникли проблемы с доступом пользователей из трастового домен в свой домен, тогда следует проверить, действительно ли установлен траст:
# samba-tool domain trust validate win.dom -UАдминистратор@WIN.DOM LocalDomain Netbios[TEST] DNS[test.alt] SID[S-1-5-21-3099202228-3607437695-3279060739] LocalTDO Netbios[WIN-DOM] DNS[win.dom] SID[S-1-5-21-3096440084-565096806-4224734732] OK: LocalValidation: DC[\\DC2.win.dom] CONNECTION[WERR_OK] TRUST[WERR_OK] VERIFY_STATUS_RETURNED OK: LocalRediscover: DC[\\DC2.win.dom] CONNECTION[WERR_OK] RemoteDC Netbios[DC2] DNS[DC2.win.dom] ServerType[PDC,GC,LDAP,DS,KDC,TIMESERV,CLOSEST,WRITABLE,FULL_SECRET_DOMAIN_6,ADS_WEB_SERVICE,DS_8,DS_9] Password for [Администратор@WIN.DOM]: OK: RemoteValidation: DC[\\dc1.test.alt] CONNECTION[WERR_OK] TRUST[WERR_OK] VERIFY_STATUS_RETURNED OK: RemoteRediscover: DC[\\dc1.test.alt] CONNECTION[WERR_OK]
Проверка доверия с dc2.win.dom:
Проверку можно осуществить в свойствах домена WIN.DOM во вкладке «Отношения доверия».
Необходимо выбрать домен, который вы хотите проверить и нажать «Свойства»:
Для подтверждения или сброса состояния этого отношения доверия и для обновления его суффиксов маршрутизируемых имен необходимо нажать «Проверка»:
Доверительные отношения между двумя доменами на основе Samba
Имя домена | Контроллер домена | IP address | ОС контроллера домена | Версия Samba |
---|---|---|---|---|
TEST.ALT | DC1.TEST.ALT | 10.64.224.118 | Alt Server 10.2 | 4.19.7 |
EXAMPLE.ALT | DC2.EXAMPLE.ALT | 10.64.224.117 | Alt Server 10.2 | 4.19.7 |