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

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

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


Политика блокировки учетных записей обычно задается сразу для всего домена политикой Default Domain Policy. Интересующие нас политики находятся в разделе Computer Configuration -> Windows Settings -> Security Settings -> Account Policy -> Account Lockout Policy. Это политики:

  • Account lockout threshold – через сколько неудачных попыток набора пароля учетная запись должна быть заблокирована
  • Account lockout duration – на какое время будет заблокирована учетная запись (по истечении этого времени блокировка будет снята автоматически)
  • Reset account lockout counter after – через какое время будет сброшен счетчик неудачных попыток авторизации

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

Совет. Вручную снять блокировку учетной записи, не дожидаясь автоматической разблокировки, можно с помощью консоли ADUC в  свойствах учетной записи пользователя на вкладке Account, поставив чекбокс на Unlock account. This account is currently locked out on this Active Directory Domain Controller.

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

Доволбно полезную информацию о времени блокировки, задания пароля, количестве попыток набора пароля и прочее можно получить в свойствах учетной записи в консоль ADSIEdit или на дополнительной вкладке Additional Account Info в свойствах пользователя (проще).

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

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

В этой статье мы покажем, как найти с какого компьютера и какой программой была заблокирована учетная запись пользователя в Active Directory.

Определяем компьютер с которого была заблокирована учетная запись


В первую очередь администратору нужно разобраться с какого компьютера / сервера происходят попытки ввода неверных паролей  и идет дальнейшая блокировка учетной записи.  Событие блокировки учетной записи домена можно найти в журнале Security на контролере домена. Отфильтруйте журнала безопасности по событию с Event ID 4740.

Событие блокировки учетной записи на контроллере домена AD. eventid 4740

Итак, мы нашли событие в котором указано что такая-то учетная запись (имя учетной записи указано в строке Account Name) заблокирована (A user account was locked out). Имя компьютера, с которого была произведена блокировка  указано в поле Caller Computer Name. В данном случае имя компьютера – TS01.

Примечание. Если контроллеров домена несколько, операцию поиска события блокировки придется искать по журналам на каждом из них, также можно организовать подписку на события на других DC. Облегчить эту нелегкую задачу можно с помощью утилиты Microsoft Account Lockout and Management Tools (скачать ее можно тут). С помощью данной утилиты можно указать сразу несколько контроллеров домена, журналы событий которых нужно мониторить, отслеживая количеств неверных вводов паролей для конкретного пользователя.
Утилита для мониторинга блокировок учеток Microsoft Account Lockout and Management Tools

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


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

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

  1. Монтирование сетевого диска через net use (Map Drive)
  2. В заданиях планировщика Windows (Task Scheduler)
  3. В службах Windows, которые настроены на запуск из-под доменной учетной записи
  4. Сохранённые данные в менеджере паролей в панели управления (Credential Manager)
  5. Браузеры
  6. Мобильные устройства (например, использующееся для доступа к корпоративной почте)
  7. И др.
Совет. Существует ряд сторонних утилит (в основном коммерческих) позволяющих администратору выполнить проверку удаленной машины и детектировать источник блокировки учетных записей. В качестве довольно популярного решения отметим Account Lockout Examiner от Netwrix.

Для более детального аудита блокировок на найденной машине необходимо включить ряд локальных политик аудита Windows. Для этого на локальном компьютере, на котором нужно отследить источник блокировки, откройте редактор групповых политик Gpedit.msc и в разделе Compute Configurations -> Windows Settings -> Security Settings -> Local Policies -> Audit Policy включите политики:

  • Audit process tracking: Success , Failure
  • Audit logon events: Success , Failure

Аудит событий входа/выхода в систему

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

Выявлем процесс/программу из которой была залокирована учетная запись

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

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

Еще записи по теме: Active Directory
Понравилась статья? Скажи спасибо и расскажи друзьям!
Назад:
Вперед:

Комментариев: 15

Оставить комментарий
  1. sveta | 08.05.2014

    По ссылке Account Lockout and Management tool значится достаточно давний (2002) софт, который как указано на сайте — для максимум Win2003. Скажите — есть ли возможность вернуть закладочку Additional info в консоли ADUC для домена на базе Win2008R2? ADSI editor как-то не очень симпатичен, хочется проверенное и привычное….
    Спасибо за сайт и полезную информацию!

    Ответить
    • itpro | 20.05.2014

      Спасибо за отзыв!
      По сабжу: в консоли ADUC Windows 7  и выше, если включить в свойствах отображение дополнительных полей полей (View -> Advanced Features) в свойствах учетной записи появляется новая вкладка Attribute Editor — она по-сути показывает то же самое, что и консоль ADS, только без необходимости поиска.
      Если отфильтровать содержимое окна и включить «отображать только атрибуты со значениями) — то можно довольно быстро найти всю инфу, которую раньше выдавала вкладка Additional info (accountExpires, whenChanged  и тп.)

      Ответить
    • itpro | 21.05.2014

      Подробно описал как вернуть вкладку Additional info в домене на базе Win2008R2 и выше в этой статье.
      Спасибо за интересную идею статьи!

      Ответить
  2. sergey | 04.06.2015

    Добрый!

    На контроллерах домена(2k8)- их 3 штуки, нет события. политика аудита для контроллеров домена настроена по всем пунктам успех/отказ. Но событий 4740-нет, учетка блочится…

    Ответить
    • itpro | 05.06.2015

      В журналах безопасности другие события аудита отображаются?

      Ответить
  3. Дмитрий | 06.05.2016

    Добрый день.
    А возможно ли по средством powershell команды получить информацию о причинах блокировки учетной записи? Если можно, то, просьба, укажите её.

    Ответить
    • itpro | 06.05.2016

      Добрый!
      Причина блокировки всегда одна — попытки аутентифицироваться под пользователем с неверным паролем (в соответствии с настройками политик блокировки)

      Ответить
      • Дмитрий | 06.05.2016

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

        Ответить
        • itpro | 06.05.2016

          К примеру вот такой скрипт по мотивам статьи http://winitpro.ru/index.php/2016/05/04/prostaya-sistema-audita-udaleniya-fajlov-i-papok-dlya-windows-server/
          Фильтруем журнал по событию блокировки (id=4740), выводим время блокировки, учетку и имя компьютера, с которого прилетела блокировка:
          Get-WinEvent -FilterHashTable @{LogName=»Security»;id=4740} | Foreach {
          $event = [xml]$_.ToXml()
          if($event)
          {
          $Time = Get-Date $_.TimeCreated -UFormat «%Y-%m-%d %H:%M:%S»
          $User = $event.Event.EventData.Data[0].»#text»
          $source = $event.Event.EventData.Data[1].»#text»
          write-host «Time:» $Time — » User » $User » Source » $source
          }
          }

          Ответить
      • Дмитрий | 06.05.2016

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

        Ответить
      • Дмитрий | 06.05.2016

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

        Ответить
  4. Дмитрий | 06.05.2016

    Это понятно, но я хотел как бы выгрузку отчета об источнике блокировки, т.е. имя компьютера/сервера.

    Ответить
    • itpro | 06.05.2016

      Источник блокировки (имя компьютера) выводится скриптом. Он содержится в переменной $source

      Ответить
  5. Дмитрий | 14.05.2016

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

    PS C:\Windows\System32\WindowsPowerShell\v1.0> D:\Cache\blok_account.ps1
    Невозможно загрузить файл D:\Cache\blok_account.ps1, так как выполнение сценариев отключено в этой системе. Для получения дополнительных сведений
    см. about_Execution_Policies по адресу _http://go.microsoft.com/fwlink/?LinkID=135170.
    + CategoryInfo : Ошибка безопасности: (:) [], ParentContainsErrorRecordException
    + FullyQualifiedErrorId : UnauthorizedAccess

    У меня используется Windows 8.1 с установленным обновлением Win8.1AndW2K12R2-KB3066437-x64.msu

    Ответить
    • itpro | 16.05.2016

      Разрешите выполнение скриптов командой:
      Set-ExecutionPolicy RemoteSigned

      Ответить
Полные правила комментирования на сайте winitpro.ru. Вопросы, не связанные с содержимым статьи или ее обсуждением удаляются.

Сказать Спасибо! можно на этой странице или (еще лучше) поделиться с друзями ссылкой на понравившуюся статью в любимой социальной сети(специально для этого на сайте присуствуют кнопки популярных соц. сетей).

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

Я не робот( Обязательно отметьте)



MAXCACHE: 0.27MB/0.00105 sec