Кратко законспектирую процесс присоединение Astra Linux к домену Active Directory. Возможно, что кому-то эта шпаргалка будет полезна или коллег в комментариях поделятся своим опытом и нюансами.
Краткая схема развертывания
Далее я буду использовать следующую схему:
Предварительная подготовка
Предварительно я выполни установку Astra Linux SE.
После установки необходимо убедиться, что хост с Astra Linux может корректно разрешать FQDN и короткие имена для домена. Предварительно установлю пакет утилит для разрешения DNS-имен.
sudo apt install dnsutils
Теперь проверю, что хост может разрешить имя контроллера домена в IP-адрес:
dig +short srv-dc01.itproblog.ru
root@AS02:/home/roman# dig +short dc01.itproblog.ru
10.10.10.71
root@AS02:/home/roman#
Также проверю разрешения короткого имени:
ping dc01
root@AS02:/home/roman# ping dc01
PING dc01.itproblog.ru (10.10.10.71) 56(84) bytes of data.
64 bytes from 10.10.10.71 (10.10.10.71): icmp_seq=1 ttl=128 time=0.309 ms
64 bytes from 10.10.10.71 (10.10.10.71): icmp_seq=2 ttl=128 time=0.438 ms
64 bytes from 10.10.10.71 (10.10.10.71): icmp_seq=3 ttl=128 time=0.411 ms
^C
Если у вас не получается разрешить полное или короткое имя контроллера домена, то проверьте настройки DNS-клиента. Возможно вам потребуется скорректировать параметры файла /etc/resolv.conf или выполнить ряд других дополнительных настроек.
Пример моего файла с настройками сетевого интерфейса /etc/network/interfaces:
<...>
# The primary network interface
auto eth0
iface eth0 inet static
address 10.10.10.22
netmask 255.255.255.0
gateway 10.10.10.254
dns-nameservers 10.10.10.71
dns-domain itproblog.ru
Мой файл /etc/resolv.conf:
nameserver 10.10.10.71
domain itproblog.ru
Опорное руководство по методам и нюансам присоединения Astra Linux к домену Active Directory приведено в документации к продукту.
Для присоединения к домену я буду использовать утилиту astra-ad-sssd-client.
Поскольку у меня сервер без графического интерфейса, то предварительно необходимо установить утилиту astra-ad-sssd-client:
sudo apt install astra-ad-sssd-client
Теперь можно выполнить попытку присоединения сервера Astra Linux к домену Active Directory:
sudo astra-ad-sssd-client -d itproblog.ru -u roman
sudo astra-ad-sssd-client -d itproblog.ru -u roman
compname = AS02
Домен: itproblog.ru
Реалм: itproblog.ru
Рабочая группа: ITPROBLOG
Сервер NTP: itproblog.ru
Обнаружен только один сетевой интерфейс.
Будет использован сетевой интерфейс "eth0", имеющий статический IP-адрес 10.10.10.22.
username = roman
введите пароль администратора домена:
ok
продолжать ? (y\N)
y
настройка сервисов...
* Resolving: _ldap._tcp.itproblog.ru
* Performing LDAP DSE lookup on: 10.10.10.71
* Successfully discovered: itproblog.ru
Пароль для roman:
* Unconditionally checking packages
* Resolving required packages
* LANG=C LOGNAME=root /usr/bin/net -s /var/cache/realmd/realmd-smb-conf.JBEDH2 -U roman ads join itproblog.ru
Enter roman's password:
Using short domain name -- IT
Joined 'AS02' to dns domain 'itproblog.ru'
* LANG=C LOGNAME=root /usr/bin/net -s /var/cache/realmd/realmd-smb-conf.JBEDH2 -U roman ads keytab create
Enter roman's password:
* /usr/sbin/update-rc.d sssd enable
* /usr/sbin/service sssd restart
* Successfully enrolled machine in realm
debconf: не удалось инициализировать интерфейс: Dialog
debconf: (Ни одна из dialog-подобных программ не установлена, поэтому вы не можете использовать dialog-интерфейс. at /usr/share/perl5/Debconf/FrontEnd/Dialog.pm line 78.)
debconf: будет использован интерфейс: Readline
update-alternatives: используется /usr/lib/x86_64-linux-gnu/cifs-utils/cifs_idmap_sss.so для предоставления /etc/cifs-utils/idmap-plugin (idmap-plugin) в ручном режиме
Завершено!
Компьютер подключен к домену itproblog.ru
Для продолжения работы, необходимо перезагрузить компьютер
Параметр -d – это DNS имя домена.
Параметр -u – имя пользователя Active Directory с разрешениями администратора домена.
После завершения процедуры присоединения необходимо перезагрузить компьютер.
Первый признак успешного присоединения – в домене Active Directory должен появиться объект сервера.
Также должна появиться A-запись на сервере DNS.
Шаги по дальнейшей проверке приведены в разделе ниже.
Проверка
Сначала проверим статус утилитой astra-ad-sssd-client:
sudo astra-ad-sssd-client -i
root@AS02:/home/roman# sudo astra-ad-sssd-client -i
Обнаружен настроенный клиент в домене itproblog.ru
Попробуем запросить билет Kerberos для учетной записи roman:
kinit roman
Посмотрим, что билет удалось получить:
klist
Ticket cache: FILE:/tmp/krb5cc_0
Default principal: roman@ITPROBLOG.RU
Valid starting Expires Service principal
10.01.2024 22:57:23 11.01.2024 08:57:23 krbtgt/ITPROBLOG.RU@ITPROBLOG.RU
renew until 11.01.2024 22:57:19
Теперь попробуем посмотреть состав групп для одного из доменных пользователей:
id u1
root@AS02:/home/roman# id u1
uid=127001108(u1) gid=127000513(domain users) группы=127000513(domain users),127001105(grafanaadmin)
Финальная проверка – это попробовать аутентифицироваться под доменной учетной записью:
Как видно из скриншота выше – у меня получилось выполнить вход на сервер под доменной учетной записью, а это значит, что все настройки были выполнены корректно и присоединение Astra Linux к домену Active Directory завершено успешно.
Что-то не работает
Как и для любой Linux системы причин может быть много. С чего можно начать:
1. Проверьте журнал системы на наличие ошибок. Возможно вы найдете какие-то зацепки.
journalctl -r
или:
less /var/log/syslog
2. Попробуйте посмотреть журналы вот в этой директории:
ls -l /var/log/sssd/
3. Проверьте конфигурацию файла /etc/nsswitch.conf. Пример моей конфигурации:
passwd: files sss
group: files sss
shadow: files sss
gshadow: files
hosts: files dns
networks: files
protocols: db files
services: db files sss
ethers: db files
rpc: db files
netgroup: nis sss
automount: sss
4. Проверьте конфигурацию файла /etc/krb5.conf. Конфигурация моего файла:
[[libdefaults]
default_realm = ITPROBLOG.RU
# The following krb5.conf variables are only for MIT Kerberos.
kdc_timesync = 1
ccache_type = 4
forwardable = true
proxiable = true
# The following encryption type specification will be used by MIT Kerberos
# if uncommented. In general, the defaults in the MIT Kerberos code are
# correct and overriding these specifications only serves to disable new
# encryption types as they are added, creating interoperability problems.
#
# The only time when you might need to uncomment these lines and change
# the enctypes is if you have local software that will break on ticket
# caches containing ticket encryption types it doesn't know about (such as
# old versions of Sun Java).
# default_tgs_enctypes = des3-hmac-sha1
# default_tkt_enctypes = des3-hmac-sha1
# permitted_enctypes = des3-hmac-sha1
# The following libdefaults parameters are only for Heimdal Kerberos.
fcc-mit-ticketflags = true
[realms]
ITPROBLOG.RU = {
admin_server = DC01.ITPROBLOG.RU
default_domain = ITPROBLOG.RU
}
[domain_realm]
itproblog.ru = ITPROBLOG.RU
.itproblog.ru = ITPROBLOG.RU