Вопрос или проблема
У меня есть основной домен Windows AD “test.com”, я создал еще один домен Windows AD “test-dmz.com” для машин в защищенной сети и настроил исходящую доверенность к “test.com”. У меня есть Linux-машины (RHEL), которые являются клиентами домена “test-dmz.com” (сеть только до этого домена), как мне настроить SSSD для аутентификации пользователей из домена “test.com”? Или мне нужно настроить что-то еще?
Мой “/etc/sssd/sssd.conf”:
[sssd]
domains = test-dmz.com
services = nss, pam, sudo, ssh
[sudo]
[ssh]
[nss]
filter_groups = root
filter_users = root
reconnection_retries = 3
entry_cache_nowait_percentage = 75
[pam]
[domain/test-dmz.com]
debug_level = 5
ldap_id_mapping = True
ldap_user_objectsid = objectSid
ldap_group_objectsid = objectSid
ldap_user_primary_group = primaryGroupID
case_sensitive = false
fallback_homedir = /home/%u/
default_shell = /bin/bash
ldap_referrals = False
cache_credentials = True
enumerate = False
id_provider = ldap
auth_provider = krb5
chpass_provider = krb5
access_provider = simple
ldap_uri = ldap://dmz-vsr-dc01.test-dmz.com
ldap_id_use_start_tls = False
ldap_default_bind_dn = CN=ad_auth,OU=Services,OU=UsersTest,DC=test-dmz,DC=com
ldap_default_authtok_type = obfuscated_password
ldap_default_authtok = XXXXXX
ldap_schema = rfc2307bis
ldap_user_search_base = dc=test-dmz,dc=com
ldap_user_object_class = user
ldap_user_home_directory = unixHomeDirectory
ldap_user_principal = userPrincipalName
ldap_group_search_base = dc=test-dmz,dc=com
ldap_group_object_class = group
ldap_force_upper_case_realm = True
krb5_realm = TEST-DMZ.COM
krb5_canonicalize = False
ldap_user_name = sAMAccountName
ldap_group_member = member
simple_allow_groups = Group_unix_admins
sudo_provider = ldap
autofs_provider = ldap
resolver_provider = ldap
Ответ или решение
Для настройки аутентификации пользователей из домена Windows AD "test.com" на клиенте Linux с использованием SSSD, необходимо выполнить несколько ключевых шагов. Данный процесс будет включать участие нескольких элементов конфигурации как на стороне Windows Server, так и на клиентском Linux.
Шаг 1: Убедитесь в правильной конфигурации доверия
Прежде всего, вам потребуется убедиться, что исходящее доверие между доменами "test-dmz.com" и "test.com" настроено правильно. Это важно, так как доверие между доменами позволяет пользователям из одного домена получать доступ к ресурсам другого домена. Для проверки и настройки доверия, выполните следующие действия:
- Откройте Active Directory Domains and Trusts на контроллере домена "test-dmz.com".
- Убедитесь, что доверие к "test.com" установлено и работает корректно.
- Проверьте, что учетные записи Kerberos работают и доступ к сервисам с обеих сторон назначен.
Шаг 2: Установка необходимых пакетов
На сервере RHEL, убедитесь, что установлены нужные пакеты для работы SSSD и аутентификации через Kerberos:
sudo yum install sssd sssd-tools adcli samba-common samba
Шаг 3: Конфигурация Kerberos
Вам необходимо настроить Kerberos для работы с обоими доменами. Отредактируйте файл /etc/krb5.conf
, добавив конфигурацию для обоих доменов:
[libdefaults]
default_realm = TEST-DMZ.COM
dns_lookup_realm = false
dns_lookup_kdc = true
[realms]
TEST-DMZ.COM = {
kdc = dmz-vsr-dc01.test-dmz.com
admin_server = dmz-vsr-dc01.test-dmz.com
}
TEST.COM = {
kdc = <KDC_OF_TEST.COM>
admin_server = <ADMIN_OF_TEST.COM>
}
[domain_realm]
.test-dmz.com = TEST-DMZ.COM
test-dmz.com = TEST-DMZ.COM
.test.com = TEST.COM
test.com = TEST.COM
Шаг 4: Настройка SSSD
Теперь вам нужно внести изменения в файл конфигурации SSSD /etc/sssd/sssd.conf
. Возможно, вы захотите добавить новый домен для пользователей "test.com". Он должен выглядеть как-то так:
[sssd]
domains = test-dmz.com, test.com
services = nss, pam
[domain/test-dmz.com]
id_provider = ldap
auth_provider = krb5
# остальные настройки вашего домена test-dmz.com
[domain/test.com]
id_provider = ad
auth_provider = ad
override_homedir = /home/%u@%d
fallback_homedir = /home/%u
default_shell = /bin/bash
krb5_realm = TEST.COM
krb5_kdc = <KDC_OF_TEST.COM>
ldap_id_mapping = true
Шаг 5: Перезапуск SSSD
После внесения всех изменений, перезапустите службу SSSD, чтобы применить конфигурацию:
sudo systemctl restart sssd
Шаг 6: Проверка конфигурации
Убедитесь, что аутентификация работает. Вы можете использовать id
или getent
для проверки пользователей из обоих доменов:
id username@test.com
getent passwd username@test.com
Также проверьте журнал SSSD для диагностики возможных проблем:
sudo tail -f /var/log/sssd/sssd.log
Заключение
Теперь у вас должен быть настроен Linux-клиент для аутентификации пользователей из доверенного домена Windows AD "test.com". Этот метод позволяет выполнять централизованную аутентификацию, сохраняя при этом безопасность и контроль доступа через существующею инфраструктуру AD. Регулярно обновляйте и проверяйте конфигурацию для обеспечения ее актуальности и безопасности.