ALD Pro от компании Астра позиционируется как замена Microsoft Active Directory. Я думаю, что каждый системный администратор уже слышал об этом продукте. В этой публикации я расскажу о том, как выполняется установка ALD Pro. Я приведу основные шаги и отмечу те важные моменты, на которые необходимо обратить внимание во время установки системы. С детальным описанием основных компонентов можно познакомится вот в этой статье.
Материал данной публикации можно рассматривать как краткую выжимку из соответствующего курса от компании Астра. Кстати, если вы решили познакомиться с ALD Pro более детально, то настоятельно рекомендую к прочтению этот курс. Также там есть отдельный курс по Астра Линукс. Как по мне, тоже довольно познавательный. Рекомендую.
Зачем эта статья и кому может быть полезна
Зачем я вообще пишу эту статью, если есть соответствующий курс и есть много других статей? Во-первых, я люблю делать краткие выжимки в отдельных статья. Когда мне нужно подготовить какой-то стенд я использую такие свои статьи. Очень удобно. Во-вторых, в комментариях коллеги часто делятся своим опытом и дельными советами. Я потом добавляю их в публикацию, чтобы немного упростить жизнь нашим с вами коллегам по цеху. И в-третьих, пока пишешь конспект материал лучше запоминается и оседает в памяти.
Кому может быть полезна эта статья? Во-первых тем, кто только начинает свой путь в ИТ и хотел бы оценить процесс установки продукта. Во-вторых, тем, кто хочет организовать себе стенд с ALD Pro и нужен экспресс гайд по развертыванию системы.
Описание целевой архитектуры
Описание состава серверов и общая архитектура решения приведена на схеме ниже.

Для развертывания нам понадобится 8 серверов.
Описание серверов и технические требования к ним приведены в таблице ниже.
Имя сервера | Описание | Кол-во ядер ЦПУ, шт. | Объем оперативной памяти, МБ |
dc-1 | Первый контроллер домена | 2 | 4 |
dc-2 | Второй контроллер домена | 2 | 4 |
files-1 | Подсистема «Общий доступ к файлам» | 1 | 2 |
mon-1 | Подсистема «Мониторинг» | 1 | 2 |
cups-1 | Подсистема «Служба печати» | 1 | 2 |
audit-1 | Подсистема «Аудит» | 1 | 2 |
repo-1 | Подсистема «Репозиторий ПО» | 1 | 2 |
pc-1 | Клиентское рабочее место | 1 | 2 |
Используемые версии ПО
Версия Astra Linux – 1.7.6.
Версия ALD Pro – 2.4.0.
Важные моменты
Я решил вынести в отдельный раздел те моменты, на которые сразу стоит обратить внимание еще до процесса развертывания ALD Pro.
1. ALD Pro не поддерживает ядра hardened. Поддерживаются только generic ядра.
2. Необходимо использовать редакцию Astra Linux с максимальным уровнем защищенности – Смоленск.
3. Настоятельно рекомендуется использовать статическую адресацию на серверах.
4. Для имени домена рекомендуется выбирать такое имя, которые не будет конфликтовать с другими вашими сервисами. Например, для LAD Pro выделить отдельный домен третьего уровня. Скажем, ald.itproblog.ru.
Предварительная подготовка серверов
Я выполнял предварительную подготовку серверов в следующем порядке
1. Установил Astra Linux 1.7.4 на все сервера. При установке я оставил компонент “Графический интерфейс Fly”, чтобы можно было пользоваться браузером с самого контроллера домена. Опорную статью по установке можно использовать вот эту. Только учтите момент с версией ядра и графической оболочкой.
2. На каждом из серверов я скорректировал список репозиториев:
sudo nano /etc/apt/sources.list
и оставил только эти строки:
deb https://download.astralinux.ru/astra/stable/1.7_x86-64/repository-base/ 1.7_x86-64 main contrib non-free
deb https://download.astralinux.ru/astra/stable/1.7_x86-64/repository-extended/ 1.7_x86-64 main contrib non-free

3. Выполнил полное обновление системы:
sudo apt dist-upgrade
4. Настроил статическую адресацию на серверах (кроме рабочей станции). Если у вас сервер без графической оболочки, то настройки необходимо выполнять через службу networking.service. В моем случае я использовать рабочий стол Fly. Но даже в этом случае необходимо выполнять настройки через networking.service, а службу NetworkManager отключать.
Обычно я сначала настраиваю сеть:
sudo nano /etc/network/interfaces
auto eth0
iface eth0 inet static
address 10.10.10.96
netmask 255.255.255.0
gateway 10.10.10.25

Затем я настраиваю разрешение имен.
sudo nano /etc/resolv.conf
nameserver 10.10.10.254
nameserver 8.8.8.8

И в заключении отключают службу Network Manager:
sudo systemctl stop NetworkManager
sudo systemctl disable NetworkManager
sudo systemctl mask NetworkManager
sudo systemctl status NetworkManager
sudo ip addr flush dev eth0
sudo systemctl restart networking
5. Заключительным шагом проверим доступность сервера с репозиториями:
ping -c 4 dl.astralinux.ru

Установка первого контроллера ALD Pro
Теперь приступим непосредственно к установке первого контроллера домена.
Подготовка первого контроллера домена
1. Подключимся к первому контроллеру домена – dc-1.
2. Настроим FQDN имя первого контроллера домена:
sudo hostnamectl set-hostname dc-1.itproblog.ru
3. Также в файл hosts добавим строки с именем сервера.
sudo nano /etc/hosts
10.10.10.96 dc-1.itproblog.ru
10.10.10.96 dc-1

Также нужно закомментировать строку с именем сервера и 127.0.0.1
4. Перезагружаем сервер:
sudo reboot
5. В руководстве приведена рекомендация на переключения репозиториев на ветку frozen (чтобы гарантировать полную совместимость пакетов). Пример добавления строки с репозиторием для версии Astra Linux 1.7.6:
nano /etc/apt/sources.list
deb http://dl.astralinux.ru/astra/frozen/1.7_x86-64/1.7.6/repository-base 1.7_x86-64 main non-free contrib
deb http://dl.astralinux.ru/astra/frozen/1.7_x86-64/1.7.6/repository-extended 1.7_x86-64 main contrib non-free contrib
Также не забываем закомментировать прежние строки:

Но вот у меня почему-то с веткой frozen не заладилось. При переключении на ветку frozen установщик ругался на сломанные зависимости пакетов. Поэтому я переключился обратно на стабильную ветку (stable) в файле etc/apt/sources.list (и закомментировал строки с веткой frozen):
deb https://download.astralinux.ru/astra/stable/1.7_x86-64/repository-base/ 1.7_x86-64 main contrib non-free
deb https://download.astralinux.ru/astra/stable/1.7_x86-64/repository-extended/ 1.7_x86-64 main contrib non-free
Если вы смогли заставить установку работать корректно с веткой frozen, то поделитесь опытом в комментарии 🙂 Я думаю, что не я один столкнулся с такой проблемой и ваш опыт сможет помочь многим коллегам.
6. Теперь подключим репозиторий для ALD Pro:
sudo nano /etc/apt/sources.list.d/aldpro.list
deb https://dl.astralinux.ru/aldpro/frozen/01/2.4.0/ 1.7_x86-64 main base

7. Теперь обновим информацию о репозиториях:
sudo apt update
8. Выполним обновление пакетов, если таковые имеются:
sudo apt update
sudo apt list --upgradable
sudo apt dist-upgrade -y -o Dpkg::Options::=--force-confnew
Установка ALD Pro
1. Устанавливаем необходимые пакеты:
sudo DEBIAN_FRONTEND=noninteractive apt-get install -y -q aldpro-mp aldpro-gc aldpro-syncer
2. После завершения установки проверим журнал на наличие ошибок:
sudo grep error: /var/log/apt/term.log

3. Теперь повысим сервер до контроллера домена. Дополнительно отключим историю выполнения команд, чтобы пароль не был записан в эту историю:
set + o history
sudo aldpro-server-install -d ald.itproblog.ru -n dc-1 -p 'Qwerty123' --ip 10.10.10.96 --no-reboot
Кратко опишу основные параметры:
Параметр | Описание |
-d | имя домена |
-n | короткое имя сервера (не FQDN) |
-p | пароль учетной записи администратора домена. Пароль должен быть не менее 8 символов. При использовании спец. символов нужно заключить пароль в одинарные кавычки |
–ip | IP-адрес первого контроллера домена |
–no-reboot | не перезагружать сервер после завершения процедуры повышения сервера до контроллера домена |
4. Дожидаемся окончания процедуры повышения сервера до контроллера домена.
5. Включаем обратно историю ведения команд:
set -o history``
6. Проверим настройки разрешения имен:
sudo cat /etc/resolv.conf

В файле должен быть указан ваш домен и адрес сервера – 127.0.0.1, т.к. этот файл настраивается на службу bind9.
7. Перезагружаем сервер.
sudo reboot
8. После перезагрузки можем попробовать выполнить вход под учетной записью администратора домена.

9. Выполним вход под высоким уровнем целостности:

10. Если вы все сделали правильно, то вход через консольную сессию должен быть успешным.
11. Запустим браузер Mozilla Firefox и перейдем по следующему адресу:
https://dc-1.ald.itproblog.ru/ad/ui/#/login

12. Попробуем выполнить вход с помощью Kerberos.

13. В случае успешной Kerberos аутентификации мы с вами попадаем на основную страницу портала управления ALD Pro.

Установка ALD Pro завершена успешно.
Дополнительная настройка после установки
Сразу после установки ALD Pro рекомендуется выполнить ряд дополнительных настроек.
Отключение DNSSEC
Для того, чтобы отключить DNSSEC нужно скорректировать параметр dnssec-validation в конфигурационных файлах bind9:
sudo sed -i 's/dnssec-validation yes/dnssec-validation no/g' /etc/bind/ipa-options-ext.conf
Проверим внесенные изменения:
sudo grep "dnssec-validation" /etc/bind/ipa-options-ext.conf

Разрешение рекурсивных запросов и кэширования
Вторая рекомендация – разрешить рекурсивные запросы и кеширования от тех клиентов, которые не находятся в той же подсети, что и сервера bind9. Либо добавить все подсети в список разрешенных подсетей. Поскольку сервера, как правило, работают только внутри периметра корпоративной сети, то я пойду по первому варианту:
echo 'allow-recursion { any; };' | sudo tee -a /etc/bind/ipa-options-ext.conf
echo 'allow-query-cache { any; };' | sudo tee -a /etc/bind/ipa-options-ext.conf
Проверяем:
sudo grep "allow" /etc/bind/ipa-options-ext.conf
root@dc-1:/home/roman# sudo grep "allow" /etc/bind/ipa-options-ext.conf
* allow-recursion { trusted_network; };
* allow-query-cache { trusted_network; };
allow-recursion { any; };
allow-query-cache { any; };
root@dc-1:/home/roman#

Для того, чтобы изменения вступили в силу необходимо перезагрузить службу bind9:
sudo systemctl restart bind9-pkcs11.service
Настройка перенаправления DNS запросов
Этот шаг не является обязательным, т.к. после установка ALD Pro bind9 может рекурсивно опрашивать сервера разрешения имен в глобальной сети и отдавать готовый ответ. Но можно немного разгрузить сервер и указать внешний сервер разрешения имен, который будет выполнять поиск нужной внешней DNS записи за нас.
Для включения глобального перенаправления DNS-запросов нужно выполнить следующие действия:
1. Зайти на портал управления FreeIPA.
https://dc-1.ald.itproblog.ru/ad/ui/#/
2. Перейти в раздел “Роли и службы сайта > Служба разрешения имен > Глобальная конфигурация DNS”.

3. Я добавлю в качестве сервера пересылки сервер Яндекса.

Небольшое описание доступных политик перенаправления.
Сначала перенаправлять | Сервер bind9 будет запрашивать ответ у сервера пересылки (Яндекс в моем случае). Если нужной записи в ответе не нашлось, то сервера сам попробует выполнить разрешение имени своими силами. |
Только перенаправлять | Сервер bind9 будет запрашивать ответ у сервера пересылки (Яндекс в моем случае). Сам bind9 ничего запрашивать не будет. |
Перенаправление отключено | Сервер bind9 будет выполнять разрешение имен своими силами. К внешним серверам он обращаться не будет. |
4. Сохраните внесенные изменения.

5. Проверим настройки разрешения имен:
sudo ipa dnsconfig-show

Если что-то пошло не так
Такое бывает. Если ошибка возникла 3/ на этапе установки, то как правило, установщик либо подскажет где смотреть лог с ошибкой, либо выведет текст ошибки на консоль.
Если установка завершилась успешно, но что-то не работает, то стоит проверить вот это пункты:
1. Проверить журналы /var/log/auth.log и /var/log/messages на наличие сообщений об ошибках.
2. Проверить статус службы FreeIPA:
sudo ipactl status
Directory Service: RUNNING
krb5kdc Service: RUNNING
kadmin Service: RUNNING
named Service: RUNNING
httpd Service: RUNNING
ipa-custodia Service: RUNNING
smb Service: RUNNING
winbind Service: RUNNING
ipa-otpd Service: RUNNING
ipa-dnskeysyncd Service: RUNNING
ipa: INFO: The ipactl command was successful

3. Также стоит проверить выдачу TGT билета. При входе на сервер под доменной учетной записью admin соответствующий TGT билет должен отобразиться в хранилище билетов:
klist
Ticket cache: KEYRING:persistent:570000000:krb_ccache_g2ErMEk
Default principal: admin@ALD.ITPROBLOG.RU
Valid starting Expires Service principal
25.01.2025 19:40:47 26.01.2025 19:22:34 krbtgt/ALD.ITPROBLOG.RU@ALD.ITPROBLOG.RU

4. Вы можете также запросить новый TGT билет для пользователя admin:
kinit admin
