1000+ инструкций в блоге SoftComputers
0 0 голоса
Рейтинг

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

Приобрести оригинальные ключи активации Windows всегда можно у нас в каталоге от 1099 ₽

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

В большинстве организаций политика безопасности Active Directory настроена так, что учетная запись блокируется после нескольких неудачных попыток ввода пароля. Обычно блокировка длится от 5 до 30 минут, после чего доступ автоматически восстанавливается. Если пользователь пытается войти в систему во время блокировки, он видит сообщение:

«Учетная запись заблокирована и не может быть использована для входа в сеть.»

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

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

1. Через консоль ADUC:

Откройте «Пользователи и компьютеры Active Directory» (dsa.msc), найдите учетную запись, перейдите в свойства на вкладку «Учетная запись» и проверьте, активна ли опция «Учетная запись заблокирована».

2. Через PowerShell:

Используйте командлет Get-ADUser из модуля Active Directory:


Get-ADUser -Identity aaivanov -Properties LockedOut,DisplayName | Select-Object samaccountName,DisplayName,LockedOut

Для получения дополнительных данных (время блокировки, последний вход, смена пароля):


Get-ADUser aaivanov -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

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


Search-ADAccount -UsersOnly -LockedOut

Разблокировка учетной записи

Для снятия блокировки вручную:

— В ADUC: на вкладке «Учетная запись» включите опцию «Разблокировать учетную запись»

— В PowerShell:


Get-ADUser -Identity aaivanov | Unlock-ADAccount

Настройка политик блокировки в Active Directory

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

Ключевые параметры:

— Пороговое значение блокировки (Account lockout threshold): количество неудачных попыток до блокировки

— Продолжительность блокировки (Account lockout duration): время блокировки в минутах

— Время до сброса счетчика блокировки (Reset account lockout counter after): период сброса счетчика неудачных попыток

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

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

Настройка аудита

1. Откройте gpmc.msc, отредактируйте политику Default Domain Controllers Policy

2. Перейдите в раздел: Конфигурация компьютера -> Политики -> Параметры Windows -> Параметры безопасности -> Расширенная политика аудита

3. Включите следующие параметры:

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

— Аудит блокировки учетной записи: Успех

— Аудит входа в систему: Успех, Ошибка

— Аудит выхода из системы: Успех

— Аудит специального входа: Успех, Ошибка

Управление учетными записями:

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

Вход в систему (Kerberos):

— Аудит службы аутентификации Kerberos: Успех, Ошибка

— Аудит операций с билетами службы Kerberos: Успех, Ошибка

4. Примените политику командой:

gpupdate /force

Анализ событий блокировки (Event ID 4740)

1. Найдите PDC-эмулятор домена:

(Get-ADDomain).PDCEmulator

2. На PDC откройте «Просмотр событий» (eventvwr.msc) -> «Журналы Windows» -> «Безопасность»

3. Отфильтруйте события по Event ID 4740

4. В событии найдите:

— Account Name: имя заблокированной учетной записи

— Caller Computer Name: имя компьютера, с которого произошла блокировка

Поиск IP-адреса устройства

Если имя компьютера неизвестно или устройство не в домене, включите аудит Kerberos или NTLM:

— Kerberos (Event ID 4771):

Включите аудит службы аутентификации Kerberos, найдите событие 4771 перед 4740. В поле «Client Address» указан IP-адрес устройства.

— NTLM (Event ID 4625):

Найдите событие 4625 с причиной «Account locked out» (Status: 0xC0000234). В полях «Workstation Name» и «Source Network Address» указаны имя компьютера и IP-адрес.

Расширенный аудит через Netlogon

Если событие 4740 не найдено, включите расширенный лог Netlogon:

1. Выполните:

nltest /dbflag:2080ffffff

2. Перезапустите службу Netlogon:

net stop netlogon && net start netlogon

3. Найдите в файле C:\Windows\debug\netlogon.log события:

— 0xc000006a: неудачная попытка входа

— 0xc0000234: блокировка учетной записи

Пример команды для поиска:


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

4. Отключите расширенный лог:

nltest /dbflag:0x0

Поиск источника блокировки через PowerShell

Используйте скрипт для поиска событий Event ID 4740 на PDC:


$Username = 'aaivanov'
$Pdce = (Get-ADDomain).PDCEmulator
$GweParams = @{
'Computername' = $Pdce
'LogName' = 'Security'
'FilterXPath' = "*[System[EventID=4740] and EventData[Data[@Name='TargetUserName']='$Username']]"
}
$Events = Get-WinEvent @GweParams
$Events | foreach {$_.Properties[1].Value + ' ' + $_.TimeCreated}

Для проверки всех контроллеров домена:


$Username = 'aaivanov'
Get-ADDomainController -Filter * | Select-Object -ExpandProperty Hostname | ForEach-Object {
$GweParams = @{
'Computername' = $_
'LogName' = 'Security'
'FilterXPath' = "*[System[EventID=4740] and EventData[Data[@Name='TargetUserName']='$Username']]"
}
$Events = Get-WinEvent @GweParams
$Events | ForEach-Object {$_.Computer + " " + $_.Properties[1].Value + ' ' + $_.TimeCreated}
}

Использование утилиты LockoutStatus

Утилита LockoutStatus.exe из пакета Microsoft Account Lockout and Management Tools упрощает анализ:

1. Скачайте с официального сайта и запустите LockoutStatus.exe

2. Укажите имя пользователя и домен

3. Просмотрите список контроллеров домена, статус блокировки, время блокировки и компьютер-источник (поле Orig Lock)

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

Недостаток: утилита может медленно опрашивать контроллеры, особенно если некоторые из них недоступны.

Определение программы-источника блокировки

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

— Подключенные сетевые диски (net use)

— Задания в Планировщике задач

— Службы Windows, запущенные от имени доменной учетной записи

— Сохраненные учетные данные в Диспетчере учетных данных (rundll32.exe keymgr.dll, KRShowKeyMgr)

— Учетные данные в контексте SYSTEM:

psexec -i -s -d cmd.exe

Затем:

rundll32 keymgr.dll,KRShowKeyMgr

— Программы с автологином или браузеры с сохраненными паролями

— Мобильные устройства, использующие корпоративную почту

— Активные RDP-сессии на терминальных серверах

— Wi-Fi сети с WPA2-Enterprise аутентификацией

Локальный аудит на клиентском устройстве

На компьютере-источнике включите аудит:

1. Откройте gpedit.msc, перейдите в Конфигурация компьютера -> Параметры Windows -> Параметры безопасности -> Локальные политики -> Политика аудита

2. Включите:

— Аудит отслеживания процессов: Успех, Ошибка

— Аудит событий входа в систему: Успех, Ошибка

3. Обновите политики:

gpupdate /force

4. После очередной блокировки найдите в журнале «Безопасность» событие Event ID 4625 с причиной «Account locked out». В поле «Caller Process Name» указан процесс, вызвавший блокировку (например, mssdmn.exe для SharePoint)

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

Рекомендации

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

— Настройте автоматический сбор логов с помощью SIEM-систем для быстрого анализа

— Используйте LockoutStatus для быстрого поиска, но проверяйте результаты через PowerShell или журналы для точности

— Обучите пользователей обновлять пароли в приложениях после их смены в Active Directory

— Рассмотрите использование коммерческих решений, таких как Netwrix Account Lockout Examiner, для автоматизации анализа

Поиск причины блокировки учетной записи в Active Directory требует анализа событий на контроллерах домена с использованием журналов безопасности, PowerShell или утилиты LockoutStatus. Настройка аудита позволяет определить компьютер и программу, вызывающие блокировку. Проверка сохраненных паролей и активных сессий помогает устранить проблему. Эти методы обеспечат оперативное восстановление доступа и предотвращение повторных блокировок.

author avatar
copywriter
banner for Windows Server
Лицензионный ключ активации Windows Server от
1190 ₽ Купить
0 0 голоса
Рейтинг
Подписаться
Уведомить о
guest
     
0 отзывов
30
Межтекстовые Отзывы
Посмотреть все комментарии