Создание доверительных отношений между доменами Active Directory и ALD Pro
Алгоритм действий собственной разработки, достаточен для создания лаборатории (экспериментального стенда) или для использования в небольшой локальной сети. Уровень сложности действий — низкий, уровень образования автора — такой же.
Актуальность мануала достаточно высока: сроки перехода на отечественное ПО поджимают, а объем предстоящих работ для многих учреждений колоссален. В таких условиях могут пригодиться любые крупицы информации, если они представляют собой сколько-нибудь работающие решения.
Цель алгоритма — создать возможность авторизации пользователей домена Active Directory на машинах домена ALD Pro. Используется самое доступное и простое решение — синхронизация каталогов LDAP. Такой способ проще в конфигурации, чем создание траста на основе билетов Kerberos.
Примечания перед началом работы:
своим алгоритмом не пытаюсь превзойти инструкции разработчиков ГК «Астра» — лишь собираю воедино разбросанные по уголкам ИТС «Интернет» рекомендации по донастройке тех или иных нюансов;
если какие-либо параметры указаны в квадратных скобочках, это не значит, что их реально нужно писать в таких скобочках — это означает, что это пример (к сожалению, по опыту знаю, что лучше «на берегу» уточнять такие мелочи);
не рекомендуется указывать ».local» в качестве домена первого уровня: этот домен зарезервирован под отдельный протокол «семейства» DNS, который в нашем случае не используется и сеть под него не конфигурируется.
Содержание:
Настройка машин Windows
предустановочная информация
общая конфигурация
конфигурация контроллера домена
конфигурация клиента домена
Настройка машин Linux
предустановочная информация
общая конфигурация
создание контроллера домена
создание клиента
Конфигурация доверительных отношений
донастройка ALD Pro
донастройка Active Directory
инициирование соединения со стороны ALD Pro
проверка принятия соединения со стороны Active Directory
выполнение перекрестного входа в домен
Схема сети
Вариант 1: стенд на основе выделенного виртуального роутера
Вариант 2: стенд на основе виртуальных коммутаторов
Чтобы не выходить за рамки тематики туториала, настроек Mikrotik здесь приведено не будет: все, что от него требуется — настроенный DHCP-сервер. Если возникнут сложности, в сокровищнице Хабра наверняка найдется пара гайдов и на эту железяку :)
Тестирование алгоритма проводилось в средах виртуализации VMWare ESXI и VirtualBox.
Настройка машин Windows
Предустановочная информация
Контроллер: ISO Windows Server 2016, 4 CPU, 8 Гб RAM, 40 Гб места на ЖД
Клиент: ISO Windows 10, 4 CPU, 4 Гб RAM, 30 Гб места на ЖД
Тип установки: сервер — «Standard Evaluation (возможности рабочего стола)», клиент — «Pro»
По окончании установки обеих машин желательно сохранить снапшоты «CLEAR» для возможности отката неверных настроек.
Общая конфигурация
назначить интерфейсам машин IP-адреса в соответствии с выбранной схемой сети;
запретить брандмауэру блокировать подключения, а также включить правило для входящих подключений «Наблюдение за виртуальной машиной (эхо-запрос ICMPv4)» (рис. 1, 2);
задать имя компьютера, временно оставить его в WORKGROUP.
Рис. 1. Конфигурация брандмауэра
Рис. 2. Конфигурация брандмауэра
Примечание. Во избежание возможных ошибок, следует отказаться от «dc» в качестве имени контроллера — его лучше оставить для контроллера ALD Pro.
Конфигурация контроллера домена
добавить роли «DNS-сервер» и «Доменные службы Active Directory»;
«повысить роль сервера до уровня контроллера домена», создать новый лес-домен;
создать пользователей (эти учетные записи будут нужны для создания и проверки создания доверительных отношений):
пользователь-администратор: добавить его в «Администраторы домена», задать эту группу основной;
пользователь-клиент: просто убедиться, что он находится в группе «Пользователи домена»;
убедиться в наличии DNS-зоны прямого просмотра, одноименной с созданным доменом Active Directory.
Конфигурация клиента домена
ввести клиента в домен с помощью ранее использовавшегося меню смены имени;
проверить корректность регистрации, обновив список компьютеров домена и убедившись, что отображается верное имя клиента.
Рис. 3. Клиент AD корректно введен в домен
После перезагрузки на компьютере-клиенте можно авторизоваться под учетной записью доменного пользователя.
Настройка машин Linux
Предустановочная информация
Контроллер: ISO Astra Linux Special Edition 1.7.3, 4 CPU, 8 Гб RAM, 40 Гб места на ЖД
Клиент: ISO Astra Linux Special Edition 1.7.3, 4 CPU, 4 Гб RAM, 25 Гб места на ЖД
Тип установки: сервер — без графической оболочки, клиент — с графической оболочкой
По окончании установки обеих машин желательно сохранить снапшоты «CLEAR» для возможности отката неверных настроек.
Общая конфигурация
как уже было указано ранее, рекомендуется задать контроллеру имя «dc», во избежание возникновения ошибок обнаружения его клиентом/другим контроллером;
при установке выбрать ядро »5.4 generic»;
для контроллера выполнить минимальную установку: оставить лишь пакеты «Утилиты консоли» и «Средства ufw»;
для клиента выполнить минимальную установку с графической оболочкой: оставить пакеты «Утилиты консоли», «Средства ufw», «Графический интерфейс Fly»;
уровень защищенности — «Смоленск».
установить дату и время, последовательно выполнив следующие команды:
sudo date [123123592077.00]
#формат даты-времени - MonthDayHourMinuteYear.Seconds
# т.о., в примере задано 31 декабря 2077 23:59:00
date #вывод-проверка корректности даты и времени
sudo hwclock --systohc #запись даты в память машины (иначе потеряется при перезагрузке)
задать полное имя машины:
sudo hostnamectl set-hostname [имя.aldpro.lab]
привести /etc/hosts к виду:
127.0.0.1 localhost.localdomain localhost
[172.16.10.X] [имя.aldpro.lab] [имя]
127.0.1.1 [имя]
# + закомментировать строки, относящиеся к конфигурации IPv6
в файл /etc/sysctl.d/999-astra.conf дописать строку:
net.ipv6.conf.all.disable_ipv6 = 1
Здесь ветви конфигурации ненадолго разделяются, т.к. методы настройки сети у контроллера и клиента различаются. Общий алгоритм продолжится после такого же блока-разделителя.
Настройка сети на контроллере
в файл /etc/network/interfaces ввести подобные сетевые настройки.
Для схемы сети с выделенным роутером:
auto eth0 iface eth0 inet dhcp
Для схемы сети с виртуальными коммутаторами:
# интерфейс к глобальной сети auto eth0 iface eth0 inet dhcp dns-nameservers [192.168.0.13] # интерфейс к локальной сети auto eth1 iface eth1 inet static address [172.16.10.1] netmask [255.255.255.0] dns-search [aldpro.lab] dns-nameservers [172.16.10.1] 127.0.0.1
установить и активировать утилиту для автообновления файла резолвинга:
sudo apt install resolvconf #установка пакетов
sudo systemctl status resolvconf #проверка состояния
sudo systemctl enable resolvconf #добавление службы в автозапуск
sudo systemctl start resolvconf #активация службы
выполнить создание и обновление файла резолвинга:
sudo resolvconf -u
#команда обновления файла резолвинга; в данном случае просто создаст этот файл
sudo ifdown -a #выключение всех сетевых интерфейсов для безопасной их перезагрузки
sudo ifup -a #включение всех сетевых интерфейсов
#в этот момент resolvconf автоматически отследит и добавит актуальные сетевые настройки в /etc/resolv.conf
cat /etc/resolv.conf
# на данный момент файл резолвинга должен содержать:
# строку вида "Do not edit this file by hand"
# адреса DNS-серверов глобальной и локальной сетей
# имена поисковых доменов-суффиксов
Настройка сети на клиенте
с помощью графической утилиты NetworkManager задать подобные сетевые настройки:
выключить-включить поддержку сети (безопасная перезагрузка сетевых интерфейсов);
вывести для проверки содержимое файла резолвинга:
cat /etc/resolv.conf
# на данный момент файл резолвинга должен содержать:
# строку вида "Do not edit this file by hand"
# адреса DNS-серверов глобальной и локальной сетей
# имена поисковых доменов-суффиксов
проверить связь в сетях:
ping ya.ru
ping [172.16.20.1]
#если с AD нет связи, может помочь перепроверка корректности настроек его брандмауэра,
# в особенности категории "Защита в доменной сети"
в файле /etc/apt/sources.list закомментировать репозиторий диска (cdrom:///…) и раскомментировать 4 сетевых репозитория;
выполнить обновление списка репозиториев и затем обновление системы:
sudo apt update
sudo apt upgrade -y
Примечание.В процессе установки пакетов система задаст несколько вопросов, заменить ли отдельные пакеты новыми версиями — для всех отвечать Y.
перезагрузить машину;
проверить версию системы:
cat /etc/astra_version
#должна обновиться до 1.7.5
в файл /etc/apt/sources.list из Приложения Б в Мануале администратора ALD Pro скопировать два репозитория «для Astra Linux с обновлением 1.7.4».
ВАЖНО: в адресе заменить 1.7.4 на 1.7.5 (рис. 4)
Рис. 4. Корректные адреса репозиториев для версии 1.7.5
обновить список репозиториев, но не выполнять обновление системы! ;
из Приложения Б в Мануале администратора ALD Pro скопировать две echo-команды «для добавления сетевого репозитория aldpro» (крайне нежелательно вписывать указанные в этих командах репозитории в необходимый файл вручную — высока вероятность возникновения ошибок);
привести /etc/apt/preferences.d/aldpro к виду:
Package: *
Pin: release n=generic
Pin-Priority: 900
выполнить обновление списка репозиториев и затем обновление системы:
sudo apt update
sudo apt dist-upgrade
#начиная с версии 1.7.5, требуется использовать команду "связного" обновления системы:
# так не только подтягиваются новые версии уже установленных в системе пакетов,
# но и учитывается необходимость обновить пакеты зависимостей
перезагрузить машину;
сохранить снапшот «before install», для возможности отката неверно/неудачно установленных пакетов
Создание контроллера домена
установить пакеты FreeIPA и других компонентов контроллера домена:
sudo DEBIAN_FRONTEND=noninteractive apt-get install -q -y aldpro-mp aldpro-gc aldpro-syncer
Примечание. Не рекомендуется использовать CapsLock при вводе прописных букв — по какой-то причине процесс ввода символов после этого ломается, и все пишется неровным зАбоРЧиКоМ.
перезагрузить машину;
инициализировать контроллер:
sudo aldpro-server-install -d [aldpro.lab] -n [dc] -p [желаемый пароль администратора домена] --ip [172.16.10.1] --setup_syncer --setup_gc --no-reboot
Примечание. В качестве адреса рекомендуется указывать локальный IP-адрес машины –при указании глобального (и особенно при его дальнейшей смене) могут возникнуть ошибки.
Создание всех необходимых компонентов долгое, не менее 15 минут. В конце могут появиться 2–3 «failed units» — на работоспособность контроллера это не повлияет.
перезагрузить машину;
с любой машины с графическим интерфейсом (можно даже с хостовой) проверить работоспособность контроллера — зайти в его веб-морду (вход по учетным данным admin/[указанный при инициализации пароль администратора домена]:
https://[172.16.10.1]/ad/ui
для полноценного введения в домен клиентской машины создать доменного пользователя: Веб-консоль управления → Пользователи и компьютеры → Пользователи → «новый» → заполнить обязательные поля → малозаметная кнопка «Сохранить» в верхнем правом углу.
Создание клиента домена
установить пакеты клиента домена:
sudo DEBIAN_FRONTEND=noninteractive apt-get install -q -y aldpro-client
Примечание. Не рекомендуется использовать CapsLock при вводе прописных букв — по какой-то причине процесс ввода символов после этого ломается, и все пишется неровным зАбоРЧиКоМ.
установить пакеты браузера Firefox (понадобится для дальнейшей работы):
sudo apt install firefox
если используется схема сети с виртуальными коммутаторами, в NetworkManager отключить соединение с глобальной сетью и перезагрузить сетевые интерфейсы;
Примечание. Если оставить машине прямой выход в глобальную сеть, при инициализации клиента она найдет и «запомнит» контроллер по его глобальному адресу, что в дальнейшем (при, например, смене адреса у контроллера) приведет к ошибкам и отвалам.
инициализировать клиента:
sudo /opt/rbta/aldpro/client/bin/aldpro-client-installer -c [aldpro.lab] -u admin -p [пароль администратора домена] -d [astracli] -i -f
на контроллере проверить корректность введения машины-клиента в домен: Веб-консоль управления → Пользователи и компьютеры → Компьютеры → сверить FQDN и IP клиента (рис. 5);
Рис. 5. Клиент ALD корректно введен в домен
перезагрузить машину;
войти в домен с учетными данными ранее созданного доменного пользователя; при первом входе сработает встроенная политика безопасности и попросит сменить пароль пользователя — можно ввести старый под видом нового (рис. 6).
Рис. 6. Успешный процесс первого входа доменного пользователя
Конфигурация доверительных отношений
Рекомендуется сохранить снапшоты обоих контроллеров перед началом работы над этой задачей.
Донастройка ALD Pro
в файл /etc/hosts добавить записи об адресе, имени и домене контроллера AD в следующем формате:
[172.16.20.1] [windc.activedir.lab] [windc]
# + снова закомментировать строки, относящиеся к конфигурации IPv6
в файле /etc/sysctl.d/999-astra.conf снова привести строку с IPv6 к указанному виду:
net.ipv6.conf.all.disable_ipv6 = 1
добавить сервер пересылки DNS: Веб-консоль управления → Роли и службы сайта → Службы разрешения имен → Перенаправление запросов → Новая зона → заполнить поля «Имя зоны» ([activedir.lab]), «Глобальные перенаправители» ([172.16.20.1]), «Тип зоны» (прямой), «Политика перенаправления» (только перенаправлять) → малозаметная кнопка «Сохранить» в верхнем правом углу (рис. 7).
Рис. 7. Сконфигурировано перенаправление DNS-запросов
в файле /etc/sssd/sssd.conf в секции с заголовком »[domain/aldpro.lab]» дописать следующее:
subdomain_inherit = ignore_group_members, ldap_purge_cache_timeout
ignore_group_members = True
ldap_purge_cache_timeout = 0
Примечание. Будьте внимательны и на месте перепроверьте синтаксис: следующая секция файла с заголовком »[sssd]» начинается очень незаметно — можно совершенно случайно написать указанные строки уже в этой секции, потом придется долго-долго искать ошибку (горький опыт).
перезапустить сервис sssd:
sudo systemctl restart sssd
в файле /etc/bind/ipa-options-ext.conf отредактировать и дописать строки:
dnssec-validation no;
allow-query-cache { any; };
Примечание. Опять же, внимательно перечитайте написанное: легко ошибиться в количестве пробелов/скобок/знаков пунктуации, ошибка может быть мелкой и незаметной, но сильно помешать дальнейшей работе.
перезапустить сервис FreeIPA:
sudo ipactl restart
Донастройка Active Directory
проверить видимость контроллера ALD Pro — выполнить ping по его доменному имени;
создать сервер условной пересылки: Оснастка DNS → Серверы условной пересылки → «Добавить» → заполнить поля «DNS-домен» ([aldpro.lab]), «IP-адрес» ([172.16.10.1]) (рис. 8).
Примечание. Здесь вначале будет отображаться предупреждение о «неавторитетности сервера» — это нормально и валидируется просто дополнительной проверкой: Серверы условной пересылки → выделить нужный, открыть Свойства → «Изменить»; в графе «Проверка выполнена» будет отображаться статус «ОК».
Рис. 8. Сконфигурировано перенаправление DNS-запросов
Инициирование соединения со стороны ALD Pro
с любого компьютера в локальной сети зайти в веб-консоль управления FreeIPA, не самого ALD:
https://dc/ipa/ui
указать сервер для создания доверительных отношений: IPA-сервер → Отношения доверия → Отношения доверия → «Добавить» → установить галочки «двусторонее отношение» и «тип диапазона — Домен AD», заполнить поля «домен» ([activedir.lab]), «установить с помощью » (указать учетные данные пользователя-администратора, создавали ранее при настройке контроллера Active Directory) → «Добавить».
В случае успешного создания траста будет выведено сообщение «Успешно добавлено Отношение доверия. Установлено и проверено», а в списке Отношений доверия FreeIPA появится домен Active Directory.
Проверка принятия соединения со стороны Active Directory
проверить корректность создания доверительных отношений: оснастка «Домены и доверие» → локальный домен → «Свойства» → «Отношения доверия»; здесь уже должен быть вписан домен ALD Pro;
проверить корректность применения настроек пересылки DNS: (путь выше) → «Свойства» → «Маршрутизация суффиксов имен»; здесь должен автоматически настроиться редирект суффикса »*.[aldpro.lab]».
Выполнение перекрестного входа в домен
перезагрузить оба контроллера и машину-клиент ALD;
на клиенте ALD Pro совершить вход в домен Active Directory с учетными данными пользователя-клиента (создавали ранее при настройке контроллера Active Directory) (рис. 9).
Примечание. В списке доступных доменов Active Directory может появиться не сразу после перезагрузки контроллеров — есть смысл подождать около пяти минут, прежде чем считать недоступность ошибкой.
Рис. 9. Выполнение перекрестного входа под доменным пользователем