Как найти источник блокировки учетных записей в Active Directory

В этой статье мы покажем вам, как отслеживать события блокировки учетных записей пользователей на контроллерах домена Active Directory и выяснять, с какого компьютера, устройства и программы постоянно блокируется учетная запись. Вы можете использовать журналы Windows Security, сценарии PowerShell или инструмент Account Lockout and Management (Lockoutstatus.exe), чтобы найти источник блокировки учетных записей пользователей в AD.

Указанная учетная запись в настоящее время заблокирована и не может войти в систему

Политика безопасности учетных записей домена Active Directory в большинстве организаций требует, чтобы учетная запись пользователя блокировалась, если несколько раз подряд вводится неправильный пароль. Обычно учетная запись блокируется контроллером домена на несколько минут (5-30), в течение которых пользователь не может войти в домен AD. Через некоторое время (задается политикой безопасности домена) учетная запись пользователя автоматически разблокируется. Временная блокировка учетной записи AD снижает риск атак методом грубой силы на учетные записи пользователей AD.

Если учетная запись пользователя в домене заблокирована, при попытке входа в Windows появляется предупреждение:

Указанная учетная запись в настоящее время заблокирована и не может быть включена в систему.

Указанная учетная запись в настоящее время заблокирована и не может быть зарегистрирована на сайте ....Ссылающаяся учетная запись в настоящее время заблокирована и не может войти на ....

Как проверить, заблокирована ли учетная запись пользователя AD?

Проверить, заблокирована ли учетная запись, можно с помощью графической консоли ADUC или с помощью команды Get-ADUser из модуля Active Directory для PowerShell:

Get-ADUser -Identity jsmith -Properties LockedOut,DisplayName | Select-Object samaccountName, displayName,Lockedout

Или:

Get-ADUser jsmith -Properties Name,Lockedout, lastLogonTimestamp,lockoutTime,logonCount,pwdLastSet | Select-Object Name, Lockedout,@{n='LastLogon';e={[DateTime]::FromFileTime($_.lastLogonTimestamp)}},@{n='lockoutTime';e={[DateTime]::FromFileTime($_.lockoutTime)}},@{n='pwdLastSet';e={[DateTime]::FromFileTime($_.pwdLastSet)}},logonCount

Учетная запись пользователя теперь заблокирована (Lockedout = True) и не может быть использована для аутентификации в домене. Также в выводе команды можно увидеть информацию о том, когда в последний раз менялся пароль пользователя в домене и когда учетная запись была заблокирована.

ad user: получение статуса блокировки с помощью powershellрекламный пользователь: получение статуса блокировки с помощью powershell

Вы можете получить список всех заблокированных учетных записей в домене с помощью команды Search-ADAccount:

Search-ADAccount -UsersOnly -lockedout

Вы можете вручную разблокировать учетную запись с помощью консоли ADUC, не дожидаясь, пока она разблокируется автоматически. Найдите учетную запись пользователя в AD (используйте опцию поиска в оснастке AD), щелкните правой кнопкой мыши и выберите Свойства. Перейдите к Аккаунт на вкладке и установите флажок Разблокировать учетную запись. Эта учетная запись в настоящее время заблокирована на этом контроллере домена Active Directory. Нажмите OK.

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

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

Get-ADUser -Identity jsmith | Unlock-ADAccount

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

Get-ADUser jsmith -Properties Name, lastLogonTimestamp,lockoutTime,logonCount,pwdLastSet | Select-Object Name,@{n='LastLogon';e={[DateTime]::FromFileTime($_.lastLogonTimestamp)}},@{n='lockoutTime';e={[DateTime]::FromFileTime($_.lockoutTime)}},@{n='pwdLastSet';e={[DateTime]::FromFileTime($_.pwdLastSet)}},logonCount

проверка времени блокировки пользователя рекламыпроверить время блокировки пользователя объявления

Политики блокировки учетных записей в домене Active Directory

Политики блокировки учетных записей обычно устанавливаются в Политика домена по умолчанию для всего домена с помощью gpmc.msc оснастку. Интересующие нас политики находятся в папке Конфигурация компьютера -> Параметры Windows -> Параметры безопасности -> Политика учетных записей -> Политика блокировки учетных записей. Это следующие политики:

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

Политики блокировки учетных записей Active DirectoryПолитики блокировки учетных записей Active Directory

Для защиты от атак методом перебора паролей рекомендуется использовать надежные пароли пользователей в AD (длина пароля не менее 8 символов и включение требований сложности). Это настраивается в Политика паролей раздел в Пароль должен отвечать требованиям сложности и Минимальная длина пароля опции.

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

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

Идентификаторы событий блокировки учетной записи 4740 и 4625

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

Чтобы включить события блокировки учетных записей в журналах контроллера домена, необходимо включить следующие политики аудита для ваших DC. Перейдите в раздел GPO Computer Configuration -> Policies -> Windows Settings -> Security Settings -> Advanced Audit Policy -> Logon/Logoff и включите следующие политики:

  • Блокировка учетной записи аудита
  • Аудит входа в систему
  • Аудиторский выход

Затем перейдите в раздел «Управление учетными записями» и включите политику:

  • Аудит управления учетными записями пользователей: Успех

Самый простой способ включить эту политику — через gpmc.msc через консоль, отредактировав Политика контроллера домена по умолчанию.

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

Если пользователь вводит неправильный пароль, то ближайший к пользователю контроллер домена (LogonServer) перенаправляет запрос аутентификации на DC с эмулятором PDC Роль FSMO (именно этот DC отвечает за обработку блокировок учетных записей). Если аутентификация не удалась и на PDC, он отвечает первому DC, что аутентификация не удалась. Если количество неудачных попыток аутентификации превышает значение, установленное для домена в параметре Порог блокировки учетной записи политика, учетная запись пользователя временно блокируется.

В этом случае событие с идентификатором EventID 4740 записывается в журнал безопасности обоих контроллеров домена. Событие содержит DNS-имя (IP-адрес) компьютера, с которого поступил первоначальный запрос на аутентификацию пользователя. Чтобы не разбирать журналы на всех DC, проще всего искать события блокировки в журнале безопасности на PDC. Вы можете найти первичный контроллер домена в своем домене следующим образом:

(Get-AdDomain).PDCEmulator

События блокировки учетных записей домена можно найти в журнале Безопасность войдите в систему на контроллере домена (Средство просмотра событий -> Журналы Windows). Фильтр журнала безопасности по идентификатору события 4740. Вы увидите список последних событий блокировки учетной записи. Начиная с самого верхнего, прокрутите все события и найдите событие, указывающее на то, что учетная запись искомого пользователя заблокирована (имя пользователя указано в поле Имя учетной записи значение и описание события «Учетная запись пользователя была заблокирована«).

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

Блокировка контроллера домена учетной записи Active Directory Идентификатор события 4740Active Directory Account Domain Controller Lockout Event ID 4740

Откройте это событие. Имя компьютера (сервера), с которого было зарегистрировано событие блокировки учетной записи, указано в поле Имя вызывающего компьютера поле. В данном случае имя компьютера — DACZCZL5-Z.

Если в поле Имя компьютера содержится неизвестное имя компьютера/устройства, которое не разрешается в вашей сети через DNS (компьютер без домена или устройство без Windows, поддерживающее аутентификацию Kerberos), вы можете получить IP-адрес этого устройства. Для этого необходимо включить следующие параметры аудита в политике контроллера домена по умолчанию. Перейдите в раздел Конфигурация компьютера -> Политики -> Параметры Windows -> Параметры безопасности -> Расширенная конфигурация аудита и включите следующие параметры аудита:

Вход в учетную запись

  • Аудит службы аутентификации Kerberos: Успех, неудача
  • Аудит операций с билетами службы Kerberos: Успех, Неудача

Вход в систему/выход из системы

  • Аудит специального входа в систему: Успех, Неудача

Откройте Event Viewer -> Security log и включите фильтр по идентификаторам событий. 4740 и 4741. Обратите внимание, что теперь, прежде чем произойдет событие блокировки пользователя (4740), событие 4771 (Kerberos Authentication Failed) от службы аутентификации Kerberos появляется. В нем содержится имя пользователя, пытавшегося пройти аутентификацию, и IP-адрес устройства (поле Сетевая информация -> Адрес клиента), с которого поступил запрос аутентификации.

4771 id события - kerberos auth failed4771 event id - kerberos auth failed

Если удаленное устройство использует доменную аутентификацию NTLM, следует искать EventID 4625 (NTLM Authentication Failed) на DC (он содержится только на контроллере домена, через который была предпринята попытка NTLM-аутентификации).

Откройте последнее событие с идентификатором EventID 4625 для вашего пользователя (Имя учетной записи). Здесь видно, что при попытке выполнить NTLM-аутентификацию (Authentication Package: NTLM, Logon Process: NtLmSsp), учетная запись была заблокирована (Failure Reason: Account locked out, Status: 0xC0000234). Описание события содержит как имя компьютера (Имя рабочей станции) и ее IP-адрес (Сетевой адрес источника).

ntlm aurh 4625 event id: find account locked out ip address sourcentlm aurh 4625 event id: find account locked out ip address source

Если вы не можете найти источник блокировки пользователя в журнале Event Viewer, вы можете включить отладочную регистрацию для netlogon на контроллере домена. Выполните команду:

nltest /dbflag:2080ffffff

Перезапустить службу Netlogon

net stop netlogon && net start netlogon

Выполните поиск событий в файле netlogon.log:

  • 0xc000006a — Следующим пользователем была предпринята некорректная попытка входа в систему;
  • 0xc0000234 — Учетная запись пользователя была автоматически заблокирована, поскольку было запрошено слишком много неверных попыток входа в систему или попыток смены пароля.

Вы можете найти события блокировки для пользователя a.baker в netlogon.log файл с помощью команды:

type C:\Windows\debug\netlogon.log | findstr a.baker| findstr /i "0xC000006A"

поиск в netlogon.log события 0xc0000234 пользователь заблокирован поиск в журнале netlogon.log события 0xc0000234 пользователь заблокирован

В этом примере видно, что пользователь a.baker заблокирован в DESKTOP-12361B устройство.

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

nltest /dbflag:0x0

Получение источника (компьютера) блокировки учетной записи с помощью PowerShell

Чтобы найти источник блокировки учетной записи конкретного пользователя в журналах событий PDC, можно использовать следующий сценарий PowerShell. Следующий сценарий ищет события с идентификатором события 4740 в журнале событий безопасности на PDC и возвращает время блокировки и имя компьютера, с которого она произошла:

$Usr = ‘username1’
$Pdc = (Get-AdDomain).PDCEmulator
$ParamsEvn = @{
‘Computername’ = $Pdc
‘LogName’ = ‘Security’
‘FilterXPath’ = "*[System[EventID=4740] and EventData[Data[@Name="TargetUserName"]='$Usr']]"
}
$Evnts = Get-WinEvent @ParamsEvn
$Evnts | foreach {$_.Properties[1].value + ' ' + $_.TimeCreated}

сценарий powershell - отслеживание события 4740 в PDC и поиск источника блокировкиСкрипт powershell - отслеживание события 4740 в PDC и поиск источника блокировки

Аналогичным образом можно запросить все контроллеры домена в Active Directory с помощью PowerShell:

$Usr = ‘username1’
Get-ADDomainController -fi * | select -exp hostname | % {
$ParamsEvn = @{
‘Computername’ = $Pdc
‘LogName’ = ‘Security’
‘FilterXPath’ = "*[System[EventID=4740] and EventData[Data[@Name="TargetUserName"]='$Usr']]"
}
$Evnts = Get-WinEvent @ParamsEvn
$Evnts | foreach {$_.Computer + " " +$_.Properties[1].value + ' ' + $_.TimeCreated}
}

Отслеживание событий блокировки AD с помощью инструментов блокировки и управления учетными записями

Вы можете использовать графический Lockoutstatus.exe инструмент из Средства блокировки и управления учетными записями Microsoft пакет для поиска источника блокировки учетных записей пользователей (его можно скачать здесь). Эта утилита проверяет состояние блокировки учетных записей на всех контроллерах домена.

Запустите программу Lockoutstatus.exeИнструмент, укажите имя заблокированной учетной записи (Имя целевого пользователя) и доменное имя (Целевое доменное имя).

Lockoutstatus Инструмент блокировки и управления учетными записями MicrosoftLockoutstatus Microsoft Account Lockout and Management Tool

Появившийся список будет содержать список DC и статус учетной записи (заблокирована или не заблокирована). Кроме того, будет указано время блокировки и компьютер , с которого заблокирована эта учетная запись, отображаются (Orig Lock).

инструмент gui: получить источник блокировки учетной записиgui tool: get account lockout source

Атрибуты badPwdCount и LastBadPasswordAttempt не реплицируются между контроллерами домена.

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

разблокировать учётную записьразблокировать аккаунт

Основным недостатком инструмента LockoutStatus является то, что он довольно долго запрашивает все контроллеры домена (некоторые из них могут быть недоступны).

Как найти программу, которая блокирует учетную запись пользователя в домене?

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

Часто пользователи начинают жаловаться на блокировку учетных записей домена после смены пароля. В большинстве случаев это означает, что старый (неправильный) пароль сохраняется в определенной программе, скрипте или службе, которая периодически пытается аутентифицироваться на DC с помощью старого плохого пароля. Давайте рассмотрим наиболее распространенные места, где пользователь мог сохранить старый пароль:

  • Сопоставленные сетевые диски (через net use);
  • Задания планировщика задач Windows;
  • Ярлыки с настроенным режимом RunAs (используется для запуска программы от имени другого пользователя);
  • Службы Windows, настроенные на запуск под учетной записью домена;
  • Сохраненные учетные данные в диспетчере учетных данных (в панели управления);
    Иногда пользовательские пароли могут храниться в контексте SYSTEM. Их можно перечислить, если открыть командную строку от имени LocalSystem (с помощью инструмента psexec) и выполнить команду rundll32 keymgr.dll,KRShowKeyMgr чтобы показать сохраненные пароли для NT AUTHORITY\SYSTEM.
  • Мобильные устройства (например, используемые для доступа к корпоративному почтовому ящику);
  • Сохраненные (кэшированные) пароли в программах с функцией автоматического входа или настроенный автологин Windows;
  • Отключенные/неработающие RDP-сессии на других компьютерах или RDS-фермах/хостах (всегда устанавливайте таймауты для RDP-сессий);
  • Сохраненные пароли в сетевых профилях Windows Wi-Fi (если вы используете аутентификацию WPA2-Enterprise 802.1x в беспроводной сети).

Чтобы выполнить подробный аудит блокировки учетной записи на компьютере, найденном в журналах DC, необходимо включить ряд локальных политик аудита Windows. Для этого откройте редактор локальной групповой политики (gpedit.msc) на компьютере (на котором вы хотите найти источник блокировки) и включите следующие политики в разделе Конфигурации компьютера -> Параметры Windows -> Параметры безопасности -> Локальные политики -> Политика аудита:

  • Отслеживание процессов аудита: Успех, неудача
  • Аудит событий входа в систему: Успех, Неудача

Политики аудита блокировки учетных записейПолитики аудита блокировки учетной записи

Затем обновите параметры групповой политики на клиенте:

gpupdate /force

Дождитесь следующей блокировки учетной записи и найдите события с параметром ID события 4625 в журнале безопасности. В нашем случае это событие выглядит следующим образом:

An account failed to log on.
Failure Reason: Account locked out.

блокировка учетной записи Идентификатор события 4625блокировка учетной записи Идентификатор события 4625

Как видно из описания события, источником блокировки учетной записи является mssdmn.exe процесс (компонент Sharepoint). В этом случае пользователю необходимо обновить пароль на веб-портале Sharepoint.

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

Если вы все еще не смогли найти источник блокировки учетной записи на конкретном компьютере, просто попробуйте переименовать учетную запись пользователя в Active Directory, изменив имя SAMaccountName и UPN пользователя в AD). Обычно это самый эффективный метод защиты от внезапных блокировок конкретного пользователя, если вы не смогли установить источник блокировки.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *