Как посмотреть журнал

Применение Аудита Windows для отслеживания деятельности пользователей

Среда, 31 — Август — 2011

Иногда случаются события, которые требуют от нас ответить на вопрос «кто это сделал?» Такое может происходить «редко, но метко», поэтому к ответу на вопрос следует готовиться заранее.

Практически повсеместно существуют проектные отделы, бухгалтерия, разработчики и другие категории сотрудников, совместно работающие над группами документов, хранящихся в общедоступной (Shared) папке на файловом сервере или на одной из рабочих станций. Может случиться так, что кто-то удалит важный документ или директорию из этой папки, в результате чего труд целого коллектива может быть потерян. В таком случае, перед системным администратором возникает несколько вопросов:

  • Когда и во сколько произошла проблема?
  • Из какой наиболее близкой к этому времени резервной копии следует восстановить данные?
  • Это случилось непреднамеренно, или же кто-то действовал с умыслом?
  • Может, имел место системный сбой, который может повториться ещё раз?

В Windows имеется система Аудита, позволяющая отслеживать и журналировать информацию о том, когда, кем и с помощью какой программы были удалены документы. По умолчанию, Аудит не задействован — слежение само по себе требует определённый процент мощности системы, а если записывать всё подряд, то нагрузка станет слишком большой. Тем более, далеко не все действия пользователей могут нас интересовать, поэтому политики Аудита позволяют включить отслеживание только тех событий, что для нас действительно важны.

Система Аудита встроена во все операционные системы Microsoft Windows NT: Windows XP/Vista/7, Windows Server 2000/2003/2008. К сожалению, в системах серии Windows Home аудит спрятан глубоко, и его настраивать слишком сложно.

Что нужно настроить?

Для включения аудита зайдите с правами администратора в компьютер, предоставляющий доступ к общим документам, и выполните команду Start → Run → gpedit.msc. В разделе Computer Configuration раскройте папку Windows Settings → Security Settings → Local Policies → Audit Policies:

Дважды щёлкните по политике Audit object access (Аудит доступа к объектам) и выберите галочку Success. Этот параметр включает механизм слежения за успешным доступом к файлам и реестру. Действительно, ведь нас интересуют только удавшиеся попытки удаления файлов или папок. Включите Аудит только на компьютерах, непосредственно на которых хранятся отслеживаемые объекты.

Простого включения политики Аудита недостаточно, мы также должны указать, доступ к каким именно папкам требуется отслеживать. Обычно такими объектами являются папки общих (разделяемых) документов и папки с производственными программами или базами данных (бухгалтерия, склад и т.п.) — то есть, ресурсы, с которыми работают несколько человек.

Заранее угадать, кто именно удалит файл, невозможно, поэтому слежение и указывается за Всеми (Everyone). Удавшиеся попытки удаления отслеживаемых объектов любым пользователем будут заноситься в журнал. Вызовите свойства требуемой папки (если таких папок несколько, то всех их по очереди) и на закладке Security (Безопасность) → Advanced (Дополнительно) → Auditing (Аудит) добавьте слежение за субъектом Everyone (Все), его успешными попытками доступа Delete (Удаление) и Delete Subfolders and Files (Удаление подкаталогов и файлов):

Событий может журналироваться довольно много, поэтому также следует отрегулировать размер журнала Security (Безопасность), в который они будут записываться. Для
этого выполните команду Start → Run → eventvwr.msc. В появившемся окне вызовите свойства журнала Security и укажите следующие параметры:

  • Maximum Log Size = 65536 KB (для рабочих станций) или 262144 KB (для серверов)
  • Overwrite events as needed.

На самом деле, указанные цифры не являются гарантированно точными, а подбираются опытным путём для каждого конкретного случая.

Итак, кто же удалил документы (Windows 2003/XP)?

Нажмите Start → Run → eventvwr.msc и откройте для просмотра журнал Security (Безопасность). Журнал может быть заполнен событиями, прямого отношения к проблеме не имеющими. Щёлкнув правой кнопкой по журналу Security, выберите команду View → Filter и отфильтруйте просмотр по следующим критериям:

  • Event Source:Security;
  • Category: Object Access;
  • Event Types: Success Audit;
  • Event ID: 560;

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

  • Object Name. Название искомой папки или файла;
  • Image File Name. Имя программы, с помощью которой удалили файл;
  • Accesses. Набор запрашиваемых прав.

Программа может запрашивать у системы сразу несколько типов доступа — например, Delete+Synchronize или Delete+Read_Control. Значимым для нас правом является Delete.

Итак, кто же удалил документы (Windows 2008/Vista)?

Нажмите Start → Run → eventvwr.msc и откройте для просмотра журнал Security (Безопасность). Журнал может быть заполнен событиями, прямого отношения к проблеме не имеющими. Щёлкнув правой кнопкой по журналу Security, выберите команду View → Filter и отфильтруйте просмотр по следующим критериям:

  • Event Source: Security;
  • Category: Object Access;
  • Event Types: Success Audit;
  • Event ID: 4663;

Не спешите интерпретировать все удаления как злонамеренные. Эта функция зачастую используется при обычной работе программ — например, исполненяя команду Save (Сохранить), программы пакета Microsoft Office сначала создают новый временный файл, сохраняют в него документ, после чего удаляют предыдущую версию файла. Аналогично, многие приложения баз данных при запуске сначала создают временный файл блокировок (.lck), затем удаляют его при выходе из программы.

Мне приходилось на практике сталкиваться и со злонамеренными действиями пользователей. Например, конфликтный сотрудник некоей компании при увольнении с места работы решил уничтожить все результаты своего труда, удалив файлы и папки, к которым он имел отношение. События такого рода хорошо заметны — они генерируют десятки, сотни записей в секунду в журнале безопасности. Конечно, восстановление документов из Shadow Copies (Теневых Копий) или ежесуточно автоматически создаваемого архива не составляет особого труда, но при этом я мог ответить на вопросы «Кто это сделал?» и «Когда это произошло?».

Информации о последнем входе в Windows на экране приветствия

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

В этой статье разберемся, как включить отображение информации о последнем интерактивном входе в систему на экране приветствия. Данный функционал будет работать на всех ОС Windows, начиная с Windows Vista, а для работы на доменном уровне требует функционального уровня домена не менее Windows Server 2008. Именно в этой версии в схеме Active Directory появился ряд новых атрибутов пользователя, которые содержат информацию о попытках интерактивного входа в систему.

  • msDS—FailedInteractiveLogonCount – количество неудачных попыток входа в систему с момента включения политики сбора информации
  • msDS—FailedInteractiveLogonCountAtLastSuccessfulLogon – количество неудачных попыток интерактивного входа с момент последней успешной попытки авторизации
  • msDS-LastFailedInteractiveLogonTime – время последней неудачной попытки входа
  • msDS—LastSuccessfulInteractiveLogonTime – время последней удачной попытки входа на рабочую станцию

Указанные выше атрибуты, в отличии от уже знакомым нам атрибутов lastLogon, lastLogontimeStamp, badPasswordTime и badPwdCount (появившихся еще в Windows 2000), реплицируются между всеми контроллерами домена.

Примечание. Атрибут lastLogontimeStamp на самом деле тоже реплицируются между DC, но проводится это операция нечасто – раз 9-14 дней. И служит атрибут не столько для интерактивного мониторинга попыток входа, сколько для отслеживания времени неактивности учетной записи.

Включить отображение на экране приветствия информации о предыдущих попытках входа в систему можно через групповую политику. Для этого откройте консоль управления локальной групповой политикой: gpedit.msc (если нужно включить данный функционал на компьютере для локальной учетной записи) или консоль gpmc.msc (для создания/модификации доменной политики) и перейдите в раздел: Computer Configuration -> Policies -> Administrative Templates -> Windows Components -> Windows Logon Options . Нас интересует политика Display information about previous logons during user logon.

Чтобы активировать политику, поменяем ее значение на Enabled и сохраним изменения.

Политика будет работать на всех компьютерам с ОС, выше Windows Vista. Машины с Windows XP и Windows Server 2003 эту групповую политику игнорируют.

Осталось применить политику к целевому компьютеру:

  • В случае использования локальной политики достаточно выполнить команду gpupdate /force и перезайти в систему (политика будет работать только для локальных учетных записей).
  • Если же используется доменная GPO, эту политику придется применить сначала ко всем контроллерам домена. И лишь, дождавшись окончания ее репликации и выполнения на всех DC, назначить политику на нужный контейнер Active Directory. Важно. Политику Display information about previous logons during user logon нужно применить к контроллерам домена для чтобы на них стала собираться данная информация (будут заполнятся рассмотренные выше атрибуты). Если этого не сделать, войти на ПК, на который действует эта политика не удастся!

Совет. Продиагностировать применение политик можно с помощью утилиты gpresult.

При следующем входе в систему после ввода пароля учетной записи появится сообщение с текстом:

Successful sign-in. The last time you interactively signed in to this account was: …

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

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

Неудачный вход в систему. Со времени последнего интерактивного входа в систему не предпринималось попыток входа в систему

Чтобы продолжить загрузку системы пользователю нужно нажать OK (или Enter).

На локальных ПК, но которых отсутствует редактор групповых политик, включить эту функцию можно через редактор реестра, для чего:

  1. Запустите regedit.exe
  2. Перейдите в ветку HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System
  3. Отредактируйте (а если он отсутствует – создайте) параметр типа DWORD с именем DisplayLastLogonInfo
  4. Чтобы включить отображение информации о последнем входе, укажите значение 1. Если эту функцию нужно отключить – 0.

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

6. Ищем программы, которые запускались в ваше отсутствие

В последних версиях операционной системы Windows (если не ошибаюсь, что начиная с 7 или даже с Vista) среди атрибутов файла имеется поле «Дата открытия». Соответственно, она означает, когда пользователь совершил на нем двойной клик и запустил его.

Для этого нам необходимо найти все программы. Запускаем Проводник и заходим в папку «C:\Program Files\», в правом верхнем углу в поле для поиска вводим поисковой запрос «*.exe» и жмем Enter.

В списке начнут появляться исполняемые файлы, которые находятся в этой папке.

Нам нужно на вкладке «Вид» переключиться в режим «Таблица». Затем кликнуть по заголовку любого столбца правой кнопкой мышки и в появившемся меню выбрать пункт «Подробнее…».

В появившемся маленьком окошке ищем пункт «Дата доступа», устанавливаем напротив него галочку и жмем ОК.

Остается кликнуть по заголовку столбца «Дата доступа» и найти интересующий период времени, когда предполагаемый неизвестный что-то делал на компьютере.

Если вы используете 64-разрядную версию Windows, то у вас будет еще одна папка — «C:\Program Files (x86)\». С ней нужно проделать то же самое.

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

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

7. Анализируем файлы журналов

Журналы Windows содержат довольно много информации о работе пользователей, ходе загрузки операционной системы и ошибках в работе приложений и ядра системы. Вот туда мы и заглянем в первую очередь.

Откройте «Панель управления» (Control Panel), найдите пункт «Администрирование» (Administrative Tools) и выберите «Управление компьютером» (Computer Management).

Здесь вы увидите «Просмотр событий» (Event Viewer) в левой навигационной панели. Вот в этом пункте меню и находятся «Журналы Windows». Их несколько: Приложение, Безопасность, Установка, Система.

Журнал безопасности

Нас сейчас больше всего интересует журнал безопасности. Он обязательно содержит информацию о входе в систему всех пользователей. Найдите запись о вашем последнем выходе из системы. А все записи журнала, которые будут расположены между вашим последним выходом и сегодняшним входом — это следы деятельности другого лица.

Журнал приложений

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

Итак, анализируя два этих журнала, вы точно определите не только сам факт входа под вашим именем в ваше отсутствие, но и определите приложения, которые запускал этот неизвестный.