Данная статья представляет собой подробный разбор практической части Задания 96395‚ посвященной вступлению в работу с SIEM-решением на базе Elastic Stack (ELK)․ Материал основан на прохождении лаборатории TryHackMe: Investigating with ELK 101․ Актуально на ․
После завершения модулей по мониторингу безопасности конечных точек (Endpoint Security Monitoring)‚ следующим логическим шагом является изучение систем управления информацией о безопасности и событиями безопасности (SIEM)․ В данной части мы фокусируемся на стеке ELK (Elasticsearch‚ Logstash‚ Kibana) как альтернативе Splunk для получения практического опыта работы с логами и визуализацией данных․
Примечание: Автор исходного материала указывает‚ что ранее уже проходил лаборатории по Splunk‚ поэтому данный модуль ELK стал новым вызовом для расширения набора навыков․
Теоретический блок: Обзор ElasticStack (Task 3)
Перед началом практической работы необходимо закрепить базовые понятия компонентов стека:
- Kibana, инструмент для визуализации данных и дашбордов․
- Logstash — конвейер обработки данных (сбор‚ парсинг‚ обогащение)․
- Elasticsearch — движок поиска и аналитики‚ хранилище данных․
Контрольные вопросы (Self-Check)
- Logstash используется для визуализации данных․, Nay (Нет)․ Это функция Kibana․
- Elasticsearch (в тексте опечатка «Elasticstash») поддерживает все форматы данных‚ кроме JSON․ — Nay (Нет)․ Наоборот‚ JSON является нативным и основным поддерживаемым форматом․
Подготовка окружения и подключение (Task 4)
Шаг 1: VPN-соединение
Для доступа к лабораторной машине TryHackMe необходимо установить VPN-соединение․
- Скачайте файл конфигурации OpenVPN (
*․ovpn) в личном кабинете TryHackMe․ - Подключитесь из рабочей станции (в исходном примере использовалась VM Kali Linux):
sudo openvpn --config <путь_к_файлу>․ovpn Шаг 2: Доступ к интерфейсу Kibana
После успешного поднятия туннеля запустите машину задания (Start Machine)․ В браузере перейдите по IP-адресу‚ который будет выдан системой․
Пример адреса (замаскирован): 10․10․․ (в оригинале: 10․10․8․97)
Вы попадете на стартовую страницу Kibana․
Практическая часть: Вкладка Discover (Task 5)
Основная аналитическая работа ведется во вкладке Discover․ Путь: Меню (гамбургер в левом верхнем углу) → Discover․
Задание 1: Фильтрация по индексу и времени
Условие: Выбрать индекс vpn_connections‚ установить временной диапазон с 31 декабря 2021 по 2 февраля 2022․ Определить количество попаданий (hits)․
- В селекторе индекса (слева или вверху) выберите
vpn_connections․ - Нажмите на пикер времени (правый верхний угол)․
- Выберите «Absolute time range» и задайте даты:
2021-12-31—2022-02-02․ - Нажмите кнопку Refresh (Обновить)․
- Результат (количество хитов) отобразится в строке поиска/статус-баре․
Задание 2: IP-адрес с максимальным числом подключений
Метод: В левой панели полей (Available fields) найдите source․ip (или Source_ip)․ Нажмите на имя поля — откроется модальное окно с топ-5 значений по частоте встречаемости (Top values)․
Результат: Адрес 238․163․․ (в оригинале: 238․163․231․224) имеет наибольшее количество соединений;
Задание 3: Пользователь‚ отвечающий за максимальный трафик
Метод: Аналогично п․2‚ но анализируем поле user․name (или UserName)․ Смотрим на Top values․
Задание 4: Создание и сохранение таблицы
Для удобства анализа создадим кастомную таблицу с нужными колонками․
- Раскройте любое событие (стрелочка влево от строки)․
- Найдите поля:
source․ip‚user․name‚source․geo․country_name(илиSource_Country)․ - Нажмите иконку «Toggle column in table» (третья слева‚ значок таблицы со стрелкой) напротив каждого поля․
- Сверните детали события․ Теперь в ленте отображаются только выбранные колонки․
- Нажмите Save (Сохранить) в панели инструментов Discover‚ задайте имя (например‚ VPN Connections Overview)․
Задание 5: Фильтрация по пользователю Emanda
Условие: Применить фильтр по полю UserName = Emanda․ Найти SourceIP с макс․ хитами․
- В левой панели полей кликните по
UserName․ - Найдите значение Emanda (или введите в поиске полей)․
- Нажмите иконку «+» (Add filter) или лупу с плюсом рядом со значением‚ чтобы оставить только её логи․
- Перейдите к полю
source․ipи посмотрите Top values․
Ответ: IP-адрес 107․14․; (в оригинале: 107․14․1․247)․
Задание 6: Анализ аномалии 11 января
Условие: Определить IP‚ вызвавший пик (spike) на тайм-чарте 11 января 2021 года․
- Сбросьте фильтр по пользователю Emanda (крестик на теге фильтра под строкой поиска)․
- Установите временной фильтр:
2021-01-11 00:00:00,2021-01-11 23:59:59․ - Нажмите Refresh․
- Посмотрите на тайм-чарт (график сверху) — найдите пик активности․
- Можно сузить время до минутного интервала пика для точности․
- Проверьте Top values для поля
source․ipв этом интервале․
Резюме и лучшие практики
Прохождение Части 96395 демонстрирует базовый воркфлоу аналитика SOC в Kibana:
- Индексация: Понимание‚ в каком индексе лежат нужные логи (
vpn_connections)․ - Временная навигация: Умение быстро переключаться между абсолютными и относительными диапазонами․
- Полевая аналитика (Field Statistics): Использование «Top values» для быстрой триажи (triage) — поиска топ-IP‚ топ-пользователей‚ топ-стран․
- Пивотные таблицы (Lens/Discover Tables): Создание сохраненных представлений (Saved Objects) для повторного использования в дашбордах․
- Итеративная фильтрация: Наложение фильтров (User -> Time -> IP) для «свертки» расследования от общего к частному․
Следующие шаги (Roadmap)
- Изучение вкладки Dashboard для сборки обзорных панелей из сохраненных поисков Discover․
- Работа с Machine Learning (Anomaly Detection) для автоматического поиска спайков‚ как в Задании 6․
- Настройка Alerting (Watcher/Rule-based alerts) на критических порогах по полю
source․ipилиuser․name․ - Глубокое погружение в Logstash pipelines для парсинга нестандартных логов перед индексацией в Elasticsearch․