- Event Log Explorer™ — решение для анализа журналов событий Windows
- Преимущества Event Log Explorer
- Настраиваем сбор логов Windows Server в ELK Stack
- Введение
- Сбор windows логов
- Dashboard в Kibana для Windows Server
- Сбор и анализ логов Windows Fileserver
- Заключение
- Просмотр и анализ логов RDP подключений в Windows
Event Log Explorer™ — решение для анализа журналов событий Windows
Event Log Explorer™ это эффективное средство для просмотра и анализа событий, хранящихся в журналах операционных систем семейства Microsoft Windows. Программа позволяет существенно ускорить и упростить решение задач анализа журналов событий, таких как журнал безопасности, журнал приложений, журнал системы, журнал установки и других.
Возможности Event Log Explorer существенно шире, чем у стандартного приложения Просмотр событий Windows (Event Viewer). Event Log Explorer лучше выполняет базовые функции и дает массу новых возможностей для анализа журналов событий. По отзывам пользователей, Event Log Explorer позволяет ускорить анализ журналов Windows в 2 раза и более.
Преимущества Event Log Explorer
Мгновенный доступ к журналам событий
Event Log Explorer работает как с локальными журналами событий, так и журналами других компьютеров сети, а также с файлами журналов в форматах EVT и EVTX, в том числе и напрямую. Event Log Explorer позволяет извлекать данные даже из поврежденных файлов.
Доступ к журналам компьютеров сети и файлам осуществляется в один щелчок мыши с помощью дерева объектов Event Log Explorer.
Объединение журналов событий
Если вы когда-либо пытались объединять события из журналов разных компьютеров вашей сети для совместного анализа в стандартном Просмотре событий, то вы оцените простоту и удобства объединенных представлений журналов событий в Event Log Explorer. Создать объединение журналов разных компьютеров можно в несколько щелчков мыши, причем можно установить фильтр уже на этапе загрузки событий и далее работать только с нужными событиями.
Эффективные средства фильтрации событий
Event Log Explorer предлагает несколько способов фильтрации событий из журналов Windows: пред-фильтрация событий при загрузке данных лога, фильтрация по подобию (quick filter) в 2 щелчка мыши, не имеющая аналогов фильтрация описаний событий по регулярным выражениям и фильтрация по параметрам описаний событий безопасности. Не менее важна и простота создания сложных фильтров. В Event Log Explorer вы можете сохранять и загружать ваши фильтры, вести библиотеку фильтров.
Экспорт событий и генерация отчетов
В Event Log Explorer реализованы возможности экспорта данных и формирования отчетов. Вы сможете экспортировать журналы целиком, объединения нескольких журналов, любые выборки событий и отдельные события в форматы Microsoft Excel, CSV-текст, HTML и т.д. Генератор отчетов позволяет печатать различные представления логов и событий, а также создавать аналитические отчеты.
Встроенный планировщик позволяет автоматизировать регулярный экспорт данных, в том числе объединенных из разных журналов и отфильтрованных, а также автоматически печатать отчеты.
Рабочие среды
Рабочие среды, сконфигурированные вами для ваших задач, позволяют сохранить и быстро восстановить открытые журналы или объединенные виды с примененными фильтрами, а также настройки автоматизации. Это заметно ускоряет выполнение регулярных, повторяющихся задач.
Настраиваем сбор логов Windows Server в ELK Stack
Продолжаю цикл статей по настройке централизованной системы сбора логов ELK Stack. Сегодня расскажу, как собирать логи с Windows Server различных версий в elasticsearch. Данные предложенным способом можно будет собирать не только с серверных систем, но и со всех остальных, где используется журнал windows.
Введение
В своей статье я буду считать, что вы установили и настроили elk stack по моему материалу. Если это не так, то сами подредактируйте представленные конфиги под свои реалии. По большому счету, все самое основное по сбору логов windows серверов уже дано в указанной статье. Как минимум, там рассказано, как начать собирать логи с помощью winlogbeat. Дальше нам нужно их обработать и нарисовать функциональный дашборд для быстрого анализа поступающей информации.
Для того, чтобы оценить представленные мной графики и дашборды, рекомендую собирать логи сразу с нескольких серверов. Так можно будет оценить представленную информацию на практике. С одним сервером не так наглядно получится.
С визуализацией данных из windows журналов проблем нет никаких. Winlogbeat из коробки умеет парсить логи и добавлять все необходимые метаданные. Со стороны logstash не нужны никакие фильтры. Принимаем все данные как есть с winlogbeat.
Сбор windows логов
Приступим к настройке. Устанавливаем последнюю версию winlogbeat на сервер, с которого мы будем отправлять логи в elk stack. Вот конфиг с тестового сервера, по которому пишу статью:
Теперь настраивает logstash на прием этих логов. Добавляем в конфиг:
Я формирую месячные индексы с логами windows серверов. Если у вас очень много логов или хотите более гибкое управление занимаемым объемом, то делайте индексы дневные, указав winsrv-%<+YYYY.MM.dd>.
Перезапускайте службы на серверах и ждите поступления данных в elasticsearch.
Dashboard в Kibana для Windows Server
После того, как данные из логов windows серверов начали поступать в elk stack, можно приступить к их визуализации. Я предлагаю такую информацию для Dashboard в kibana:
- Количество логов с разбивкой по серверам
- Количество записей в каждом журнале
- Разбивка по уровням критичности (поле level)
- Разбивка по ID событий в логах (поле event_id)
- Список имен компьютеров, фигурирующих в логах (поле event_data.Workstation)
- Список пользователей в логах (поле event_data.TargetUserName)
- Разбивка по IP адресам (поле event_data.IpAddress)
Визуализации создаются достаточно просто, плюс они все похожи друг на друга. Вот пример одной из них — разбивка по рабочим станциям:
А вот какой Dashbord у меня получился в итоге:
В самом низу идет список логов с сырым текстом события. Отдельно представляю дашборд для файлового сервера windows.
Сбор и анализ логов Windows Fileserver
Для файлового сервера настраиваем сбор логов в ELK Stack точно так же, как я показал выше. Для визуализации данных я настроил отдельный дашборд в Kibana со следующей информацией:
- Имена пользователей, которые обращаются к файлам (поле event_data.SubjectUserName)
- Типы запросов, которые выполняются (поле file_action)
- Список доступа к файлам (формируется из сохраненного фильтра поиска)
Возможно, кому-то будет актуально выводить на дашборд еще и информацию об именах файлов, к которым идет доступ. Информация об этом хранится в поле event_data.ObjectName. Лично я не увидел в этом необходимости.
Заключение
Материал написан исключительно на основании своего видения и небольшого опыта использования elk stack. Нигде не видел статей и мыслей на данную тему, так что буду рад предложениям, замечаниям. Ко всему прочему, я практически не администрирую windows сервера. Пишите обо всем в комментариях.
Просмотр и анализ логов RDP подключений в Windows
В этой статье мы рассмотрим, особенности аудита / анализа логов RDP подключений в Windows. Как правило, описанные методы могут пригодиться при расследовании различных инцидентов на терминальных / RDS серверах Windows, когда от системного администратора требуется предоставить информацию: какие пользователи входили на RDS сервер, когда авторизовался и завершил сеанс конкретный пользователь, откуда / с какого устройства (имя или IP адрес) подключался RDP-пользователь. Я думаю, эта информация будет полезна как для администраторов корпоративных RDS ферм, так и владельцам RDP серверов в интернете (Windows VPS как оказалось довольно популярны).
Как и другие события, логи RDP подключения в Windows хранятся в журналах событий. Откройте консоль журнала событий (Event Viewer). Есть несколько различных журналов, в которых можно найти информацию, касающуюся RDP подключения.
В журналах Windows содержится большое количество информации, но быстро найти нужное событие бывает довольно сложно. Когда пользователь удаленно подключается к RDS серверу или удаленному столу (RDP) в журналах Windows генерируется много событий. Мы рассмотрим журналы и события на основных этапах RDP подключения, которые могут быть интересны администратору:
- Network Connection
- Authentication
- Logon
- Session Disconnect/Reconnect
- Logoff
Network Connection: – установление сетевого подключение к серверу от RDP клиента пользователя. Событие с EventID – 1149 (Remote Desktop Services: User authentication succeeded). Наличие этого события не свидетельствует об успешной аутентификации пользователя. Этот журнал находится в разделе Applications and Services Logs -> Microsoft -> Windows -> Terminal-Services-RemoteConnectionManager -> Operational. Включите фильтр по данному событию (ПКМ по журналу-> Filter Current Log -> EventId 1149).
В результате у вас получится список с историей всех сетевых RDP подключений к данному серверу. Как вы видите, в логах указывается имя пользователя, домен (используется NLA аутентификация, при отключенном NLA текст события выглядит иначе) и IP адрес компьютера, с которого осуществляется RDP подключение.
Authentication: – успешная или неуспешная аутентификация пользователя на сервере. Журнал Windows -> Security. Соответственно нас могут интересовать события с EventID – 4624 (успешная аутентификация — An account was successfully logged on) или 4625 (ошибка аутентификации — An account failed to log on). Обратите внимание на значение LogonType в событии. При входе через терминальную службу RDP — LogonType = 10 или 3. Если LogonType = 7, значит выполнено переподключение к уже имеющейся RDP сессии.
При этом имя пользователя содержится в описании события в поле Account Name, имя компьютера в Workstation Name, а имя пользователя в Source Network Address.
Вы можете получить список событий успешных авторизаций по RDP (событие 4624) с помощью такой команды PowerShell.
Get-EventLog security -after (Get-date -hour 0 -minute 0 -second 0) | ? <$_.eventid -eq 4624 -and $_.Message -match 'logon type:\s+(10)\s'>| Out-GridView
Logon: – RDP вход в систему, событие появляющееся после успешной аутентификации пользователя. Событие с EventID – 21 (Remote Desktop Services: Session logon succeeded). Этот журнал находится в разделе Applications and Services Logs -> Microsoft -> Windows -> TerminalServices-LocalSessionManager -> Operational. Как вы видите здесь можно узнать идентификатор RDP сессии для пользователя — Session ID.
Событие с EventID – 21 (Remote Desktop Services: Shell start notification received) означает успешный запуск оболочки Explorer (появление окна рабочего стола в RDP сессии).
Session Disconnect/Reconnect – события отключения / переподключения к сессии имеют разные коды в зависимости от того, что вызвало отключение пользователя (отключение по неактивности, выбор пункта Disconnect в сессии, завершение RDP сессии другим пользователем или администратором и т.д.). Эти события находятся в разделе журналов Applications and Services Logs -> Microsoft -> Windows -> TerminalServices-LocalSessionManager -> Operational. Рассмотрим RDP события, которые могут быть интересными:
Событие с EventID – 4778 в журнале Windows -> Security (A session was reconnected to a Window Station). Пользователь переподключился к RDP сессии (пользователю выдается новый LogonID).
Событие с EventID 4799 в журнале Windows -> Security (A session was disconnected from a Window Station). Отключение от RDP сеанса.
Logoff: – выход пользователя из системы. При этом в журнале Applications and Services Logs -> Microsoft -> Windows -> TerminalServices-LocalSessionManager -> Operational фиксируется событие с EventID 23 (Remote Desktop Services: Session logoff succeeded).
При этом в журнале Security нужно смотреть событие EventID 4634 (An account was logged off).
Событие Event 9009 (The Desktop Window Manager has exited with code ( ) в журнале System говорит о том, что пользователь инициировал завершение RDP сессии, и окно и графический shell пользователя был завершен.
Ниже представлен небольшой PowerShell, который выгружает из журналов терминального RDS сервера историю всех RDP подключений за текущий день. В полученной таблице указано время подключения, IP адрес клиента и имя RDP пользователя (при необходимости вы можете включить в отчет другие типы входов).
Иногда бывает удобно с логами в таблице Excel, в этом случае вы можете выгрузить любой журнал Windows в текстовый файл и импортировать в Excel. Экспорт журнала можно выполнить из консоли Event Viewer (конечно, при условии что логи не очищены) или через командную строку:
WEVTUtil query-events Security > c:\ps\security_log.txt
get-winevent -logname «Microsoft-Windows-TerminalServices-LocalSessionManager/Operational» | Export-Csv c:\ps\rdp-log.txt -Encoding UTF8
Список текущих RDP сессий на сервере можно вывести командой:
Команда возвращает как идентификатор сессии (ID), имя пользователя (USERNAME)и состояние (Active/Disconnect). Эту команду удобна использовать, когда нужно определить ID RDP сессии пользователя при теневом подключении.
Список запущенных процессов в конкретной RDP сессии (указывается ID сессии):
На RDP-клиенте логи не такие информационные, основное чем часто пользуются информация об истории RDP подключений в реестре.