Настройка LAPS
Эллес поддерживает технологию обновления паролей локальных администраторов Local Administrator Password Solution (LAPS).
Общие сведения
Технология LAPS обеспечивает автоматическое формирование уникальных сложных паролей для локальных администраторов на машинах в домене, их обновление с настраиваемой периодичностью и централизованное хранение в базе данных службы каталогов с контролем доступа.
Основные компоненты технологии:
-
расширение схемы данных каталога для хранения паролей и метаданных в специальных атрибутах объектов компьютеров;
-
инструменты администрирования:
-
подкоманды утилиты
samba-toolдля расширения схемы, управления разрешениями и просмотра паролей; -
секция LAPS на странице свойств компьютера в веб-интерфейсе приложения «Менеджер службы каталогов» (DSM) для просмотра и принудительного сброса пароля локального администратора (см. раздел «Просмотр и сброс пароля локального администратора компьютера»);
-
-
групповая политика для централизованной настройки параметров управления паролями (длина, сложность, периодичность смены и т. д.);
-
клиентское расширение на управляемых устройствах, отвечающее за генерацию, установку и сброс пароля локального администратора, контроль соответствия пароля требованиям безопасности, изменение имени административной учетной записи, шифрование и учет других атрибутов LAPS в соответствии с установленной групповой политикой.
Последовательность настройки управления паролями локальных администраторов включает:
-
Расширение схемы данных каталога дополнительными атрибутами класса
computer. -
Выдача разрешений на обновление и получение паролей локальных администраторов.
-
Настройка групповой политики управления паролями локальных администраторов.
-
Установка клиентского расширения (в составе пакета elles-workstation) на рабочих станциях с ОС Linux.
-
Применение групповой политики на машинах в домене.
Процесс управления паролями локальных администраторов состоит из следующих шагов:
-
Клиентское расширение генерирует пароль для локального администратора.
-
Пароль сохраняется в БД Эллес в открытом или зашифрованном виде.
-
Устанавливается время истечения периода действия пароля согласно политике.
-
По истечении периода действия пароль автоматически обновляется.
-
Авторизованные администраторы могут получить доступ к паролям с помощью
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
Расширение схемы каталога
Для поддержки 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». |