Парольная политика в домене Active Directory задает базовые требования безопасности к паролям учетных записей пользователей такие как сложность, длину пароля, частоту смены пароля и т.д. Надежная политика паролей AD позволяет снизить возможность подбора или перехвата паролей пользователей.
Настройка политики паролей в Default Domain Policy
Настройки политика паролей пользователей в домене AD по умолчанию задаются через групповую политику Default Domain Policy. Вы можете просмотреть и изменить настройки парольной политики в домене с помощью консоли управления консоль управления доменными GPO
- Откройте консоль
gpmc.msc
и выберите Default Domain Policy, которая назначена на корень домена; - Щелкните правой кнопкой по Default Domain Policy и выберите Edit;
- Разверните Конфигурация компьютера -> Политики -> Конфигурация Windows -> Параметры безопасности -> Политики учетных записей -> Политика паролей (Computer configuration -> Policies -> Windows Settings -> Security Settings -> Account Policies -> Password Policy
- В этом разделе есть шесть параметров политики паролей (описаны ниже);
- Чтобы изменить настройки параметра, дважды щелкните по ней. Чтобы включить политику, отметьте галку Define this policy settings и укажите необходимую настройку (в примере на скриншоте я задал минимальную длину пароля пользователя 8 символов). Сохраните изменения;
- Новые настройки парольной политики применяться ко всем пользователям домена после обновления настроек GPO на контролере домена с FSMO ролью PDC Emulator.
Основные параметры политики паролей в домене
Всего доступно шесть параметров политики паролей:
- Вести журнал паролей (Enforce password history) – задать количество старых паролей, которые хранятся в AD. Пользователь не сможет повторно использовать старый пароль (однако администратор домена или пользователь, которому делегированы права на сброс пароля в AD, может вручную задать для аккаунта старый пароль);
- Максимальный срок действия пароля (Maximum password age) – срок действия пароля в днях. После истечения срока действия пароля Windows потребует у пользователя сменить его. Обеспечивает регулярность смены пароля пользователями;
- Минимальный срок жизни пароля (Minimum password age) – как часто пользователи могут менять пароль. Этот параметр не позволит пользователю несколько раз подряд сменить пароль, чтобы вернуться к старому паролю, перезатерев пароли в журнале Password History. Как правило тут стоит оставить 1 день, чтобы пользователь мог самостоятельно сменить пароль в случае его компрометации;
- Минимальная длина пароля (Minimum password length) – не рекомендуется делать пароль короче, чем 8 символов (если указать тут 0 – значит пароль не требуется);
- Пароль должен отвечать требование сложности (Password must meet complexity requirements) – при включении этой политики пользователю запрещено использовать имя своей учетной записи в пароле (не более чем два символа подряд из
username
илиFirstname
). Также в пароле должны использоваться 3 типа символов из следующего списка: цифры (0 – 9), символы в верхнем регистре, символы в нижнем регистре, спец символы ($, #, % и т.д.).Чтобы исключить использование пользователями простых паролей (из словаря популярных паролей) рекомендуется периодически выполнять аудит паролей в домене. - Хранить пароли, использую обратимое шифрование (Store passwords using reversible encryption) – пароли пользователей в базе AD хранятся в зашифрованном виде, но иногда нужно предоставить доступ некоторым приложениям к паролю. При включении этой политики пароли хранятся в менее защищенной виде (по сути, в открытом виде), что небезопасно (можно получить доступ к базе паролей при компрометации DC). При включении этой опции нужно дополнительно защищать пароли привилегированных пользователей на удаленных площадках с помощью внедрения Read-Only контроллеров домена (RODC).
Если пользователь попытается задать пароль, которые не соответствует политике паролей в домене, Windows выдаст ошибку:
Не удается обновить пароль. Введенный пароль не обеспечивает требований домена к длине пароля, его сложности или истории обновления.
Unable to update the password. The value provided for the new password does not meet the length, complexity, or history requirements of the domain.
Обычно вместе с политикой паролей нужно настроить параметры блокировки пользователей при неправильном введении пароля. Эти настройки находятся в разделе GPO: Политика блокировки учетной записи (Account Lockout Password):
- Пороговое значение блокировки (Account Lockout Threshold) – через сколько попыток набрать неверный пароль учетная запись пользователя будет заблокирована;
- Продолжительность блокировки учетной записи (Account Lockout Duration) – длительность блокировки учетной записи, в течении которой вход в домен будет невозможен;
- Время до сброса счетчика блокировки (Reset account lockout counter after) – через сколько минут счетчик неверных паролей (Account Lockout Threshold) будет сброшен.
Настройки парольных политик домена Active Directory по-умолчанию перечислены в таблице:
Политика | Значение по-умолчанию |
Enforce password history | 24 пароля |
Maximum password age | 42 дня |
Minimum password age | 1 день |
Minimum password length | 7 |
Password must meet complexity requirements | Включено |
Store passwords using reversible encryption | Отключено |
Account lockout duration | Не определено |
Account lockout threshold | 0 |
Reset account lockout counter after | Не определено |
Управление параметрами политики паролей AD с помощью PowerShell
Для просмотра настроек и изменения конфигурации политики паролей в AD можно использовать командлеты PowerShell из модуля Active Directory:
Вывести настройки дефолтной политики паролей:
Get-ADDefaultDomainPasswordPolicy
ComplexityEnabled : True DistinguishedName : DC=winitpro,DC=ru LockoutDuration : 00:30:00 LockoutObservationWindow : 00:30:00 LockoutThreshold : 0 MaxPasswordAge : 42.00:00:00 MinPasswordAge : 1.00:00:00 MinPasswordLength : 7 objectClass : {domainDNS} objectGuid : PasswordHistoryCount : 24 ReversibleEncryptionEnabled : False
Или с помощью команды:
net accounts
Вывести информацию о том, когда пользователь менял пароль последний раз, и когда истекает его пароль:
net user aivanov /domain
Изменить параметры политики паролей AD:
Set-ADDefaultDomainPasswordPolicy -Identity winitpro.ru -MinPasswordLength 14 -LockoutThreshold 10
Несколько парольных политик в домене Active Directory
С помощью групповых политик на домен можно назначить только одну политику, которая будет действовать на всех пользователей без исключения. Даже если вы создадите новую GPO с другими парольными настройками и примените ее к OU с пользователями, эти настройки фактически не применяться.
Начиная с версии Active Directory в Windows Server 2008 с помощью гранулированных политик паролей Fine-Grained Password Policies (FGPP) можно применять индивидуальный параметры политики паролей для конкретных пользователей или групп. Например, вы хотите, чтобы пользователи из группы Server-Admins использовали пароли с минимальной длиной 15 символов.
- Откройте консоль Active Directory Administrative Center (
dsac.exe
); - Перейдите в раздел System -> Password Settings Container и создайте новый объект PSO (Password Settings Object);
- В открывшемся окне укажите название политики паролей и ее приоритет. Включите и настройте параметры парольной паролей, которые вы хотите применить. В разделе Directly Applies to нужно добавить группы или пользователей, для которых должны применяться ваши особые настройки политики паролей.
Чтобы проверить, применяются ли к конкретному пользователю особая политика паролей, выполните команду:
Get-ADUserResultantPasswordPolicy -Identity aivanov
Команда выведет результирующие настройки политики паролей, которые дейсвтуиют на пользователя.
Подскажите обязательно надо настраивать политику паролей в политики Default Domain Policy или можно создать свою, чтобы не трогать Default Domain Policy политику
По вкусу. Как кому удобнее. ИМХО, лучше дефолтную не трогать и создавать свою.
Можете сделать свою. Но есть нюанс. Эта политика должна быть также применена на уровне домена. А так как в default domain policy уже есть эти настройки, то вы должны настроить приоритет вашей политики, чтобы она была приоритетной.
Но бест практис от ms это то, что как раз в дефолтной политике должны быть настройки пароля, блокировки учетных записей и настройки kerberos. Поэтому не вижу смысла создавать отдельную политику.
Понятно, просто читал в разных источниках что дефолтные политик не трогайте а создавайте новые рядом с дефотныеми и их правьте а если что случиться то можно удалить и у Вас применяться дефолтные. В другом источники. Рекомендуют менять в дефолтной политики только парольные настройки и Kerberos. Я в принципе так все время и настраиваю в дефолтной политики пароли и Kerberos, но в последнем ws2016 или ещё в ws2012r2 можно к каждой ou настроить своих политику паролей вот и предположил может что поменялось.
«в default domain policy уже есть эти настройки» — переводите все настройки default политики в Disabled или «Не задано»
Ключ /force не ускоряет и не усиливает применение политик, а лишь заставляет перечитать политики с сервера (на случай повреждения локальных файлов или для эстетов, которые правят политики блокнотом, не меняя при этом версию политики )
Больше понравилось работать с Password Detting Container
https://blogs.technet.microsoft.com/canitpro/2013/05/29/step-by-step-enabling-and-using-fine-grained-password-policies-in-ad/
Вы говорите о функционале раздельных политик паролей (Fine-Grained Password Policies) в статье есть ссылка на руководство.
Однако базовые политики паролей для домена проще и правильнее настроить на уровне Default Domain Policy.
Как решить вопрос с
МойКрутойПароль1
МойКрутойПароль2
МойКрутойПароль3
….4
…5
Похоже никак. Думаете такие пароли так уж плохи?
В теории вы можете сформировать словарь паролей и добавить к ним эти индексы и регулярно проводить аудит паролей скриптом (ссылка есть в статье). А вот явно запретить использовать такие пароли стандартными средствами нельзя, нужно что-то стороеннее прикручивать.
Winser2016STD поднят домен, почему пользователь RDS при копированиис блокнота и вставки пароля в окно авторизации пользователя пароль не проходит, а если ввести вручную то вход есть? Так как паролли длинные у пользователя возникает проблема ввода пароля.
Проверьте, что в буфер обмена вместе с паролем не попадают спец символы, пробелы и т.д.
При авторизации у вас NLA для RDP включен?
Если это делают через контекстное меню, то так не работает.
Нужно нажимать ctrl+v, тогда все будет нормально.
ошибка в статье
Минимальный длина пароля (Minimum password age)
age возраст а не длина
Немного перепутал пункты. Поправил. Спс!
Эхх а как быть если пользователи не хотят вводить имя пользователя и длинный пароль? На недели ввел в домен комп где работают 2 пользователя, сохраняется имя пользователя последнего входившего в систему. потребовалось 3 дня чтоб пользователи поняли, что надо вводить имя пользователя и пароль.
А таких машин нужно в домен завести еще 38 шт…
1.Вопрос пользователя: А можно убрать пароль?
2.Вопрос пользователя: А можно пароль покороче и попроще?
3.А как вводить имя пользователя?
4.А нельзя как раньше?
5.И зачем/и кому это нужно?
Проблемам №1 пользователи очень плохо ориентируются в латинице и потому набирают пароль очень долго и с ошибками.
Проблемам №2 пользователи не видят что пытаются войти под чужой утечкой и пароль соответственно не принимает.
Когда на 1 станции работает 1 пользователь еще нормально, но вот когда 2 сразу…
Пользователи привыкнут, сейчас не начало 2000 на дворе, люди не такие дикие в плане ИТ.
Дело времени, терпеливости и настойчивости админа (подкрепленное руководством компании или безопасности).
проблема 2 — не сохранять последний логин — GPO Конфигурация компьютера — Политики — Конфиг Windows — Параметры безопасности — Локальные политики — параметры безопасности — Интерактивный вход в систему: не отображать учетные данные последнего пользователя — всегда чистый и логин и пароль при входе
Поправьте. Опечатка в статье.
Минимальный срок действия паролей (Minimum password length)
Спс, принято.
Подскажите, каким образом вернуть старый пароль пользователя? Он запрещается политиками
Какие значения в вашей политике паролей:
Минимальный срок жизни пароля (Minimum password age)
Вести журнал паролей (Enforce password history)
Как проработать возможность настройки запрета использования паролей из списка запрещенных паролей в AD ??
Если делать решение самому, можно например вести файл со списком запрещенных паролей и периодически проверять всех пользователей в AD (пример в статье с аудитом надежности паролей в AD https://winitpro.ru/index.php/2016/09/20/audit-active-directory-password/).
Для тех пользователей, которые используют запрещенные пароли в том же скрипте ставим требование сменить пароль при следующем входе:
Set-ADUser -Identity -ChangePasswordAtLogon $true
заблокировано поле по любого параметра безопасности пароля.не могу его изменить его длину и тд
Нет прав, или вы правите локальную политику.
Добрый день!
А как соотносятся Fine-Grained Password Policies и политика паролей в Default Domain Policy? У кого приоритет больше? Или нужно отключать политику паролей в Default Domain Policy для использования Fine-Grained Password Policies?
У любой Fine-Grained Password Policies приоритет всегда выше чем у дефолтной политики паролей.
А можно сделать так, что бы на отдельные аккаунты политика не применялась? к примеру поставить галочку «срок действия пароля не ограничен». Или после применения политики я уже галочку не поставлю?
У галочек, выставленных вручную будет приоритет над политикой
Добрый день! Интересно, есть ли возможность установить что бы смена пароля происходила не по времени и дате, а только по дате. Например юзер поменял пароль 25.08.2021 в 10:00 и следующая смена пароля должна быть 25.11.2021 в 00:00, а не в 10:00?
С помощью втсроенных средств так не сделать. Единственный сценарий, который приходит на ум — написать PowerShell скрипт, который в нужный момент времени выставляет пользователю галку «потребовать смену пароля».
Ну и не совсем понятно зачем вообще такое нужно )
Спасибо за ответ!
Проблема заключается в том что в моей компании пользователи игнорируют ненавязчивое всплывающие окно винды о смены пароля. И потом, во время рабочего дня, пароль естественно устаревает, и все сервисы отваливаются. Сотрудник в панике строчит в техподдержку, тем самым отвлекая сотрудников последней от более важной работы)
Добрый день!
Я правильно понял, что если настроить политику, то она будет действовать только на вновь создаваемые учетки пользователей? Есть домен, требования в политиках пока минимальные. Хочу сделать пароль не менее 8 символов, и ограничить срок действия. В тестовой среде при настройке таких политик старые юзеры свободно заходили на компы, с перезагрузкой, имея при этом старые пароли типа 111, но новые юзеры создавались только со сложными паролями.
Насколько я понял, чтобы перевести старых юзеров на новые пароли, имя надо ставить галку с требованием смены пароля при следующем входе в систему?
Не пробовал такое на практике, но склоняюсь к тому, что на старых пользователей политика не повлияет до следующей смены паролей.
Смена пароля потребуется, если включить галку, или истечет старый пароль.
Здравствуйте.
В нарастающим использованием облачных подписок MS, переходом на гибрид, удаленной работой сотрудников возникают новые задачи.
В частности столкнулись с проблемой использования групповой политики и смены пароля пользователя, если он находится на удаленке, то есть не в корп сети. Пароль просрочен, к VPN со старым не подключишься, наша подписка Microsoft 365 бизнес стандарт не позволяет производить синхронизацию пароля с облака в он-премис.
Подскажите, как на практике решается данная проблема?
Вариантов много, но все с костылями:
1) Звонок другу (в тех поддержку)
2) Опубликовать rdweb access с вклюбченной формой смены истекшего пароля https://winitpro.ru/index.php/2015/02/06/smena-istekshego-parolya-cherez-rds-v-windows-server-2012/ (в вашем случае наверно лучше всего это)
3) сделать некое самописное приложение
а как менять пароль для пользователей с mac OS?
Login with your AD account -> From the Apple Menu in the top Left, select System Preferences -> Click on the Accounts button -> Click ‘Change Password’
попробуйте так
Имеется такая проблема:
В Default Domain Policy в паролях прописана минимальная длина 8 символов и максимальный срок действия — 90 дней (до этого было 7 символов и 180 дней).
После применения политики на компьютерах домена в оснастке Локальная политика безопасности в политике паролей параметры изменились на те, что были указаны в политике, но по сути пароль до сих пор можно поставить 7 символов, т.е. политика не отрабатывает. и по Get-ADDefaultDomainPasswordPolicy также показывает старые параметры (7 символов и 180 дней).
Проверять лучше результирующей политикой: rsop.msc
Также, попробуйте вывести данную машину из домена, переименовать и ввести в домен заново, с другим именем, и после перезагрузки и применения политик (не забудьте переместить вновь введеннную машину в контейнер, к которому применяется ваша политика), ещё раз проверить в RSOP, и реальное действие парольной политики.
как создать локальную групповую политику Windows только прописные буквы пароля ?
Нет такого параметра во втроенных политиках. Можно включить отключить только сложность пароля.
Вероятно есть сторонии нашлепки, которые позволяют управлять этим. Но имхо оно того не стоит )
Такая же проблема, как в комменте выше. В политиках указан новый (более короткий) срок. Политика на машины прилетает, пробовал и перезаводить в домен. Но по Get-ADDefaultDomainPasswordPolicy выдает старые 180 дней. Командой net user ******* /domain у любого доменного пользователя также показывает следующий срок смены пароля через 180 дней.
Из консоли GPO у меня так и не получилось изменить политику паролей (минимальную длину и срок действия), но получилось через команду Set-ADDefaultDomainPasswordPolicy. Только надо помнить, что параметр MaxPasswordAge указывается не в днях, а в тиках TimeSpan и если указать значение 90 или 60, то ты уменьшишь срок действия пароля практически до нуля. Сконвертировать дни в тики в можно, например, в онлайн конвертере: https://www.venea.net/web/net_ticks_timespan_converter#time_span_to_net_ticks_conversion
Доброго дня.
Как я понял, для домена синтаксис команды
net accounts
должен быть такой —net accounts /domain
.secedit /export /cfg c:\edit.cfg
((get-content c:\edit.cfg) -replace (‘PasswordComplexity = 1’, ‘PasswordComplexity = 0’)) | Out-File c:\edit.cfg
secedit /configure /db $env:windir\security\edit.sdb /cfg c:\edit.cfg /areas SECURITYPOLICY
rm c:\edit.cfg
powershell
не благодарите
Возможно ли запретить в политике или какими-то другими средствами использовать отдельные символы в паролях?
Например, один сервис в корпоративной сети некорректно обрабатывает пароли с символом двойных кавычек. Как бы запретить пользователям использовать его в доменных паролях?
Встроенных средст для этого нет. Если есть Azure AD P1, P2, вопрос можно настроить on-premises Microsoft Entra Password Protection для блокировки запрещенных паролей и символов.
https://winitpro.ru/index.php/2022/11/15/politika-parolej-azure-ad/
Как вариант, искать что-то сторонее. или сделать собственный веб сервис через который обязывать пользователей менять пароль. который и будет обрабатывать запрещенные символы. но это костыль, конечно.
Здравствуйте, а можно каким-то образом настроить так, чтобы администратор при смене пароля пользователю мог обходить политику безопасности, чтобы задать временный пароль? Например, если пользователь забыл пароль, можно было поставить 123456 с требованием изменить пароль при первом входе?
В лоб наверно не решить. Придется костылями подпирать.
Как вариант перед сбросом пароля временно добавлять пользователя в группу, на которую назначена fine grained политика со слабыми требованиями к паролю.
После сброса пароля пользователя нужно удалить из этой группы.
Добрый день, пароль должен отвечать требованиям сложности не отрабатывает. Пароль можно поставить без специальных символов. Может подскажете что-нибудь?
Смотрите результирующие натсройки политики паролей для пользователя. Возможно у вас еще применяются FGPP.
Get-ADUserResultantPasswordPolicy -Identity aivanov
В статье все описано
Добрый день.
Вопрос, а как не дать сапортам по блату (дружба и вкусняхи от пользунов) ставить примитивные пароли руками через AD? То есть включить параметр требования к сложности в том числе при вводе руками через оснастку?
Как посмотреть пароль пользователя, если использую обратимое шифрование ?
Смотрите в сторону Mimikatz DCSync или PowerShell модуль Invoke-DCSync.
Здравствуйте
Возможно ли с помощью групповой политики настроить требование к паролю чтобы в нем кроме спецсимволов использовались только латинские буквы (не кириллица) , большие и маленькие?
Вот статья, в которой указано как расширить стандартные воможности политики паролей AD:
Запретить стандартные (простые) пароли в Active Directory
https://winitpro.ru/index.php/2025/01/09/zapret-prostih-paroley-active-directory/
Перечитал комменты, вроде бы такого вопроса небыло…
А как через GPO заставить юзеров вводить пароли, содержащие и Буквы, и буквы, и цифры, и спец символы ?
Именно в таком виде встроенные средства не позволят сделать такое. Настройка сложности пароля в GPO предполагает обязательное использование 3 из 4 типов символов. В вашем случае вы хотите 4 типа. Нужно смотреть что-то сторонее. Предлагаю начать с этой статьи:
Запретить стандартные (простые) пароли в Active Directory
_https://winitpro.ru/index.php/2025/01/09/zapret-prostih-paroley-active-directory/
В том же lithnet есть опция GPO «Configuring a points based complexity policy», она похоже закрывает вашу цель.