Вопрос или проблема
У меня есть основной домен Windows AD “test.com” и другой домен Windows AD “test-dmz.com” для машин в защищенной сети, и я настроил исходящую доверенность к “test.com”.
У меня есть машины RHEL Linux, которые являются клиентами домена “test-dmz.com” (сеть существует только до этого домена).
Как мне настроить SSSD на test-dmz.com для аутентификации пользователей из домена “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 в доверенном домене с использованием SSSD на Linux
Для настройки системы аутентификации на Linux, работающей в окружении с двумя доменами Active Directory (AD) — основным доменом "test.com" и доверенным доменом "test-dmz.com", — требуется правильно настроить SSSD
(System Security Services Daemon) для аутентификации пользователей из основного домена через исходящую доверенность. В данном руководстве будут представлены все необходимые шаги для интеграции вашей инфраструктуры, включая структуру конфигурации вашего файла /etc/sssd/sssd.conf
.
1. Подготовка инфраструктуры
Перед началом настройки убедитесь, что:
- Вы имеете корректные сетевые настройки и доступ к контроллерам домена обеих структур.
- На сервере RHEL установлены необходимые пакеты для работы с
SSSD
,Kerberos
,LDAP
и модулями PAM.
Убедитесь, что установлены следующие пакеты:
sudo yum install -y sssd sssd-tools realmd oddjob oddjob-mkhomedir adcli samba-common
2. Настройка Kerberos
Конфигурация Kerberos должна быть правильной, чтобы Linux мог успешно взаимодействовать с доменами AD. Измените файл /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 = dc1.test.com
admin_server = dc1.test.com
}
[domain_realm]
.test-dmz.com = TEST-DMZ.COM
test-dmz.com = TEST-DMZ.COM
.test.com = TEST.COM
test.com = TEST.COM
3. Настройка SSSD
Теперь нужно внести изменения в конфигурацию SSSD
в файле /etc/sssd/sssd.conf
. Структура вашего файла уже близка к нужной, однако потребуется несколько дополнительных настроек для упреждения проблем с доверенностью между доменами и идентификацией пользователей.
[sssd]
domains = test-dmz.com
services = nss, pam, 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
# Настройки для защиты и кэширования
cache_credentials = True
ldap_referrals = False
enumerate = False
# Подключение к LDAP
id_provider = ldap
auth_provider = krb5
chpass_provider = krb5
access_provider = simple
ldap_uri = ldap://dmz-vsr-dc01.test-dmz.com
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
ldap_user_name = sAMAccountName
ldap_group_member = member
# Смена прав
simple_allow_groups = Group_unix_admins
sudo_provider = ldap
autofs_provider = ldap
resolver_provider = ldap
4. Дополнительные шаги
После настройки sssd.conf
выполните следующие действия:
-
Проверьте конфигурацию:
sudo sssctl config-check
-
Перезапустите демоны SSSD и Kerberos:
sudo systemctl restart sssd
-
Проверьте, что
sssd
работает корректно:sudo sssctl status
-
Выполните тестовую аутентификацию пользователя из доверенного домена:
id username@test.com
Если все настроено правильно, система должна успешно распознавать пользователей из домена "test.com".
Заключение
Настройка аутентификации через SSSD
для пользователей из доверенного домена может показаться сложной, но следуя вышеизложенным шагам и проверяя каждую их часть, вы сможете создать надежную и безопасную систему для пользователей вашего домена. Если у вас возникнут дополнительные вопросы, не стесняйтесь обращаться за помощью к специалистам по администрированию Linux или к службе поддержки.