- ActiveDirectory/Login/DC
- Описание
- Параметры конфигурации домена
- Winbind
- Установка пакетов
- Изменение файлов конфигурации
- krb5.conf
- smb.conf
- nsswitch.conf
- Настройка аутентификации
- SSSD
- Установка пакетов
- Изменение файлов конфигурации
- krb5.conf
- sssd.conf
- smb.conf
- nsswitch.conf
- Настройка аутентификации
- Генерация keytab файла
- Сервисы
- Роли
- Групповые политики
- SSH
ActiveDirectory/Login/DC
Настройка аутентификации доменных пользователей на контроллере домена (Samba в режиме AD DC) через SSSD.
Примечание: Это временное решение. В будущем реализация данной задачи запланирована на системном уровне.
Внимание! На текущий момент (samba 4.16.7-alt5, gpupdate 0.9.12.2-alt2) данный метод не позволяет применять групповые политики на контроллере домена.
Внимание! На текущий момент (samba 4.16.7-alt5, sssd 2.8.1-alt1) для директории /var/lib/samba/sysvol SID’ы домена не корректно транслируются в UNIX user id и group id.
- 1 Описание
- 2 Параметры конфигурации домена
- 3 Winbind
- 3.1 Установка пакетов
- 3.2 Изменение файлов конфигурации
- 3.2.1 krb5.conf
- 3.2.2 smb.conf
- 3.2.3 nsswitch.conf
- 4.1 Установка пакетов
- 4.2 Изменение файлов конфигурации
- 4.2.1 krb5.conf
- 4.2.2 sssd.conf
- 4.2.3 smb.conf
- 4.2.4 nsswitch.conf
Описание
Контроллер домена в рамках доменной инфраструктуры является, в том числе, ещё одной машиной и имеет соответствующий машинный аккаунт. После применения настроек, описанных ниже, машина с контроллером домена сможет выполнять, в том числе, и функции обычного члена домена, такие как:
- Аутентификация доменными пользователями (в том числе по ssh)
- Применение групповых политик
- Всё, что поддерживает обычная клиентская машина (в качестве клиента SSSD или WinBind)
В качестве клиента на контроллере домена можно использовать как WinBind, так и SSSD (с ограничениями).
Внимание! В качестве клиента на контроллере домена рекомендуется использовать WinBind. Использование SSSD не желательно.
Параметры конфигурации домена
В данной статье в качестве примера используются следующие параметры конфигурации доменной инфраструктуры:
Параметр Значение Имя домена DOMAIN.ALT Рабочая группа DOMAIN Имя компьютера в Netbios DC0 Имя пользователя-администратора Administrator Пароль администратора Pa$$word Winbind
Установка пакетов
Необходимо установить следующие пакеты:
# apt-get install task-auth-ad-winbind gpupdate
Изменение файлов конфигурации
krb5.conf
Необходимо убедиться, что в файле /etc/krb5.conf заданы следующие параметры:
[logging] [libdefaults] dns_lookup_kdc = true dns_lookup_realm = false ticket_lifetime = 24h renew_lifetime = 7d forwardable = true rdns = false default_realm = DOMAIN.ALT [realms] [domain_realm]
smb.conf
Необходимо убедиться, что в файле /etc/samba/smb.conf заданы следующие параметры:
Остальное содержимое файла должно соответствовать аналогичному файлу на обычных клиентах домена.
[global] realm = DOMAIN.ALT workgroup = DOMAIN netbios name = DC0 kerberos method = dedicated keytab dedicated keytab file = /etc/krb5.keytab dns forwarder = 8.8.8.8 server role = active directory domain controller template shell = /bin/bash template homedir = /home/%D/%U wins support = no winbind use default domain = yes winbind enum users = no winbind enum groups = no winbind refresh tickets = yes winbind offline logon = yes [netlogon] path = /var/lib/samba/sysvol/domain/scripts read only = No [sysvol] path = /var/lib/samba/sysvol read only = No
nsswitch.conf
Необходимо убедиться, что в файле /etc/nsswitch.conf заданы следующие параметры:
- passwd: files winbind systemd
- shadow: tcb files winbind
- group: files [SUCCESS=merge] winbind role systemd
passwd: files winbind systemd shadow: tcb files winbind group: files [SUCCESS=merge] winbind systemd role gshadow: files hosts: files myhostname dns ethers: files netmasks: files networks: files protocols: files rpc: files services: files automount: files aliases: files
Настройка аутентификации
Необходимо переключить PAM-стэк на использование winbind модуля для аутентификации:
# control system-auth winbind
SSSD
Установка пакетов
Необходимо установить следующие пакеты:
# apt-get install task-auth-ad-sssd gpupdate
Изменение файлов конфигурации
krb5.conf
Необходимо убедиться, что в файле /etc/krb5.conf заданы следующие параметры:
includedir /etc/krb5.conf.d/ [logging] [libdefaults] dns_lookup_kdc = true dns_lookup_realm = false ticket_lifetime = 24h renew_lifetime = 7d forwardable = true rdns = false default_realm = DOMAIN.ALT [realms] [domain_realm]
sssd.conf
Необходимо убедиться, что в файле /etc/sssd/sssd.conf заданы следующие параметры:
Остальное содержимое файла должно соответствовать аналогичному файлу на обычных клиентах домена.
[sssd] config_file_version = 2 services = nss, pam # Managed by system facility command: ## control sssd-drop-privileges unprivileged|privileged|default user = root # SSSD will not start if you do not configure any domains. domains = DOMAIN.ALT [nss] [pam] [domain/DOMAIN.ALT] id_provider = ad auth_provider = ad chpass_provider = ad access_provider = ad default_shell = /bin/bash fallback_homedir = /home/%d/%u debug_level = 0 ad_gpo_ignore_unreadable = true ad_gpo_access_control = permissive ad_maximum_machine_account_password_age = 0
smb.conf
Необходимо убедиться, что в файле /etc/samba/smb.conf заданы следующие параметры:
Остальное содержимое файла должно соответствовать аналогичному файлу на обычных клиентах домена.
[global] realm = DOMAIN.ALT workgroup = DOMAIN netbios name = DC0 kerberos method = dedicated keytab dedicated keytab file = /etc/krb5.keytab dns forwarder = 8.8.8.8 server role = active directory domain controller template shell = /bin/bash template homedir = /home/%D/%U wins support = no winbind use default domain = yes winbind enum users = no winbind enum groups = no winbind refresh tickets = yes winbind offline logon = yes idmap config * : range = 200000-2000200000 idmap config * : backend = sss [netlogon] path = /var/lib/samba/sysvol/domain/scripts read only = No [sysvol] path = /var/lib/samba/sysvol read only = No
nsswitch.conf
Необходимо убедиться, что в файле /etc/nsswitch.conf заданы следующие параметры:
- passwd: files sss systemd
- shadow: tcb files sss
- group: files [SUCCESS=merge] sss role systemd
passwd: files sss systemd shadow: tcb files sss group: files [SUCCESS=merge] sss systemd role gshadow: files hosts: files myhostname dns ethers: files netmasks: files networks: files protocols: files rpc: files services: files automount: files aliases: files
Настройка аутентификации
Необходимо переключить PAM-стэк на использование sss модулей для аутентификации:
Генерация keytab файла
Необходимо сгенерировать системный keytab файл для машинного аккаунта контроллера домена. Для этого следует выполнить следующую команду:
Сервисы
Необходимо отключить сервис nscd:
# systemctl disable --now nscd
В заключении, если используется схема с SSSD клиентом, то необходимо запустить и включить автоматический запуск для сервиса sssd:
# systemctl enable --now sssd
Роли
Необходимо указать, какие локальные роли каким группам домена соответствуют.
Обычные пользователи домена (Domain Users) соответствуют локальной роли users:
# roleadd 'domain users' users
Администраторы домена (Domain Admins) соответствуют локальной роли localadmins:
# roleadd 'domain admins' localadmins
Внимание! В русскоязычных версиях MS Windows Server встроенные группы «Domain Users» и «Domain Admins» имеют русифицированные названия «Пользователи домена» и «Администраторы домена»
Групповые политики
Для включения поддержки групповых политик необходимо выполнить:
# gpupdate-setup enable --local-policy ad-domain-controller
Внимание! Работа групповых политик на контроллере домена c SSSD клиентом может быть не стабильной
SSH
Следует убедиться, что удалённый доступ по ssh разрешён только Администраторам домена:
# control sshd-allow-groups enabled # control sshd-allow-groups-list remote
При необходимости можно разрешить аутентификацию по Kerberos билетам:
# control sshd-gssapi-auth enabled
В заключении, необходимо перезапустить сервис sshd: