|
|
(не показаны 4 промежуточные версии 2 участников) |
Строка 1: |
Строка 1: |
| {{Stub}}
| | Материал был обновлён. Читайте актуальную информацию в статье: [https://www.altlinux.org/Групповые_политики/LAPS LAPS]. |
| На данной странице описана не существующая функциональность, а лишь описание идеи о ее реализации.
| |
| Эта групповая политика позволит централизованно задавать пароль для локальных пользователей root (возможно и для других локальных пользователей) на всех хостах.
| |
| == Сценарии изменения пароля ==
| |
| Предлагается к рассмотрению 2 сценария изменения паролей для локальных пользователей root
| |
| #'''<big>Применять каждый раз</big>'''<br> Создается GPO, в котором указывается пароль в виде, указанном ниже. К данному GPO привязываются рабочие станции, на которых необходимо изменить пароль. Затем gpupdate на каждой рабочей станции применяет политики с новым паролем. Если администратор или пользователь, знающий текущий пароль root, локально поменяет на свой, то пароль будет сброшен при повторным применением политики
| |
| #'''<big>Применить однажды</big>'''<br> У Microsoft в RSAT есть возможность создания GPO с параметром "Apply once and do not reapply". Если повторить такой функционал в gpupdate и admc, то появится возможность задавать политику с новым пармолем, которая будет применяться единожды. При этом у пользователей есть возможность изменить пароль для rotot. Однако при модификации GPO, политика применится и перетрет пароль, заданный пользователем.
| |
| | |
| == Способ передачи пароля ==
| |
| {{Merge|tcb}}
| |
| Можно передавать пароль в виде plain text, однако такой способ небезопасен по очевидным причинам. Поэтому предлагается передавать не сам пароль, а его хеш и подставлять его в файл с паролями в соответствии со схемой хранения паролей.
| |
| | |
| Существует три схемы хранения паролей:
| |
| * [[TCB]]
| |
| * [[Traditional]]
| |
| * [[Restricted]]
| |
| В Alt по умолчанию используется схема [[TCB]], по этому далее рассмотрим ее.
| |
| В отличие от остальных схем, в TCB для каждого пользователя создается отдельный файл, хранящий пароль в зашифрованном виде. такие файлы имеют путь
| |
| <source>
| |
| /etc/tcb/%username%/shadow
| |
| </source>
| |
| и содержат в себе одну строку вида:
| |
| <source>
| |
| username:password:lastchanged:minimum:maximum:warn:inactive:expire:reserve
| |
| </source>
| |
| со следующими полями (некоторые поля могут быть пустыми):
| |
| # '''<big>Username</big>''' <br> Имя пользователя, используемое для входа в систему.
| |
| # '''<big>Password</big>''' <br> Хеш пароля в формате ''$id$salt$hashed''.
| |
| ## '''id''' <br> идентификатор алгоритма хеширования (см. таблицу ниже)
| |
| ## '''salt''' <br>соль
| |
| ## '''hashed''' <br>хеш-сумма пароля
| |
| # '''<big>Lastchanged</big>''' <br> Дата последнего изменения пароля. (Количество дней с 01.01.1970).
| |
| # '''<big>Minimum</big>''' <br> Минимальный срок действия пароля. Количество дней, которое должно пройти, прежде чем пароль пользователя может быть снова изменен.
| |
| # '''<big>Maximum</big>''' <br> Максимальный срок действия пароля. Количество дней после смены пароля пользователя.
| |
| # '''<big>Warn</big>''' <br> Количество дней до истечения срока действия пароля, в течение которого пользователь получает предупреждение о необходимости изменения пароля.
| |
| # '''<big>Inactive</big>''' <br> Количество дней после истечения срока действия пароля пользователя до отключения учетной записи пользователя.
| |
| # '''<big>Expire</big>''' <br> Дата, после которой учетная запись будет отключена (Количество дней с 01.01.1970).
| |
| # '''<big>Reserve</big>''' <br> Не используется.
| |
| {| class="wikitable"
| |
| |+Алгоритмы хеширования
| |
| |-
| |
| ! идентификатор !! способ хеширования !! комментарий
| |
| |-
| |
| | $1 || MD5 ||
| |
| |-
| |
| | $2a || Blowfish ||
| |
| |-
| |
| | $2y || Eksblowfish ||
| |
| |-
| |
| | $5 || SHA-256 ||
| |
| |-
| |
| | $6 || SHA-512 ||
| |
| |-
| |
| | $y || [[yescript]] || используется по умолчанию
| |
| |-
| |
| | $gy || [[OSS-GOST-Crypto/gost-yescrypt|gost-yescrypt]] ||
| |
| |}
| |
| К примеру, строка для пользователя ''root'' с паролем ''password'' будет такая:
| |
| <source>
| |
| root:$y$j9T$jqfB3ZPUUnifIk09RvnjZ/$Pwz0u55QpZo/JQ.eEuEi2Rip1bS5/.mSvzvdYP2mVj.:18926::::::
| |
| </source>
| |
| Именно такую строку предлагается передавать с помощью групповых политик.
| |
| | |
| Помимо поля ''pasword'' нас интересуют и другие поля. Например, добавление в поле 'Expire' прошедшей даты позволит отключать учетную запись root.
| |
| | |
| == TODO ==
| |
| ''(данный список, возможно, не полный)''
| |
| * Реализовать в ADMC и gpupdate функцию "Apply once and do not reapply"
| |
| * Создать шаблон групповой политики для изменения пароля
| |
| * реализовать в gpupdate механизм применения данной политики.
| |
| | |
| = LAPS =
| |
| '''LAPS''' (Local admin password solution) - решение от Microsoft, позволяющее централизованно управлять паролями локальных администраторов. LAPS позволяет автоматически по расписанию (или по запросу) генерировать новые пароли на рабочих станциях, а затем передавать их
| |
| | |
| == References ==
| |
| * LAPS: https://habr.com/ru/post/440624/
| |
| ** Download https://www.microsoft.com/en-us/download/details.aspx?id=46899
| |
| * 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
| |