Event ID 4740: Учетная запись заблокирована - Глубокий поиск источника
Механизм блокировки и симптомы сбоя
Событие 4740 логируется ИСКЛЮЧИТЕЛЬНО на контроллерах домена (в частности, на сервере с ролью FSMO PDC Emulator), когда счетчик неверных паролей (badPwdCount) пользователя превышает лимит, установленный в доменной GPO (Account Lockout Policy). Симптомы: пользователь каждые 10-15 минут теряет доступ к сети, 1С, почте и файловым шарам.
Атрибуты блокировки Active Directory
| Параметр GPO | Значение по умолчанию | Рекомендация ИБ |
|---|---|---|
| Account lockout threshold | 0 (Выключено) | От 5 до 10 неверных попыток. Защищает от брутфорса. |
| Account lockout duration | Не задано | 30 минут. Не ставьте '0' (Вечная блокировка), иначе HelpDesk сойдет с ума от звонков. |
| Reset account lockout counter after | Не задано | 15 минут. Время, через которое счетчик обнуляется, если не было новых ошибок. |
Пошаговое дерево решений (Поиск виновника)
Сценарий 1: Базовый поиск компьютера-источника (Caller Computer Name)
Самое важное поле в событии 4740 — Caller Computer Name (Имя компьютера вызывающего абонента). Оно покажет, с какого устройства сыплются старые пароли.
Скрипт для PDC Emulator:Get-WinEvent -FilterHashtable @{LogName="Security"; ID=4740} -MaxEvents 10 | Select-Object TimeCreated,
@{N="User";E={$_.Properties[0].Value}},
@{N="Source PC";E={$_.Properties[1].Value}}Команда исправления: Перейдите на указанный Source PC, откройте Диспетчер учетных данных (control keymgr.dll) и удалите сохраненные старые пароли к сетевым шарам.
Сценарий 2: Поле Source PC пустое (Или указывает на контроллер)
Если блокировка пришла через Exchange Server (OWA/ActiveSync), VPN-шлюз или RADIUS (NPS), поле Caller Computer Name будет пустым или указывать на сам сервер Exchange. Вам придется искать виновника по IP-адресу в событиях 4771 (Kerberos) или 4625 (Logon Failed).
Скрипт для поиска IP (Связка с 4771):Get-WinEvent -FilterHashtable @{LogName="Security"; ID=4771; StartTime=(Get-Date).AddHours(-1)} |
Where-Object {$_.Properties[0].Value -match "ИМЯ_ЗАБЛОКИРОВАННОГО_ЮЗЕРА" -and $_.Properties[4].Value -eq "0x18"} |
Select-Object TimeCreated, @{N="Attacker IP";E={$_.Properties[6].Value}}Сценарий 3: Зависание сервисных учетных записей (Services)
Если блокируется сервисная УЗ (например, svc_sql), причина всегда в том, что администратор изменил пароль в AD, но забыл перенастроить: 1) Оснастку services.msc, 2) Планировщик заданий (Task Scheduler), 3) Пулы приложений IIS (AppPool Identity).
Типовые ошибки администраторов
- Поиск 4740 на рядовых серверах: Событие 4740 пишется ТОЛЬКО на контроллерах домена. Искать его в логах файлового сервера или ПК бесполезно.
- Игнорирование мобильных устройств: В 80% случаев директор блокирует сам себя, потому что поменял пароль на ПК, но забыл обновить его в почтовом клиенте на iPhone (Exchange ActiveSync долбит сервер старым паролем каждые 10 секунд).
Хаос в парольных политиках и старых устройствах убивает продуктивность ИТ-отдела. Делегируйте обслуживание инфраструктуры профессионалам: мы внедрим систему Self-Service Password Reset (SSPR), настроим SSO и автоматизируем разблокировки учеток.
Частые вопросы (FAQ)
Как разблокировать пользователя через PowerShell?
Используйте командлет из модуля Active Directory: Unlock-ADAccount -Identity 'Имя_Пользователя'.
Можно ли исключить конкретную УЗ из политики блокировки?
В базовой политике домена (Default Domain Policy) — нет. Но вы можете создать Fine-Grained Password Policy (FGPP) через ADAC (Active Directory Administrative Center), назначить её на конкретную группу (например, 'Service Accounts') и отключить для неё Account Lockout.