Настройка LAPS

Эллес поддерживает технологию обновления паролей локальных администраторов Local Administrator Password Solution (LAPS).

Общие сведения

Технология LAPS обеспечивает автоматическое формирование уникальных сложных паролей для локальных администраторов на машинах в домене, их обновление с настраиваемой периодичностью и централизованное хранение в базе данных службы каталогов с контролем доступа.

Основные компоненты технологии:

  • расширение схемы данных каталога для хранения паролей и метаданных в специальных атрибутах объектов компьютеров;

  • инструменты администрирования:

    • подкоманды утилиты samba-tool для расширения схемы, управления разрешениями и просмотра паролей;

    • секция LAPS на странице свойств компьютера в веб-интерфейсе приложения «Менеджер службы каталогов» (DSM) для просмотра и принудительного сброса пароля локального администратора (см. раздел «Просмотр и сброс пароля локального администратора компьютера»);

  • групповая политика для централизованной настройки параметров управления паролями (длина, сложность, периодичность смены и т. д.);

  • клиентское расширение на управляемых устройствах, отвечающее за генерацию, установку и сброс пароля локального администратора, контроль соответствия пароля требованиям безопасности, изменение имени административной учетной записи, шифрование и учет других атрибутов LAPS в соответствии с установленной групповой политикой.

Последовательность настройки управления паролями локальных администраторов включает:

  1. Расширение схемы данных каталога дополнительными атрибутами класса computer.

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

  3. Настройка групповой политики управления паролями локальных администраторов.

  4. Установка клиентского расширения (в составе пакета elles-workstation) на рабочих станциях с ОС Linux.

  5. Применение групповой политики на машинах в домене.

Процесс управления паролями локальных администраторов состоит из следующих шагов:

  1. Клиентское расширение генерирует пароль для локального администратора.

  2. Пароль сохраняется в БД Эллес в открытом или зашифрованном виде.

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

  4. По истечении периода действия пароль автоматически обновляется.

  5. Авторизованные администраторы могут получить доступ к паролям с помощью samba-tool или веб-интерфейса DSM и использовать его для входа на конечные устройства.

Ограничения

В текущей версии реализация LAPS в Эллес имеет ряд ограничений.

Поддерживаемый алгоритм шифрования

В текущей версии Эллес поддерживает только публичные ключи, сгенерированные по схеме Diffie–Hellman. В результате LAPS использует только такие ключи для шифрования и дешифрования паролей.

Для проверки выбранного алгоритма в текущей конфигурации KDS на контроллере домена под управлением Windows Server может использоваться командлет PowerShell Get-KdsConfiguration.

При использовании алгоритма Diffie-Hellman командлет вернет в атрибуте SecretAgreementAlgorithm значение DH.

Например:

PS C:\Users\Administrator> Get-KdsConfiguration

AttributeOfWrongFormat        :
KdfParameters                 : {0, 0, 0, 0...}
SecretAgreementParameters     : {12, 2, 0, 0...}
IsValidFormat                 : True
SecretAgreementAlgorithm      : DH
KdfAlgorithm                  : SP800_108_CTR_HMAC
SecretAgreementPublicKeyLength: 2048
SecretAgreementPrivateKeyLength: 512
VersionNumber                 : 1

Поддержка на рабочих станциях

В текущей версии Эллес работа LAPS обеспечивается на рабочих станциях с ОС Astra Linux, введенных в домен:

  • с помощью Winbind;

  • с помощью SSSD в связке с Winbind.

Расширение схемы каталога

Для поддержки Legacy Microsoft LAPS выполните на контроллере домена Эллес от имени пользователя, включенного в группу Schema Admins, с действующим билетом Kerberos:

samba-tool schema extend laps-v1

Для поддержки Windows LAPS выполните на контроллере домена Эллес от имени пользователя, включенного в группу Schema Admins, с действующим билетом Kerberos:

samba-tool schema extend laps-v2
См. описание синтаксиса и параметров вызова подкоманды в разделе «Расширение схемы атрибутами для управления паролями локальных администраторов (LAPS)».

Настройка разрешений

По умолчанию все действия по управлению паролями локальных администраторов доступны участникам группы Domain Admins. Для выдачи разрешений другим пользователям и группам необходимо добавить соответствующие записи (ACE) в список управления доступом к объекту компьютера или объекту подразделения (OU), который используется для управления учетными записями компьютеров.

Чтобы разрешить компьютерам, объединенным в подразделение (в примере — Workstations), обновлять пароли локальных администраторов, выполните на контроллере домена Эллес от имени пользователя, включенного в группу Domain Admins, с действующим билетом Kerberos:

samba-tool dsacl set --laps-v2 computer-self-permission --objectdn OU=Workstations,DC=elles,DC=inno,DC=tech

Чтобы разрешить отдельному пользователю или группе пользователей просматривать пароли локальных администраторов (в примере — HelpDesk), сгенерированные автоматически для компьютеров в составе подразделения (в примере — Workstations), выполните на контроллере домена Эллес от имени пользователя, включенного в группу Domain Admins, с действующим билетом Kerberos:

samba-tool dsacl set --laps-v2 read-password-permission --objectdn OU=Workstations,DC=elles,DC=inno,DC=tech --trusteedn CN=HelpDesk,CN=Users,DC=elles,DC=inno,DC=tech

Чтобы разрешить отдельному пользователю или группе пользователей устанавливать период действия паролей локальных администраторов (в примере — HelpDesk), сгенерированных автоматически для компьютеров в составе подразделения (в примере — Workstations), выполните на контроллере домена Эллес от имени пользователя, включенного в группу Domain Admins, с действующим билетом Kerberos:

samba-tool dsacl set --laps-v2 reset-password-permission --objectdn OU=Workstations,DC=elles,DC=inno,DC=tech --trusteedn CN=HelpDesk,CN=Users,DC=elles,DC=inno,DC=tech
См. описание синтаксиса и параметров вызова подкоманды в разделе «Добавление записей в список управления доступом».

Настройка групповой политики

Эллес предоставляет инструменты для настройки параметров групповой политики LAPS:

  • веб-интерфейс «Групповые политики» в составе приложения «Менеджер службы каталогов» (см. раздел «Групповые политики»);

  • группа подкоманд gpo manage laps утилиты командной строки samba-tool (см. описание синтаксиса и параметров вызова подкоманд в разделе «Управление групповыми политиками LAPS»).

Например, в утилите samba-tool доступны следующие подкоманды для работы с параметрами политик LAPS:

  • установка значения параметра в объекте групповой политики;

    Например:

    samba-tool gpo manage laps set {21575E6B-A315-4E5C-A4B9-FFACB0624FB2} \
        --name=PasswordLength \
        --value=12
  • удаление значения параметра из объекта групповой политики;

    Например:

    samba-tool gpo manage laps unset {21575E6B-A315-4E5C-A4B9-FFACB0624FB2} \
        --name=AdministratorAccountName
  • получение информации о параметре в объекте групповой политики;

    Например:

    samba-tool gpo manage laps get {21575E6B-A315-4E5C-A4B9-FFACB0624FB2} \
        --name=PasswordAgeDays
  • получение информации обо всех параметрах в объекте групповой политики.

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

    samba-tool gpo manage laps list {21575E6B-A315-4E5C-A4B9-FFACB0624FB2} \
        --all \
        --verbose
См. подробнее о работе с групповыми политиками в разделе «Администрирование объектов групповых политик (GPO)».)

Установка клиентского расширения

Для обеспечения работы LAPS на рабочих станциях с ОС Linux требуется добавить на них PAM-модуль и включить его в цепочку аутентификации.

Для этого на рабочей станции, введенной в домен с использованием Winbind или связки Winbind и SSSD, установите пакет elles-workstation:

  • при установке из репозитория выполните:

    sudo apt install elles-workstation -y
  • при установке из архива выполните (путь к пакету и номер версии приводятся для примера; скорректируйте в соответствии с фактическим расположением файла и используемой версией):

    sudo dpkg -i /packages/inno-samba-1.20.0/elles-workstation_1.20.0_amd64.deb
    sudo apt install -f

В результате установки PAM-модуль для поддержки LAPS будет встроен в цепочку модулей аутентификации. При каждом входе пользователя на машину модуль будет проверять значение атрибута msLAPS-PasswordExpirationTime и при необходимости обновлять пароль как локально, так и на сервере (если на сервере нет соответствующего атрибута, то он будет создан).

Также установка пакета обеспечивает автоматическое применение групповых политики LAPS на рабочих станциях с использованием утилиты samba-gpupdate.

Просмотр пароля локального администратора

Просмотр пароля локального администратора возможен только для тех пользователей и групп, которым разрешен доступ к атрибутам LAPS. По умолчанию расшифровать пароль могут только участники группы Domain Admins. Для выдачи разрешений другим пользователям и группам используйте команду samba-tool dsacl set (см. «Настройка разрешений»).

Для просмотра пароля у объекта компьютера должны быть атрибуты:

  • msLAPS-Password (если групповая политика разрешает использованием незашифрованных паролей) или msLAPS-EncryptedPassword (шифрованный пароль);

  • msLAPS-PasswordExpirationTime (период действия пароля локального администратора).

Они добавляются после применения настроенной групповой политики LAPS (см. «Настройка групповой политики»):

  • на машинах с ОС Windows:

    gpupdate /force
  • на машинах с ОС Linux с установленным пакетом elles-workstation:

    sudo /app/inno-samba/sbin/samba-gpupdate --force

Для просмотра локального администратора компьютера с помощью утилиты samba-tool выполните команду computer laps show от имени пользователя с действующим билетом Kerberos, который является участником группы Domain Admins или которому назначено соответствующее разрешение.

Например:

kinit Administrator@elles.inno.tech
samba-tool computer laps show pc1 -H ldap://dc1.elles.inno.tech
computer: CN=PC1,OU=Workstations,DC=elles,DC=inno,DC=tech
-------
Current
-------
username: Administrator
password: niSfCME1J51YQ1
set at: 2025-12-09 15:29:00+03:00

expiration_time: 2025-12-10 15:29:00+03:00

В примере — компьютер pc1 находится в контейнере Workstations в домене elles.inno.tech с контроллером домена Эллес dc1. Команда выполняется от имени пользователя Administrator, входящего в группу Domain Admins.

См. описание синтаксиса и параметров вызова подкоманды в разделе «Управление атрибутами LAPS компьютера».

Принудительный сброс пароля локального администратора

Сброс (обновление) пароля локального администратора выполняется путем изменения значения атрибута msLAPS-PasswordExpirationTime для объекте компьютера. По истечении установленного значения клиентское расширение на машине генерирует новый пароль локального администратора, обновляет его в LDAP и устанавливает новый срок действия.

Группе или пользователю, от имени которых инициируется сброс пароля (если это не участники группы Domain Admins), должны быть выданы разрешения на чтение атрибутов LAPS и изменение атрибута msLAPS-PasswordExpirationTime (см.«Настройка разрешений»).

Чтобы принудительно сбросить пароль локального администратора на компьютере, установите значение 0 или любое значение в прошлом (в формате NTTIME) для атрибута msLAPS-PasswordExpirationTime в LDAP или с помощью оснастки Windows LAPS на машине с ОС Windows.

Например, используйте утилиту ldbmodify, ldbedit или ldapmodify для применения LDIF-файла с новым значением атрибута msLAPS-PasswordExpirationTime от имени пользователя с соответствующими разрешениями.

Пример LDIF-файла:

dn: CN=PC1,OU=Workstations,DC=elles,DC=inno,DC=tech
changetype: modify
replace: msLAPS-PasswordExpirationTime
msLAPS-PasswordExpirationTime: 0

В примере — компьютер pc1 находится в контейнере Workstations в домене elles.inno.tech.

Для применения изменения:

  • на машине с ОС Windows:

    • выполните:

      gpupdate /force
    • перезагрузите машину;

  • на машине с ОС Linux с установленным пакетом elles-workstation используйте sudo login для входа от имени доменного пользователя.

Клиентское расширение проверит, истек ли срок действия пароля, обновит локальной пароль администратора (поскольку msLAPS-PasswordExpirationTime=0) и запишет новые значения атрибутов в LDAP.

Логирование и аудит событий LAPS

Для удобства отслеживания и анализа событий, связанных с функционированием LAPS, используйте класс отладки laps_audit.

Чтобы настроить сохранение записей в отдельный файл с повышенным уровнем логирования, добавьте в раздел global в конфигурационном файле smb.conf (полный путь — /app/inno-samba/etc/smb.conf):

log level = 0 laps_audit:5@/app/log/elles/laps_audit.log laps:5@/app/log/elles/laps_debug.log

В примере записи для аудита LAPS с классом логирования laps_audit сохраняются в файл /app/log/elles/laps_audit.log с уровнем логирования 5, а записи для контроля внутренних ошибок подсистемы LAPS с классом логирования laps сохраняются в файл /app/log/elles/laps_debug.log с уровнем логирования 5.

Используются стандартные уровни логирования Эллес (каждый последующий уровень включает в себя все предыдущие):

  • 1 — сообщения о критических ошибках, препятствующих полноценному функционированию LAPS (например, LAPSAU (10300): LAPS failed to open group policy database — сообщение указывает на то, что Эллес не удалось открыть БД групповых политик);

  • 2 — предупреждения о неподдерживаемых функциях или потенциальных проблемах (например, LAPSAU (10325): LAPS is configured to backup passwords to Azure Active Directory. Not supported — сообщение предупреждает, что работа в режиме совместимости с Azure Active Directory не поддерживается);

  • 3 — информационные сообщения о состоянии политики или конфигурации (например, LAPSAU (10305): The current policy is not configured to backup the password to Active Directory. Skipping LAPS processing — сообщение информирует, что в текущей политике не настроено резервное копирование пароля в Active Directory);

  • 5 — подробные логи, фиксирующие различные события в процессе функционирования LAPS (например, LAPSAU (10320): Successfully updated the local admin account with the new password. Account name: %s — сообщение информирует об успешном обновлении пароля для указанной учетной записи локального администратора).

Таким образом, уровни 1 и 2 указывают на проблемы, требующие внимания, а 3 и 5 — на информационные или отладочные данные.

Для удобства фильтрации и обработки событий все сообщения начинаются с префикса LAPSAU и имеют уникальный идентификатор.

Cм. полный список регистрируемых событий аудита в подразделе «Регистрация событий LAPS».