Отслеживание событий — основа безопасности систем

Когда на компьютере происходит какое-либо значимое событие, операционная система записывает это событие в журнал. Входом в журналы служит Event Viewer (eventvwr.exe). Большинство администраторов открывают Event Viewer, только когда пытаются решить какую-нибудь проблему, и многие знакомые администраторы говорят мне, что используют Event Viewer только на серверах. Оба подхода ошибочны, потому что периодическая проверка системных журналов часто позволяет выявлять неполадки на ранней стадии, до того как они превратятся в серьезную проблему. Уметь пользоваться Event Viewer очень важно, поэтому я хочу предложить читателям краткий обзор по этой теме и представить свои способы работы с Event Viewer.

Общие сведения

Event Viewer открывается через меню Administrative Tools (если это меню добавлено в Programs) или через приложение Administrative Tools панели управления. Консоль программы Event Viewer содержит список доступных журналов. На компьютерах Windows по умолчанию имеются следующие журналы:

  • Application (журнал приложе-ний) — содержит события, записываемые программами. Приложение определяет типы записываемых событий и язык сообщения.
  • Security (журнал безопасности) — содержит события, относящиеся к безопасности компьютера, такие как попытки регистрации в системе или манипуляции с файлами.
  • System (журнал системы) — содержит события, записываемые компонентами Windows.

В системах Windows Server 2003 и Windows 2000 Server в зависимости от роли сервера можно также использовать следующие журналы:

  • Directory Service — содержит события, имеющие отношение к Active Directory (AD), и доступен только на контроллерах домена (DC).
  • File Replication Service — содержит события, записываемые во время репликации между DC, и доступен только на DC.
  • DNS Server — содержит события, относящиеся к разрешению имен DNS, и доступен только на серверах DNS.

Event Viewer отображает типы событий, каждое из которых имеет собственный уровень важности и собственную пиктограмму в журнале. Например:

  • Error (ошибка) — сигнализирует об актуальной проблеме, которая может касаться потери функциональности, такой как нарушение корректного запуска служб и драйверов.
  • Warning (предупреждение) — указывает на проблему, которая впоследствии может стать серьезной, если не обращать внимания на предупреждение. Предупреждения сугубо информативны и не свидетельствуют о наличии проблемы в настоящем или обязательном ее появлении в будущем.
  • Success Audit (аудит успехов) — это событие, имеющее отношение к системе безопасности, которое произошло и записывается потому, что система или администратор включили аудит данного события.
  • Failure Audit (аудит отказов) — это событие, имеющее отношение к системе безопасности, которое не произошло, но запись о нем делается потому, что система или администратор включили аудит данного события.

Информация, отображаемая в Event Viewer, включает дату и время, когда произошло событие, источник события (то есть служба, драйвер устройства или приложение, записавшее событие в журнал), категорию события, ID события, имя пользователя, который был зарегистрирован в системе, когда событие произошло (не обязательно) и имя компьютера, на котором произошло событие. Для того чтобы просматривать журнал Security, необходимо иметь права администратора.

Настройка Event Viewer

Системные журналы начинают функционировать автоматически при запуске операционной системы. Размеры журнальных файлов ограничены, и система записывает события, удаляя старые записи в соответствии с выбором параметров журнала. Чтобы просмотреть или изменить конфигурацию, нужно щелкнуть правой кнопкой на имени журнала в списке Event Viewer и выбрать в раскрывающемся меню пункт Properties. Должно появиться соответствующее диалоговое окно свойств, как показано на экране 1.

Экран 1. Настройка размеров и режима перезаписи журнала System

Менять конфигурацию следует в зависимости от ситуации. Если вы не вносите существенных изменений в конфигурацию журнала или не видите необходимости в аудите событий, то работа настроек по умолчанию должна вас устроить. Настройка по умолчанию для максимального размера файла журнала составляет 512 Кбайт, и когда журнал заполнен, система автоматически заменяет старые записи новыми через 7 дней. Однако, если в систему вносятся существенные изменения или вводится в действие подробный аудит, журналы, скорее всего, начнут заполняться многочисленными записями. Если журнал оказывается заполненным и не содержит записей, хранящихся более 7 дней, утилите Event Viewer будет нечего удалить, чтобы освободить место для новых записей, и система прекратит записывать события. В этой ситуации нужно увеличить размер журнального файла или выполнить настройку журнала на затирание старых записей по мере необходимости (вариант Overwrite events — as needed).

Фильтры

Когда администратор исследует журнал, чтобы решить какую-либо проблему, или проверяет реакцию компьютера на существенное изменение конфигурации, он может ускорить этот процесс, избавившись от не имеющих отношения к делу записей в панели Details. Диалоговое окно Properties каждого журнала имеет вкладку Filter, с помощью которой выбираются типы отображаемых событий. Например, вы не хотите видеть информационные записи от определенных компьютеров или вы хотите видеть только события, произошедшие в течение недели после внесения системных изменений. Следует просто нужным образом выбрать фильтры (или отменить выбор). Помните, что фильтры влияют только на то, что отображается в окне; система продолжает записывать в журнал события тех типов, которые были отфильтрованы. Например, если есть основания полагать, что возникла угроза системе безопасности в виде вторжения извне, можно оставить для отображения события только тех типов, быстрый взгляд на которые позволяет обнаружить аномалии в регистрации, такие как события с ID 675 и 681, соответствующие неудачным попыткам аутентификации, или событие с ID 644, означающее блокировку учетной записи вследствие многократного некорректного ввода пароля.

Сортировка журнала

Погружаясь в решение какой-нибудь проблемы, я предпочитаю сортировать журналы, чтобы иметь возможность находить нужные записи непосредственно по типу события, идентификационному номеру (ID) события или по предполагаемому источнику сообщения. Например, я могла бы задаться целью найти событие Userenv, если проблема касается некоторого пользователя, имеющего проблемы с доступом в сети.

Общее событие Userenv имеет ID 1000 в журнале приложений и его описание гласит, что Windows не смогла определить имя пользователя или компьютера. Это означает, что конфигурация TCP/IP компьютера для обращения к DNS-серверу установлена некорректно. Администраторы сплошь и рядом используют неправильные адреса при настройке DNS на клиентских компьютерах; я часто нахожу IP-адрес шлюза в поле для адреса DNS. Проверку журнала компьютера-«обидчика» со своей рабочей станции обычно выполнить проще, чем идти к клиентскому компьютеру и проверять настройки TCP/IP.

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

Очистка журнала

Любой журнал можно очистить, чтобы освободить дополнительное место для записей. Если выбрана настройка Do not overwrite events (clear log manually) —«Не затирать события (очистка журнала вручную)», необходимо периодически чистить журнал.

Чтобы очистить журнал, следует щелкнуть правой кнопкой на названии журнала в списке консоли Event Viewer и выбрать пункт Clear all Events («Стереть все события»). Система спрашивает, нужно ли сохранить журнал перед тем, как очистить его. Если в журнале есть записи, которые могли бы пригодиться в будущем (например, при длительном отслеживании проблемы), можно выполнить архивацию содержимого журнала.

Архивация журнала

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

Чтобы создать архивную копию журнала, нужно щелкнуть правой кнопкой мыши по названию журнала в консоли и выбрать в меню Save Log File As («Сохранить файл журнала как...»). По умолчанию Windows сохраняет файл в папке Administrative Tools, расположенной в папке C:documentssettingsusernamestart menuprograms. Можно указать другую папку или создать отдельную папку для хранения архивных копий журналов. Я обычно присваиваю журналам имя в формате имя_журнала-дата (например, apps-dec012003). Windows добавляет расширение .evt.

Архивные копии журналов являются отдельными файлами на жестком диске, но открывать их можно только через программу просмотра событий Event Viewer. Для этого следует выбрать пункт Open Log File («Открыть файл журнала») в меню Action (или щелкнуть правой кнопкой по любому объекту в консоли и выбрать Open Log File). В диалоговом окне открытия файла требуется выбрать нужный архив, указать тип журнала (т. е. Application, Security) в меню со списком Log Type, затем щелкнуть Open.

Чтобы удалить архив из консоли, следует щелкнуть правой кнопкой по его названию в списке и выбрать Delete. Это действие не удаляет файл с жесткого диска — только из консоли. Удаление архивной копии журнала с жесткого диска выполняется так же, как и удаление любого другого файла.

Просмотр событий на удаленном компьютере

Чтобы облегчить себе задачу, администратор может со своей рабочей станции просматривать журналы удаленных компьютеров, на которых у него есть административные привилегии. На удаленном компьютере должна быть установлена Windows 2003, Windows XP, Windows 2000 Professional, Windows 2000 Server, Windows NT Server или NT Workstation.

На локальной консоли просмотра событий нужно щелкнуть правой кнопкой Event Viewer (Local) и выбрать Connect to another computer («Подключиться к другому компьютеру»). Следует ввести имя удаленного компьютера, с которым предстоит работать, или щелкнуть Browse, чтобы открыть диалоговое окно, показанное на экране 2, затем выбрать компьютер. Кроме того, если имя удаленного компьютера известно, нет необходимости вводить его в виде имени UNC. Вид консоли Event Viewer меняется таким образом, что отображает имя UNC удаленного компьютера. На удаленном компьютере можно производить те же действия, что и на локальном Event Viewer. Чтобы вернуться на локальный компьютер, следует щелкнуть правой кнопкой Event Viewer (имя компьютера), выбрать Connect to another computer, а затем Local computer.

Экран 2. Доступ к удаленному компьютеру из Event Viewer

Что искать при просмотре событий

Большинство реальных и потенциальных проблем проявляют себя посредством записи событий в тот или иной журнал. Когда вы видите запись с пометкой Error или Warning, будьте внимательны. Поищите информацию об этом событии в Microsoft Knowledge Base или на Web-сайте Windows & .NET Magazine. Если медлить с просмотром журналов, вы упустите возможность предотвратить проблему. Приведу пример. Во время периодических просмотров журналов на всех компьютерах своей сети я обнаруживаю запись в системном журнале, которая показана на экране 3. Никаких видимых признаков неполадок на компьютере не было.

Экран 3. Обнаружение надвигающегося сбоя в Event Viewer

Я быстро выполняю резервное копирование данных компьютера и запускаю программу Chkdsk, которая перемещает файлы (это были системные файлы) из испорченной области и помечает ее как испорченную, чтобы предотвратить дальнейшую запись в эту часть диска. Затем я начинаю ежедневно проверять системный журнал в течение нескольких недель и, только убедившись, что никаких новых сообщений об ошибках не появляется, возвращаюсь к еженедельному просмотру Event Viewer. Увидев дополнительные сообщения об ошибках, я бы заменила диск. Если бы я периодически не проверяла журналы компьютера, диск мог бы продолжать разваливаться и резервное копирование оказалось бы бесполезным из-за порчи файлов.

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

Следует также просматривать все события в журнале безопасности. Этот журнал будет оставаться пустым до тех пор, пока вы не установите аудит событий безопасности. Если аудит событий безопасности установлен, ищите значительные события в зависимости от настроек аудита. Журнал безопасности — единственный журнал в Event Viewer, для просмотра которого необходимы административные полномочия. Более подробную информацию об аудите событий безопасности можно найти в статье «Мониторинг событий безопасности» (Windows & .NET Magazine/RE, №7 за 2003 год, и на Web-странице http://www.osp.ru/win2000/2003/07/019.htm).

Как остановить запись нежелательных событий

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

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

Можно изменить выбор событий печати, записываемых в системный журнал, в папке Printers компьютера (в Windows 2003 и XP она называется Printers and Faxes). Выберите File, Server Properties и перейдите на вкладку Advanced, показанную на экране 4. Можно просто отменить выбор событий, которые вы не хотите регистрировать в журнале.

Экран 4. Выбор событий печати, записываемых в журнал System

Возьмите за правило

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


Кэти Ивенс (kivens@win2000mag.com) — редактор Windows & .NET Magazine. Является соавтором более 40 книг по компьютерной тематике, включая «Windows 2000: The Complete Reference»