Интерактивный журнал. подсказывуйте пользователю изменить пароли перед истечением срока действия

Политики паролей Azure AD

Политика паролей применяется ко всем учетным записям пользователей, которые создаются в службе Azure AD и находятся под ее управлением. Некоторые из этих параметров политики паролей нельзя изменить, хотя можно настроить заданные запрещенные пароли для защиты паролей Azure AD или параметры блокировки учетной записи.

По умолчанию после 10 неудачных попыток входа с неправильным паролем учетная запись блокируется. Пользователь блокируется на одну минуту. Последующие неудачные попытки входа приведут к блокировке пользователя на более длительное время. Смарт-блокировка отслеживает хэши последних трех попыток неправильного ввода пароля во избежание повторного увеличения счетчика блокировки для того же пароля. Если пользователь введет один и тот же неправильный пароль несколько раз, это не приведет к блокировке учетной записи. При этом можно определить пороговое значение и длительность умной блокировки.

Политика паролей Azure AD не применяется к учетным записям пользователей, синхронизированным из локальной среды AD DS с помощью Azure AD Connect, если не включен параметр EnforceCloudPasswordPolicyForPasswordSyncedUsers.

Определены следующие параметры политики паролей Azure AD. Если не указано иное, эти параметры изменить нельзя.

Свойство Требования
Допустимые символы
  • A–Z
  • a–z
  • 0–9
  • @ # $ % ^ & * — _ ! + = { } | \ : ‘ , . ? / ` ~ » ( ) ; < >
  • пробел
Недопустимые символы Знаки Юникода.
Ограничения для пароля
  • От 8 до 256 знаков.
  • Необходимо выполнить 3 из 4 следующих условий:
    • строчные буквы;
    • прописные буквы;
    • числа (0–9);
    • символы (см. ограничения для пароля выше).
Длительность срока действия пароля (максимальный срок существования пароля)
  • Значение по умолчанию: 90 дней.
  • Значение можно изменить с помощью командлета из модуля Azure Active Directory для Windows PowerShell.
Уведомление об истечении срока действия пароля (когда пользователи получают уведомление об истечении срока действия пароля)
  • Значение по умолчанию: 14 дней (до истечения срока действия пароля).
  • Это значение можно настроить с помощью командлета .
Срок действия пароля истекает (пароли можно сделать бессрочными)
  • Значение по умолчанию: false (указывает, что у пароля есть дата окончания срока действия).
  • Это значение можно настроить для каждой учетной записи пользователя с помощью командлета .
Журнал изменения пароля Последний пароль невозможно использовать повторно, когда пользователь изменяет пароль.
Журнал сброса пароля Последний пароль можно использовать повторно, когда пользователь сбрасывает забытый пароль.

Получение списка компьютеров

Если у вас нет списка компьютеров к которым вы планируете подключиться и узнать активного пользователя — это можно сделать через AD. На примере ниже будут возвращены все компьютеры:

Операция по получению списка компьютеров может быть очень долгой, если у вас большой парк ПК в AD. Вы можете вернуть только компьютеры, которые не отключены в AD (Disable) следующим способом:

Можно использовать и фильтрацию. Так я верну компьютеры имена которые начинаются на «CL»:

Получить список имен мы можем так:

Если у вас список компьютеров не относится к AD или имеет другой формат — то просто преобразуйте его в массив:

Как ограничить срок пароля для учетной записи Майкрософт

Если вы используете учетную запись Майкрософт, вы можете включить обязательную смену пароля раз в 72 дня. Срок для такой онлайн-аккаунта не меняется. Шаги для этого будут следующими:

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

А вдруг и это будет интересно:

Почему бы не подписаться?

Исправьте lusmgr.msc на lusrmgr.msc. = Статья будет полна если хоть пару слов сказать кому и для чего это нужно. Сколько живу мне бы даже в голову не пришло задуматься об этом и даже от большого количества пользователей с которыми работаю ни разу даже намека не слышал. Даже придумать не могу где такое может пригодится. ИМХО

Исправил, спасибо. А насчет кому нужно… тут как: на мой сайт ведь через поиск приходят обычно. Соответственно, кто искал (а ищут — это точно) как ограничить срок действия пароля, найдут и, вероятно, им известно зачем. Вообще в организациях практикуется на всё пароли регулярно менять принудительно.

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

Статья очень полезна. Считаю комментарии Василия странными, т.к. устал уже всем знакомым уведомления отключать о смене пароля…

Сфера применения

  • Microsoft Windows Server 2003 выпуск Enterprise (32-bit x86)
  • Microsoft Windows Server 2003 выпуск Enterprise itanium-based Systems
  • Microsoft Windows Server 2003 Enterprise x64 Edition
  • Microsoft Windows Server 2003 выпуск Standard (32-bit x86)
  • Microsoft Windows Server 2003 Standard x64 Edition
  • Windows Server 2008 Enterprise
  • Windows Server 2008 Standard
  • Windows Server 2008 R2 Enterprise
  • Windows Server 2008 R2 Standard
  • Windows Server 2012 Datacenter
  • Windows Server 2012 Standard
  • Windows Server 2012 R2 Datacenter
  • Windows Server 2012 R2 Standard
  • Microsoft Windows XP Professional
  • Windows Vista Business, Windows Vista Enterprise
  • Windows Vista Ultimate
  • Windows 7 Корпоративная
  • Windows 7 Профессиональная
  • Windows 7 Максимальная
  • Windows 8 Корпоративная
  • Windows 8 профессиональная
  • Windows 8.1 Корпоративная
  • Windows 8.1 Профессиональная

Политика оповещения об окончании срока действия пароля

В Windows есть отдельный параметр групповой политики, позволяющий оповещать пользователей о необходимости сменить пароль.

По умолчанию эту политика включена на уровне локальных настроек Windows и уведомления начинают появляться за 5 дней до истечения срока действия пароля. Вы можете изменить количество дней, в течении которых должно появляться уведомление о смене пароля.

После включения этой политики, если пароль пользователя истекает, то при входе в систему в трее будет появляться уведомление о необходимости сменить пароль.

Также вы можете использовать простой PowerShel скрипт, который автоматически вызывает диалоговое окно со предложением сменить пароль, если он истекает менее чем через 5 дней:

Если пользователь нажимает ДА, появляется диалоговое окно Windows Security, которое вы видите при нажатии Ctrl+Alt+Del или Ctrl+Alt+End (при RDP подключении).

Данный скрипт нужно поместить в автозагрузку или запускать как logon скрипт групповых политик.

Вопросы безопасности Security considerations

В этом разделе описывается, как злоумышленник может использовать функцию или ее конфигурацию, как реализовать меры противодействия, а также возможные отрицательные последствия реализации. This section describes how an attacker might exploit a feature or its configuration, how to implement the countermeasure, and the possible negative consequences of implementation.

Уязвимость Vulnerability

Чем дольше пароль существует, тем выше вероятность того, что он будет скомпрометирован атакой с использованием атак злоумышленника, которые получают общие сведения о пользователе или когда пользователь делится паролем. The longer a password exists, the higher the likelihood that it will be compromised by a brute force attack, by an attacker gaining general knowledge about the user, or by the user sharing the password. Если установить **** для параметра политики «Максимальный срок действия пароля» значение 0, чтобы пользователям никогда не требовалось изменять свои пароли, злоумышленник может использовать скомпрометированную пароль, если допустимый пользователь имеет авторизованный доступ. Configuring the Maximum password age policy setting to 0 so that users are never required to change their passwords allows a compromised password to be used by the malicious user for as long as the valid user is authorized access.

Вопросы Considerations

Обязательное изменение паролей является долгосрочной практикой обеспечения безопасности, но текущие исследования настоятельно указывают на отрицательное влияние истечения срока действия пароля. Mandated password changes are a long-standing security practice, but current research strongly indicates that password expiration has a negative effect. Дополнительные сведения см. в руководстве по паролям Майкрософт. See Microsoft Password Guidance for further information.

Настройте для параметра политики «Максимальный срок использования пароля» значение, подходящее для бизнес-требований организации. Configure the Maximum password age policy setting to a value that is suitable for your organization’s business requirements. Например, многие организации имеют нормативные или страховые требования, требующие короткого срока действия паролей. For example, many organisations have compliance or insurance mandates requiring a short lifespan on passwords. Если такое требование существует, параметр политики максимального возраста паролей можно использовать для удовлетворения бизнес-требований. Where such a requirement exists, the Maximum password age policy setting can be used to meet business requirements.

Возможное влияние Potential impact

Если параметр политики максимального возраста паролей слишком низкий, пользователям приходится очень часто менять свои пароли. If the Maximum password age policy setting is too low, users are required to change their passwords very often. Такая конфигурация может снизить безопасность в организации, так как пользователи могут хранить свои пароли в незащиченном расположении или потерять их. Such a configuration can reduce security in the organization because users might keep their passwords in an unsecured location or lose them. Если значение этого параметра политики слишком высокое, уровень безопасности в организации снижается, так как он позволяет потенциальным злоумышленникам больше времени для обнаружения паролей пользователей или использования скомпрометных учетных записей. If the value for this policy setting is too high, the level of security within an organization is reduced because it allows potential attackers more time in which to discover user passwords or to use compromised accounts.

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

Данный способ работает во всех изданиях Windows 10.

1.Откройте командную строку от имени администратора: один из способов — нажать на меню «Пуск» правой клавишей мыши и выбрать «Командная строка (администратор) из открывшегося меню.

2. Чтобы определенному пользователю включить истечение строка пароля – введите в командной строке wmic UserAccount where Name=” имя пользователя ” set PasswordExpires=True заменив имя пользователя и нажав Enter. К примеру, если вам нужно включить истечение строка для пользователя Sa – нужно ввести команду wmic UserAccount where Name=”Sa” set PasswordExpires=True и нажать Enter.

Чтобы отключить истечение строка пароля определенному пользователю – нужно ввести wmic UserAccount where Name=”имя пользователя” set PasswordExpires=False заменив имя пользователя и нажав Enter. К примеру, если вам нужно отключить истечение строка для пользователя Sa – нужно ввести команду wmic UserAccount where Name=”Sa” set PasswordExpires=False и нажать Enter.

Чтобы отключить истечение строка пароля всем пользователям – введите команду wmic UserAccount set PasswordExpires=False и нажмите клавишу Enter.

После надписи “Свойства успешно обновлены” закройте командную строку.

На сегодня всё, если вы знаете другие способы или у вас есть дополнения – пишите комментарии! Удачи Вам

Powershell атрибуты пользователя. Поиск и изменение.

Одним из часто встречающихся действий, выполняемых системными администраторами, является работа с учетными записями пользователей. Давайте посмотрим, как можно быстро находить и изменять учетные записи пользователей(доменных и локальных) с помощью Powershell.

Поиск пользователей по заданным критериям. Доменные пользователи.

Для поиска доменных пользователей используется командлет Get-ADUser. Данный командлет входит в модуль ActiveDirectory. Он доступен на серверах с установленной ролью AD DS или при установке оснастки RSAT для удаленного администрирования серверов. Модуль, также, может быть установлен и отдельно из репозитория Powershell.

Чтобы найти пользователя с определенными свойствами, нужно знать какие атрибуты у него есть и как они называются в Powershell. В этом нам поможет команда:

В данном примере производится поиск пользователя с именем, заданным в переменной $Name. Вы можете указать имя пользователя явно, только лучше использовать оператор -like

Учтите, что под именем здесь имеется ввиду полное имя пользователя.

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

Давайте посмотрим вывод команды:

Как видно, свойств довольно много, и по ним можно производить поиск, а также менять эти свойства. Для того, чтобы найти пользователя по любому свойству, введите его вместо(или вместе) со свойством Name, по которому мы искали пользователя.

Для того, чтобы изменить атрибуты пользователя используется командлет Set-ADUser.

Например, чтобы изменить название улицы, указанное в свойствах пользователя Семенов, можно сразу передать результат выполнения команды Get-ADUser командлету Set-ADUser:

В результате выполнения, получим желаемый результат в свойствах пользователя:

Powershell атрибуты пользователя. Локальные пользователи.

Для работы с учетными записями локальных пользователей используется модуль Local Accounts, доступный в репозитории Powershell Gallery(как установить модули описано здесь).

Найти пользователя можно с помощью командлета Get-LocalUser.

Синтаксис отличается от Get-ADUser. По умолчанию, без параметров Get-LocalUser выводит список всех локальных пользователей на компьютере:

Для получения информации по конкретному пользователю, нужно указать его параметры. Чтобы посмотреть доступные параметры используем командлет Get-Member:

Как можно видеть, параметров у пользователя намного меньше.

И еще, здесь есть отличие от Get-ADUser, параметр Name, который в Get-ADUser обозначал полное имя пользователя, в Get-LocalUser означает логин пользователя. Убедиться в этом можно на примере конкретного пользователя. Чтобы найти пользователя по атрибуту, отличному от его логина(Name) и SID, нужно задействовать командлет Where-Object:

Изменение атрибутов производится командлетом Set-LocalUser. Например, для изменения срока действия учетной записи с 31.08.2019 на 31.12.2020 команда выглядит так:

Аналогично меняются и другие атрибуты(Description, Fullname и т.д.)

И еще одно замечание. Если доменного пользователя заставить сменить пароль перед первым входом мы можем просто с помощью параметра -ChangePasswordAtLogon, то с локальными пользователями все не так. Вариант, все же есть, и он описан в этой статье.

Данные командлеты(особенно при использовании в скриптах) очень облегчат жизнь системному администратору, если приходится часто или в большом количестве менять атрибуты пользователей. Вы можете создать(получить) список пользователей и атрибуты, которые нужно изменить и «скормив» его скрипту, быстро получить требуемый результат.

Вот такая коротенькая памятка по поиску и изменению атрибутов пользователей получилась.

Еще статьи по использованию Powershell в администрировании можно посмотреть по тегу Powershell.

— Изменение учётной записи

Для изменения учётной записи нам понадобится командлет Set-LocalUser изменить локальную учётную запись пользователя:

5.3. — Параметры пароля

-PasswordNeverExpires { $True | $False } — Срок действия пароля.

Срок действия пароля неограничен:

Set-LocalUser -Name "ПОЛЬЗОВАТЕЛЬ" –PasswordNeverExpires

Ограничить срок действия пароля локальными политиками:

Set-LocalUser -Name "ПОЛЬЗОВАТЕЛЬ" –PasswordNeverExpires $False

-UserMayChangePassword { $True | $False } — Разрешить/Запретить пользователю менять пароль.

Разрешить пользователю менять свой пароль:

Set-LocalUser -Name "ПОЛЬЗОВАТЕЛЬ" -UserMayChangePassword $True

Запретить пользователю менять свой пароль:

Set-LocalUser -Name "ПОЛЬЗОВАТЕЛЬ" -UserMayChangePassword $False

5.4. — Срок действия учётной записи

-AccountExpires ДАТА — Ограничить срок действия учётной записи. Значение ДАТА — указание даты, до которой будет активна учётная запись. Дата указывается в формате ДД.ММ.ГГ. Год может указываться четырьмя 2019 или двумя19цифрами. Элементы даты разделяются точкой.или слэшем / без пробелов.

Set-LocalUser -Name "ПОЛЬЗОВАТЕЛЬ" -AccountExpires ДД.ММ.ГГ

-AccountNeverExpires — Срок действия учётной записи неограничен:

Set-LocalUser -Name "ПОЛЬЗОВАТЕЛЬ" -AccountNeverExpires

5.5. — Выключить/Включить учётную запись

По умолчанию, только что созданная учётная запись — активная[Включена. При необходимости её можно выключить/включить.

Выключить[сделать не активной её можно командой:

Disable-LocalUser -Name "ПОЛЬЗОВАТЕЛЬ"

Включить[сделать активной:

Enable-LocalUser -Name "ПОЛЬЗОВАТЕЛЬ"

Установка на ОС Windows

На версиях ОС Windows 8, Windows 8.1, Windows 10 пароль ставится автоматически при первой загрузке системы. В дальнейшем он будет регулярно спрашиваться при загрузке: входе, изменении пользователя, перезагрузке и выходе из режима сна.

На остальных версиях операционной системы Виндовс имеется возможность установить его самостоятельно как для всех аккаунтов, так и для одного выбранного.

«Восьмерка» и «десятка»

Если код по каким-то причинам был удалён или не установлен, то существует возможность его вновь включить. Как это сделать:

  1. Войти в папку «Параметры». Сделать это можно двумя способами. Для первого необходимо войти в главное меню (Пуск) и выбрать среди инструментов шестеренку, то есть настройки. Можно не искать значок среди всех программ, а начать вводить слово «Параметры» и открыть нужную строку. Во втором способе следует вызвать в правом экране специальное меню. Сделать это можно, проведя от правого верхнего угла вниз или от правого нижнего угла вверх. Здесь необходимо выбрать «Параметры», а далее «Изменение параметров компьютера».
  2. В настройках выбрать «Учётные записи» — «Параметры входа». Откроется окно с возможностью изменения нескольких настроек. Можно установить пароль, графический ключ, пин-код или сменить политику запрашиваемого пароля (нужна ли эта функция или нет).

Здесь же можно сделать и сброс пароля для Windows 10, 8.1, 8.

«Семерка» и более ранние версии

На седьмой версии системы тоже есть пароль для входа и его тоже можно заменить. Здесь алгоритм будет немногим отличаться:

  1. Активировать меню «Пуск».
  2. В правой части меню найти «Панель управления» и выбрать её.
  3. Под оглавлением «Учётные записи пользователей и…» выбрать «Добавление или удаление учётных записей».
  4. На новой странице нажать на нужного пользователя и найти «Создать».
  5. Ввести данные и сохранить изменения.

Когда откроется ещё одно окно, следует поставить галочку около фразы «Требовать ввод пароля…». В соседней вкладке можно найти ссылки на сохранённые коды, параметры входа, дать пользователю права администратора, а также добавить функцию нажатия ctrl + alt + del (вызов системного окна). Это поможет уберечься от фишинговых программ, которые могут взломать аккаунт, украв его.

Как узнать срок действия пароля пользователя в Active Directory?

Можно узнать срок действия пароля и дату его последней смены из командной строки с помощь команды Net user:

net user aaivanov /domain

Необходимые данные присутствуют в значениях:

Для получения параметров учетных записей в AD мы будем использовать специальный модуль PowerShell для Active Directory, который позволяет получить значения различных атрибутов объектов AD (см. как установить и импортировать модуль AD PowerShell в Windows 10 и Windows Server 2012 R2/2016).

С помощью командлета Get-AdUser можно получить время последней смены пароля пользователя и проверить, установлена ли опция бессрочного пароля (PasswordNeverExpires):

Но как вы видите, в оснастке указана только время смены пароля. Когда истекает срок действия пароля — непонятно.

Чтобы получить не время последней смены пароля, а дату окончания его срока действия, нужно использовать специальный constructed-атрибут msDS-UserPasswordExpiryTimeComputed. Значение атрибута msDS-UserPasswordExpiryTimeComputed автоматически вычисляется на основании времени последней смены пароля и парольной политики домена

Параметр UserPasswordExpiryTimeComputed возвращает время в формате TimeStamp и для преобразования его в человеко-понятный вид я использую функцию FromFileTime:

Таким образом мы получили время истечения срока действия пароля пользователя.

Чтобы получить срок действия паролей для всех пользователей их определенного контейнера (OU) AD, можно воспользоваться таким скриптом PowerShell:

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

Можно вывести только список пользователей, чей пароль уже истек:

Описание работы

Список всех пользователей с истекающими паролями

— фильтр для поиска пользователей. Значение 512 соответствует активному (не отключенному) пользователю с ограниченным сроком действия пароля. Подробно описывал в заметке про виндовые пользовательские атрибуты. Подразумевается, что sAMAccountName содержит имя пользователя, что и должно быть в норме.

Срок жизни пароля

Запрос берет значение атрибута maxPwdAge из групповых политик домена. Для удобства вычислений берется значение по модулю, отсекая минус. Параметр говорит взять первый параметр политик, который и является нужным. Не исключено, что при использовании нескольких политик, надо брать разные значения атрибута из других мест, но для подавляющего большинства случаев, с единой политикой, этого достаточно.

Время последней смены пароля пользователем

Возвращает время последней смены пароля пользователя в Windows time формате. Пока берется как есть, в следующей команде будет переводится в удобочитаемый формат.

Время до истечения пароля пользователя

Вычисляется время в днях до истечения пароля пользователя:

Тут есть две не совсем понятных штуки, это и . Поскольку скрипт выполняется в Linux среде, надо перевести формат даты из Windows time в Unix time. — разница между Windows time и Unix time в секундах. Т.е. в Unix time формате это . — текущее время в Unix time формате.

— дата исчения пароля в тиках. тоже самое, но в секундах. Вычитая — получается дата исчения пароля в Unix time формате. Вычитая из получившегося числа текущую дату — количество секунд до истечения пароля, которая преобразуется в количество дней.

Mutt

Самое простое. Этот почтовый клиент был выбран и-за простоты настройки и легкости смены конфигураций. А еще он умеет отсылать почту от любого почтового сервиса по имеющимся кредам. Как видно из скрипта, используется параметр , указывающий на файл конфигов, который выглядит так:

set realname = "Пришло время сменить пароль"
set from = no-reply@domain.com
set use_from = yes
set ssl_starttls = yes
set ssl_force_tls = yes
set smtp_url = 'smtps://no-reply@domain.com@smtp.yandex.com:465'
set smtp_pass = "pass_from_your_no-reply@domain.com_user"

В конфиге приведены настройки для отсылки с Яндекса. Уверен, что настроить на любой другой почтовый сервис не составит труда.

Когда истекает пароль пользователя в AD, оповещаем пользователей о необходимости сменить пароль

В этой статье мы покажем, как с помощью PowerShell узнать, когда истекает пароль учетной записи пользователя в Active Directory, установить бессрочный пароль для учетной записи (PasswordNeverExpires = True) и заблаговременно оповестить пользователей о необходимости сменить пароль.

Если срок действия пароля пользователя в домене истек, учетная запись не блокируется, но не может использоваться для доступа к доменным ресурсам до тех пор, пока пользователь не сменит свой истекший пароль на новый. Чаще всего проблемы с истекшими паролями возникает у удаленных пользователей, которые не могут сменить свой пароль стандартными средствами.

Текущие настройки политики срока действия паролей в домене можно получить с помощью команды PowerShell

В нашем примере максимальный срок действия пароля пользователя в домене – 60 дней.

Рейтинг
( Пока оценок нет )
Понравилась статья? Поделиться с друзьями:
Ваша ОС
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: