Введение

Вот уже более года занимаюсь администрированием операционной системы Astra Linux, данная операционная система построена на базе операционной системе debian, но в плане администрирования данные операционные системы имеют различия, также в Astra Linux имеются службы собственной разработки. В данной публикации пойдет речь об администрирование ald домена, серверной части, а также клиентской (как правильно ввести систему в домен и правильное формирование файла hosts).

Серверная часть

Настройку произвожу на виртуальных машинах в virtualbox, на сервере ip адрес 192.168.1.1, также на данном сервере расположен репозиторий(настройка ip адресов и репозиториев ничем не отличаются от настроек в debian). Первое, что необходимо настроить - это синхронизацию времени, поднимем ntp сервер, который будет брать время с текущей машины, для это достаточно отредактировать файл /etc/ntp.conf, внеся в него следующие изменения:


server 127.127.1.0

fudge 127.127.1.0 stratum 10

restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap

Параметры подсети укажите в соответсвии с вашими ip адресами.

Запустим службу:

systemctl enable ntp

systemctl start ntp

Так как в ald отсутствует собственный dns сервер, то его заменой служит корректно настроенный файл /etc/hosts, который должен быть одинаковый на всех машинах в домене. Перед редактированием данного файла, зададим корректное hostname для сервера:

hostnamectl set-hostname dc1.local

В данной ситуации hostname сервера будет dc1, а имя домена, соответственно, local, именно на эти параметры будет ориентироваться ald-server при инициализации. Последним штрихом перед инициализацией ald сервера буден корректная настройка файла /etc/hosts:

127.0.0.1 localhost

#127.0.1.1 hostname

192.168.1.1 dc1.local dc1

192.168.1.101 host1.local host1

192.168.1.102 host2.local host2

Обязательно необходимо "закомментировать" 127.0.1.1, а также важна последовательно указания полного имени хоста, т. е. первым должно быть указано имя хоста с доменом, и только потом имя хоста без домена.

В данном примере указан один домен и две рабочие станции (если рабочих станций больше, то соответственно всех их необходимо перечислить в данном файле, а также скопировать данный файл на все машины, которые планируется ввести в домен). После данных манипуляций можно приступать к установке необходимых пакетов, а также инициализации сервера:

sudo apt install ald-server-common fly-admin-ald-server smolensk-security-ald

Пакет smolensk-security-ald - добавит возможность администрировать ald сервер в стандартной утилите fly-admin-smc (об этом будет рассказано далее).

Во время установки будет запрос на создание пароля администратора домена, для текущей публикации будет создан пароль 12345678, далее данный пароль будет использован для ввода всех машин в домен. После установки всех пакетов обязательно необходимо перезагрузить машину.

ВАЖНО: Если по каким то причинам у Вас сбились настройки сервера, то их можно отредактировать в файле /etc/ald/ald.conf, в текущем файле важен параметр DOMAIN, значение данного параметра всегда должно начинаться с . (точки), т.е. в текущем примере данная строка будет выглядеть так:

DOMAIN = .local

После перезагрузки сервера можно приступить к инициализации сервера командой:

ald-init init

В процессе инициализации домена еще раз будет запрос на создание пароля администратора домена, а также запрос на создание пароля на базу данных kerberos. Если все прошло удачно, то на экране появится сообщение как на рисунке 1.

Рис. 1
Рис. 1

После данным манипуляций настройка сервера закончена, приступим к настройке клиентской части.

Клиентская часть

Клиентская часть настраивается довольно просто, достаточно настроить ntp клиента, для синхронизации времени, скопировать файл hosts с сервера, задать имя хоста, а также настроить /etc/ald/ald.conf. В файле /etc/ntp.conf необходимо добавить строки:

server dc1.local

Запустим службу ntp:

systemctl start ntp

systemctl enable ntp

Зададим имя хоста (в данном пример ip адрес хоста 192.168.1.101):

hostnamectl set-hostname host1

Перед настройкой ald.conf необходимо установит необходимые пакеты:

sudo apt install fly-admin-ald-client ald-client

После того как пакеты будут установлены, необходимо перезагрузить машину, после того как машина будет перезагружена, можно приступить к настройке ald.conf и ввода машины в домен, на рисунке 2 представлен пример файла ald.conf (данный файл аналогичен файлу ald.conf с сервера)

Рис. 2
Рис. 2

После данным манипуляций можно ввести машину в домен командой:

ald-client join

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

Если все прошло удачно, то на экране отобразится текст как на рисунке 3

Рис. 3
Рис. 3

На этом настройка клиентской части закончена, можно приступать к администрированию ald сервера.

Администрирование ald сервера

Как было написано ранее администрирование можно производить через стандартную системную утилиту fly-admin-smc, ее можно запустить через консоль, либо в панели управления, перейдя на вкладку безопасность и запустив аплет "Политика безопасности". Первое, что необходимо настроить - это политику паролей в соответствии с Вашими требованиями:

Рис. 4
Рис. 4

На рисунке 4 представлена вкладка политики паролей. После настройки политики паролей можно приступить к созданию пользователей и настройке прав пользователей.

Рис. 5
Рис. 5

На вкладке пользователи необходимо нажать на кнопку +, ввести имя пользователя, тип файловой системы установить local (также можно хранить каталоги на сетевых ресурсах), а также убрать "галочку" "новая", напротив надписи "Первичная группа", при этом пользователь будет добавлен в группу "domain user". Далее создадим пароль для пользователя.

Рис. 6
Рис. 6

На вкладке "Привилегии домена" можно сделать пользователя "администратором" домена, а также разрешить авторизацию с конкретных доменных машин, или с любых машин входящих в домен.

Рис. 7
Рис. 7
Рис. 8
Рис. 8

На вкладке "МРД" настраивается к каким меткам пользователь может иметь доступ, а также уровень целостности.

Рис. 9
Рис. 9

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

Представьте такую ситуацию, в будущий домен будет входить 100, или более машин, раскидать в ручную файл hosts будет довольно проблематично, в данной ситуации поможет bash с СИ подобным синтаксисом.

На тестовом стенде имеется подсеть 192.168.1.0/24, 192.168.1.1 - сервер, 192.168.1.2-192.168.1.100 - рабочие станции. На каждой машине(в том числе и на сервере) имеется пользователь user, с паролем 12345678. Данный пользователь должен быть полноценным администратором(с доступом к sudo, во время установки системы создается пользователь имеющий данные права) системы и иметь уровень целостности 63, для выполнения данной цели необходимо выполнить следующие команды:

sudo usermod -aG astra-admin,astra-console user

sudo pdpl-user -l 0:0 -i 63 user

Если пользователь user отсутствует в системе - выполним следующие команды:

sudo useradd -m -G astra-admin,astra-console -s /bin/bash user

sudo psswd user

sudo pdpl-user -l 0:0 -i 63

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

sudo apt install sshpass

После данным манипуляций можно приступить к формированию ключа(без sudo, с правами пользователя user), для без парольного доступа:

shh-keygen -t rsa -b 1024

Распространим ключи на рабочие станции:

for((i=2;i<101;i++)); do sshpass -p 12345678 ssh-copy-id -f -o StrictHostKeyChecking=no user@192.168.1.$i; done

Скопируем файл hosts на все машины с помощью утилиты scp:

for((i=2;i<101;i++)); do scp /etc/hosts user@192.168.1.$i:/home/user; ssh user@192.168.1.$i sudo cp /home/user/hosts /etc/hosts; done

После выполнения данных команд файл hosts будет распространен на все машины, которые будут входить в домен.

Таким же образом можно редактировать данный файл на всех хостах в домене(например необходимо удалить строку с именем хоста - host40):

for((i=2;i<102;i++)); do ssh user@192.168.1.$i sudo sed -i '/host40/d' /etc/hosts; done

Заключение

Как видно из данной публикации ald домен довольно просто разворачивать, а также очень просто администрировать используя стандартную системную утилиту fly-admin-smc.

Комментарии (10)


  1. MechanicusJr
    27.09.2022 22:23
    +8

    Так как в ald отсутствует собственный dns сервер, то его заменой служит корректно настроенный файл /etc/hosts, который должен быть одинаковый на всех машинах в домене

    ЭТО ПРОСТО ПРАЗДНИК КАКОЙ ТО

    Hidden text


  1. MechanicusJr
    27.09.2022 22:30
    +1

    Настройки сервера и клиентов ALD содержатся в файле /etc/ald/ald.conf. После изменения данного файла необходимо выполнить команду commit-config для того, чтобы изменения вступили в силу:ald-init commit-config (на сервере)ald-client commit-config (на клиентах)

    (орет)

    В данном примере указан один домен и две рабочие станции

    а два, два контроллера домена можно использовать?? А сайты разные ?

    После данным манипуляций можно ввести машину в домен командой:

    и что происходит с машиной? ну, чего меняется то?

    На вкладке "Привилегии домена" можно сделать пользователя "администратором" домена, а также разрешить авторизацию с конкретных доменных машин, или с любых машин входящих в домен.

    То есть настроек времени логина нет. ооок

    а также очень просто администрироват

    Где тут администрирование то? Ну, например что будет с централизованным управлением пользователем, если я ручками с бут цд поправлю локальный алд файл ?


    1. edo1h
      28.09.2022 02:48

      а два, два контроллера домена можно использовать?

      в вики по ссылке есть «настройка резервного сервера ald».


      но вообще, конечно, вместо набора скриншотов нужна статья о том что это за ald: какие задачи решает, какие (и почему!) архитектурные решения приняты


      1. M_AJ
        28.09.2022 05:22
        +2

        в вики по ссылке есть «настройка резервного сервера ald».

        Только нет "горячего" переключения


        1. MechanicusJr
          28.09.2022 08:21

          Это даже не уровень NT4, это ..


  1. vadimr
    27.09.2022 23:37
    -1

    Вообще в составе Astra Linux есть сервер DNS.


    1. mc2
      28.09.2022 02:26
      +1

      думаю имеется ввиду dns сервер внутри ald. в 4ой самбе dns сервер встроеный.


  1. lumag
    28.09.2022 03:24
    +1

    Да даже DNS-сервер не нужен полноценный (хотя с ним и проще будет). Можно NIS-службу прикрутить к клиентскому aldc. Всяко не руками /etc/hosts править.


  1. ArchDemon
    28.09.2022 08:12
    -1

    В новых версия Астры используется FreeIpa, а не ALD, если мне не изменяет память


    1. AlexGluck
      28.09.2022 12:15

      Даже если нет, то я бы лучше его рассмотрел.