Введение в домен рабочих станций в Avanpost DS

ВНИМАНИЕ:

В инструкции приведены команды для четырех операционных систем: REDOS 8REDOS 7ASTRAALT

Для шагов с отличающимися в зависимости от ОС действиями указаны команды для всех четырех ОС. Необходимо выполнять команды только для используемой вами ОС.

Системные и аппаратные требования

Для работы Avanpost DS необходимо выполнение следующих аппаратных и системных требований для АРМ пользователя (Таблица 1).

Таблица 1. Требования к конфигурации системного и аппаратного обеспечения АРМ

Компонент

Минимальная конфигурация

Операционная система

RedOS, Astra, Alt

Процессор

В соответствии с требованиями ОС

Оперативная память

В соответствии с требованиями ОС

Жёсткий диск

В соответствии с требованиями ОС

Сетевая плата

Ethernet 100 Мбит

Монитор

С разрешением 1024x768 и выше

Дополнительное ПО

Браузер


Для введения хоста в домен используется утилита "dscli" из архива "Avanpost.DS.Server.Linux.Tools.v*.tar.gz", которая автоматизирует настройку служб Kerberos и sssd.

ВАЖНО!

В качестве DNS сервера на каждой рабочей станции необходимо указать все контроллеры домена в кластере.

Требуется подключиться по SSH к хосту, который необходимо ввести в домен, и выполнить шаги:

Шаг 1. Задать hostname. 

Для этого необходимо выполнить команды по шаблону:

Шаблон
sudo hostnamectl set-hostname [FQDN]
sudo sed -i '1i 127.0.0.1 [FQDN]' /etc/hosts

Заменить [FQDN] на желаемое полное доменное имя хоста (FQDN), на котором производится установка.

В примере задается hostname "cl01.avanpost.local".

Пример
sudo hostnamectl set-hostname cl01.avanpost.local
sudo sed -i '1i 127.0.0.1 cl01.avanpost.local' /etc/hosts

В конфиге "/etc/hosts", первой старкой должно быть "127.0.0.1 [FQDN]".

Пример /etc/hosts
127.0.0.1 cl01.avanpost.local   #127.0.0.1 [FQDN]
127.0.0.1 localhost
[::1] ds01.avanpost.local

Шаг 2. Остановить сервис "systemd-resolved". (Только для ОС RedOS) 

Примечание

В REDOS из коробки установлен сервис "systemd-resolved", он слушает 53 порт.

Для этого необходимо:

RedOS 7, 8

2.1. Отключить и остановить службу "systemd-resolved".

sudo systemctl disable --now systemd-resolved.service

2.2. Поместить в раздел [main] "/etc/NetworkManager/NetworkManager.conf" строку:
DNS=none

Открыть /etc/NetworkManager/NetworkManager.conf
sudo nano /etc/NetworkManager/NetworkManager.conf

2.3. Удалить символическую ссылку "/etc/resolv.conf"

sudo rm /etc/resolv.conf

2.4. Создать новый конфигурационный файл "/etc/resolv.conf" и вписать в него актуальные настройки.

sudo touch /etc/resolv.conf && sudo nano /etc/resolv.conf
Astra 
НЕ выполняем данный шаг на Astra
Alt
НЕ выполняем данный шаг на Alt 

Шаг 3. Указать в качестве DNS сервера контроллер домена Avanpost DS.

Для этого необходимо:

3.1. Открыть для редактирования файл "/etc/resolv.conf":

sudo nano /etc/resolv.conf

3.2. Добавить строку в файл "/etc/resolv.conf" по шаблону:

Шаблон строки
nameserver [IP контроллера домена Avanpost DS]
Пример строки
nameserver 192.168.1.11

Примечание

Для отказоустойчивости рекомендуется указать в качестве DNS сервера все контроллеры домена Avanpost DS, добавив строку для каждого из них в файл "/etc/resolv.conf".

Шаг 4. Создать каталог "/opt/avanpost/tools".

Для этого необходимо выполнить команду:

sudo mkdir -p /opt/avanpost/tools

Шаг 5. Загрузить архив с дистрибутивом Avanpost.DS.Server.Linux.Tools на рабочую станцию.

Например, можно загрузить дистрибутивы в директорию "/tmp".

Примечание

Вместо SFTP можно воспользоваться SCP:

Шаблон команды
scp [Путь до архива] [реквизиты для подключения по SSH]:[Полный путь папки назначения]
Пример команды
scp /home/admin/Avanpost.DS.Server.Linux.Tools.v*.tar.gz root@192.168.1.30:/tmp/

При наличии доступа можно загружать сразу в целевую директорию "/opt/avanpost/ads/tools".

Шаг 6. Разархивировать архив в директорию "/opt/avanpost/tools".

Для этого необходимо выполнить команду:

sudo tar -xvzf /tmp/Avanpost.DS.Server.Linux.Tools.v*.tar.gz -C /opt/avanpost/tools

Шаг 7. Установить необходимые пакеты.

Для этого необходимо выполнить команды:

RedOS 8
sudo dnf update && sudo dnf install sssd authselect-compat mesa-libGL pam_krb5

ВАЖНО!

Для серверной версии Redos 8 необходимо установить пакет с зависимостями "krb5-workstation", иначе не будет работать "kinit", "klist".

RedOS 7
sudo dnf update && sudo dnf install authselect-compat nss-pam-ldapd sssd-proxy
sudo wget https://dl.fedoraproject.org/pub/archive/epel/7/x86_64/Packages/k/kstart-4.2-7.el7.x86_64.rpm
sudo rpm -i kstart-4.2-7.el7.x86_64.rpm
 Astra

На ОС Astra необходимо устанавливать пакеты в определенном порядке. Сначала требуется установить "ssh" и "sssd"/"astra-ad-sssd-client":

Установка ssh
sudo apt update && sudo apt install ssh

Если установлен графический интерфейс FLY, устанавливается пакет "astra-ad-sssd-client":

Установка astra-ad-sssd-client
sudo apt install astra-ad-sssd-client

Если графический интерфейс НЕ установлен, то устанавливается пакет "sssd":

Установка sssd
sudo apt install sssd

Далее установить остальные пакеты:

sudo apt install libsasl2-modules-gssapi-heimdal libsss-sudo

В процессе установки терминал будет запрашивать информацию по настройке. Требуется оставить все ответы по умолчанию. (Нажимать Enter без ввода значения)

 Alt
apt-get update && apt-get install kstart krb5-kinit sssd sssd-client task-auth-ad-sssd sssd-winbind-idmap sssd-tools sssd-pac sssd-ldap sssd-dbus sssd-ad python3-module-sssd python3-module-sssdconfig sssd-krb5 sssd-krb5-common

Примечание

Доменный клиент Avanpost DS выполняет проверку наличия компонентов sssd и krb5-workstation / krb5-user в зависимости от дистрибутива. При их отсутствии установка НЕ выполнится.

Шаг 8. Проверить работу DNS серверов.

Для этого необходимо выполнить команду по шаблону:

Шаблон команды
nslookup -type=SRV _ldap._tcp.[Домен2ур].[Домен1ур] | grep 389

Заменить [Домен1ур] на свой домен первого уровня, а [Домен2ур] — на свой домен второго уровня.

Пример команды
nslookup -type=SRV _ldap._tcp.avanpost.local | grep 389
Вывод команды
_ldap._tcp.avanpost.local       service = 0 0 389 ds01.avanpost.local.

Шаг 9. Ввести рабочую станцию в домен с помощью утилиты "dscli".

Для этого необходимо выполнить команду по шаблону:

Шаблон команды
sudo /opt/avanpost/tools/dscli/dscli join -domain [Домен2ур].[Домен1ур] -login [Логин]

Необходимо заменить [Домен1ур] на свой домен первого уровня, [Домен2ур] — на свой домен второго уровня, а [Логин] — на логин созданной вручную учетной записи с правами администратора(В примере "lipov")

Пример команды
sudo /opt/avanpost/tools/dscli/dscli join -domain avanpost.local -login lipov

Затем ввести пароль от указанной учетной записи с правами администратора.

Встроенная учетная запись Administrator не подходит для ввода в домен. 

Для введения рабочей станции в определенное OU домена, необходимо использовать ключ -ou для dscli join

Пример команды
sudo ./dscli join -domain avanpost.local -login lipov -ou ou=MSK,dc=avanpost,dc=local

 Команда "repair" позволяет восстановить настройки согласно state.json клиента.

Команда для восстановления настроек
sudo /opt/avanpost/tools/dscli/dscli repair

ВНИМАНИЕ! Команды ниже актуальны только до версии Avanpost DS 1.6.2. включительно.

Флаг "-trustenabled" отвечает за настройки клиента, которые позволяют работать исходящим доверительным отношениям. По умолчанию значение флага "false".

Команда для включения доверительных отношений
sudo /opt/avanpost/tools/dscli/dscli repair -trustenabled=true
Команда для восстановления настроек и отключения доверительных отношений, если они были включены
sudo /opt/avanpost/tools/dscli/dscli repair -trustenabled=false

Шаг 10. Включить и добавить в автозагрузку службы "dscli.service" и "dscli.timer".

Для этого необходимо выполнить команду:

sudo systemctl enable --now dscli.service && sudo systemctl enable --now dscli.timer

Примечание

Служба "dscli" применяет групповые политики, а так же отслеживает изменения IP-адреса на хосте и отправляет их на контроллер Avanpost DS.

Шаг 11. Проверить, что рабочая станция успешно введена в домен.

Для этого требуется войти в систему с помощью доменной учетной записи (в примере "lipov"), используя команду по шаблону:

Шаблон команды
su - [ИМЯ ПОЛЬЗОВАТЕЛЯ]

[ИМЯ ПОЛЬЗОВАТЕЛЯ] необходимо заменить на имя доменной учетной записи. Имя можно указывать вместе с REALM или без него.

Примеры команды
su - lipov
su - lipov@AVANPOST.LOCAL
su - lipov@co.avanpost.com

ВАЖНО!

Если в домене Avanpost DS и в доверенном домене MS AD существуют пользователи с одинаковым логином, то для них необходимо обязательно указывать REALM.

Внимание:

Для авторизации на рабочей станции под пользователями из домена Avanpost DS, можно вводить REALM строго в верхнем регистре или вообще его не указывать.

Для авторизации на рабочей станции под пользователем из доверенного домена MS AD следует указывать REALM в том регистре, который используется для домена в MS AD, или вообще его не указывать.

Рассмотрим примеры:

Рисунок. Пример домена в MS AD в нижнем регистре

В данном случае используется нижний регистр, значит REALM для входа следует указывать в нижнем регистре: "user@co.avanpost.com".

Рисунок. Пример домена в MS AD в комбинированном регистре

В данном случае используется комбинированный регистр, значит REALM для входа следует указывать также: "user@TRUST01.local".

Обсуждение