Главная мысль
Сопоставляйте событие с системными, прикладными и серверными записями за тот же период. Сначала проверьте действующие параметры аудита и журналирования: событие, которое не записывалось, нельзя найти задним числом.
Выберите нужный журнал в Event Viewer
В Event Viewer раздел Windows Logs содержит журналы Application, Security, Setup, System и Forwarded Events; Application and Services Logs включает каналы конкретных продуктов и служб. Сначала сузьте время по обращению пользователя или сигналу мониторинга, затем фильтруйте по источнику, Event ID и уровню. Обычно не нужно обращаться к файлам напрямую: фильтры и экспорт Event Viewer дают более безопасный и воспроизводимый путь расследования.
Ограничьте период
Выберите интервал до и после события; зафиксируйте системные часы и часовой пояс.
Выберите журнал и уровень
System — для драйверов и служб, Application — для ошибок приложений, Security — для событий аудита.
Сопоставьте связанные записи
Сопоставьте несколько источников по времени, источнику события, пользователю или идентификатору корреляции.
Читайте ошибки через PowerShell
Get-WinEvent запрашивает Windows Event Log и ETW-журналы. FilterHashtable применяет условия по времени, каналу и уровню при чтении журнала, что предпочтительнее, чем сначала получать все записи большого журнала, а затем фильтровать. Пример ниже читает ограниченный список событий уровня Error из журнала System за последние 24 часа. Для некоторых каналов нужны дополнительные права.
$since = (Get-Date).AddHours(-24)
Get-WinEvent -FilterHashtable @{ LogName = 'System'; Level = 2; StartTime = $since } -MaxEvents 100 | Select-Object TimeCreated, Id, ProviderName, LevelDisplayName, Message
Читайте события Security в контексте
В журнале Security событие 4624 означает успешный вход, а 4625 — неудачную попытку входа. Сам по себе Event ID не доказывает компрометацию: сопоставьте учётную запись, тип входа, исходный адрес, узел, время и обычное поведение этой учётной записи. Наличие события зависит от политики аудита; например, для изменения разрешений объекта 4670 могут потребоваться соответствующая настройка аудита и SACL объекта. 4688 фиксирует создание процесса, но поле командной строки включается отдельной политикой аудита. Проверяйте смысл Event ID по актуальной документации Microsoft и своей версии Windows.
4624 и 4625
Успешные и неудачные входы; анализируйте вместе с пользователем, типом входа, исходным узлом и результатом.
Политика аудита
Убедитесь, что включена нужная категория аудита для сбора интересующих событий.
Экспорт и передача
Ограничьте экспорт для поддержки: сообщения могут содержать сведения о пользователях, узлах и внутренней инфраструктуре.
Настройте журналы IIS в формате W3C
В IIS 7 и новее формат W3C используется по умолчанию; поля выбираются на уровне сервера или сайта. Строка #Fields показывает порядок полей в конкретном файле. Для диагностики часто полезны дата и время, IP-адрес клиента, метод, путь URI, HTTP-статус, дополнительный код состояния и time-taken. Поле UriQuery, источник перехода (referrer), user-agent и дополнительные поля могут содержать чувствительные значения: включайте их только при необходимости. В IIS Manager проверьте формат, каталог и поля в разделе Logging сайта; обычный каталог по умолчанию — %SystemDrive%\inetpub\logs\LogFiles.
HTTP-статус
404 может указывать на отсутствующий ресурс, а 5xx — на серверную проблему; уточните причину по дополнительному коду состояния и журналу приложения.
Время и объём
Поля time-taken и объёма переданных данных помогают сопоставить медленный запрос с нагрузкой на ресурсы.
Выбор полей
Выбирайте поля по задаче и проверяйте риск чувствительных данных в строке запроса и адресе источника перехода.
Сравнивайте журналы веб-серверов
Форматы журналов доступа в Apache, NGINX и IIS и названия полей отличаются; перед настройкой парсера проверьте реальные строки и заголовки. Метод запроса, URI, статус, размер ответа, user-agent и время помогают анализировать трафик и ошибки сервера. При анализе поисковых ботов не полагайтесь только на текст user-agent: это поле передаётся клиентом и может быть подделано. Журнал показывает запросы, увиденные сервером, а не полный путь и намерения пользователя на сайте.
| Источник | Что показывает | Проверка |
|---|---|---|
| Журнал доступа | Запрос, статус ответа, передача и время. | Проверьте заголовок формата и порядок полей. |
| Журнал ошибок/приложения | Ошибка сервера или кода, компонент и контекст. | Сопоставьте с записью журнала доступа по ID запроса и времени. |
Управляйте ротацией и хранением
IIS может создавать новый файл по периоду или заданному пределу размера; это само по себе не устанавливает срок хранения. Максимальный размер и поведение при заполнении Windows Event Log настраиваются отдельно. Linux logrotate может ротировать, архивировать и сжимать файлы по времени или размеру; проверьте, продолжает ли приложение писать в переименованный файл. Для каждой среды определите архивную копию, права доступа, срок очистки и оповещение о заполнении диска. Соответствие срока хранения законодательным или отраслевым требованиям должен определять ответственный специалист организации.
