Как определить причину блокировки учётной записи в домене Active Directory – PowerShell: системное администрирование и программирование

Что это за процесс svchost и вирус или нет?

Начнем с того, что Generic Host Process for Win32 Services (а именно и есть тот самый svchost) представляет из себя системный процесс, вселенски важный в существовании Windows, а именно тех служб, программ и сервисов системы, которые используют, так называемые, DLL-библиотеки.

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

Соответственно, каждый svchost.exe обслуживает свой набор служб и программ, а посему, в зависимости от количества их в Windows, число этих самых процессов svchost может варьироваться от штуки до нескольких десятков. Еще раз для тех кто не понял: это процессы системы и трогать их не надо.

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

Сканирование на наличие вредоносных программ

Если вы обнаружите, что netsvcs имеет чрезмерно высокую загрузку ЦП или ОЗУ, есть несколько возможных решений этой проблемы. Раздутый системный процесс Svchost.exe (netsvcs) часто может быть вызван вредоносным ПО.

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

  • Нажмите кнопку Cortana на панели задач и введите «Защитник» в поле поиска.
  • Выберите, чтобы открыть Защитник Windows, показанный непосредственно ниже.
  • Нажмите кнопку Включить , чтобы активировать утилиту. Обратите внимание, что для проверки с помощью Защитника Windows вам необходимо закрыть стороннее антивирусное программное обеспечение.
  • Выберите параметр Полный для более тщательного сканирования.
  • Нажмите кнопку Сканировать сейчас .
  • Если Защитник Windows обнаружит что-либо, вы можете нажать кнопку Очистить компьютер , чтобы удалить обнаруженные объекты.

Очистите журнал просмотра событий

Проблема высокой загрузки ЦП или ОЗУ Svchost.exe (netsvcs) также может быть связана с чрезмерно полным журналом просмотра событий. Таким образом, очистка журнала Просмотр событий является еще одним потенциальным исправлением. Вот как вы можете очистить этот лог в Win 10.

  • Нажмите клавишу Win R, чтобы открыть Run.
  • Введите «eventvwr» в текстовом поле «Выполнить» и нажмите кнопку ОК . Это открывает Event Viewer, показанный непосредственно ниже.
  • Теперь вы можете дважды щелкнуть Журналы Windows.
  • Затем вы должны щелкнуть правой кнопкой мыши по Приложению и выбрать Очистить журнал в его контекстном меню.
  • Кроме того, очистите журналы установки, системы и безопасности.
  • Затем вы можете перезагрузить Windows 10.

Удалите папку SoftwareDistribution

SoftwareDistribution – это папка, в которой хранятся обновления, и их очистка также может помочь исправить Windows Update. Чтобы очистить эту папку, нажмите горячую клавишу Win R, чтобы открыть Run.

  • Введите «services.msc» в текстовом поле «Выполнить» и нажмите кнопку ОК .
  • Прокрутите окно служб до тех пор, пока не доберетесь до Центра обновления Windows. Затем вы можете щелкнуть правой кнопкой мыши Центр обновления Windows и выбрать Стоп .
  • Нажмите кнопку «Проводник» на панели задач.
  • Откройте папку C: Windows, которая содержит подпапку SoftwareDistribution.
  • Теперь вы можете щелкнуть правой кнопкой мыши папку SoftwareDistribution и выбрать Удалить .
  • Затем перезагрузите компьютер или ноутбук и проверьте наличие обновлений с помощью приложения «Настройки».

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

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

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

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

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

(Get-AdDomain).PDCEmulator

События блокировки учётной записи домена можно найти в журнале безопасности на контроллере домена. Чтобы его увидеть, запустите Event Viewer («Просмотр событий»), его можно открыть в командной строке:

:/>  Команды для командной строки Windows: список

eventvwr.msc


В окне Event Viewer («Просмотр событий») перейдите по пути Event Viewer (Local) → Windows Logs → Security (в русскоязычной версии это Просмотр событий (локальный) → Журналы Windows → Безопасность).

В Event Viewer («Просмотр событий») отфильтруйте журнал безопасности по Event ID («Код события») указав значение 4740, для этого нажмите Filter Current Log («Фильтр текущего журнала») и введите в поле <

Как отследить, какой процесс блокирует учётную запись домена

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

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

  • Подключённые сетевые диски (через net use);
  • Работы Windows Task Scheduler (Планировщика заданий Windows);
  • Службы Windows, настроенные для запуска из учётной записи домена;
  • Сохранённые учётные данные в Credential Manager (Диспетчере учётных данных) (в Панели управления);
  • Браузеры;
  • Мобильные устройства (например, те, которые используются для доступа к корпоративному почтовому ящику);
  • Программы с автоматическим входом или настроенная функция автоматического входа в Windows;
  • Отключённые/незанятые сеансы RDP на других компьютерах или серверах RDS (поэтому рекомендуется установить ограничения для сеансов RDP);

Подсказка: существует ряд сторонних инструментов (в основном коммерческих), которые позволяют администратору проверять удалённый компьютер и определять источник блокировки учётной записи. В качестве достаточно популярного решения отметим Lockout Examiner от Netwrix.

Чтобы выполнить подробный аудит блокировки учётной записи на найденном компьютере, необходимо включить ряд локальных политик аудита Windows. Для этого откройте локальный редактор групповой политики (gpedit.msc) на компьютере (на котором вы хотите отслеживать источник блокировки) и включите следующие политики в разделе Computer Configurations → Windows Settings → Security Settings → Local Policies → Audit Policy:

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


В русскоязычной версии это соответственно: Конфигурации компьютера → Конфигурация Windows → Параметры безопасности → Локальные политики → Политика аудита:

  • Аудит отслеживания событий: Успех, Отказ
  • Аудит событий входа в систему: Успех, Отказ

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

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

На русском это:

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


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

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

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


Вы также можете вывести список событий с кодом 4625 в PowerShell:

Get-WinEvent -FilterHashtable @{ LogName='Security'; Id='4625'; }

Следующую команду вы можете использовать для вывода событий блокировки для конкретного пользователя (впишите его вместо MiAl):

Get-WinEvent -FilterHashtable @{ LogName='Security'; Id='4625'; Data="MiAl" }

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

Get-WinEvent -FilterHashtable @{ LogName='Security'; Id='4625'; Data="MiAl" } | Format-List


Эта команда аналогична предыдущей, но покажет события только за последние 2 дня:

$Date = (Get-Date).AddDays(-2); Get-WinEvent -FilterHashtable @{ LogName='Security'; Id='4625'; Data="MiAl"; StartTime=$Date; } | Format-List

Связанные статьи:

Как распознать вирус svchost и сам файл

Начнем с того, что системный svchost.exe обитает исключительно в папке:

Где C: – диск куда установлена система, а * – длинное название папки вроде amd64_microsoft-windows-s..s-svchost.resources_31bf3856ad364e35_6.1.7600.16385_ru-ru_f65efa35122fa5be

Если он находится в любом другом месте, а особенно каким-то чудом поселился в самой папке WINDOWS, то наиболее вероятно (почти 95,5%), что это вирус (за редким исключением).

Привожу несколько самых путей маскировки вирусами под этот процесс:

И несколько самых часто используемых названий файлов, вирусами маскирующимися под svchost.exe:

:/>  ЗВУКОВЫЕ СИГНАЛЫ

Остальные, в общем-то, тоже бывают, но эти одни из самых популярных, так что имейте ввиду и будьте бдительны.

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

Как с помощью powershell найти компьютер на котором была заблокирована учётная запись

Вы можете использовать следующий скрипт PowerShell, чтобы найти источник блокировки учётной записи конкретного пользователя в журналах событий PDC. Этот скрипт возвращает время блокировки и имя компьютера, с которого она произошла (замените Alex на имя интересующего вас пользователя):

Как удалить и решить проблему с svchost или вирусом

В удалении этой гадости (если она все таки ею является) нам поможет старый-добрый AVZ.Что делаем:

  1. Скачиваем avz, распаковываем архив, запускаем avz.exe
  2. В окне программы выбираем “Файл” – “Выполнить скрипт“.
  3. Вставляем в появившееся окно скрипт:
    begin
    SearchRootkit(true, true);
    SetAVZGuardStatus(True);
    QuarantineFile('сюда вставлять путь к файлу (главное не перепутать кавычки)','');
    DeleteFile('сюда вставлять путь к файлу (главное не перепутать кавычки)');
    BC_ImportAll;
    ExecuteSysClean;
    ExecuteWizard('TSW',2,3,true);
    BC_Activate;
    RebootWindows(true);
    end.

    Где, как Вы понимаете, под словами “сюда вставлять путь к файлу (главное не перепутать кавычки)” нужно, собственно, вставить этот путь, т.е, например: C:WINDOWSsystemsyshost.exe прямо между, т.е получиться строки должны так:
    QuarantineFile('C:WINDOWSsystemsyshost.exe','');
    DeleteFile('C:WINDOWSsystemsyshost.exe');
  4. Жмем “Запустить“, предварительно закрыв все программы.
    выполнение скрипта для очистки вируса svchost.exe
  5. Ждем перезагрузки системы
  6. Проверяем наличие файла
  7. Проводим полноценную проверку на вирусы и spyware.

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

Впрочем, если и это не помогает, то есть еще небольшой способ (при учете конечно, что Вы сделали всё вышенаписанное), который может помочь.

Политики аудита входа в систему для контроллеров домена

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

  • Audit Account Lockout
  • Audit Logon
  • Audit Logoff

В русскоязычной версии это соответственно Конфигурация компьютера → Политики → Конфигурация Windows → Параметры безопасности → Конфигурация расширенной политики аудита → Политика аудита → Вход/Выход, политики:

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


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

Обратите внимание, что для использования параметров «Конфигурация расширенной политики аудита» также необходимо в Локальной политике безопасности (secpol.msc) включить по пути Параметры безопасности → Локальные политики → Параметры безопасности параметр «Аудит: принудительно переопределяет параметры категории политики аудита параметрами подкатегории политики аудита (Windows Vista или следующие версии)».

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

Политики блокировки учётных записей обычно устанавливаются в Default Domain Policy для всего домена с помощью оснастки gpmc.msc. Необходимые политики можно найти в Computer configuration→ Policies→ Windows Settings → Security Settings → Account Policies → Account Lockout Password (в русскоязычной версии это соответственно Конфигурация компьютера → Политики → Конфигурация Windows → Параметры безопасности → Политики учетных записей → Политика блокировки учётной записи). Это следующие политики:

  • Account Lockout Threshold (Пороговое значение блокировки) – количество неудачных попыток входа в систему (с неправильным паролем), которое может быть выполнено пользователем до блокировки его учётной записи;
  • Account Lockout Duration (Продолжительность блокировки учётной записи) — как долго будет заблокирована учётная запись, если пользователь несколько раз ввёл неверный пароль;
  • Reset account lockout counter after (Время до сброса счётчика блокировки) — количество минут, по истечении которых счётчик порога блокировки учётной записи будет сброшен.

Чтобы защитить учётные записи пользователей вашего домена от взлома пароля, рекомендуется использовать надёжные пароли пользователей в AD (длина пароля не менее 8 символов и включение требований к сложности пароля). Это настраивается в разделе Password Policy («Политика паролей»):

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

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

:/>  Как вести мониторинг температуры процессора, видеокарты, диска в режиме реального времени (т.е. видеть датчики с показателями в системном трее)


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

Послесловие

Как всегда, если будут какие-то вопросы, дополнения и прочие разности, то пишите в комментариях.

Буду рад почитать, послушать, поддержать и помочь 😉

Проверка поврежденных системных файлов в целях лечения

В редких (сильно) случаях может помочь вариант проверки системных файлов, который есть в самой системе. Перейдите по пути “C: -> Windows  -> System32” (где диск C: – это тот, куда установлена система).

Там найдите cmd.exe, нажмите на него правой кнопкой мышки и выберите пункт “Запуск от имени администратора”.

В самой командной строке введите строку:

sfc /scannow

И дождитесь окончания процесса. Система проведет сканирование всех защищенных системных файлов и заменит все поврежденные файлы. Возможно это не вылечит сам svchost, но может починить сопутствующие файлы, которые приводит к нагрузкам и другим проблемам.

Разница между отключённой, просроченной и заблокированной учётной записью


Данная статья посвящена заблокированным аккаунтом (в английской версии это locked out). Но кроме блокировки аккаунта, возможны следующие причины, почему пользователь не может войти в домен:

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

Отключённые аккаунты (disabled)

Администратор домена может вручную отключить (деактивировать) аккаунт пользователя. Если пользователь отключён, то будет выведено сообщение:

Ваша учётная запись отключена. Обратитесь к системному администратору.

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

Заблокированные аккаунты (locked out)

Учётная запись может быть заблокирована автоматически в соответствии с политикой блокировки учётной записи организации. Если пользователь ввёл неправильный пароль более определённого количества раз (порог устанавливается политикой паролей), то его аккаунт автоматически блокируется на время, которое также устанавливается политикой паролей.

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

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

Блокировка может быть снята автоматически после истечения сроки блокировки, установленной в политике паролей домена. Также администратор может ускорить этот процесс и снять блокировку вручную.


Если время разблокировки в групповой политике пароля установлено на 0, то такая учётная запись никогда не будет разблокирована автоматически, для её разблокировки требуется действие администратора домена.

Учётные записи с истекшим сроком действия (expired)

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

Запрет доступа по другим причинам

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

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

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

Вы не можете сейчас войти в систему из-за ограничений вашей учётной записи. Попробуйте ещё раз позже.

Данные ограничения могут перестать действовать в определённые часы или на определённых компьютерах. Эти ограничения устанавливает и снимает администратор домена.

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

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

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

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

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

В Windows на английском языке сообщение выглядит так:

The referenced account is currently locked out and may not be logged on to ….