Что такое лог в компьютере
Логи сервера это текстовые файлы, которые генерирует сервер для протоколирования доступа к нему.
Текстовый файл может быть без расширения. Находится обычно в папке logs на сервере. В него заносятся результаты обращений к серверу.
Где найти и как выглядят логи
Специалисты знают где смотреть, а обычному пользователю доступ на сервер, как правило, закрыт. Однако большинство хостингов выводит логи через графический интерфейс. Таким образом позволяя пользователям самим анализировать результаты работы сайта. Чтобы найти логи посмотрите внимательно интерфейсы панели управления сайтом.
Так выглядит папка с логами на хостинге hostland через фтп проводник:
В данном случае это запакованные текстовые файлы. Скачиваем на компьютер нужный (по дате и веремни создания), распаковываем и смотрим любым тестовым редактором.
Если затруднились найти, то почитайте справку или обратитесь в техподдержку.
Вот это, например, строки из одного такого файла
Не очень показательно тут. На самом деле одна запись занимает одну строку. Записи разделены в файле построчно. Новая запись - новая строка.
Потенциальные источники логов безопасности
- Журналы операционной системы серверов и рабочих станций
- Журналы приложений (например, веб-сервер, сервер баз данных)
- Журналы инструментов безопасности (например, антивирус, инструменты обнаружения изменений, системы обнаружения/предотвращения вторжений)
- Исходящие журналы прокси-сервера и журналы приложений конечных пользователей
- Не забудьте также рассмотреть другие источники событий безопасности, не входящие в журналы.
Как в него войти?
Щелкните правой кнопкой мыши по значку главного системного меню. Второй вариант, предназначенный преимущественно для сенсорных экранов, тапните по нему и некоторое время удерживайте до появления на дисплее контекстного меню. Отсюда предстоит перейти к просмотру событий.
Когда журнал откроется, вы увидите в левой верхней части окна строку меню и панель. Слева располагается вложенное окошко, в котором вы сможете выбирать, какие именно события хотите просмотреть. В их числе - относящиеся к определенными приложениям, системе в целом и ее безопасности.
Как читать лог сервера
Разбиваем строку на части:
1. 109.173.59.49 - IP адрес с которого был запрос
2. [03/Apr/2015:12:56:18 +0300] - дата и время запроса
3. GET или POST - тип запроса, иногда можно встретить определение "метод запроса"
4. /sites/all/modules/fivestar/widgets/default/star.jpg - объект запроса
6,7. 200 434 - коды ответа сервера . В данном случае запрос прошел (код 200 ОК), но запрашиваемая страница недоступна (код 434 запрашиваемый адрес недоступен)
8. " http://linksfree.ru/content/kak-zamenit-posadochnuyu-stranicu " страница по которой был запрос (то есть страница разбивается на объекты и идет иерархический доступ)
9. "Opera/9.80 (Windows NT 6.1; WOW64) Presto/2.12.388 Version/12.16" - данные о постетителе , с какой системы пришел запрос
В целом это какая страница запрашивалась, с какой странице пришел запрос и что в ответ выдал сервер. А что в каком порядке утверждать не возьмусь без справочника. Главное, что общая картина понятна.
В целом иерархия такая: сайт - страница - объект на странице - объект на объекте.
Не один, а много разных журналов
Выглядит он как небольшая подборка логов, которые система записывает в ходе работы компьютера. Эти журналы являются обычными текстовыми файлами, записанными в формате XML.
Неправильно считать, что речь только об одном файле. Их несколько - администрирования, операционный, аналитический и отладки, не говоря уже о лог-файлах отдельных приложений. Их также называют еще и файлами регистрации.
Что означают записи лога различных типов?
Что искать в логах веб-сервера
Какие события записываются в системном журнале?
Каждый осуществляемый доступ, изменения конфигурации безопасности, сбой операционной системы, аппаратных компонентов или драйверов оставляет след в том или ином логе событий.
Полезные ссылки
Если вам интересна эта тема, то пишите комментарии, мы будем рады вам ответить. Подписывайтесь в нашу группу VK и канал Telegram, если хотите быть в курсе новых статей.
Пора поговорить про удобную работу с логами, тем более что в Windows есть масса неочевидных инструментов для этого. Например, Log Parser, который порой просто незаменим.
В статье не будет про серьезные вещи вроде Splunk и ELK (Elasticsearch + Logstash + Kibana). Сфокусируемся на простом и бесплатном.
До появления PowerShell можно было использовать такие утилиты cmd как find и findstr. Они вполне подходят для простой автоматизации. Например, когда мне понадобилось отлавливать ошибки в обмене 1С 7.7 я использовал в скриптах обмена простую команду:
Она позволяла получить в файле fail.txt все ошибки обмена. Но если было нужно что-то большее, вроде получения информации о предшествующей ошибке, то приходилось создавать монструозные скрипты с циклами for или использовать сторонние утилиты. По счастью, с появлением PowerShell эти проблемы ушли в прошлое.
Основным инструментом для работы с текстовыми журналами является командлет Get-Content, предназначенный для отображения содержимого текстового файла. Например, для вывода журнала сервиса WSUS в консоль можно использовать команду:
Для вывода последних строк журнала существует параметр Tail, который в паре с параметром Wait позволит смотреть за журналом в режиме онлайн. Посмотрим, как идет обновление системы командой:
Смотрим за ходом обновления Windows.
Если же нам нужно отловить в журналах определенные события, то поможет командлет Select-String, который позволяет отобразить только строки, подходящие под маску поиска. Посмотрим на последние блокировки Windows Firewall:
Смотрим, кто пытается пролезть на наш дедик.
При необходимости посмотреть в журнале строки перед и после нужной, можно использовать параметр Context. Например, для вывода трех строк после и трех строк перед ошибкой можно использовать команду:
Оба полезных командлета можно объединить. Например, для вывода строк с 45 по 75 из netlogon.log поможет команда:
Журналы системы ведутся в формате .evtx, и для работы с ними существуют отдельные командлеты. Для работы с классическими журналами («Приложение», «Система», и т.д.) используется Get-Eventlog. Этот командлет удобен, но не позволяет работать с остальными журналами приложений и служб. Для работы с любыми журналами, включая классические, существует более универсальный вариант ― Get-WinEvent. Остановимся на нем подробнее.
Для получения списка доступных системных журналов можно выполнить следующую команду:
Вывод доступных журналов и информации о них.
Для просмотра какого-то конкретного журнала нужно лишь добавить его имя. Для примера получим последние 20 записей из журнала System командой:
Последние записи в журнале System.
Для получения определенных событий удобнее всего использовать хэш-таблицы. Подробнее о работе с хэш-таблицами в PowerShell можно прочитать в материале Technet about_Hash_Tables.
Для примера получим все события из журнала System с кодом события 1 и 6013.
В случае если надо получить события определенного типа ― предупреждения или ошибки, ― нужно использовать фильтр по важности (Level). Возможны следующие значения:
- 0 ― всегда записывать;
- 1 ― критический;
- 2 ― ошибка;
- 3 ― предупреждение;
- 4 ― информация;
- 5 ― подробный (Verbose).
Собрать хэш-таблицу с несколькими значениями важности одной командой так просто не получится. Если мы хотим получить ошибки и предупреждения из системного журнала, можно воспользоваться дополнительной фильтрацией при помощи Where-Object:
Ошибки и предупреждения журнала System.
Аналогичным образом можно собирать таблицу, фильтруя непосредственно по тексту события и по времени.
Подробнее почитать про работу обоих командлетов для работы с системными журналами можно в документации PowerShell:
PowerShell ― механизм удобный и гибкий, но требует знания синтаксиса и для сложных условий и обработки большого количества файлов потребует написания полноценных скриптов. Но есть вариант обойтись всего-лишь SQL-запросами при помощи замечательного Log Parser.
О возможностях Log Parser уже рассказывалось в материале «LogParser — привычный взгляд на непривычные вещи», поэтому я начну с конкретных примеров.
Для начала разберемся с текстовыми файлами ― например, получим список подключений по RDP, заблокированных нашим фаерволом. Для получения такой информации вполне подойдет следующий SQL-запрос:
Посмотрим на результат:
Смотрим журнал Windows Firewall.
Разумеется, с полученной таблицей можно делать все что угодно ― сортировать, группировать. Насколько хватит фантазии и знания SQL.
Log Parser также прекрасно работает с множеством других источников. Например, посмотрим откуда пользователи подключались к нашему серверу по RDP.
Работать будем с журналом TerminalServices-LocalSessionManager\Operational.
Не со всеми журналами Log Parser работает просто так ― к некоторым он не может получить доступ. В нашем случае просто скопируем журнал из %SystemRoot%\System32\Winevt\Logs\Microsoft-Windows-TerminalServices-LocalSessionManager%4Operational.evtx в %temp%\test.evtx.
Данные будем получать таким запросом:
Смотрим, кто и когда подключался к нашему серверу терминалов.
Особенно удобно использовать Log Parser для работы с большим количеством файлов журналов ― например, в IIS или Exchange. Благодаря возможностям SQL можно получать самую разную аналитическую информацию, вплоть до статистики версий IOS и Android, которые подключаются к вашему серверу.
В качестве примера посмотрим статистику количества писем по дням таким запросом:
Если в системе установлены Office Web Components, загрузить которые можно в Центре загрузки Microsoft, то на выходе можно получить красивую диаграмму.
Выполняем запрос и открываем получившуюся картинку…
Любуемся результатом.
Следует отметить, что после установки Log Parser в системе регистрируется COM-компонент MSUtil.LogQuery. Он позволяет делать запросы к движку утилиты не только через вызов LogParser.exe, но и при помощи любого другого привычного языка. В качестве примера приведу простой скрипт PowerShell, который выведет 20 наиболее объемных файлов на диске С.
Благодаря этой возможности для облегчения работы существует несколько утилит, представляющих из себя графическую оболочку для Log Parser. Платные рассматривать не буду, а вот бесплатную Log Parser Studio покажу.
Интерфейс Log Parser Studio.
Основной особенностью здесь является библиотека, которая позволяет держать все запросы в одном месте, без россыпи по папкам. Также сходу представлено множество готовых примеров, которые помогут разобраться с запросами.
Вторая особенность ― возможность экспорта запроса в скрипт PowerShell.
В качестве примера посмотрим, как будет работать выборка ящиков, отправляющих больше всего писем:
Выборка наиболее активных ящиков.
При этом можно выбрать куда больше типов журналов. Например, в «чистом» Log Parser существуют ограничения по типам входных данных, и отдельного типа для Exchange нет ― нужно самостоятельно вводить описания полей и пропуск заголовков. В Log Parser Studio нужные форматы уже готовы к использованию.
Помимо Log Parser, с логами можно работать и при помощи возможностей MS Excel, которые упоминались в материале «Excel вместо PowerShell». Но максимального удобства можно достичь, подготавливая первичный материал при помощи Log Parser с последующей обработкой его через Power Query в Excel.
Приходилось ли вам использовать какие-либо инструменты для перелопачивания логов? Поделитесь в комментариях.
Решая различные компьютерные задачи, можно не раз столкнуться с таким понятием как лог (с англ. log). Лог какой-то программы. Давайте попробуем разобраться что это такое и для чего это нужно.
Log (с англ. журнал). У большинства программ, которые установлены на вашем компьютере, есть этот самый журнал.
Журнал - это специальный текстовый файл, в который программа может вносить какие-то записи.
Т.е. это такой же обычный файл, который мы с вами можем создать на компьютере. Таким же образом программа работая на компьютере, может создать этот файл и вносить туда программным образом какие-то текстовые пометки.
Зачем же программе вести какие-то записи, какой-то журнал?
Дело в том, что если мы с вами будем следить за человеком, который работает на компьютере, мы можем сказать, что этот человек делал в конкретный момент времени, какие программы он запускал, какие ошибки он совершал при работе на компьютере и.т.д.
Но, если мы говорим о компьютерной программе, здесь все не так ясно. Все действия, которые производит программа, они скрыты от взгляда обычного пользователя. Они обычно происходят с такой большой скоростью событий, что человеческий глаз просто не успеет за все этим уследить.
Для того, чтобы отслеживать состояние какой-то программы. Что делала программа в какой-то конкретный момент времени, какие при этом возникали ошибки, кто с этой программой взаимодействовал и др. вопросы. Все события, которые происходили с этой программой, эта программа может записывать в специальный журнал, так называемый лог-файл.
Лог файлов для программы может быть несколько. В зависимости от назначения может быть так называемый access_log - это журнал, где фиксируются все взаимодействия пользователей с этой программой, что они делали и.т.д.
В лог файле может множество записей. Каждая текстовая строка - это одно взаимодействие с программой.
В каждой записи содержится информация о том, что происходило с программой и когда это происходило.
Также можно часто встретить так называемый error_log - это лог тех ошибок, которые возникали при работе с программой. В этом логе можно увидеть код ошибки, которая произошла в программе, когда эта ошибка произошла, каким пользователем операционной системы эта ошибка была вызвана и.т.д.
Давайте подведем итог, что такое лог и зачем он нужен. Это текстовый файл, в который программа записывает какие-то события, которые с ней происходят. Благодаря этим событиям мы можем получить какую-то дополнительную информацию, что происходило с этой программой в какой-то определенный момент времени, получить отладочную информацию, чтобы легче устранить какую-то ошибку.
В общем лог - это бесценная информация, который может воспользоваться любой пользователь компьютера, чтобы узнать что и в какой момент времени происходило с программой.
Лог - это первоисточник, в который нужно заглядывать если ваша программа работает с каким-то ошибками и не так, как нужно.
Надеюсь, что стало понятнее что такое лог-файл и зачем он нужен и вы теперь будете использовать этот журнал в своей работе.
В десятой версии Виндоуз предусмотрен журнал событий. Этот компонент присутствует в системе уже очень давно, но очень немногие о нем знают. Хотя нужен он каждому для того, чтобы понимать, что происходит с системой вашего компьютера, найти причину сбоев, определив некорректно работающие софт или устройства.
Что искать в логах Windows
Идентификаторы событий перечислены ниже для Windows 2008 R2 и 7, Windows 2012 R2 и 8.1, Windows 2016 и 10. (В оригинальной статье используются в основном идентификаторы для Windows 2003 и раньше, которые можно получить, отняв 4096 от значений указанных ниже EventID).
Большинство событий, приведенных ниже, находятся в журнале безопасности (Windows Event Log: Security), но некоторые регистрируются только на контроллере домена.
Тип события | EventID |
---|---|
События входа и выхода | Successful logon 4624; failed logon 4625; logoff 4634, 4647 и т.д. |
Изменение аккаунта | Created 4720; enabled 4726; changed 4738; disabled 4725; deleted 630 |
Изменение пароля | 4724, 4723 |
Запуск и прекращение работы сервисов | 7035,7036, и т.д. |
Доступ к объектам | 4656, 4663 |
Коды лога сервера
Можно особо не заморачиваться, если понимать общий принцип кодов. Он прост. Первая цифра определяет группу кодов. Последние уточняют сам код.
2хх - всё хорошо и ответ получен
3хх - ответ получен, но будет перенаправление
4хх - ответ получен, но в результате объект недоступен. Сайт доступен, но материала нет.
5хх - ошибка сервера. Тут проблемы глобальные. Или база данных рухнула или сервер полетел.
На большинство событий не надо обращать внимания
В событиях приложений софт отмечает возникшие в его работе проблемы. События безопасности рассматривают определенные действия, произведенные на компьютере, результат которых был или не был успешен. В качестве примера можно привести попытку входа пользователя. На события установки пользователю в большинстве случаев не следует никак реагировать. Ведь касаются они преимущественно управления контроллерами.
В системных событиях собраны поступившие от файлов Виндовз уведомления и касаются они тех сбоев, которые возникли в ходе функционирования системы. Почти все они исправляются усилиями самой системы и в вашем вмешательстве не нуждаются.
Что искать в логах сетевых устройств
Изучите входящие и исходящие действия ваших сетевых устройств.
Примеры ниже – это выдержки из логов Cisco ASA, но другие устройства имеют схожую функциональность.
Трафик, допущенный файерволом | «Built… connection» «access-list… permitted» |
---|---|
Трафик, заблокированный файерволом | «access-list… denied», «deny Inbound»; «Deny . by» |
Объем трафика (в байтах) | «Teardown TCP connection… duration… bytes. » |
Использование каналов и протоколов | «limit… exceeded», «CPU utilization» |
Обнаружение атаки | «attack from» |
Изменение аккаунта | «user added», «user deleted», «User priv level changed» |
Доступ администратора | «AAA user. », «User… locked out», «login failed» |
Методы POST и GET в лог файлах
Эти методы часто встречаются в лог файлах. Кроме них еще есть и другие.
МетодыOPTIONS · GET · HEAD · POST ·PUT · DELETE · TRACE ·CONNECT · PATCH
Метод указывает на тип операции с ресурсом. За подробностями можно снова сходить в википкдию и прочитать про методы доступа. На а тут кратенько.
GET - получить содержимое.
POST - метод обработки данных с возможностью отправки. Используется для диалога с пользователем (ввод пароля, комментария, адреса..).
Про остальные - в вики читайте.
Используете материал на своем ресурсе - ставьте ссылку на оригинал!
Спасибо! И пусть не будет ошибок 5 группы в логах!
Помог материал - поставьте лайк, оставьте комментарий. Это поможет и другим пользователям интернета найти решение аналогичной проблемы.
Сегодня тема мониторинга IT – инфраструктуры и анализа логов набирает все большую и большую популярность. В первую очередь все задумываются о мониторинге событий безопасности, о чем и будет идти речь в данной статье. Несмотря на то, что на эту тему сказано и написано уже довольно много, вопросов возникает еще больше. И поэтому мы решили сделать перевод статьи «Сritical Log Review Checklist for Security Incidents», написанную Anton Chuvakin и Lenny Zeltser, которая будет полезна как для тех, кто только начинает работать с мониторингом событий безопасности, так и для тех, кто имеет с этим дело довольно давно, чтобы еще раз проверить себя, не упускаете ли вы некоторые возможности.
В этом чек-листе представлены действия, которые необходимы, если вы хотите мониторить логи систем безопасности и оперативно реагировать на инциденты безопасности, а также перечень возможных источников и событий, которые могут представлять интерес для анализа.
Общая схема действия
- Определите, какие источники журналов и автоматизированные инструменты можно использовать для анализа
- Скопируйте записи журнала в одно место, где вы сможете все их просмотреть и обработать
- Создайте правила определения того, что события являются необходимыми вам, чтобы в автоматическом режиме уменьшать «зашумленность» логов
- Определите, можно ли полагаться на метки времени журналов; рассмотрите различия часовых поясов
- Обратите внимание на последние изменения, сбои, ошибки, изменения состояния, доступ и другие события, необычные для вашей IT-среды
- Изучите историю событий, чтобы восстановить действия до и после инцидента
- Сопоставьте действия в разных журналах, чтобы получить полную картину
- Сформируйте гипотезу о том, что произошло; изучите журналы, чтобы подтвердить или опровергнуть её
Что искать в логах Linux
Событие | Пример записи в логах |
---|---|
Успешный вход | «Accepted password», «Accepted publickey», «session opened» |
Неудачные попытки входа | «authentication failure», «failed password» |
Завершение сессии | «session closed» |
Изменение аккаунта | «password changed», «new user», «delete user» |
Действия Sudo | «sudo:… COMMAND=. », «FAILED su» |
Сбои в работе | «failed» или «failure» |
Стандартное расположение логов
- Операционная система Linux и основные приложения: /var/log
- Операционная система Windows и основные приложения: Windows Event Log (Security, System, Application)
- Сетевые устройства: обычно регистрируются через syslog; некоторые используют собственное расположение и форматы
Деление лог файлов по типам
Хорошим тоном считается деление файлов по типам. Типов может быть множество. В основном встречаем два:
- файл с нормальными ответами.
Выше привел файл с нормальными ответами. Вот лога ошибок у меня нет. Точнее есть, но он пустой. Нет ошибок в работе сервера.
Интерфейс
Таким образом, окно журнала событий является просто предназначенным для вас интерфейсом, в котором собраны данные из различных текстовых файлов регистрации. Правильнее всего рассматривать Журнал событий в качестве программы управления базами данных, в удобной форме показывающей вам информацию, накапливаемую в файлах, просматривать которые при помощи текстового редактора или просмотрщика текстов вам было бы некомфортно.
Читайте также: