[Перевод] ELK, SIEM из OpenSource, Open Distro: Case management
В сегодняшней статье мы поставим последний кусочек пазла на его место. Мы собираемся представить вам часть нашего SOC, касающуюся управления делами. Мы использовали две технологии с открытым исходным кодом — TheHive и Cortex.
TheHive будет использоваться в качестве платформы управления оповещениями для нашего проекта, которая может управлять оповещениями об инцидентах от создания до закрытия. Между тем, Cortex — это дополнительный программный продукт от той же команды, что и TheHive, который дополняет его функцией обогащения данных с помощью своих «анализаторов» и «респондентов».
Оглавление всех постов.
Эта статья разделена на следующие разделы:
- Установка и настройка TheHive и Cortex.
- Обзорные панели инструментов TheHive и Cortex
- Интеграция Cortex с TheHive
- Установка MISP и интеграция с TheHive
- Расследование: ведение дела
1- Установка и настройка TheHive и Cortex:
Мы будем интегрировать TheHive 3.4.0–1 и Cortex 3.0.1–1.
TheHive требует, чтобы Elasticsearch был запущен. Для этого мы решили использовать docker-compose, чтобы запускать их вместе в контейнерах Docker. Вы также можете установить и настроить Elasticsearch вручную, если не хотите использовать Docker.
Для получения более подробной информации вы можете обратиться к:
https://github.com/TheHive-Project/TheHiveDocs/blob/master/installation/install-guide.md
Примечание. TheHive использует ElasticSearch для хранения данных. Оба программного обеспечения используют виртуальную машину Java. Мы рекомендуем использовать виртуальную машину с 8vCPU, 8 ГБ ОЗУ и 60 ГБ на диске. Вы также можете использовать физический компьютер с аналогичными характеристиками.
Давайте продолжим. Мы использовали следующий файл: docker-compose.yml для запуска Elasticsearch, TheHive и Cortex вместе в трех разных контейнерах:
version: "2"
services:
elasticsearch:
image: elasticsearch:6.8.0
ports:
- "0.0.0.0:9200:9200"
environment:
- http.host=0.0.0.0
- cluster.name=hive
- thread_pool.index.queue_size=100000
- thread_pool.search.queue_size=100000
- thread_pool.bulk.queue_size=100000
ulimits:
nofile:
soft: 65536
hard: 65536
cortex:
image: thehiveproject/cortex:3.0.1
depends_on:
- elasticsearch
ports:
- "0.0.0.0:9001:9001"
thehive:
image: thehiveproject/thehive:3.4.0
depends_on:
- elasticsearch
- cortex
ports:
- "0.0.0.0:9000:9000"
command: --cortex-port 9001
Скопируйте / вставьте и сохраните его в docker-composer.yml и выполните эту команду:
sudo sysctl -w vm.max_map_count=524288
И наконец запустите:
docker-compose up
TheHive доступен на порту 9000/tcp
, а Cortex — на порту 9001/tcp
. Эти порты можно изменить, изменив файл docker-compose.
Вы можете проверить создание контейнеров, используя: docker ps –a
Проверьте, отвечает ли Elasticsearch:
Отлично! Теперь все настроено, давайте посмотрим на панель управления TheHive:
2- Обзор информационных панелей TheHive и Cortex
Перейдите по адресу: http://YOUR_IP:9001
Примечание. Не забудьте создать правила для портов 9000,9001,9200, если вы собираетесь установить эту установку в облаке.
Обновите базу данных и создайте пользователя с правами администратора:
Войдите в систему с этим пользователем:
Вуаля! Это основная панель управления TheHive:
Давайте теперь проверим Cortex Dashboard:
http://YOUR_IP:9001
Обновите базу данных, создайте пользователя-администратора и войдите в систему, как мы это делали для TheHive.
Отлично! Cortex работает так: ваш текущий пользователь может создавать организации и пользователей, но вы должны войти в систему под учетной записью организации, чтобы включить анализаторы и управлять ими.
Создайте новую организацию, нажав кнопку +Add Organization на этой странице.
Теперь переключитесь на вкладку Пользователи и нажмите +Add User.
Назначьте нового пользователя в созданную вами организацию и дайте ему роль OrgAdmin.
После сохранения нажмите »New Password» для только что созданного пользователя и введите пароль. Нажмите Enter, чтобы сохранить.
Теперь выйдите из системы и снова войдите в систему как новый пользователь.
Перейдите на вкладку Organization вверху.
Теперь щелкните вложенную вкладку »Analyzers» в основном корпусе, а не вкладку «Analyzers», выделенную синим цветом вверху.
Если Cortex настроен правильно, вы должны увидеть свои анализаторы. На сегодняшний день у меня в наличии 124.
Теперь давайте включим некоторые анализаторы для использования в дальнейшем. Оставьте настройки по умолчанию.
Некоторым анализаторам потребуются API-ключи, поэтому убедитесь, что вы указали правильную информацию при настройке этих анализаторов.
3-Интеграция Cortex с TheHive:
Перейдите на подвкладку Users и создайте нового пользователя для интеграции с TheHive. У этого пользователя должна быть роль чтения и анализа. На этот раз не устанавливайте пароль для пользователя, вместо этого нажмите »Create API Key» и скопируйте ключ. Теперь вернемся к нашему терминалу, остановим все контейнеры. Создайте файл и назовите его application.conf в своем домашнем каталоге:
cortex {
"CORTEX-SERVER-ID" {
# URL of the Cortex server
url = "http://172.18.0.3:9001"
# Key of the Cortex user, mandatory for Cortex 2
key = "nBqA7B6BYc1kHhgAXZOYoXjBnt5vlCgM"
}
}
Где url = http://your_cortex_container_ip:cortexPort
И ключ = «ключ API, который вы создали для предыдущего пользователя»
Вы можете использовать docker inspect
для получения IP-адреса контейнера
Сохраните этот файл, а затем измените файл docker-compose.yml:
В разделе thehive добавьте
volumes:
- /home/your_user/application.conf:/etc/thehive/application.conf
И в команде добавьте — cortex-key <тот же api_key, который использовался в предыдущем stp>
Сохраните файл и выйдите из редактора.
Затем снова запустите docker-compose up
.
Теперь вернитесь на панель инструментов Hive после того, как все контейнеры будут установлены, перейдите к about под своей учетной записью, вы должны увидеть:
Как видите, мы успешно интегрировали Cortex с TheHive.
4-Установка MISP и интеграция с TheHive:
4–1 Установка MISP:
sudo apt-get update -y && sudo apt-get upgrade -y
sudo apt-get install mysql-client -y
curl https://raw.githubusercontent.com/MISP/MISP/2.4/INSTALL/INSTALL.sh -o misp_install.sh
chmod +x misp_install.sh
./misp_install.sh -A
Когда он запросит у вас baseurl, введите свой IP:
https://ВАШ_IP/
Когда он попросит создать пользователя «misp», введите «y».
PS: не забудьте открыть порт 80 443 на вашем компьютере.
После завершения установки перейдите по адресу https://ВАШ_IP/
, вы должны получить панель аутентификации:
Войдите, используя исходные учетные данные:
Имя пользователя: admin@admin.test
Пароль: admin
Затем введите новый пароль
Включите интеграцию MISP:
Перейдите на веб-страницу вашего сервера MISP> Администрирование> Добавить пользователя (MISP Server webpage > Administration > Add User)
Дайте пользователю электронное письмо. Например: cortex_integration@admin.test
Добавьте пользователя в организацию ORGNAME
Роль — пользователь (user)
Снимите все флажки внизу
Скопируйте пользовательский AuthKey
Перейдите в Cortex > Organization > Analyzers
В поле поиска введите «misp»
Enable «MISP_2_0»
Дайте серверу MISP описательное имя
URL = https: //
key = AuthKey от пользователя MISP, которого вы создали
cert_check: False
Теперь перейдите на MISP server webpage > Sync Actions > List Feeds.
Найдите один из каналов, на которые вы подписаны, и нажмите на увеличительное стекло справа. Выберите IP-адрес из списка и скопируйте его.
Теперь в Cortex нажмите + New Analysis, добавьте тип данных IP и вставьте скопированный IP.
Выберите The MISP_2_0 analyzer и запустите.
На странице истории заданий нажмите «View», и вы должны увидеть имя списка, из которого вы скопировали IP-адрес, а также любую другую информацию, которую предоставляет список.
Вы можете зайти в TheHive и добавить этот IP-адрес в качестве наблюдаемого для тестирования оттуда.
5- Расследование: ведение дел с TheHive:
Ключевым элементом TheHive является расследование. TheHive стремится облегчить аналитику и обеспечить лучшее понимание между членами команды, работающими над этим. Это жизненно важно, поскольку расследование дела является основным элементом большинства расследований безопасности, независимо от того, просматриваете ли вы предупреждения, выполняете обратную разработку вредоносного ПО или работаете с заявленным инцидентом.
Вы можете добавлять теги в дела для быстрого поиска и фильтрации. Вы также можете оценить серьезность случая, отслеживать уровни TLP, которые могут помочь управлять и облегчить обмен данными. Все данные, которые вы помещаете в дело, легко найти в строке поиска в верхней части экрана. Это позволяет легко определить, присутствовала ли активность, которую вы сейчас наблюдаете, в более раннем случае.
Вы можете создавать обращения из предупреждений, импортируя их. Если два оповещения имеют ссылку, вы можете добавить это оповещение к существующему обращению вместо создания нового.
После создания кейса вы можете приступить к настройке задач к нему. Задачей действительно может быть что угодно, но мы рекомендуем использовать их для отслеживания действий, предпринятых для ответа на исследовательские вопросы.
Кроме того, несколько аналитиков могут работать над одним и тем же делом одновременно. Например, аналитик может заниматься анализом вредоносных программ, в то время как другой может работать над отслеживанием активности передачи маячков C2 в журналах прокси, как только их коллега добавил IOC.
Шаблоны кейсов:
По мере развития SOC становится критически важным определить сценарии, которые помогают аналитикам согласованно подходить к исследованиям, которые имеют общие атрибуты. Например, большинство шагов, которые вы предпринимаете для первоначального расследования серии неудачных попыток ввода пароля или фишингового сообщения электронной почты, обычно будут одинаковыми. Если вы сможете определить эти шаги, у вас будет отличное начало для обучения новых аналитиков и обеспечения того, чтобы большинство расследований начиналось на ровной основе. TheHive предоставляет уникальную систему шаблонов дел, которая позволяет определять общие расследования и предварительно заполнять метаданные дела и задачи.
В приведенном выше примере мы определили шаблон для расследования, связанного с деятельностью набора эксплойтов. Теперь, каждый раз, когда я создаю новое дело, я могу выбрать этот шаблон, и вся информация, которую вы там видите, будет предварительно внесена в детали дела. Реальная сила здесь заключается в возможности автоматически создавать серию задач, которые должны быть выполнены при создании кейса. По сути, это представляет собой сценарий для вас. При этом вы получаете дополнительное преимущество автоматического заполнения очереди задач ожидания, чтобы другие аналитики могли перейти к расследованию или начать выполнение задач по локализации и ликвидации.
Кроме того, TheHive позволяет вам создавать отдельные записи для интересных наблюдаемых в контексте случая. Наблюдаемый — это любой интересный артефакт данных. TheHive имеет несколько встроенных общих наблюдаемых типов. Сюда входят такие вещи, как IP-адреса, доменные имена, HTTP-URI и т. Д. Конечно, вы также можете определить свои собственные типы, которые делают эту возможность довольно гибкой.
Отслеживание наблюдаемых дает множество преимуществ. Самым очевидным является то, что вы можете искать их во время более поздних расследований, чтобы добавить дополнительный контекст. Вы также можете экспортировать их для последующего импорта в черный список, белый список или механизмы обнаружения. Наконец, вы можете использовать встроенную интеграцию Cortex для автоматической отправки наблюдаемых на любое количество исследовательских сайтов OSINT. Это очень простой процесс, и в первую очередь вам нужно ввести ключи API для каждой службы, которую вы будете использовать. Некоторые из существующих интеграций включают Passive Total, Virus Total и Domain Tools.
Когда вы будете готовы закрыть обращение, нажмите кнопку «Закрыть» в строке заголовка обращения:
Вы можете выбрать истинно положительный, ложный положительный результат и т. Д.