Обновление серверной части Avanpost DS

ВНИМАНИЕ:

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

RedOSAstraAlt

МСВСфера

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

ВНИМАНИЕ:

Перед обновлением серверной части Avanpost DS необходимо сделать резервную копию по инструкции: "7.11. Резервное копирование Avanpost DS и восстановление из копии".

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

ВНИМАНИЕ:

Каждый шаг необходимо выполнить на всех контроллерах в домене, прежде чем переходить к следующему шагу.

Шаг 1. Остановить сервис "ads" на каждом контроллере домена.

ВНИМАНИЕ:

Контроллеры домена не могут работать с разными версиями Avanpost DS. Необходимо выключить сервис "ads" на всех контроллерах домена перед обновлением и не включать его до конца обновления всех контроллеров домена.

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

sudo systemctl stop ads

Шаг 2. Установить новую версию Avanpost DS из пакета поверх старой версии на каждом контроллере домена.

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

RedOS
sudo dnf install /tmp/Avanpost.DS.Server.Linux-*.REDOS-MSVS.x86_64.rpm
Astra 
sudo dpkg -i /tmp/Avanpost.DS.Server.Linux-*.amd64.deb
Alt
sudo apt-get install /tmp/Avanpost.DS.Server.Linux-*.ALT.x86_64.rpm
МСВСфера
sudo dnf install /tmp/Avanpost.DS.Server.Linux-*.REDOS-MSVS.x86_64.rpm

Шаг 3. Скопировать утилиту dscli в директорию "/opt/avanpost/dscli/dscli".

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

sudo cp /opt/avanpost/tools/dscli/dscli /opt/avanpost/dscli/dscli

Шаг 4. Выполнить миграцию БД на каждом контроллере домена. (только для версии Avanpost DS 1.7 и выше)

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

sudo /opt/avanpost/ads/cmd/ads/ads migrator upgrade

Шаг 5. Выдать права на директорию "/opt/avanpost" на каждом контроллере домена.

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

sudo chown ads:ads -R /opt/avanpost

Шаг 6. Запустить сервис "ads" и проверить его статус на каждом контроллере домена.

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

sudo systemctl start ads
sudo systemctl status ads


ВНИМАНИЕ:

Шаги 6-9 требуется выполнить только при обновлении Avanpost DS на версию 1.9.0+ с версии 1.8.2 или более ранней.

Шаг 7. Установить пакеты. (Только при обновлении Avanpost DS на версию 1.9.0+ с версии 1.8.2 или более ранней)

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

RedOS
sudo dnf install openssl tar nginx xmlsec1 xmlsec1-openssl wget curl pdns pdns-backend-ldap pdns-recursor bind-utils cyrus-sasl-gssapi sssd authselect-compat mesa-libGL pam_krb5
 Astra 1.7, 2.12
sudo apt install openssl nginx xmlsec1 libxmlsec1-openssl dnsutils ssh sssd libsss-sudo krb5-user libsasl2-modules-gssapi-heimdal acl
 Astra 1.8
sudo apt install nginx xmlsec1 libxmlsec1-openssl wget pdns-server pdns-backend-ldap pdns-recursor dnsutils krb5-user libsasl2-modules-gssapi-heimdal acl ssh
 Alt
sudo apt-get install openssl tar nginx libxmlsec1 libxmlsec1-openssl wget curl pdns pdns-backend-ldap pdns-recursor bind-utils 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
МСВСфера
sudo dnf install openssl tar nginx xmlsec1 xmlsec1-openssl wget curl pdns pdns-backend-ldap pdns-recursor bind-utils cyrus-sasl-gssapi sssd authselect-compat mesa-libGL pam_krb5

Шаг 8. Ввести контроллер в домен. (Только при обновлении Avanpost DS на версию 1.9.0+ с версии 1.8.2 или более ранней)

Команда ввода контроллера в домен ("dscli joindc") доступна начиная с версии Avanpost DS 1.8.3.17.

Если КД был введен в домен как рабочая станция до версии Avanpost DS 1.8.3.17, то в разделе "Иерархия" веб-интерфейса Avanpost DS требуется перенести все КД из подразделения "hosts" в подразделение "domaincontrollers", затем выполнить команду ввода контроллера в домен "dscli joindc".  Это необходимо для корректной работы автоматически сгенерированных политик HBAC.

При вводе КД в домен как рабочую станцию запись КД помещается в подразделение "domaincontrollers". Если требуется переместить запись КД в другое подразделение, необходимо отредактировать политики HBAC в случае их использования.

Подробнее о настройке политик HBAC см. статью: "6.9. Управление групповыми политиками".

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

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

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

Заменить [Логин] на логин администратора Avanpost DS.

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

Шаг 9. Включить и добавить в автозагрузку службы "dscli.service", "dscli.timer" и "dscli-health.service". (Только при обновлении Avanpost DS на версию 1.9.0+ с версии 1.8.2 или более ранней)

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

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

Примечание

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

Шаг 10. Перезагрузить сервис "ads" и проверить его статус на каждом контроллере домена. (Только при обновлении Avanpost DS на версию 1.9.0+ с версии 1.8.2 или более ранней)

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

sudo systemctl restart ads && sudo systemctl status ads

Обсуждение