Event ID 4725: Учетная запись отключена (Account Disabled) - Аудит
Архитектура блокировок AD и симптомы
Событие 4725 логируется в журнале Security, когда администратор, скрипт (например, 1С) или система автоматизации ставит галочку "Учетная запись отключена" (Account is disabled) в свойствах пользователя. С этого момента (и после репликации на все DC) пользователь немедленно теряет возможность запрашивать новые билеты Kerberos и логиниться на новые сервера.
Атрибут userAccountControl
Технически, событие 4725 — это изменение битовой маски атрибута userAccountControl. Ядро добавляет в него бит 0x0002 (ACCOUNTDISABLE). Если вместе с 4725 вы видите >событие 4738, это подтверждает модификацию атрибута.
Пошаговое дерево решений (Мониторинг увольнений)
Сценарий 1: Контроль процесса увольнения (Offboarding)
Регулярно сверяйте список событий 4725 с приказами отдела кадров (HR) на увольнение. Если уволенный сотрудник не был отключен в тот же день до 18:00, процесс (Identity Management) работает с дырами, создавая риск утечки данных (Data Exfiltration).
Скрипт мониторинга отключенных учеток:# Список отключенных учетных записей и тех, кто их отключил
Get-WinEvent -FilterHashtable @{LogName="Security"; ID=4725; StartTime=(Get-Date).AddDays(-30)} |
Select-Object TimeCreated,
@{N="DisabledUser";E={$_.Properties[0].Value}},
@{N="AdminWhoDisabled";E={$_.Properties[4].Value}} | Format-Table -AutoSizeСценарий 2: Защита от 'зомби'-сессий (Очистка Kerberos)
Огромная проблема ИБ: отключение учетной записи (4725) НЕ убивает текущие сессии пользователя. Если уволенный сотрудник сидит в 1С или скачивает базу через SMB, он сможет делать это еще до 10 часов (пока жив билет TGT).
Как исправить (Скрипт полного отключения):
- Отключите УЗ (генерируется 4725).
- Сбросьте пароль на случайный (генерируется 4724).
- Выполните PowerShell-команду для сброса всех кэшированных билетов Kerberos на контроллере домена для этого пользователя:
Revoke-ADAccount -Identity "Уволенный_Сотрудник"(Доступно в новых версиях AD).
Типовые ошибки администраторов
- Путаница 4725 и 4740: 4725 (Disabled) и 4740 (Locked Out) — это РАЗНЫЕ вещи. Блокировка 4740 происходит автоматически из-за подбора паролей (брутфорс). Отключение 4725 происходит только по инициативе администратора или IAM-скрипта.
Брошенные учетки ('Мертвые души') — вектор атаки №1 для шифровальщиков и инсайдеров. Возьмем IT-процессы на жесткий контроль. Настроим интеграцию 1С:ЗУП (или Босс-Кадровик) с Active Directory, обеспечив автоматическое отключение УЗ, отзыв токенов и перенос почтовых ящиков секунда в секунду.
Частые вопросы (FAQ)
Сгенерируется ли 4725, если наступила дата истечения УЗ (Account Expires)?
Нет. Поле 'Account Expires' работает на уровне протокола аутентификации. Когда наступает дата X, УЗ просто перестает пускать в систему (выдавая статус Account Expired), но галочка 'Disabled' не ставится, и событие 4725 не генерируется.
Можно ли отключить УЗ через GPO?
Групповые политики (GPO) не управляют свойствами пользователей AD напрямую. Для массового отключения учеток по критериям (например, неактивны 90 дней) используйте командлет Search-ADAccount -AccountInactive в связке с Disable-ADAccount в Планировщике задач.
Почему 4725 сопровождается удалением групп?
Хороший скрипт увольнения (Offboarding) не только отключает УЗ, но и вычищает её из всех групп безопасности (Domain Admins, FileShare_Read), чтобы пресечь скрытый доступ. Это генерирует пачку событий 4729/4733.
Выкинет ли 4725 пользователя из активной VPN-сессии?
Зависит от VPN-шлюза. Если шлюз (например, Cisco/Fortinet) опрашивает AD по протоколу RADIUS/NPS только в момент подключения, сессия не прервется. Для разрыва нужно принудительно убить сессию на самом шлюзе.
Можно ли вернуть УЗ обратно?
Да, достаточно снять галочку в ADUC или выполнить Enable-ADAccount. Это сгенерирует событие 4722 (Account Enabled).