Групповые Политики/Установка пароля root: различия между версиями
Нет описания правки |
мНет описания правки |
||
(не показаны 2 промежуточные версии 1 участника) | |||
Строка 17: | Строка 17: | ||
В Alt по умолчанию используется схема [[TCB]], по этому далее рассмотрим ее. | В Alt по умолчанию используется схема [[TCB]], по этому далее рассмотрим ее. | ||
В отличие от остальных схем, в TCB для каждого пользователя создается отдельный файл, хранящий пароль в зашифрованном виде. такие файлы имеют путь | В отличие от остальных схем, в TCB для каждого пользователя создается отдельный файл, хранящий пароль в зашифрованном виде. такие файлы имеют путь | ||
<source> | <source lang="text"> | ||
/etc/tcb/%username%/shadow | /etc/tcb/%username%/shadow | ||
</source> | </source> | ||
и содержат в себе одну строку вида: | и содержат в себе одну строку вида: | ||
<source> | <source lang="text"> | ||
username:password:lastchanged:minimum:maximum:warn:inactive:expire:reserve | username:password:lastchanged:minimum:maximum:warn:inactive:expire:reserve | ||
</source> | </source> | ||
Строка 57: | Строка 57: | ||
|} | |} | ||
К примеру, строка для пользователя ''root'' с паролем ''password'' будет такая: | К примеру, строка для пользователя ''root'' с паролем ''password'' будет такая: | ||
<source> | <source lang="text"> | ||
root:$y$j9T$jqfB3ZPUUnifIk09RvnjZ/$Pwz0u55QpZo/JQ.eEuEi2Rip1bS5/.mSvzvdYP2mVj.:18926:::::: | root:$y$j9T$jqfB3ZPUUnifIk09RvnjZ/$Pwz0u55QpZo/JQ.eEuEi2Rip1bS5/.mSvzvdYP2mVj.:18926:::::: | ||
</source> | </source> | ||
Строка 73: | Строка 73: | ||
'''LAPS''' (Local admin password solution) - решение от Microsoft, позволяющее централизованно управлять паролями локальных администраторов. | '''LAPS''' (Local admin password solution) - решение от Microsoft, позволяющее централизованно управлять паролями локальных администраторов. | ||
LAPS включает в себя три компонента: | LAPS включает в себя три компонента: | ||
* Агент - Group Policy Client Side Extension (CSE). Является расширением групповой политики. Устанавливается на управляемые рабочие станции с помощью MSI | * '''Агент''' - Group Policy Client Side Extension (CSE). Является расширением групповой политики. Устанавливается на управляемые рабочие станции с помощью MSI. Отвечает за генерацию пароля и передачу его на контроллер домена. | ||
* | * '''Модуль PowerShell''' - используется для конфигурации LAPS. | ||
* '''Active Directory''' | |||
* | |||
LAPS позволяет автоматически по расписанию (или по запросу) генерировать новые пароли на рабочих станциях, а затем передавать их (с использованием шифрования Kerberos, шифр AES по умолчанию). | LAPS позволяет автоматически по расписанию (или по запросу) генерировать новые пароли на рабочих станциях, а затем передавать их (с использованием шифрования Kerberos, шифр AES по умолчанию). | ||
Текущая версия от 14:38, 20 апреля 2022
На данной странице описана не существующая функциональность, а лишь описание идеи о ее реализации. Эта групповая политика позволит централизованно задавать пароль для локальных пользователей root (возможно и для других локальных пользователей) на всех хостах.
Сценарии изменения пароля
Предлагается к рассмотрению 2 сценария изменения паролей для локальных пользователей root
- Применять каждый раз
Создается GPO, в котором указывается пароль в виде, указанном ниже. К данному GPO привязываются рабочие станции, на которых необходимо изменить пароль. Затем gpupdate на каждой рабочей станции применяет политики с новым паролем. Если администратор или пользователь, знающий текущий пароль root, локально поменяет на свой, то пароль будет сброшен при повторным применением политики - Применить однажды
У Microsoft в RSAT есть возможность создания GPO с параметром "Apply once and do not reapply". Если повторить такой функционал в gpupdate и admc, то появится возможность задавать политику с новым пармолем, которая будет применяться единожды. При этом у пользователей есть возможность изменить пароль для rotot. Однако при модификации GPO, политика применится и перетрет пароль, заданный пользователем.
Способ передачи пароля
Можно передавать пароль в виде plain text, однако такой способ небезопасен по очевидным причинам. Поэтому предлагается передавать не сам пароль, а его хеш и подставлять его в файл с паролями в соответствии со схемой хранения паролей.
Существует три схемы хранения паролей:
В Alt по умолчанию используется схема TCB, по этому далее рассмотрим ее. В отличие от остальных схем, в TCB для каждого пользователя создается отдельный файл, хранящий пароль в зашифрованном виде. такие файлы имеют путь
/etc/tcb/%username%/shadow
и содержат в себе одну строку вида:
username:password:lastchanged:minimum:maximum:warn:inactive:expire:reserve
со следующими полями (некоторые поля могут быть пустыми):
- Username
Имя пользователя, используемое для входа в систему. - Password
Хеш пароля в формате $id$salt$hashed.- id
идентификатор алгоритма хеширования (см. таблицу ниже) - salt
соль - hashed
хеш-сумма пароля
- id
- Lastchanged
Дата последнего изменения пароля. (Количество дней с 01.01.1970). - Minimum
Минимальный срок действия пароля. Количество дней, которое должно пройти, прежде чем пароль пользователя может быть снова изменен. - Maximum
Максимальный срок действия пароля. Количество дней после смены пароля пользователя. - Warn
Количество дней до истечения срока действия пароля, в течение которого пользователь получает предупреждение о необходимости изменения пароля. - Inactive
Количество дней после истечения срока действия пароля пользователя до отключения учетной записи пользователя. - Expire
Дата, после которой учетная запись будет отключена (Количество дней с 01.01.1970). - Reserve
Не используется.
идентификатор | способ хеширования | комментарий |
---|---|---|
$1 | MD5 | |
$2a | Blowfish | |
$2y | Eksblowfish | |
$5 | SHA-256 | |
$6 | SHA-512 | |
$y | yescript | используется по умолчанию |
$gy | gost-yescrypt |
К примеру, строка для пользователя root с паролем password будет такая:
root:$y$j9T$jqfB3ZPUUnifIk09RvnjZ/$Pwz0u55QpZo/JQ.eEuEi2Rip1bS5/.mSvzvdYP2mVj.:18926::::::
Именно такую строку предлагается передавать с помощью групповых политик.
Помимо поля pasword нас интересуют и другие поля. Например, добавление в поле 'Expire' прошедшей даты позволит отключать учетную запись root.
TODO
(данный список, возможно, не полный)
- Реализовать в ADMC и gpupdate функцию "Apply once and do not reapply"
- Создать шаблон групповой политики для изменения пароля
- реализовать в gpupdate механизм применения данной политики.
LAPS
LAPS (Local admin password solution) - решение от Microsoft, позволяющее централизованно управлять паролями локальных администраторов. LAPS включает в себя три компонента:
- Агент - Group Policy Client Side Extension (CSE). Является расширением групповой политики. Устанавливается на управляемые рабочие станции с помощью MSI. Отвечает за генерацию пароля и передачу его на контроллер домена.
- Модуль PowerShell - используется для конфигурации LAPS.
- Active Directory
LAPS позволяет автоматически по расписанию (или по запросу) генерировать новые пароли на рабочих станциях, а затем передавать их (с использованием шифрования Kerberos, шифр AES по умолчанию).
References
- LAPS: https://habr.com/ru/post/440624/
- https://adsecurity.org/?p=2288
- https://docs.admpwd.com/AdmPwd.PS/AdmPwd.PS.html
- https://docs.microsoft.com/en-us/previous-versions/mt227395(v=msdn.10)?redirectedfrom=MSDN
- Lithnet Password Protection: https://blog.lithnet.io/2019/01/lppad-1.html