Настройка LAPS

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

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

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

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

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

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

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

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

  • модуль PAM (pam_laps) для встраивания в цепочку модулей аутентификации на клиентских устройствах на ОС Linux.

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

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

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

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

  4. Установка и настройка PAM-модуля на клиентских устройствах с ОС Linux.

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

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

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

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

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

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

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

Ограничения

В текущей версии реализация 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

PAM-модуль на клиентских машинах

В текущей версии Эллес поддерживается работа PAM-модуля для LAPS (pam_laps) только на клиентских машинах с ОС Linux, введенных в домен с помощью 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)».)

Установка модуля pam_laps

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

Для этого на клиентской машине, введенной в домен с использованием Winbind в составе Эллес:

  1. Выполните вход с использованием учетной записи с достаточными правами для работы с PAM-модулями.

  2. Скопируйте модуль из каталога private, добавляемого при установке Эллес, в системный каталог с PAM-модулями:

    cp */app/inno-samba/lib/private/libpam_laps-private-samba.so /lib/x86_64-linux-gnu/security/pam_laps.so
  3. Добавьте в файл /etc/pam.d/login строку:

    auth required pam_laps.so

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

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

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

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

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

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

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

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

    gpupdate /force
  • на машинах с ОС Linux с модулем pam_laps:

    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,tech
changetype: modify
replace: msLAPS-PasswordExpirationTime
msLAPS-PasswordExpirationTime: 0

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

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

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

    • выполните:

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

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

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