ALD Pro – средство централизованного управления и как мы выполняли пилотное внедрение. Часть 1

Моя цель - предложение широкого ассортимента товаров и услуг на постоянно высоком качестве обслуживания по самым выгодным ценам.

AD – как много в этих буквах для сердца нашего слилось… Один из ключевых сервисов в любой средней или крупной организации – это Microsoft Active Directory. А какие есть альтернативы?

Open-source решения от Linux — это здорово, дёшево, но не везде применимо. Нужна высокая квалификация инженеров и администраторов, которые будут готовы взять на себя ответственность и обеспечивать функционирование используемых решений без поддержки со стороны.

Альтернативный вариант – использование этих же open-source решений, но в виде коробочных продуктов с корпоративной поддержкой со стороны российского разработчика. Сейчас для них настало золотое время, которое можно использовать для улучшения качества и количества предлагаемых продуктов и сервисов.

В этой статье я поделюсь с вами опытом пилотного внедрения продукта ALD Pro от ГК Астра. А вы, в свою очередь, примете решение, заслуживает ли этот продукт вашего внимания, или стоит пройти мимо и обратить внимание на что-то другое.

Из-за большого объёма информации статья будет состоять из двух частей.

В первой части будут затронуты следующие вопросы:

  • Подготовка ВМ

  • Установка базовой ОС

  • Подготовка к установке ALD Pro

  • Непосредственно установка ALD Pro— развёртывание первого контроллера домена

  • Развёртывание сервера репозиториев ПО

  • Развёртывание сервера DHCP

  • Развёртывание сервера установки ОС по сети

Во второй части рассмотрим:

  • Развёртывание сервера общего доступа к файлам

  • Развёртывание подсистемы мониторинга

  • Создание реплики контроллера домена

  • Создание организационной структуры

  • Заведение учётных записей пользователей

  • Базовые групповые политики

  • Политики установки ПО

  • Задание автоматизации

Итак, часть первая…

ALD Pro (Astra Linux Domain Pro) создавался как альтернатива Microsoft Active Directory и как средство централизованного администрирования и настройки.

ALD Pro используется для администрирования парка компьютеров с ОС Astra Linux, в будущем разработчик планирует добавить поддержку других операционных систем.

ALD Pro — это набор подсистем, которые объединяет единый портал управления. В текущей реализации решения каждая подсистема устанавливается на отдельный физический или виртуальный сервер с ОС Astra Linux Special Edition с максимальным уровнем защищённости – Смоленск.

Требования к аппаратным ресурсам и компонент, на котором основано решение

Подсистема

Требования к ресурсам

На чём основано

Контролер домена

CPU: 4
RAM: 8 Gb
SSD: 100 Gb
OS: Astra SE Смоленск 1.7.1 – 1.7.3

FreeIPA, BIND9

Контролер домена (реплика) (опционально)

CPU: 4
RAM: 8 Gb
SSD: 100 Gb
OS: Astra SE Смоленск 1.7.1 – 1.7.3

FreeIPA, BIND9

Сервер подсистемы репозиториев программного обеспечения

CPU: 2
RAM: 2 Gb
SSD: 100 Gb
OS: Astra SE Смоленск 1.7.1 – 1.7.3

Reprepo

Сервер подсистемы динамической настройки сети узла (DHCP)

CPU: 2
RAM: 2 Gb
SSD: 30 Gb
OS: Astra SE Смоленск 1.7.1 – 1.7.3

ISC DHCP

Сервер подсистемы установки ОС по сети

CPU: 2
RAM: 2 Gb
SSD: 30 Gb
OS: Astra SE Смоленск 1.7.1 – 1.7.3

TFTP + PXE

Подсистема мониторинга

CPU: 2
RAM: 2 Gb
SSD: 30 Gb
OS: Astra SE Смоленск 1.7.1 – 1.7.3

Zabbix, Grafana

Подсистема печати

CPU: 2
RAM: 2 Gb
SSD: 30 Gb
OS: Astra SE Смоленск 1.7.1 – 1.7.3

CUPS

Подсистема общего доступа к файлам

CPU: 2
RAM: 2 Gb
SSD: 30 Gb
OS: Astra SE Смоленск 1.7.1 – 1.7.3

Samba

Подсистема сбора логов и событий

CPU: 2
RAM: 2 Gb
SSD: 30 Gb (по возможности, добавить больший объём для хранения логов)
OS: Astra SE Смоленск 1.7.1 – 1.7.3

Fluentd

В качестве инструмента управления конфигурациями используется SaltStack, служба синхронизации времени – Chrony.

Опыт пилотного внедрения

К нам обратился один из наших постоянных заказчиков с просьбой организовать пилотное внедрение ALD Pro с целью познакомиться с продуктом и оценить возможность его использования в качестве замены аналогичных продуктов Microsoft.

Особенностью пилотного внедрения была замкнутая виртуальная среда без доступа к сети Интернет. Нужно было выполнить развёртывание и установку всех необходимых пакетов локально.

Если бы не ограничение замкнутой программной среды,
все пакеты можно было бы установить из Интернет-репозитория Astra Linux и не
пришлось бы создавать дополнительный локальный репозиторий на период
развёртывания группировки серверов.

Подготовка инфраструктуры

Развёртывание проводим в виртуальной инфраструктуре, нам необходимо подготовить 10 виртуальных машин со следующими ролями:

  1. ВМ с выходом в Интернет, на которой будут создаваться ISO образы репозиториев.
    Для этой ВМ достаточно выделить 2xCPU, 2 Гб RAM и 64 Гб диск. Подойдёт любой Linux, но мы будем использовать Astra SE 1.7.3 в минимальной конфигурации без графического интерфейса;

  2. ВМ для организации временного локального репозитория. Будет использована для настройки ВМ контроллера домена и ВМ репозитория ПО в составе ALD Pro. По ресурсам и ОС идентична предыдущей ВМ;

  3. ВМ для роли контроллера домена;

  4. ВМ для реплики контроллера домена;

  5. ВМ для репозиториев ПО;

  6. ВМ для DHCP;

  7. ВМ для подсистемы установки ОС по сети;

  8. ВМ для файлового сервера;

  9. ВМ для подсистемы мониторинга;

  10. Клиентская ВМ, которая будет использоваться в качестве тестового клиента.

Сервер печати и сервер сбора логов и событий не разворачивались, так как заказчик не нуждался в этих ролях.

Подготовка ВМ, на которой будут созданы ISO образы репозиториев ПО

Эта ВМ должна иметь выход в Интернет, так как на ней будут формироваться образы Интернет репозиториев Астры.

Процесс установки ОС описывать не будем, в нём нет ничего особенного. Кратко рассмотрим процесс подготовки образов репозиториев. Он делится на 2 этапа:

  1. Создание локального зеркала Интернет-репозитория - https://wiki.astralinux.ru/pages/viewpage.action?pageId=61575159

  2. Конвертация локального репозитория в ISO образ.

Для полноценной работы и развёртывания подсистем ALD Pro необходимо наличие 5 репозиториев:

  1. Репозиторий для установки ОС по сети – для этого используется установочный диск с ОС - 1.7.3-03.11.2022_15.53.iso

  2. Репозиторий ОС Astra Linux – base

    deb http://dl.astralinux.ru/astra/frozen/1.7_x86-64/1.7.3/repository-base 1.7_x86-64 main non-free contrib

  3. Репозиторий ОС Astra Linux – extended

    deb http://dl.astralinux.ru/astra/frozen/1.7_x86-64/1.7.3/repository-extended 1.7_x86-64 main contrib non-free

  4. Репозиторий ALD Pro main – используется установочный диск ALD Pro или Интернет-репозиторий

    deb https://dl.astralinux.ru/aldpro/stable/repository-main/1.4.0 main

  5. Репозиторий ALD Pro extended

    deb https://dl.astralinux.ru/aldpro/stable/repositoryextended/generic main

Необходимо обратить внимание, что ALD Pro не поддерживает самые новые версии в пакетах операционной системы. Для обеспечения максимальной совместимости необходимо использовать репозитории ветки frozen 1.7.2 или 1.7.3

После того как локальные репозитории будут созданы, необходимо их конвертировать в ISO образы. Для этого можно воспользоваться утилитой genisoimage

В общем виде команда конвертации репозитория будет выглядеть примерно так:

sudo genisoimage -V 1.7_x86-64 -r -o /home/sysadmin/1.7.3-base.iso /repo/apt-mirror/mirror/dl.astralinux.ru/astra/frozen/1.7_x86-64/1.7.3/repository-base/

где
-V - идентификатор репозитория
-o - путь, по которому будет сохранён iso образ
/repo/apt-mirror/mirror/dl.astralinux.ru/astra/frozen/1.7_x86-64/1.7.3/repository-base - путь к скопированному репозиторию

Каждый репозиторий конвертируем отдельно:

sudo genisoimage -V 1.7_x86-64 -r -o /home/sysadmin/1.7.3-base.iso /repo/apt-mirror/mirror/dl.astralinux.ru/astra/frozen/1.7_x86-64/1.7.3/repository-base/
sudo genisoimage -V 1.7_x86-64 -r -o /home/sysadmin/1.7.3-extended.iso /repo/apt-mirror/mirror/dl.astralinux.ru/astra/frozen/1.7_x86-64/1.7.3/repository-extended/
sudo genisoimage -V 1.4.0 -r -o /home/sysadmin/aldpro_1.4.0-main.iso /repo/apt-mirror/mirror/dl.astralinux.ru/aldpro/stable/repository-main/
sudo genisoimage -V 1.4.0 -r -o /home/sysadmin/aldpro_1.4.0-extended.iso /repo/apt-mirror/mirror/dl.astralinux.ru/aldpro/stable/repository-extended/

Сконвертированные ISO образы необходимо сохранить для дальнейшего использования, эта ВМ нам больше не понадобиться.

Создание и подготовка ВМ для использования в качестве временного локального репозитория.

Эта ВМ будет использована в закрытом контуре (в том же контуре, где будут расположены все серверы группировки ALD Pro).

Для этой ВМ достаточно минимальной установки без графического интерфейса.

После установки ОС необходимо выполнить базовые настройки:

  • Настроить сеть;

  • При смонтированном установочном образе выполнить установку пакета vsftpd - sudo apt update && sudo apt install vsftpd

  • В конфигурационный файл /etc/vsftpd.conf внести следующие данные:

listen=yes
listen_ipv6=no

# Анонимный доступ разрешен
anonymous_enable=YES
local_enable=no
anon_root=/repo
no_anon_password=yes
hide_ids=yes
  • Перезапустить сервис ftp - sudo systemctl restart vsftpd

  • Настроить локальные репозитории

Нам необходимо сохранить заранее подготовленные ISO образы репозиториев на этой ВМ или просто подключить их через гипервизор.

После копирования/подключения образов, их содержимое необходимо скопировать в локальную директорию на ВМ.

Создадим директории, в которых будут размещаться файлы репозиториев

sudo mkdir -p /repo/{base,extended,aldpro-main,aldpro-extended}

Смонтируем ISO образ

sudo mount 1.7.3-base.iso /mnt - если скопировали образ в ВМ
sudo mount /dev/sr0 /mnt – если образ подключали через CD-ROM гипервизора

Скопируем его содержимое в директорию, в которой будут размещены репозитории

sudo cp -r /mnt/* /repo/base
sudo umount /mnt

Эти же действия выполним с остальными репозиториями. После копирования всех репозиториев мы должны получить что-то подобное

drwxr-xr-x  4 root root 4096 мар 29 18:21 aldpro-extended
drwxr-xr-x  4 root root 4096 мар 29 18:20 aldpro-main
drwxr-xr-x  4 root root 4096 мар 29 17:32 base
drwxr-xr-x  4 root root 4096 мар 29 17:38 extended
root@localrepo:~# du -hs /repo/
25G     /repo/
  • Если ISO образы копировали в ВМ, для экономии места их лучше удалить.

Создание ВМ для подсистем ALD Pro и предварительная настройка

Теперь можно приступать к созданию ВМ, необходимых для подсистем ALD Pro:

  • Контролер домена

  • Контролер домена (реплика)

  • Сервер подсистемы репозиториев программного обеспечения

  • Сервер подсистемы динамической настройки сети узла (DHCP)

  • Сервер подсистемы установки ОС по сети

  • Подсистема мониторинга

  • Подсистема общего доступа к файлам

После того как ВМ будут созданы, можно приступать к установке ОС. Напоминаю: важно, чтобы это была ОС с максимальным уровнем защищённости – Смоленск.

После установки ОС выполним первые базовые настройки и подготовку:

Настройка сети
Если ОС устанавливали с графическим интерфейсом, проще всего сеть настраивать с помощью Network Manager через графический апплет
Если же ОС установили без интерфейса Fly, сеть можно настроить стандартными средствами, которые используются в Debian – редактированием конфигурационного файла /etc/network/interfaces

 Между всеми ВМ должна быть сетевая связность.

FQDN
sudo hostnamectl set-hostname dc01.astra.lan

Отредактировать /etc/hosts
Привести к виду:

127.0.0.1    localhost.localdomain    localhost

10.1.3.21    dc01.astra.lan    dc01

Подключить временный репозиторий
Это действие выполняется только на ВМ, которая будет выступать в роли контроллера домена ALD Pro и ВМ, которая будет настроена в роли сервера репозиториев
Отредактировать конфигурацию apt на использование подготовленного репозитория.

От рута выполнить

cat <<EOL > /etc/apt/sources.list
deb ftp://10.1.3.20/base 1.7_x86-64 main contrib non-free
deb ftp://10.1.3.20/extended 1.7_x86-64 main contrib non-free
EOL

Добавить репозиторий ALD Pro
Это действие выполняется только на ВМ, которая будет выступать в роли контроллера домена ALD Pro и ВМ, которая будет настроена в роли сервера репозиториев

cat <<EOL > /etc/apt/sources.list.d/aldpro.list
deb ftp://10.1.3.20/aldpro-main 1.4.0 main
deb ftp://10.1.3.20/aldpro-extended generic main
EOL

Кроме добавления репозитория ALD Pro, необходимо установить приоритет пакетам из этого репозитория. Для этого создадим соответствующий файл

cat <<EOL > /etc/apt/preferences.d/aldpro
Package: *
Pin: release n=generic
Pin-Priority: 900
EOL

Обновить пакеты
Это действие выполняется только на ВМ, которая будет выступать в роли контроллера домена ALD Pro и ВМ, которая будет настроена в роли сервера репозиториев

sudo apt update && sudo apt dist-upgrade -y

AstraLinux рекомендует использовать для обновления собственную утилиту astra-update. Обновление можно выполнить так

astra-update -A -r -T

После создания ВМ и предварительной настройки получили такую картину

Роль

FQDN

IP

Локальный репозиторий (временный)

localrepo

10.1.3.20

Контролер домена

dc01.astra.lan

10.1.3.21

Контролер домена реплика

dc02.astra.lan

10.1.3.22

Сервер репозиториев ПО

repo.astra.lan

10.1.3.23

Сервер DHCP

dhcp.astra.lan

10.1.3.24

Сервер подсистемы установки ОС по сети

pxe.astra.lan

10.1.3.25

Подсистема мониторинга

mon.astra.lan

10.1.3.26

Подсистема общего доступа к файлам

nas.astra.lan

10.1.3.27

Установка и настройка первого контроллера домена

Для установки всего необходимого для работы контроллера домена ALD Pro используется метапакет aldpro-mp

sudo DEBIAN_FRONTEND=noninteractive apt-get install -q -y aldpro-mp

После установки всех пакетов (их будет достаточно много) в настройках резолвера необходимо изменить адрес DNS сервера на 127.0.0.1.

В зависимости от способа настройки сети это делается по-разному:

- если сеть настраивали через Network Manager, проще всего значение прописать в графической утилите

- если настройка производилась путём редактирования /etc/network/interfaces, тогда необходимо внести строку nameserver 127.0.0.1 в файл /etc/resolv.conf

sysadmin@dc01:~$ cat /etc/resolv.conf
nameserver 127.0.0.1

Обращаю внимание, что редактирование файла /etc/resolv.conf стоит делать только если NetworkManager отключен, в противном случае файл будет перезаписан

Инициализация домена

sudo /opt/rbta/aldpro/mp/bin/aldpro-server-install.sh -d <домен> -n <имя_сервера> -p ‘<пароль>’ --ip <IP-адрес_контроллера_домена> --no-reboot

пароль указываем в одинарных кавычках

для просмотра описания возможных параметров

/opt/rbta/aldpro/mp/bin/aldpro-server-install.sh -h

В нашем случае команда выглядит так

sudo /opt/rbta/aldpro/mp/bin/aldpro-server-install.sh -d astra.lan -n dc01 -p ‘P@ssw0rd’ --ip 10.1.3.21 --no-reboot

Завершится выполнение команды сообщением

Summary for local
-------------
Succeeded: 87 (changed=81)
Failed:     0
-------------
Total states run:     87
Total run time:  425.555 s

Для применения настроек необходимо перезагрузить сервер.

После перезагрузки сервера можем попасть в панель администратора ALD Pro по доменному имени сервера - https://dc01.astra.lan

Обратите внимание на полный адрес - https://dc01.astra.lan/ad/ui/#/

Если в адресе ad заменить на ipa мы попадём в интерфейс FreeIPA, на котором основан контроллер домена

При работе в закрытом контуре это не требуется, но, тем не менее, упомяну об этом — если система работает с выходом в Интернет, нужно настроить разрешение внешних имён, для этого необходимо настроить форвардинг на внешний DNS. Для этого в панели администратора перейдём по пути
Роли и службы сайта -> Служба разрешения имён -> Глобальная конфигурация DNS

Если глобальное перенаправление не настраивать, тоже должно работать, т.к. Bind9 может выступать в роли резолвера и разрешать имена, делая обход по всем DNS серверам, начиная с корневой зоны “.”.

Развёртывание ролей ALD Pro

Сервер репозиториев ПО

Мы уже выполнили предварительную настройку сервера:

  • настроили сеть;

  • задали доменное имя;

  • указали адрес локальных репозиториев для установки необходимых пакетов;

  • указали приоритет установки пакетов из репозитория ALD Pro.

Осталось сделать:

  • указать в качестве сервера DNS IP адрес контроллера домена;

  • установить пакеты необходимые для работы в качестве клиента домена ALD Pro

sudo DEBIAN_FRONTEND=noninteractive apt-get install -q -y aldpro-client
  • выполнить ввод в домен

sudo /opt/rbta/aldpro/client/bin/aldpro-client-installer -c <домен> -u admin -p <пароль_администратора_домена> -d <имя_сервера> -i -f

в нашем случае команда выглядит так

sudo /opt/rbta/aldpro/client/bin/aldpro-client-installer -c astra.lan -u admin -p ‘P@ssw0rd’ -d repo -i -f

после ввода в домен, сервер, на котором устанавливается подсистема, необходимо перезагрузить

После перезагрузки мы увидим в списке компьютеров домена 2 записи: сам контроллер домена и сервер репозиториев
Пользователи и компьютеры -> Компьютеры

Теперь необходимо на сервере repo.astra.lan настроить роль сервера репозиториев ПО.
Для этого необходимо перейти в раздел Установка и обновление ПО -> Репозитории ПО
Нажать на ссылку в центре страницы – развернуть сервер репозиториев ПО

В выпадающих списках указать сервер, на котором разворачиваем роль и Сайт

Нажать кнопку Сохранить 

Процесс развёртывания системы можно видеть в разделе Автоматизация ->
Задания автоматизации -> Журнал заданий

После завершения развёртывания статус задания изменится

Кроме этого ход установки можно наблюдать в журналах apt и salt на целевом хосте,
например, (tail -f /var/log/apt/term.log &); (tail -f /var/log/salt/minion &)

Теперь необходимо создать репозитории ПО и добавить в них наши образы репозиториев, которые мы заранее подготовили
Установка и обновление ПО -> Репозитории ПО -> Новый репозиторий

Заполним поля имени, описания и адреса репозитория. Они могут быть произвольными

После добавления всех репозиториев мы должны увидеть такую картину

Теперь необходимо добавить версии
Выбираем первый репозиторий из списка и в открывшемся окне переходим на вкладку Версии

Нажимаем кнопку + Новая версия 

Указываем путь к установочному ISO образу - 1.7.3-03.11.2022_15.53.iso

Нажимаем Сохранить
Начнётся процесс загрузки образа во временный каталог на сервере репозиториев.

После загрузки начнётся извлечение и индексация пакетов.
Это самый продолжительный процесс. Наберёмся терпения и подождём

Заветное изменение состояния

Источник: https://habr.com/ru/companies/syssoft/articles/739428/


Интересные статьи

Интересные статьи

Всем привет. На волне отключений shutterstok и всеобщего импортозамещения, решила поделиться своей дипломной работой и расписать принципы, которым можно следовать при создании своих стоков с фотографи...
Привет, Хабр! Меня зовут Денис Захаров. Я занимаюсь разработкой веб приложений на протяжении уже 14 лет, но история будет не об этом. Расскажу о том, как и почему я создавал эргономичное рабочее место...
Всем привет! Я хочу запустить цикл статей с инструкциями которые помогут, отвязаться от сервисов и вернут вам контроль над вашими данными. Тут будут представлены opensource аналоги сервисов, которыми ...
В статье рассмотрено как создается языковой плагин для IDEA на примере учебного языка Monkey. Приведены примеры из других плагинов. Пишем на Java и Kotlin.
В магазине Visual Studio есть множество различных расширений на все случаи жизни. Есть в сети различные их подборки, которые могут упростить жизнь в общих или конкретных случаях. Однако я, почему-то, ...